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__XImportDeclaration__Group__1__Impl"
-    // InternalSignalDSL.g:4657:1: rule__XImportDeclaration__Group__1__Impl : ( 'import' ) ;
+    // InternalSignalDSL.g:4685:1: rule__XImportDeclaration__Group__1__Impl : ( 'import' ) ;
     public final void rule__XImportDeclaration__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4661:1: ( ( 'import' ) )
-            // InternalSignalDSL.g:4662:1: ( 'import' )
+            // InternalSignalDSL.g:4689:1: ( ( 'import' ) )
+            // InternalSignalDSL.g:4690:1: ( 'import' )
             {
-            // InternalSignalDSL.g:4662:1: ( 'import' )
-            // InternalSignalDSL.g:4663:2: 'import'
+            // InternalSignalDSL.g:4690:1: ( 'import' )
+            // InternalSignalDSL.g:4691:2: 'import'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportKeyword_1()); 
@@ -16837,14 +16881,14 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__2"
-    // InternalSignalDSL.g:4672:1: rule__XImportDeclaration__Group__2 : rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3 ;
+    // InternalSignalDSL.g:4700:1: rule__XImportDeclaration__Group__2 : rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3 ;
     public final void rule__XImportDeclaration__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4676:1: ( rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3 )
-            // InternalSignalDSL.g:4677:2: rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3
+            // InternalSignalDSL.g:4704:1: ( rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3 )
+            // InternalSignalDSL.g:4705:2: rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3
             {
             pushFollow(FOLLOW_27);
             rule__XImportDeclaration__Group__2__Impl();
@@ -16875,23 +16919,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__2__Impl"
-    // InternalSignalDSL.g:4684:1: rule__XImportDeclaration__Group__2__Impl : ( ( rule__XImportDeclaration__Alternatives_2 ) ) ;
+    // InternalSignalDSL.g:4712:1: rule__XImportDeclaration__Group__2__Impl : ( ( rule__XImportDeclaration__Alternatives_2 ) ) ;
     public final void rule__XImportDeclaration__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4688:1: ( ( ( rule__XImportDeclaration__Alternatives_2 ) ) )
-            // InternalSignalDSL.g:4689:1: ( ( rule__XImportDeclaration__Alternatives_2 ) )
+            // InternalSignalDSL.g:4716:1: ( ( ( rule__XImportDeclaration__Alternatives_2 ) ) )
+            // InternalSignalDSL.g:4717:1: ( ( rule__XImportDeclaration__Alternatives_2 ) )
             {
-            // InternalSignalDSL.g:4689:1: ( ( rule__XImportDeclaration__Alternatives_2 ) )
-            // InternalSignalDSL.g:4690:2: ( rule__XImportDeclaration__Alternatives_2 )
+            // InternalSignalDSL.g:4717:1: ( ( rule__XImportDeclaration__Alternatives_2 ) )
+            // InternalSignalDSL.g:4718:2: ( rule__XImportDeclaration__Alternatives_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getAlternatives_2()); 
             }
-            // InternalSignalDSL.g:4691:2: ( rule__XImportDeclaration__Alternatives_2 )
-            // InternalSignalDSL.g:4691:3: rule__XImportDeclaration__Alternatives_2
+            // InternalSignalDSL.g:4719:2: ( rule__XImportDeclaration__Alternatives_2 )
+            // InternalSignalDSL.g:4719:3: rule__XImportDeclaration__Alternatives_2
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__Alternatives_2();
@@ -16926,14 +16970,14 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__3"
-    // InternalSignalDSL.g:4699:1: rule__XImportDeclaration__Group__3 : rule__XImportDeclaration__Group__3__Impl ;
+    // InternalSignalDSL.g:4727:1: rule__XImportDeclaration__Group__3 : rule__XImportDeclaration__Group__3__Impl ;
     public final void rule__XImportDeclaration__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4703:1: ( rule__XImportDeclaration__Group__3__Impl )
-            // InternalSignalDSL.g:4704:2: rule__XImportDeclaration__Group__3__Impl
+            // InternalSignalDSL.g:4731:1: ( rule__XImportDeclaration__Group__3__Impl )
+            // InternalSignalDSL.g:4732:2: rule__XImportDeclaration__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__Group__3__Impl();
@@ -16959,33 +17003,33 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__3__Impl"
-    // InternalSignalDSL.g:4710:1: rule__XImportDeclaration__Group__3__Impl : ( ( ';' )? ) ;
+    // InternalSignalDSL.g:4738:1: rule__XImportDeclaration__Group__3__Impl : ( ( ';' )? ) ;
     public final void rule__XImportDeclaration__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4714:1: ( ( ( ';' )? ) )
-            // InternalSignalDSL.g:4715:1: ( ( ';' )? )
+            // InternalSignalDSL.g:4742:1: ( ( ( ';' )? ) )
+            // InternalSignalDSL.g:4743:1: ( ( ';' )? )
             {
-            // InternalSignalDSL.g:4715:1: ( ( ';' )? )
-            // InternalSignalDSL.g:4716:2: ( ';' )?
+            // InternalSignalDSL.g:4743:1: ( ( ';' )? )
+            // InternalSignalDSL.g:4744:2: ( ';' )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_3()); 
             }
-            // InternalSignalDSL.g:4717:2: ( ';' )?
-            int alt57=2;
-            int LA57_0 = input.LA(1);
+            // InternalSignalDSL.g:4745:2: ( ';' )?
+            int alt58=2;
+            int LA58_0 = input.LA(1);
 
-            if ( (LA57_0==72) ) {
-                alt57=1;
+            if ( (LA58_0==69) ) {
+                alt58=1;
             }
-            switch (alt57) {
+            switch (alt58) {
                 case 1 :
-                    // InternalSignalDSL.g:4717:3: ';'
+                    // InternalSignalDSL.g:4745:3: ';'
                     {
-                    match(input,72,FOLLOW_2); if (state.failed) return ;
+                    match(input,69,FOLLOW_2); if (state.failed) return ;
 
                     }
                     break;
@@ -17017,14 +17061,14 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__0"
-    // InternalSignalDSL.g:4726:1: rule__XImportDeclaration__Group_2_0__0 : rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1 ;
+    // InternalSignalDSL.g:4754:1: rule__XImportDeclaration__Group_2_0__0 : rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1 ;
     public final void rule__XImportDeclaration__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4730:1: ( rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1 )
-            // InternalSignalDSL.g:4731:2: rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1
+            // InternalSignalDSL.g:4758:1: ( rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1 )
+            // InternalSignalDSL.g:4759:2: rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1
             {
             pushFollow(FOLLOW_28);
             rule__XImportDeclaration__Group_2_0__0__Impl();
@@ -17055,23 +17099,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__0__Impl"
-    // InternalSignalDSL.g:4738:1: rule__XImportDeclaration__Group_2_0__0__Impl : ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) ) ;
+    // InternalSignalDSL.g:4766:1: rule__XImportDeclaration__Group_2_0__0__Impl : ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) ) ;
     public final void rule__XImportDeclaration__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4742:1: ( ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) ) )
-            // InternalSignalDSL.g:4743:1: ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) )
+            // InternalSignalDSL.g:4770:1: ( ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) ) )
+            // InternalSignalDSL.g:4771:1: ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) )
             {
-            // InternalSignalDSL.g:4743:1: ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) )
-            // InternalSignalDSL.g:4744:2: ( rule__XImportDeclaration__StaticAssignment_2_0_0 )
+            // InternalSignalDSL.g:4771:1: ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) )
+            // InternalSignalDSL.g:4772:2: ( rule__XImportDeclaration__StaticAssignment_2_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_2_0_0()); 
             }
-            // InternalSignalDSL.g:4745:2: ( rule__XImportDeclaration__StaticAssignment_2_0_0 )
-            // InternalSignalDSL.g:4745:3: rule__XImportDeclaration__StaticAssignment_2_0_0
+            // InternalSignalDSL.g:4773:2: ( rule__XImportDeclaration__StaticAssignment_2_0_0 )
+            // InternalSignalDSL.g:4773:3: rule__XImportDeclaration__StaticAssignment_2_0_0
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__StaticAssignment_2_0_0();
@@ -17106,14 +17150,14 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__1"
-    // InternalSignalDSL.g:4753:1: rule__XImportDeclaration__Group_2_0__1 : rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2 ;
+    // InternalSignalDSL.g:4781:1: rule__XImportDeclaration__Group_2_0__1 : rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2 ;
     public final void rule__XImportDeclaration__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4757:1: ( rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2 )
-            // InternalSignalDSL.g:4758:2: rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2
+            // InternalSignalDSL.g:4785:1: ( rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2 )
+            // InternalSignalDSL.g:4786:2: rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2
             {
             pushFollow(FOLLOW_28);
             rule__XImportDeclaration__Group_2_0__1__Impl();
@@ -17144,31 +17188,31 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__1__Impl"
-    // InternalSignalDSL.g:4765:1: rule__XImportDeclaration__Group_2_0__1__Impl : ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? ) ;
+    // InternalSignalDSL.g:4793:1: rule__XImportDeclaration__Group_2_0__1__Impl : ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? ) ;
     public final void rule__XImportDeclaration__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4769:1: ( ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? ) )
-            // InternalSignalDSL.g:4770:1: ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? )
+            // InternalSignalDSL.g:4797:1: ( ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? ) )
+            // InternalSignalDSL.g:4798:1: ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? )
             {
-            // InternalSignalDSL.g:4770:1: ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? )
-            // InternalSignalDSL.g:4771:2: ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )?
+            // InternalSignalDSL.g:4798:1: ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? )
+            // InternalSignalDSL.g:4799:2: ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_2_0_1()); 
             }
-            // InternalSignalDSL.g:4772:2: ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )?
-            int alt58=2;
-            int LA58_0 = input.LA(1);
+            // InternalSignalDSL.g:4800:2: ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )?
+            int alt59=2;
+            int LA59_0 = input.LA(1);
 
-            if ( (LA58_0==48) ) {
-                alt58=1;
+            if ( (LA59_0==48) ) {
+                alt59=1;
             }
-            switch (alt58) {
+            switch (alt59) {
                 case 1 :
-                    // InternalSignalDSL.g:4772:3: rule__XImportDeclaration__ExtensionAssignment_2_0_1
+                    // InternalSignalDSL.g:4800:3: rule__XImportDeclaration__ExtensionAssignment_2_0_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XImportDeclaration__ExtensionAssignment_2_0_1();
@@ -17206,14 +17250,14 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__2"
-    // InternalSignalDSL.g:4780:1: rule__XImportDeclaration__Group_2_0__2 : rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3 ;
+    // InternalSignalDSL.g:4808:1: rule__XImportDeclaration__Group_2_0__2 : rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3 ;
     public final void rule__XImportDeclaration__Group_2_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4784:1: ( rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3 )
-            // InternalSignalDSL.g:4785:2: rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3
+            // InternalSignalDSL.g:4812:1: ( rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3 )
+            // InternalSignalDSL.g:4813:2: rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3
             {
             pushFollow(FOLLOW_29);
             rule__XImportDeclaration__Group_2_0__2__Impl();
@@ -17244,23 +17288,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__2__Impl"
-    // InternalSignalDSL.g:4792:1: rule__XImportDeclaration__Group_2_0__2__Impl : ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) ) ;
+    // InternalSignalDSL.g:4820:1: rule__XImportDeclaration__Group_2_0__2__Impl : ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) ) ;
     public final void rule__XImportDeclaration__Group_2_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4796:1: ( ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) ) )
-            // InternalSignalDSL.g:4797:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) )
+            // InternalSignalDSL.g:4824:1: ( ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) ) )
+            // InternalSignalDSL.g:4825:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) )
             {
-            // InternalSignalDSL.g:4797:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) )
-            // InternalSignalDSL.g:4798:2: ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 )
+            // InternalSignalDSL.g:4825:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) )
+            // InternalSignalDSL.g:4826:2: ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_2_0_2()); 
             }
-            // InternalSignalDSL.g:4799:2: ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 )
-            // InternalSignalDSL.g:4799:3: rule__XImportDeclaration__ImportedTypeAssignment_2_0_2
+            // InternalSignalDSL.g:4827:2: ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 )
+            // InternalSignalDSL.g:4827:3: rule__XImportDeclaration__ImportedTypeAssignment_2_0_2
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__ImportedTypeAssignment_2_0_2();
@@ -17295,14 +17339,14 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__3"
-    // InternalSignalDSL.g:4807:1: rule__XImportDeclaration__Group_2_0__3 : rule__XImportDeclaration__Group_2_0__3__Impl ;
+    // InternalSignalDSL.g:4835:1: rule__XImportDeclaration__Group_2_0__3 : rule__XImportDeclaration__Group_2_0__3__Impl ;
     public final void rule__XImportDeclaration__Group_2_0__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4811:1: ( rule__XImportDeclaration__Group_2_0__3__Impl )
-            // InternalSignalDSL.g:4812:2: rule__XImportDeclaration__Group_2_0__3__Impl
+            // InternalSignalDSL.g:4839:1: ( rule__XImportDeclaration__Group_2_0__3__Impl )
+            // InternalSignalDSL.g:4840:2: rule__XImportDeclaration__Group_2_0__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__Group_2_0__3__Impl();
@@ -17328,23 +17372,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__3__Impl"
-    // InternalSignalDSL.g:4818:1: rule__XImportDeclaration__Group_2_0__3__Impl : ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) ) ;
+    // InternalSignalDSL.g:4846:1: rule__XImportDeclaration__Group_2_0__3__Impl : ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) ) ;
     public final void rule__XImportDeclaration__Group_2_0__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4822:1: ( ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) ) )
-            // InternalSignalDSL.g:4823:1: ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) )
+            // InternalSignalDSL.g:4850:1: ( ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) ) )
+            // InternalSignalDSL.g:4851:1: ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) )
             {
-            // InternalSignalDSL.g:4823:1: ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) )
-            // InternalSignalDSL.g:4824:2: ( rule__XImportDeclaration__Alternatives_2_0_3 )
+            // InternalSignalDSL.g:4851:1: ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) )
+            // InternalSignalDSL.g:4852:2: ( rule__XImportDeclaration__Alternatives_2_0_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getAlternatives_2_0_3()); 
             }
-            // InternalSignalDSL.g:4825:2: ( rule__XImportDeclaration__Alternatives_2_0_3 )
-            // InternalSignalDSL.g:4825:3: rule__XImportDeclaration__Alternatives_2_0_3
+            // InternalSignalDSL.g:4853:2: ( rule__XImportDeclaration__Alternatives_2_0_3 )
+            // InternalSignalDSL.g:4853:3: rule__XImportDeclaration__Alternatives_2_0_3
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__Alternatives_2_0_3();
@@ -17379,14 +17423,14 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_3__0"
-    // InternalSignalDSL.g:4834:1: rule__XImportDeclaration__Group_2_3__0 : rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1 ;
+    // InternalSignalDSL.g:4862:1: rule__XImportDeclaration__Group_2_3__0 : rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1 ;
     public final void rule__XImportDeclaration__Group_2_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4838:1: ( rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1 )
-            // InternalSignalDSL.g:4839:2: rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1
+            // InternalSignalDSL.g:4866:1: ( rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1 )
+            // InternalSignalDSL.g:4867:2: rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1
             {
             pushFollow(FOLLOW_7);
             rule__XImportDeclaration__Group_2_3__0__Impl();
@@ -17417,23 +17461,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_3__0__Impl"
-    // InternalSignalDSL.g:4846:1: rule__XImportDeclaration__Group_2_3__0__Impl : ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) ) ;
+    // InternalSignalDSL.g:4874:1: rule__XImportDeclaration__Group_2_3__0__Impl : ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) ) ;
     public final void rule__XImportDeclaration__Group_2_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4850:1: ( ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) ) )
-            // InternalSignalDSL.g:4851:1: ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) )
+            // InternalSignalDSL.g:4878:1: ( ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) ) )
+            // InternalSignalDSL.g:4879:1: ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) )
             {
-            // InternalSignalDSL.g:4851:1: ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) )
-            // InternalSignalDSL.g:4852:2: ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 )
+            // InternalSignalDSL.g:4879:1: ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) )
+            // InternalSignalDSL.g:4880:2: ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getFqnImportAssignment_2_3_0()); 
             }
-            // InternalSignalDSL.g:4853:2: ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 )
-            // InternalSignalDSL.g:4853:3: rule__XImportDeclaration__FqnImportAssignment_2_3_0
+            // InternalSignalDSL.g:4881:2: ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 )
+            // InternalSignalDSL.g:4881:3: rule__XImportDeclaration__FqnImportAssignment_2_3_0
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__FqnImportAssignment_2_3_0();
@@ -17468,14 +17512,14 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_3__1"
-    // InternalSignalDSL.g:4861:1: rule__XImportDeclaration__Group_2_3__1 : rule__XImportDeclaration__Group_2_3__1__Impl ;
+    // InternalSignalDSL.g:4889:1: rule__XImportDeclaration__Group_2_3__1 : rule__XImportDeclaration__Group_2_3__1__Impl ;
     public final void rule__XImportDeclaration__Group_2_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4865:1: ( rule__XImportDeclaration__Group_2_3__1__Impl )
-            // InternalSignalDSL.g:4866:2: rule__XImportDeclaration__Group_2_3__1__Impl
+            // InternalSignalDSL.g:4893:1: ( rule__XImportDeclaration__Group_2_3__1__Impl )
+            // InternalSignalDSL.g:4894:2: rule__XImportDeclaration__Group_2_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__Group_2_3__1__Impl();
@@ -17501,23 +17545,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_3__1__Impl"
-    // InternalSignalDSL.g:4872:1: rule__XImportDeclaration__Group_2_3__1__Impl : ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) ) ;
+    // InternalSignalDSL.g:4900:1: rule__XImportDeclaration__Group_2_3__1__Impl : ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) ) ;
     public final void rule__XImportDeclaration__Group_2_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4876:1: ( ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) ) )
-            // InternalSignalDSL.g:4877:1: ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) )
+            // InternalSignalDSL.g:4904:1: ( ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) ) )
+            // InternalSignalDSL.g:4905:1: ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) )
             {
-            // InternalSignalDSL.g:4877:1: ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) )
-            // InternalSignalDSL.g:4878:2: ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 )
+            // InternalSignalDSL.g:4905:1: ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) )
+            // InternalSignalDSL.g:4906:2: ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedFullyQualifiedNameAssignment_2_3_1()); 
             }
-            // InternalSignalDSL.g:4879:2: ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 )
-            // InternalSignalDSL.g:4879:3: rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1
+            // InternalSignalDSL.g:4907:2: ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 )
+            // InternalSignalDSL.g:4907:3: rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1();
@@ -17552,14 +17596,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__0"
-    // InternalSignalDSL.g:4888:1: rule__XAnnotation__Group__0 : rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1 ;
+    // InternalSignalDSL.g:4916:1: rule__XAnnotation__Group__0 : rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1 ;
     public final void rule__XAnnotation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4892:1: ( rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1 )
-            // InternalSignalDSL.g:4893:2: rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1
+            // InternalSignalDSL.g:4920:1: ( rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1 )
+            // InternalSignalDSL.g:4921:2: rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1
             {
             pushFollow(FOLLOW_30);
             rule__XAnnotation__Group__0__Impl();
@@ -17590,23 +17634,23 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__0__Impl"
-    // InternalSignalDSL.g:4900:1: rule__XAnnotation__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:4928:1: rule__XAnnotation__Group__0__Impl : ( () ) ;
     public final void rule__XAnnotation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4904:1: ( ( () ) )
-            // InternalSignalDSL.g:4905:1: ( () )
+            // InternalSignalDSL.g:4932:1: ( ( () ) )
+            // InternalSignalDSL.g:4933:1: ( () )
             {
-            // InternalSignalDSL.g:4905:1: ( () )
-            // InternalSignalDSL.g:4906:2: ()
+            // InternalSignalDSL.g:4933:1: ( () )
+            // InternalSignalDSL.g:4934:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getXAnnotationAction_0()); 
             }
-            // InternalSignalDSL.g:4907:2: ()
-            // InternalSignalDSL.g:4907:3: 
+            // InternalSignalDSL.g:4935:2: ()
+            // InternalSignalDSL.g:4935:3: 
             {
             }
 
@@ -17631,14 +17675,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__1"
-    // InternalSignalDSL.g:4915:1: rule__XAnnotation__Group__1 : rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2 ;
+    // InternalSignalDSL.g:4943:1: rule__XAnnotation__Group__1 : rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2 ;
     public final void rule__XAnnotation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4919:1: ( rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2 )
-            // InternalSignalDSL.g:4920:2: rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2
+            // InternalSignalDSL.g:4947:1: ( rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2 )
+            // InternalSignalDSL.g:4948:2: rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2
             {
             pushFollow(FOLLOW_7);
             rule__XAnnotation__Group__1__Impl();
@@ -17669,22 +17713,22 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__1__Impl"
-    // InternalSignalDSL.g:4927:1: rule__XAnnotation__Group__1__Impl : ( '@' ) ;
+    // InternalSignalDSL.g:4955:1: rule__XAnnotation__Group__1__Impl : ( '@' ) ;
     public final void rule__XAnnotation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4931:1: ( ( '@' ) )
-            // InternalSignalDSL.g:4932:1: ( '@' )
+            // InternalSignalDSL.g:4959:1: ( ( '@' ) )
+            // InternalSignalDSL.g:4960:1: ( '@' )
             {
-            // InternalSignalDSL.g:4932:1: ( '@' )
-            // InternalSignalDSL.g:4933:2: '@'
+            // InternalSignalDSL.g:4960:1: ( '@' )
+            // InternalSignalDSL.g:4961:2: '@'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_1()); 
             }
-            match(input,73,FOLLOW_2); if (state.failed) return ;
+            match(input,70,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_1()); 
             }
@@ -17710,14 +17754,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__2"
-    // InternalSignalDSL.g:4942:1: rule__XAnnotation__Group__2 : rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3 ;
+    // InternalSignalDSL.g:4970:1: rule__XAnnotation__Group__2 : rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3 ;
     public final void rule__XAnnotation__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4946:1: ( rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3 )
-            // InternalSignalDSL.g:4947:2: rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3
+            // InternalSignalDSL.g:4974:1: ( rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3 )
+            // InternalSignalDSL.g:4975:2: rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3
             {
             pushFollow(FOLLOW_31);
             rule__XAnnotation__Group__2__Impl();
@@ -17748,23 +17792,23 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__2__Impl"
-    // InternalSignalDSL.g:4954:1: rule__XAnnotation__Group__2__Impl : ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) ) ;
+    // InternalSignalDSL.g:4982:1: rule__XAnnotation__Group__2__Impl : ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) ) ;
     public final void rule__XAnnotation__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4958:1: ( ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) ) )
-            // InternalSignalDSL.g:4959:1: ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) )
+            // InternalSignalDSL.g:4986:1: ( ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) ) )
+            // InternalSignalDSL.g:4987:1: ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) )
             {
-            // InternalSignalDSL.g:4959:1: ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) )
-            // InternalSignalDSL.g:4960:2: ( rule__XAnnotation__AnnotationTypeAssignment_2 )
+            // InternalSignalDSL.g:4987:1: ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) )
+            // InternalSignalDSL.g:4988:2: ( rule__XAnnotation__AnnotationTypeAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getAnnotationTypeAssignment_2()); 
             }
-            // InternalSignalDSL.g:4961:2: ( rule__XAnnotation__AnnotationTypeAssignment_2 )
-            // InternalSignalDSL.g:4961:3: rule__XAnnotation__AnnotationTypeAssignment_2
+            // InternalSignalDSL.g:4989:2: ( rule__XAnnotation__AnnotationTypeAssignment_2 )
+            // InternalSignalDSL.g:4989:3: rule__XAnnotation__AnnotationTypeAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__AnnotationTypeAssignment_2();
@@ -17799,14 +17843,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__3"
-    // InternalSignalDSL.g:4969:1: rule__XAnnotation__Group__3 : rule__XAnnotation__Group__3__Impl ;
+    // InternalSignalDSL.g:4997:1: rule__XAnnotation__Group__3 : rule__XAnnotation__Group__3__Impl ;
     public final void rule__XAnnotation__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4973:1: ( rule__XAnnotation__Group__3__Impl )
-            // InternalSignalDSL.g:4974:2: rule__XAnnotation__Group__3__Impl
+            // InternalSignalDSL.g:5001:1: ( rule__XAnnotation__Group__3__Impl )
+            // InternalSignalDSL.g:5002:2: rule__XAnnotation__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__Group__3__Impl();
@@ -17832,31 +17876,31 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__3__Impl"
-    // InternalSignalDSL.g:4980:1: rule__XAnnotation__Group__3__Impl : ( ( rule__XAnnotation__Group_3__0 )? ) ;
+    // InternalSignalDSL.g:5008:1: rule__XAnnotation__Group__3__Impl : ( ( rule__XAnnotation__Group_3__0 )? ) ;
     public final void rule__XAnnotation__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:4984:1: ( ( ( rule__XAnnotation__Group_3__0 )? ) )
-            // InternalSignalDSL.g:4985:1: ( ( rule__XAnnotation__Group_3__0 )? )
+            // InternalSignalDSL.g:5012:1: ( ( ( rule__XAnnotation__Group_3__0 )? ) )
+            // InternalSignalDSL.g:5013:1: ( ( rule__XAnnotation__Group_3__0 )? )
             {
-            // InternalSignalDSL.g:4985:1: ( ( rule__XAnnotation__Group_3__0 )? )
-            // InternalSignalDSL.g:4986:2: ( rule__XAnnotation__Group_3__0 )?
+            // InternalSignalDSL.g:5013:1: ( ( rule__XAnnotation__Group_3__0 )? )
+            // InternalSignalDSL.g:5014:2: ( rule__XAnnotation__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getGroup_3()); 
             }
-            // InternalSignalDSL.g:4987:2: ( rule__XAnnotation__Group_3__0 )?
-            int alt59=2;
-            int LA59_0 = input.LA(1);
+            // InternalSignalDSL.g:5015:2: ( rule__XAnnotation__Group_3__0 )?
+            int alt60=2;
+            int LA60_0 = input.LA(1);
 
-            if ( (LA59_0==74) ) {
-                alt59=1;
+            if ( (LA60_0==71) ) {
+                alt60=1;
             }
-            switch (alt59) {
+            switch (alt60) {
                 case 1 :
-                    // InternalSignalDSL.g:4987:3: rule__XAnnotation__Group_3__0
+                    // InternalSignalDSL.g:5015:3: rule__XAnnotation__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotation__Group_3__0();
@@ -17894,14 +17938,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__0"
-    // InternalSignalDSL.g:4996:1: rule__XAnnotation__Group_3__0 : rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1 ;
+    // InternalSignalDSL.g:5024:1: rule__XAnnotation__Group_3__0 : rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1 ;
     public final void rule__XAnnotation__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5000:1: ( rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1 )
-            // InternalSignalDSL.g:5001:2: rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1
+            // InternalSignalDSL.g:5028:1: ( rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1 )
+            // InternalSignalDSL.g:5029:2: rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1
             {
             pushFollow(FOLLOW_32);
             rule__XAnnotation__Group_3__0__Impl();
@@ -17932,25 +17976,25 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__0__Impl"
-    // InternalSignalDSL.g:5008:1: rule__XAnnotation__Group_3__0__Impl : ( ( '(' ) ) ;
+    // InternalSignalDSL.g:5036:1: rule__XAnnotation__Group_3__0__Impl : ( ( '(' ) ) ;
     public final void rule__XAnnotation__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5012:1: ( ( ( '(' ) ) )
-            // InternalSignalDSL.g:5013:1: ( ( '(' ) )
+            // InternalSignalDSL.g:5040:1: ( ( ( '(' ) ) )
+            // InternalSignalDSL.g:5041:1: ( ( '(' ) )
             {
-            // InternalSignalDSL.g:5013:1: ( ( '(' ) )
-            // InternalSignalDSL.g:5014:2: ( '(' )
+            // InternalSignalDSL.g:5041:1: ( ( '(' ) )
+            // InternalSignalDSL.g:5042:2: ( '(' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0()); 
             }
-            // InternalSignalDSL.g:5015:2: ( '(' )
-            // InternalSignalDSL.g:5015:3: '('
+            // InternalSignalDSL.g:5043:2: ( '(' )
+            // InternalSignalDSL.g:5043:3: '('
             {
-            match(input,74,FOLLOW_2); if (state.failed) return ;
+            match(input,71,FOLLOW_2); if (state.failed) return ;
 
             }
 
@@ -17979,14 +18023,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__1"
-    // InternalSignalDSL.g:5023:1: rule__XAnnotation__Group_3__1 : rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2 ;
+    // InternalSignalDSL.g:5051:1: rule__XAnnotation__Group_3__1 : rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2 ;
     public final void rule__XAnnotation__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5027:1: ( rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2 )
-            // InternalSignalDSL.g:5028:2: rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2
+            // InternalSignalDSL.g:5055:1: ( rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2 )
+            // InternalSignalDSL.g:5056:2: rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2
             {
             pushFollow(FOLLOW_32);
             rule__XAnnotation__Group_3__1__Impl();
@@ -18017,31 +18061,31 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__1__Impl"
-    // InternalSignalDSL.g:5035:1: rule__XAnnotation__Group_3__1__Impl : ( ( rule__XAnnotation__Alternatives_3_1 )? ) ;
+    // InternalSignalDSL.g:5063:1: rule__XAnnotation__Group_3__1__Impl : ( ( rule__XAnnotation__Alternatives_3_1 )? ) ;
     public final void rule__XAnnotation__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5039:1: ( ( ( rule__XAnnotation__Alternatives_3_1 )? ) )
-            // InternalSignalDSL.g:5040:1: ( ( rule__XAnnotation__Alternatives_3_1 )? )
+            // InternalSignalDSL.g:5067:1: ( ( ( rule__XAnnotation__Alternatives_3_1 )? ) )
+            // InternalSignalDSL.g:5068:1: ( ( rule__XAnnotation__Alternatives_3_1 )? )
             {
-            // InternalSignalDSL.g:5040:1: ( ( rule__XAnnotation__Alternatives_3_1 )? )
-            // InternalSignalDSL.g:5041:2: ( rule__XAnnotation__Alternatives_3_1 )?
+            // InternalSignalDSL.g:5068:1: ( ( rule__XAnnotation__Alternatives_3_1 )? )
+            // InternalSignalDSL.g:5069:2: ( rule__XAnnotation__Alternatives_3_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getAlternatives_3_1()); 
             }
-            // InternalSignalDSL.g:5042:2: ( rule__XAnnotation__Alternatives_3_1 )?
-            int alt60=2;
-            int LA60_0 = input.LA(1);
+            // InternalSignalDSL.g:5070:2: ( rule__XAnnotation__Alternatives_3_1 )?
+            int alt61=2;
+            int LA61_0 = input.LA(1);
 
-            if ( ((LA60_0>=RULE_ID && LA60_0<=RULE_STRING)||LA60_0==27||(LA60_0>=34 && LA60_0<=35)||LA60_0==40||(LA60_0>=45 && LA60_0<=50)||LA60_0==64||LA60_0==68||(LA60_0>=73 && LA60_0<=74)||(LA60_0>=78 && LA60_0<=79)||LA60_0==82||LA60_0==84||(LA60_0>=88 && LA60_0<=95)||LA60_0==97||LA60_0==106) ) {
-                alt60=1;
+            if ( ((LA61_0>=RULE_ID && LA61_0<=RULE_STRING)||LA61_0==27||(LA61_0>=34 && LA61_0<=35)||LA61_0==40||(LA61_0>=45 && LA61_0<=50)||LA61_0==60||LA61_0==64||(LA61_0>=70 && LA61_0<=71)||(LA61_0>=75 && LA61_0<=76)||LA61_0==79||LA61_0==81||(LA61_0>=85 && LA61_0<=92)||LA61_0==94||LA61_0==103) ) {
+                alt61=1;
             }
-            switch (alt60) {
+            switch (alt61) {
                 case 1 :
-                    // InternalSignalDSL.g:5042:3: rule__XAnnotation__Alternatives_3_1
+                    // InternalSignalDSL.g:5070:3: rule__XAnnotation__Alternatives_3_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotation__Alternatives_3_1();
@@ -18079,14 +18123,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__2"
-    // InternalSignalDSL.g:5050:1: rule__XAnnotation__Group_3__2 : rule__XAnnotation__Group_3__2__Impl ;
+    // InternalSignalDSL.g:5078:1: rule__XAnnotation__Group_3__2 : rule__XAnnotation__Group_3__2__Impl ;
     public final void rule__XAnnotation__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5054:1: ( rule__XAnnotation__Group_3__2__Impl )
-            // InternalSignalDSL.g:5055:2: rule__XAnnotation__Group_3__2__Impl
+            // InternalSignalDSL.g:5082:1: ( rule__XAnnotation__Group_3__2__Impl )
+            // InternalSignalDSL.g:5083:2: rule__XAnnotation__Group_3__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__Group_3__2__Impl();
@@ -18112,22 +18156,22 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__2__Impl"
-    // InternalSignalDSL.g:5061:1: rule__XAnnotation__Group_3__2__Impl : ( ')' ) ;
+    // InternalSignalDSL.g:5089:1: rule__XAnnotation__Group_3__2__Impl : ( ')' ) ;
     public final void rule__XAnnotation__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5065:1: ( ( ')' ) )
-            // InternalSignalDSL.g:5066:1: ( ')' )
+            // InternalSignalDSL.g:5093:1: ( ( ')' ) )
+            // InternalSignalDSL.g:5094:1: ( ')' )
             {
-            // InternalSignalDSL.g:5066:1: ( ')' )
-            // InternalSignalDSL.g:5067:2: ')'
+            // InternalSignalDSL.g:5094:1: ( ')' )
+            // InternalSignalDSL.g:5095:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2()); 
             }
-            match(input,75,FOLLOW_2); if (state.failed) return ;
+            match(input,72,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2()); 
             }
@@ -18153,14 +18197,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0__0"
-    // InternalSignalDSL.g:5077:1: rule__XAnnotation__Group_3_1_0__0 : rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1 ;
+    // InternalSignalDSL.g:5105:1: rule__XAnnotation__Group_3_1_0__0 : rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1 ;
     public final void rule__XAnnotation__Group_3_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5081:1: ( rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1 )
-            // InternalSignalDSL.g:5082:2: rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1
+            // InternalSignalDSL.g:5109:1: ( rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1 )
+            // InternalSignalDSL.g:5110:2: rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1
             {
             pushFollow(FOLLOW_33);
             rule__XAnnotation__Group_3_1_0__0__Impl();
@@ -18191,23 +18235,23 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0__0__Impl"
-    // InternalSignalDSL.g:5089:1: rule__XAnnotation__Group_3_1_0__0__Impl : ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) ) ;
+    // InternalSignalDSL.g:5117:1: rule__XAnnotation__Group_3_1_0__0__Impl : ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) ) ;
     public final void rule__XAnnotation__Group_3_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5093:1: ( ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) ) )
-            // InternalSignalDSL.g:5094:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) )
+            // InternalSignalDSL.g:5121:1: ( ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) ) )
+            // InternalSignalDSL.g:5122:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) )
             {
-            // InternalSignalDSL.g:5094:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) )
-            // InternalSignalDSL.g:5095:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 )
+            // InternalSignalDSL.g:5122:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) )
+            // InternalSignalDSL.g:5123:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_0()); 
             }
-            // InternalSignalDSL.g:5096:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 )
-            // InternalSignalDSL.g:5096:3: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0
+            // InternalSignalDSL.g:5124:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 )
+            // InternalSignalDSL.g:5124:3: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0();
@@ -18242,14 +18286,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0__1"
-    // InternalSignalDSL.g:5104:1: rule__XAnnotation__Group_3_1_0__1 : rule__XAnnotation__Group_3_1_0__1__Impl ;
+    // InternalSignalDSL.g:5132:1: rule__XAnnotation__Group_3_1_0__1 : rule__XAnnotation__Group_3_1_0__1__Impl ;
     public final void rule__XAnnotation__Group_3_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5108:1: ( rule__XAnnotation__Group_3_1_0__1__Impl )
-            // InternalSignalDSL.g:5109:2: rule__XAnnotation__Group_3_1_0__1__Impl
+            // InternalSignalDSL.g:5136:1: ( rule__XAnnotation__Group_3_1_0__1__Impl )
+            // InternalSignalDSL.g:5137:2: rule__XAnnotation__Group_3_1_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__Group_3_1_0__1__Impl();
@@ -18275,35 +18319,35 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0__1__Impl"
-    // InternalSignalDSL.g:5115:1: rule__XAnnotation__Group_3_1_0__1__Impl : ( ( rule__XAnnotation__Group_3_1_0_1__0 )* ) ;
+    // InternalSignalDSL.g:5143:1: rule__XAnnotation__Group_3_1_0__1__Impl : ( ( rule__XAnnotation__Group_3_1_0_1__0 )* ) ;
     public final void rule__XAnnotation__Group_3_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5119:1: ( ( ( rule__XAnnotation__Group_3_1_0_1__0 )* ) )
-            // InternalSignalDSL.g:5120:1: ( ( rule__XAnnotation__Group_3_1_0_1__0 )* )
+            // InternalSignalDSL.g:5147:1: ( ( ( rule__XAnnotation__Group_3_1_0_1__0 )* ) )
+            // InternalSignalDSL.g:5148:1: ( ( rule__XAnnotation__Group_3_1_0_1__0 )* )
             {
-            // InternalSignalDSL.g:5120:1: ( ( rule__XAnnotation__Group_3_1_0_1__0 )* )
-            // InternalSignalDSL.g:5121:2: ( rule__XAnnotation__Group_3_1_0_1__0 )*
+            // InternalSignalDSL.g:5148:1: ( ( rule__XAnnotation__Group_3_1_0_1__0 )* )
+            // InternalSignalDSL.g:5149:2: ( rule__XAnnotation__Group_3_1_0_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getGroup_3_1_0_1()); 
             }
-            // InternalSignalDSL.g:5122:2: ( rule__XAnnotation__Group_3_1_0_1__0 )*
-            loop61:
+            // InternalSignalDSL.g:5150:2: ( rule__XAnnotation__Group_3_1_0_1__0 )*
+            loop62:
             do {
-                int alt61=2;
-                int LA61_0 = input.LA(1);
+                int alt62=2;
+                int LA62_0 = input.LA(1);
 
-                if ( (LA61_0==76) ) {
-                    alt61=1;
+                if ( (LA62_0==73) ) {
+                    alt62=1;
                 }
 
 
-                switch (alt61) {
+                switch (alt62) {
             	case 1 :
-            	    // InternalSignalDSL.g:5122:3: rule__XAnnotation__Group_3_1_0_1__0
+            	    // InternalSignalDSL.g:5150:3: rule__XAnnotation__Group_3_1_0_1__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__XAnnotation__Group_3_1_0_1__0();
@@ -18315,7 +18359,7 @@
             	    break;
 
             	default :
-            	    break loop61;
+            	    break loop62;
                 }
             } while (true);
 
@@ -18344,14 +18388,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0_1__0"
-    // InternalSignalDSL.g:5131:1: rule__XAnnotation__Group_3_1_0_1__0 : rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1 ;
+    // InternalSignalDSL.g:5159:1: rule__XAnnotation__Group_3_1_0_1__0 : rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1 ;
     public final void rule__XAnnotation__Group_3_1_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5135:1: ( rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1 )
-            // InternalSignalDSL.g:5136:2: rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1
+            // InternalSignalDSL.g:5163:1: ( rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1 )
+            // InternalSignalDSL.g:5164:2: rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1
             {
             pushFollow(FOLLOW_7);
             rule__XAnnotation__Group_3_1_0_1__0__Impl();
@@ -18382,22 +18426,22 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0_1__0__Impl"
-    // InternalSignalDSL.g:5143:1: rule__XAnnotation__Group_3_1_0_1__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:5171:1: rule__XAnnotation__Group_3_1_0_1__0__Impl : ( ',' ) ;
     public final void rule__XAnnotation__Group_3_1_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5147:1: ( ( ',' ) )
-            // InternalSignalDSL.g:5148:1: ( ',' )
+            // InternalSignalDSL.g:5175:1: ( ( ',' ) )
+            // InternalSignalDSL.g:5176:1: ( ',' )
             {
-            // InternalSignalDSL.g:5148:1: ( ',' )
-            // InternalSignalDSL.g:5149:2: ','
+            // InternalSignalDSL.g:5176:1: ( ',' )
+            // InternalSignalDSL.g:5177:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getCommaKeyword_3_1_0_1_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationAccess().getCommaKeyword_3_1_0_1_0()); 
             }
@@ -18423,14 +18467,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0_1__1"
-    // InternalSignalDSL.g:5158:1: rule__XAnnotation__Group_3_1_0_1__1 : rule__XAnnotation__Group_3_1_0_1__1__Impl ;
+    // InternalSignalDSL.g:5186:1: rule__XAnnotation__Group_3_1_0_1__1 : rule__XAnnotation__Group_3_1_0_1__1__Impl ;
     public final void rule__XAnnotation__Group_3_1_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5162:1: ( rule__XAnnotation__Group_3_1_0_1__1__Impl )
-            // InternalSignalDSL.g:5163:2: rule__XAnnotation__Group_3_1_0_1__1__Impl
+            // InternalSignalDSL.g:5190:1: ( rule__XAnnotation__Group_3_1_0_1__1__Impl )
+            // InternalSignalDSL.g:5191:2: rule__XAnnotation__Group_3_1_0_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__Group_3_1_0_1__1__Impl();
@@ -18456,23 +18500,23 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0_1__1__Impl"
-    // InternalSignalDSL.g:5169:1: rule__XAnnotation__Group_3_1_0_1__1__Impl : ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) ) ;
+    // InternalSignalDSL.g:5197:1: rule__XAnnotation__Group_3_1_0_1__1__Impl : ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) ) ;
     public final void rule__XAnnotation__Group_3_1_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5173:1: ( ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) ) )
-            // InternalSignalDSL.g:5174:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) )
+            // InternalSignalDSL.g:5201:1: ( ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) ) )
+            // InternalSignalDSL.g:5202:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) )
             {
-            // InternalSignalDSL.g:5174:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) )
-            // InternalSignalDSL.g:5175:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 )
+            // InternalSignalDSL.g:5202:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) )
+            // InternalSignalDSL.g:5203:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_1_1()); 
             }
-            // InternalSignalDSL.g:5176:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 )
-            // InternalSignalDSL.g:5176:3: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1
+            // InternalSignalDSL.g:5204:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 )
+            // InternalSignalDSL.g:5204:3: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1();
@@ -18507,14 +18551,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group__0"
-    // InternalSignalDSL.g:5185:1: rule__XAnnotationElementValuePair__Group__0 : rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1 ;
+    // InternalSignalDSL.g:5213:1: rule__XAnnotationElementValuePair__Group__0 : rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1 ;
     public final void rule__XAnnotationElementValuePair__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5189:1: ( rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1 )
-            // InternalSignalDSL.g:5190:2: rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1
+            // InternalSignalDSL.g:5217:1: ( rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1 )
+            // InternalSignalDSL.g:5218:2: rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1
             {
             pushFollow(FOLLOW_35);
             rule__XAnnotationElementValuePair__Group__0__Impl();
@@ -18545,23 +18589,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group__0__Impl"
-    // InternalSignalDSL.g:5197:1: rule__XAnnotationElementValuePair__Group__0__Impl : ( ( rule__XAnnotationElementValuePair__Group_0__0 ) ) ;
+    // InternalSignalDSL.g:5225:1: rule__XAnnotationElementValuePair__Group__0__Impl : ( ( rule__XAnnotationElementValuePair__Group_0__0 ) ) ;
     public final void rule__XAnnotationElementValuePair__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5201:1: ( ( ( rule__XAnnotationElementValuePair__Group_0__0 ) ) )
-            // InternalSignalDSL.g:5202:1: ( ( rule__XAnnotationElementValuePair__Group_0__0 ) )
+            // InternalSignalDSL.g:5229:1: ( ( ( rule__XAnnotationElementValuePair__Group_0__0 ) ) )
+            // InternalSignalDSL.g:5230:1: ( ( rule__XAnnotationElementValuePair__Group_0__0 ) )
             {
-            // InternalSignalDSL.g:5202:1: ( ( rule__XAnnotationElementValuePair__Group_0__0 ) )
-            // InternalSignalDSL.g:5203:2: ( rule__XAnnotationElementValuePair__Group_0__0 )
+            // InternalSignalDSL.g:5230:1: ( ( rule__XAnnotationElementValuePair__Group_0__0 ) )
+            // InternalSignalDSL.g:5231:2: ( rule__XAnnotationElementValuePair__Group_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0()); 
             }
-            // InternalSignalDSL.g:5204:2: ( rule__XAnnotationElementValuePair__Group_0__0 )
-            // InternalSignalDSL.g:5204:3: rule__XAnnotationElementValuePair__Group_0__0
+            // InternalSignalDSL.g:5232:2: ( rule__XAnnotationElementValuePair__Group_0__0 )
+            // InternalSignalDSL.g:5232:3: rule__XAnnotationElementValuePair__Group_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__Group_0__0();
@@ -18596,14 +18640,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group__1"
-    // InternalSignalDSL.g:5212:1: rule__XAnnotationElementValuePair__Group__1 : rule__XAnnotationElementValuePair__Group__1__Impl ;
+    // InternalSignalDSL.g:5240:1: rule__XAnnotationElementValuePair__Group__1 : rule__XAnnotationElementValuePair__Group__1__Impl ;
     public final void rule__XAnnotationElementValuePair__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5216:1: ( rule__XAnnotationElementValuePair__Group__1__Impl )
-            // InternalSignalDSL.g:5217:2: rule__XAnnotationElementValuePair__Group__1__Impl
+            // InternalSignalDSL.g:5244:1: ( rule__XAnnotationElementValuePair__Group__1__Impl )
+            // InternalSignalDSL.g:5245:2: rule__XAnnotationElementValuePair__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__Group__1__Impl();
@@ -18629,23 +18673,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group__1__Impl"
-    // InternalSignalDSL.g:5223:1: rule__XAnnotationElementValuePair__Group__1__Impl : ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) ) ;
+    // InternalSignalDSL.g:5251:1: rule__XAnnotationElementValuePair__Group__1__Impl : ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) ) ;
     public final void rule__XAnnotationElementValuePair__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5227:1: ( ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) ) )
-            // InternalSignalDSL.g:5228:1: ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) )
+            // InternalSignalDSL.g:5255:1: ( ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) ) )
+            // InternalSignalDSL.g:5256:1: ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) )
             {
-            // InternalSignalDSL.g:5228:1: ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) )
-            // InternalSignalDSL.g:5229:2: ( rule__XAnnotationElementValuePair__ValueAssignment_1 )
+            // InternalSignalDSL.g:5256:1: ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) )
+            // InternalSignalDSL.g:5257:2: ( rule__XAnnotationElementValuePair__ValueAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getValueAssignment_1()); 
             }
-            // InternalSignalDSL.g:5230:2: ( rule__XAnnotationElementValuePair__ValueAssignment_1 )
-            // InternalSignalDSL.g:5230:3: rule__XAnnotationElementValuePair__ValueAssignment_1
+            // InternalSignalDSL.g:5258:2: ( rule__XAnnotationElementValuePair__ValueAssignment_1 )
+            // InternalSignalDSL.g:5258:3: rule__XAnnotationElementValuePair__ValueAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__ValueAssignment_1();
@@ -18680,14 +18724,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0__0"
-    // InternalSignalDSL.g:5239:1: rule__XAnnotationElementValuePair__Group_0__0 : rule__XAnnotationElementValuePair__Group_0__0__Impl ;
+    // InternalSignalDSL.g:5267:1: rule__XAnnotationElementValuePair__Group_0__0 : rule__XAnnotationElementValuePair__Group_0__0__Impl ;
     public final void rule__XAnnotationElementValuePair__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5243:1: ( rule__XAnnotationElementValuePair__Group_0__0__Impl )
-            // InternalSignalDSL.g:5244:2: rule__XAnnotationElementValuePair__Group_0__0__Impl
+            // InternalSignalDSL.g:5271:1: ( rule__XAnnotationElementValuePair__Group_0__0__Impl )
+            // InternalSignalDSL.g:5272:2: rule__XAnnotationElementValuePair__Group_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__Group_0__0__Impl();
@@ -18713,23 +18757,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0__0__Impl"
-    // InternalSignalDSL.g:5250:1: rule__XAnnotationElementValuePair__Group_0__0__Impl : ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) ) ;
+    // InternalSignalDSL.g:5278:1: rule__XAnnotationElementValuePair__Group_0__0__Impl : ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) ) ;
     public final void rule__XAnnotationElementValuePair__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5254:1: ( ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) ) )
-            // InternalSignalDSL.g:5255:1: ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) )
+            // InternalSignalDSL.g:5282:1: ( ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) ) )
+            // InternalSignalDSL.g:5283:1: ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) )
             {
-            // InternalSignalDSL.g:5255:1: ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) )
-            // InternalSignalDSL.g:5256:2: ( rule__XAnnotationElementValuePair__Group_0_0__0 )
+            // InternalSignalDSL.g:5283:1: ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) )
+            // InternalSignalDSL.g:5284:2: ( rule__XAnnotationElementValuePair__Group_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0_0()); 
             }
-            // InternalSignalDSL.g:5257:2: ( rule__XAnnotationElementValuePair__Group_0_0__0 )
-            // InternalSignalDSL.g:5257:3: rule__XAnnotationElementValuePair__Group_0_0__0
+            // InternalSignalDSL.g:5285:2: ( rule__XAnnotationElementValuePair__Group_0_0__0 )
+            // InternalSignalDSL.g:5285:3: rule__XAnnotationElementValuePair__Group_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__Group_0_0__0();
@@ -18764,14 +18808,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0_0__0"
-    // InternalSignalDSL.g:5266:1: rule__XAnnotationElementValuePair__Group_0_0__0 : rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1 ;
+    // InternalSignalDSL.g:5294:1: rule__XAnnotationElementValuePair__Group_0_0__0 : rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1 ;
     public final void rule__XAnnotationElementValuePair__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5270:1: ( rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1 )
-            // InternalSignalDSL.g:5271:2: rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1
+            // InternalSignalDSL.g:5298:1: ( rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1 )
+            // InternalSignalDSL.g:5299:2: rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1
             {
             pushFollow(FOLLOW_36);
             rule__XAnnotationElementValuePair__Group_0_0__0__Impl();
@@ -18802,23 +18846,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0_0__0__Impl"
-    // InternalSignalDSL.g:5278:1: rule__XAnnotationElementValuePair__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) ) ;
+    // InternalSignalDSL.g:5306:1: rule__XAnnotationElementValuePair__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) ) ;
     public final void rule__XAnnotationElementValuePair__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5282:1: ( ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) ) )
-            // InternalSignalDSL.g:5283:1: ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) )
+            // InternalSignalDSL.g:5310:1: ( ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) ) )
+            // InternalSignalDSL.g:5311:1: ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) )
             {
-            // InternalSignalDSL.g:5283:1: ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) )
-            // InternalSignalDSL.g:5284:2: ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 )
+            // InternalSignalDSL.g:5311:1: ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) )
+            // InternalSignalDSL.g:5312:2: ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getElementAssignment_0_0_0()); 
             }
-            // InternalSignalDSL.g:5285:2: ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 )
-            // InternalSignalDSL.g:5285:3: rule__XAnnotationElementValuePair__ElementAssignment_0_0_0
+            // InternalSignalDSL.g:5313:2: ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 )
+            // InternalSignalDSL.g:5313:3: rule__XAnnotationElementValuePair__ElementAssignment_0_0_0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__ElementAssignment_0_0_0();
@@ -18853,14 +18897,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0_0__1"
-    // InternalSignalDSL.g:5293:1: rule__XAnnotationElementValuePair__Group_0_0__1 : rule__XAnnotationElementValuePair__Group_0_0__1__Impl ;
+    // InternalSignalDSL.g:5321:1: rule__XAnnotationElementValuePair__Group_0_0__1 : rule__XAnnotationElementValuePair__Group_0_0__1__Impl ;
     public final void rule__XAnnotationElementValuePair__Group_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5297:1: ( rule__XAnnotationElementValuePair__Group_0_0__1__Impl )
-            // InternalSignalDSL.g:5298:2: rule__XAnnotationElementValuePair__Group_0_0__1__Impl
+            // InternalSignalDSL.g:5325:1: ( rule__XAnnotationElementValuePair__Group_0_0__1__Impl )
+            // InternalSignalDSL.g:5326:2: rule__XAnnotationElementValuePair__Group_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__Group_0_0__1__Impl();
@@ -18886,17 +18930,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0_0__1__Impl"
-    // InternalSignalDSL.g:5304:1: rule__XAnnotationElementValuePair__Group_0_0__1__Impl : ( '=' ) ;
+    // InternalSignalDSL.g:5332:1: rule__XAnnotationElementValuePair__Group_0_0__1__Impl : ( '=' ) ;
     public final void rule__XAnnotationElementValuePair__Group_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5308:1: ( ( '=' ) )
-            // InternalSignalDSL.g:5309:1: ( '=' )
+            // InternalSignalDSL.g:5336:1: ( ( '=' ) )
+            // InternalSignalDSL.g:5337:1: ( '=' )
             {
-            // InternalSignalDSL.g:5309:1: ( '=' )
-            // InternalSignalDSL.g:5310:2: '='
+            // InternalSignalDSL.g:5337:1: ( '=' )
+            // InternalSignalDSL.g:5338:2: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getEqualsSignKeyword_0_0_1()); 
@@ -18927,14 +18971,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__0"
-    // InternalSignalDSL.g:5320:1: rule__XAnnotationElementValueOrCommaList__Group_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1 ;
+    // InternalSignalDSL.g:5348:1: rule__XAnnotationElementValueOrCommaList__Group_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5324:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1 )
-            // InternalSignalDSL.g:5325:2: rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1
+            // InternalSignalDSL.g:5352:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1 )
+            // InternalSignalDSL.g:5353:2: rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1
             {
             pushFollow(FOLLOW_37);
             rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl();
@@ -18965,23 +19009,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl"
-    // InternalSignalDSL.g:5332:1: rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) ) ;
+    // InternalSignalDSL.g:5360:1: rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5336:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) ) )
-            // InternalSignalDSL.g:5337:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) )
+            // InternalSignalDSL.g:5364:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) ) )
+            // InternalSignalDSL.g:5365:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) )
             {
-            // InternalSignalDSL.g:5337:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) )
-            // InternalSignalDSL.g:5338:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 )
+            // InternalSignalDSL.g:5365:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) )
+            // InternalSignalDSL.g:5366:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0()); 
             }
-            // InternalSignalDSL.g:5339:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 )
-            // InternalSignalDSL.g:5339:3: rule__XAnnotationElementValueOrCommaList__Group_0_0__0
+            // InternalSignalDSL.g:5367:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 )
+            // InternalSignalDSL.g:5367:3: rule__XAnnotationElementValueOrCommaList__Group_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_0__0();
@@ -19016,14 +19060,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__1"
-    // InternalSignalDSL.g:5347:1: rule__XAnnotationElementValueOrCommaList__Group_0__1 : rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2 ;
+    // InternalSignalDSL.g:5375:1: rule__XAnnotationElementValueOrCommaList__Group_0__1 : rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5351:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2 )
-            // InternalSignalDSL.g:5352:2: rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2
+            // InternalSignalDSL.g:5379:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2 )
+            // InternalSignalDSL.g:5380:2: rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2
             {
             pushFollow(FOLLOW_37);
             rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl();
@@ -19054,31 +19098,31 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl"
-    // InternalSignalDSL.g:5359:1: rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? ) ;
+    // InternalSignalDSL.g:5387:1: rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5363:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? ) )
-            // InternalSignalDSL.g:5364:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? )
+            // InternalSignalDSL.g:5391:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? ) )
+            // InternalSignalDSL.g:5392:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? )
             {
-            // InternalSignalDSL.g:5364:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? )
-            // InternalSignalDSL.g:5365:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )?
+            // InternalSignalDSL.g:5392:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? )
+            // InternalSignalDSL.g:5393:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1()); 
             }
-            // InternalSignalDSL.g:5366:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )?
-            int alt62=2;
-            int LA62_0 = input.LA(1);
+            // InternalSignalDSL.g:5394:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )?
+            int alt63=2;
+            int LA63_0 = input.LA(1);
 
-            if ( ((LA62_0>=RULE_ID && LA62_0<=RULE_STRING)||LA62_0==27||(LA62_0>=34 && LA62_0<=35)||LA62_0==40||(LA62_0>=45 && LA62_0<=50)||LA62_0==64||LA62_0==68||(LA62_0>=73 && LA62_0<=74)||(LA62_0>=78 && LA62_0<=79)||LA62_0==82||LA62_0==84||(LA62_0>=88 && LA62_0<=95)||LA62_0==97||LA62_0==106) ) {
-                alt62=1;
+            if ( ((LA63_0>=RULE_ID && LA63_0<=RULE_STRING)||LA63_0==27||(LA63_0>=34 && LA63_0<=35)||LA63_0==40||(LA63_0>=45 && LA63_0<=50)||LA63_0==60||LA63_0==64||(LA63_0>=70 && LA63_0<=71)||(LA63_0>=75 && LA63_0<=76)||LA63_0==79||LA63_0==81||(LA63_0>=85 && LA63_0<=92)||LA63_0==94||LA63_0==103) ) {
+                alt63=1;
             }
-            switch (alt62) {
+            switch (alt63) {
                 case 1 :
-                    // InternalSignalDSL.g:5366:3: rule__XAnnotationElementValueOrCommaList__Group_0_1__0
+                    // InternalSignalDSL.g:5394:3: rule__XAnnotationElementValueOrCommaList__Group_0_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotationElementValueOrCommaList__Group_0_1__0();
@@ -19116,14 +19160,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__2"
-    // InternalSignalDSL.g:5374:1: rule__XAnnotationElementValueOrCommaList__Group_0__2 : rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl ;
+    // InternalSignalDSL.g:5402:1: rule__XAnnotationElementValueOrCommaList__Group_0__2 : rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5378:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl )
-            // InternalSignalDSL.g:5379:2: rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl
+            // InternalSignalDSL.g:5406:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl )
+            // InternalSignalDSL.g:5407:2: rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl();
@@ -19149,22 +19193,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl"
-    // InternalSignalDSL.g:5385:1: rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl : ( ']' ) ;
+    // InternalSignalDSL.g:5413:1: rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl : ( ']' ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5389:1: ( ( ']' ) )
-            // InternalSignalDSL.g:5390:1: ( ']' )
+            // InternalSignalDSL.g:5417:1: ( ( ']' ) )
+            // InternalSignalDSL.g:5418:1: ( ']' )
             {
-            // InternalSignalDSL.g:5390:1: ( ']' )
-            // InternalSignalDSL.g:5391:2: ']'
+            // InternalSignalDSL.g:5418:1: ( ']' )
+            // InternalSignalDSL.g:5419:2: ']'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getRightSquareBracketKeyword_0_2()); 
             }
-            match(input,77,FOLLOW_2); if (state.failed) return ;
+            match(input,74,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getRightSquareBracketKeyword_0_2()); 
             }
@@ -19190,14 +19234,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0__0"
-    // InternalSignalDSL.g:5401:1: rule__XAnnotationElementValueOrCommaList__Group_0_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl ;
+    // InternalSignalDSL.g:5429:1: rule__XAnnotationElementValueOrCommaList__Group_0_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5405:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl )
-            // InternalSignalDSL.g:5406:2: rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl
+            // InternalSignalDSL.g:5433:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl )
+            // InternalSignalDSL.g:5434:2: rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl();
@@ -19223,23 +19267,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl"
-    // InternalSignalDSL.g:5412:1: rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) ) ;
+    // InternalSignalDSL.g:5440:1: rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5416:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) ) )
-            // InternalSignalDSL.g:5417:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) )
+            // InternalSignalDSL.g:5444:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) ) )
+            // InternalSignalDSL.g:5445:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) )
             {
-            // InternalSignalDSL.g:5417:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) )
-            // InternalSignalDSL.g:5418:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 )
+            // InternalSignalDSL.g:5445:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) )
+            // InternalSignalDSL.g:5446:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0_0()); 
             }
-            // InternalSignalDSL.g:5419:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 )
-            // InternalSignalDSL.g:5419:3: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0
+            // InternalSignalDSL.g:5447:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 )
+            // InternalSignalDSL.g:5447:3: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0();
@@ -19274,14 +19318,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0"
-    // InternalSignalDSL.g:5428:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 ;
+    // InternalSignalDSL.g:5456:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5432:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 )
-            // InternalSignalDSL.g:5433:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1
+            // InternalSignalDSL.g:5460:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 )
+            // InternalSignalDSL.g:5461:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1
             {
             pushFollow(FOLLOW_38);
             rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl();
@@ -19312,23 +19356,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl"
-    // InternalSignalDSL.g:5440:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:5468:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl : ( () ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5444:1: ( ( () ) )
-            // InternalSignalDSL.g:5445:1: ( () )
+            // InternalSignalDSL.g:5472:1: ( ( () ) )
+            // InternalSignalDSL.g:5473:1: ( () )
             {
-            // InternalSignalDSL.g:5445:1: ( () )
-            // InternalSignalDSL.g:5446:2: ()
+            // InternalSignalDSL.g:5473:1: ( () )
+            // InternalSignalDSL.g:5474:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralAction_0_0_0_0()); 
             }
-            // InternalSignalDSL.g:5447:2: ()
-            // InternalSignalDSL.g:5447:3: 
+            // InternalSignalDSL.g:5475:2: ()
+            // InternalSignalDSL.g:5475:3: 
             {
             }
 
@@ -19353,14 +19397,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1"
-    // InternalSignalDSL.g:5455:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 ;
+    // InternalSignalDSL.g:5483:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5459:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 )
-            // InternalSignalDSL.g:5460:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2
+            // InternalSignalDSL.g:5487:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 )
+            // InternalSignalDSL.g:5488:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2
             {
             pushFollow(FOLLOW_39);
             rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl();
@@ -19391,22 +19435,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl"
-    // InternalSignalDSL.g:5467:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl : ( '#' ) ;
+    // InternalSignalDSL.g:5495:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl : ( '#' ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5471:1: ( ( '#' ) )
-            // InternalSignalDSL.g:5472:1: ( '#' )
+            // InternalSignalDSL.g:5499:1: ( ( '#' ) )
+            // InternalSignalDSL.g:5500:1: ( '#' )
             {
-            // InternalSignalDSL.g:5472:1: ( '#' )
-            // InternalSignalDSL.g:5473:2: '#'
+            // InternalSignalDSL.g:5500:1: ( '#' )
+            // InternalSignalDSL.g:5501:2: '#'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getNumberSignKeyword_0_0_0_1()); 
             }
-            match(input,78,FOLLOW_2); if (state.failed) return ;
+            match(input,75,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getNumberSignKeyword_0_0_0_1()); 
             }
@@ -19432,14 +19476,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2"
-    // InternalSignalDSL.g:5482:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl ;
+    // InternalSignalDSL.g:5510:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5486:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl )
-            // InternalSignalDSL.g:5487:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl
+            // InternalSignalDSL.g:5514:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl )
+            // InternalSignalDSL.g:5515:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl();
@@ -19465,22 +19509,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl"
-    // InternalSignalDSL.g:5493:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl : ( '[' ) ;
+    // InternalSignalDSL.g:5521:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl : ( '[' ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5497:1: ( ( '[' ) )
-            // InternalSignalDSL.g:5498:1: ( '[' )
+            // InternalSignalDSL.g:5525:1: ( ( '[' ) )
+            // InternalSignalDSL.g:5526:1: ( '[' )
             {
-            // InternalSignalDSL.g:5498:1: ( '[' )
-            // InternalSignalDSL.g:5499:2: '['
+            // InternalSignalDSL.g:5526:1: ( '[' )
+            // InternalSignalDSL.g:5527:2: '['
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getLeftSquareBracketKeyword_0_0_0_2()); 
             }
-            match(input,79,FOLLOW_2); if (state.failed) return ;
+            match(input,76,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getLeftSquareBracketKeyword_0_0_0_2()); 
             }
@@ -19506,14 +19550,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1__0"
-    // InternalSignalDSL.g:5509:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__0 : rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1 ;
+    // InternalSignalDSL.g:5537:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__0 : rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5513:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1 )
-            // InternalSignalDSL.g:5514:2: rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1
+            // InternalSignalDSL.g:5541:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1 )
+            // InternalSignalDSL.g:5542:2: rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1
             {
             pushFollow(FOLLOW_33);
             rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl();
@@ -19544,23 +19588,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl"
-    // InternalSignalDSL.g:5521:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) ) ;
+    // InternalSignalDSL.g:5549:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5525:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) ) )
-            // InternalSignalDSL.g:5526:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) )
+            // InternalSignalDSL.g:5553:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) ) )
+            // InternalSignalDSL.g:5554:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) )
             {
-            // InternalSignalDSL.g:5526:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) )
-            // InternalSignalDSL.g:5527:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 )
+            // InternalSignalDSL.g:5554:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) )
+            // InternalSignalDSL.g:5555:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_0()); 
             }
-            // InternalSignalDSL.g:5528:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 )
-            // InternalSignalDSL.g:5528:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0
+            // InternalSignalDSL.g:5556:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 )
+            // InternalSignalDSL.g:5556:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0();
@@ -19595,14 +19639,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1__1"
-    // InternalSignalDSL.g:5536:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__1 : rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl ;
+    // InternalSignalDSL.g:5564:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__1 : rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5540:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl )
-            // InternalSignalDSL.g:5541:2: rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl
+            // InternalSignalDSL.g:5568:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl )
+            // InternalSignalDSL.g:5569:2: rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl();
@@ -19628,35 +19672,35 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl"
-    // InternalSignalDSL.g:5547:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* ) ;
+    // InternalSignalDSL.g:5575:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5551:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* ) )
-            // InternalSignalDSL.g:5552:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* )
+            // InternalSignalDSL.g:5579:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* ) )
+            // InternalSignalDSL.g:5580:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* )
             {
-            // InternalSignalDSL.g:5552:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* )
-            // InternalSignalDSL.g:5553:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )*
+            // InternalSignalDSL.g:5580:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* )
+            // InternalSignalDSL.g:5581:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1_1()); 
             }
-            // InternalSignalDSL.g:5554:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )*
-            loop63:
+            // InternalSignalDSL.g:5582:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )*
+            loop64:
             do {
-                int alt63=2;
-                int LA63_0 = input.LA(1);
+                int alt64=2;
+                int LA64_0 = input.LA(1);
 
-                if ( (LA63_0==76) ) {
-                    alt63=1;
+                if ( (LA64_0==73) ) {
+                    alt64=1;
                 }
 
 
-                switch (alt63) {
+                switch (alt64) {
             	case 1 :
-            	    // InternalSignalDSL.g:5554:3: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0
+            	    // InternalSignalDSL.g:5582:3: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0();
@@ -19668,7 +19712,7 @@
             	    break;
 
             	default :
-            	    break loop63;
+            	    break loop64;
                 }
             } while (true);
 
@@ -19697,14 +19741,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0"
-    // InternalSignalDSL.g:5563:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 ;
+    // InternalSignalDSL.g:5591:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5567:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 )
-            // InternalSignalDSL.g:5568:2: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1
+            // InternalSignalDSL.g:5595:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 )
+            // InternalSignalDSL.g:5596:2: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl();
@@ -19735,22 +19779,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl"
-    // InternalSignalDSL.g:5575:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:5603:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl : ( ',' ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5579:1: ( ( ',' ) )
-            // InternalSignalDSL.g:5580:1: ( ',' )
+            // InternalSignalDSL.g:5607:1: ( ( ',' ) )
+            // InternalSignalDSL.g:5608:1: ( ',' )
             {
-            // InternalSignalDSL.g:5580:1: ( ',' )
-            // InternalSignalDSL.g:5581:2: ','
+            // InternalSignalDSL.g:5608:1: ( ',' )
+            // InternalSignalDSL.g:5609:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_0_1_1_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_0_1_1_0()); 
             }
@@ -19776,14 +19820,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1"
-    // InternalSignalDSL.g:5590:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl ;
+    // InternalSignalDSL.g:5618:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5594:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl )
-            // InternalSignalDSL.g:5595:2: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl
+            // InternalSignalDSL.g:5622:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl )
+            // InternalSignalDSL.g:5623:2: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl();
@@ -19809,23 +19853,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl"
-    // InternalSignalDSL.g:5601:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) ) ;
+    // InternalSignalDSL.g:5629:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5605:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) ) )
-            // InternalSignalDSL.g:5606:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) )
+            // InternalSignalDSL.g:5633:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) ) )
+            // InternalSignalDSL.g:5634:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) )
             {
-            // InternalSignalDSL.g:5606:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) )
-            // InternalSignalDSL.g:5607:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 )
+            // InternalSignalDSL.g:5634:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) )
+            // InternalSignalDSL.g:5635:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_1_1()); 
             }
-            // InternalSignalDSL.g:5608:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 )
-            // InternalSignalDSL.g:5608:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1
+            // InternalSignalDSL.g:5636:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 )
+            // InternalSignalDSL.g:5636:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1();
@@ -19860,14 +19904,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1__0"
-    // InternalSignalDSL.g:5617:1: rule__XAnnotationElementValueOrCommaList__Group_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1 ;
+    // InternalSignalDSL.g:5645:1: rule__XAnnotationElementValueOrCommaList__Group_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5621:1: ( rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1 )
-            // InternalSignalDSL.g:5622:2: rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1
+            // InternalSignalDSL.g:5649:1: ( rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1 )
+            // InternalSignalDSL.g:5650:2: rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1
             {
             pushFollow(FOLLOW_33);
             rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl();
@@ -19898,17 +19942,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl"
-    // InternalSignalDSL.g:5629:1: rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl : ( ruleXAnnotationOrExpression ) ;
+    // InternalSignalDSL.g:5657:1: rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl : ( ruleXAnnotationOrExpression ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5633:1: ( ( ruleXAnnotationOrExpression ) )
-            // InternalSignalDSL.g:5634:1: ( ruleXAnnotationOrExpression )
+            // InternalSignalDSL.g:5661:1: ( ( ruleXAnnotationOrExpression ) )
+            // InternalSignalDSL.g:5662:1: ( ruleXAnnotationOrExpression )
             {
-            // InternalSignalDSL.g:5634:1: ( ruleXAnnotationOrExpression )
-            // InternalSignalDSL.g:5635:2: ruleXAnnotationOrExpression
+            // InternalSignalDSL.g:5662:1: ( ruleXAnnotationOrExpression )
+            // InternalSignalDSL.g:5663:2: ruleXAnnotationOrExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXAnnotationOrExpressionParserRuleCall_1_0()); 
@@ -19943,14 +19987,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1__1"
-    // InternalSignalDSL.g:5644:1: rule__XAnnotationElementValueOrCommaList__Group_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl ;
+    // InternalSignalDSL.g:5672:1: rule__XAnnotationElementValueOrCommaList__Group_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5648:1: ( rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl )
-            // InternalSignalDSL.g:5649:2: rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl
+            // InternalSignalDSL.g:5676:1: ( rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl )
+            // InternalSignalDSL.g:5677:2: rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl();
@@ -19976,31 +20020,31 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl"
-    // InternalSignalDSL.g:5655:1: rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? ) ;
+    // InternalSignalDSL.g:5683:1: rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5659:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? ) )
-            // InternalSignalDSL.g:5660:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? )
+            // InternalSignalDSL.g:5687:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? ) )
+            // InternalSignalDSL.g:5688:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? )
             {
-            // InternalSignalDSL.g:5660:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? )
-            // InternalSignalDSL.g:5661:2: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )?
+            // InternalSignalDSL.g:5688:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? )
+            // InternalSignalDSL.g:5689:2: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1()); 
             }
-            // InternalSignalDSL.g:5662:2: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )?
-            int alt64=2;
-            int LA64_0 = input.LA(1);
+            // InternalSignalDSL.g:5690:2: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )?
+            int alt65=2;
+            int LA65_0 = input.LA(1);
 
-            if ( (LA64_0==76) ) {
-                alt64=1;
+            if ( (LA65_0==73) ) {
+                alt65=1;
             }
-            switch (alt64) {
+            switch (alt65) {
                 case 1 :
-                    // InternalSignalDSL.g:5662:3: rule__XAnnotationElementValueOrCommaList__Group_1_1__0
+                    // InternalSignalDSL.g:5690:3: rule__XAnnotationElementValueOrCommaList__Group_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotationElementValueOrCommaList__Group_1_1__0();
@@ -20038,14 +20082,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1__0"
-    // InternalSignalDSL.g:5671:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1 ;
+    // InternalSignalDSL.g:5699:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5675:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1 )
-            // InternalSignalDSL.g:5676:2: rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1
+            // InternalSignalDSL.g:5703:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1 )
+            // InternalSignalDSL.g:5704:2: rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1
             {
             pushFollow(FOLLOW_33);
             rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl();
@@ -20076,23 +20120,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl"
-    // InternalSignalDSL.g:5683:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:5711:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl : ( () ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5687:1: ( ( () ) )
-            // InternalSignalDSL.g:5688:1: ( () )
+            // InternalSignalDSL.g:5715:1: ( ( () ) )
+            // InternalSignalDSL.g:5716:1: ( () )
             {
-            // InternalSignalDSL.g:5688:1: ( () )
-            // InternalSignalDSL.g:5689:2: ()
+            // InternalSignalDSL.g:5716:1: ( () )
+            // InternalSignalDSL.g:5717:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0()); 
             }
-            // InternalSignalDSL.g:5690:2: ()
-            // InternalSignalDSL.g:5690:3: 
+            // InternalSignalDSL.g:5718:2: ()
+            // InternalSignalDSL.g:5718:3: 
             {
             }
 
@@ -20117,14 +20161,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1__1"
-    // InternalSignalDSL.g:5698:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl ;
+    // InternalSignalDSL.g:5726:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5702:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl )
-            // InternalSignalDSL.g:5703:2: rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl
+            // InternalSignalDSL.g:5730:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl )
+            // InternalSignalDSL.g:5731:2: rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl();
@@ -20150,26 +20194,26 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl"
-    // InternalSignalDSL.g:5709:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl : ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) ) ;
+    // InternalSignalDSL.g:5737:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl : ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5713:1: ( ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) ) )
-            // InternalSignalDSL.g:5714:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) )
+            // InternalSignalDSL.g:5741:1: ( ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) ) )
+            // InternalSignalDSL.g:5742:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) )
             {
-            // InternalSignalDSL.g:5714:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) )
-            // InternalSignalDSL.g:5715:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* )
+            // InternalSignalDSL.g:5742:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) )
+            // InternalSignalDSL.g:5743:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* )
             {
-            // InternalSignalDSL.g:5715:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) )
-            // InternalSignalDSL.g:5716:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )
+            // InternalSignalDSL.g:5743:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) )
+            // InternalSignalDSL.g:5744:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1_1()); 
             }
-            // InternalSignalDSL.g:5717:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )
-            // InternalSignalDSL.g:5717:4: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0
+            // InternalSignalDSL.g:5745:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )
+            // InternalSignalDSL.g:5745:4: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0
             {
             pushFollow(FOLLOW_34);
             rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0();
@@ -20185,26 +20229,26 @@
 
             }
 
-            // InternalSignalDSL.g:5720:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* )
-            // InternalSignalDSL.g:5721:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )*
+            // InternalSignalDSL.g:5748:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* )
+            // InternalSignalDSL.g:5749:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1_1()); 
             }
-            // InternalSignalDSL.g:5722:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )*
-            loop65:
+            // InternalSignalDSL.g:5750:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )*
+            loop66:
             do {
-                int alt65=2;
-                int LA65_0 = input.LA(1);
+                int alt66=2;
+                int LA66_0 = input.LA(1);
 
-                if ( (LA65_0==76) ) {
-                    alt65=1;
+                if ( (LA66_0==73) ) {
+                    alt66=1;
                 }
 
 
-                switch (alt65) {
+                switch (alt66) {
             	case 1 :
-            	    // InternalSignalDSL.g:5722:4: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0
+            	    // InternalSignalDSL.g:5750:4: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0();
@@ -20216,7 +20260,7 @@
             	    break;
 
             	default :
-            	    break loop65;
+            	    break loop66;
                 }
             } while (true);
 
@@ -20248,14 +20292,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0"
-    // InternalSignalDSL.g:5732:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 ;
+    // InternalSignalDSL.g:5760:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5736:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 )
-            // InternalSignalDSL.g:5737:2: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1
+            // InternalSignalDSL.g:5764:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 )
+            // InternalSignalDSL.g:5765:2: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl();
@@ -20286,22 +20330,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl"
-    // InternalSignalDSL.g:5744:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:5772:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl : ( ',' ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5748:1: ( ( ',' ) )
-            // InternalSignalDSL.g:5749:1: ( ',' )
+            // InternalSignalDSL.g:5776:1: ( ( ',' ) )
+            // InternalSignalDSL.g:5777:1: ( ',' )
             {
-            // InternalSignalDSL.g:5749:1: ( ',' )
-            // InternalSignalDSL.g:5750:2: ','
+            // InternalSignalDSL.g:5777:1: ( ',' )
+            // InternalSignalDSL.g:5778:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_1_1_1_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_1_1_1_0()); 
             }
@@ -20327,14 +20371,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1"
-    // InternalSignalDSL.g:5759:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl ;
+    // InternalSignalDSL.g:5787:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5763:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl )
-            // InternalSignalDSL.g:5764:2: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl
+            // InternalSignalDSL.g:5791:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl )
+            // InternalSignalDSL.g:5792:2: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl();
@@ -20360,23 +20404,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl"
-    // InternalSignalDSL.g:5770:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) ) ;
+    // InternalSignalDSL.g:5798:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5774:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) ) )
-            // InternalSignalDSL.g:5775:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) )
+            // InternalSignalDSL.g:5802:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) ) )
+            // InternalSignalDSL.g:5803:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) )
             {
-            // InternalSignalDSL.g:5775:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) )
-            // InternalSignalDSL.g:5776:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 )
+            // InternalSignalDSL.g:5803:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) )
+            // InternalSignalDSL.g:5804:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_1_1_1_1()); 
             }
-            // InternalSignalDSL.g:5777:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 )
-            // InternalSignalDSL.g:5777:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1
+            // InternalSignalDSL.g:5805:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 )
+            // InternalSignalDSL.g:5805:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1();
@@ -20411,14 +20455,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__0"
-    // InternalSignalDSL.g:5786:1: rule__XAnnotationElementValue__Group_0__0 : rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1 ;
+    // InternalSignalDSL.g:5814:1: rule__XAnnotationElementValue__Group_0__0 : rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1 ;
     public final void rule__XAnnotationElementValue__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5790:1: ( rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1 )
-            // InternalSignalDSL.g:5791:2: rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1
+            // InternalSignalDSL.g:5818:1: ( rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1 )
+            // InternalSignalDSL.g:5819:2: rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1
             {
             pushFollow(FOLLOW_37);
             rule__XAnnotationElementValue__Group_0__0__Impl();
@@ -20449,23 +20493,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__0__Impl"
-    // InternalSignalDSL.g:5798:1: rule__XAnnotationElementValue__Group_0__0__Impl : ( ( rule__XAnnotationElementValue__Group_0_0__0 ) ) ;
+    // InternalSignalDSL.g:5826:1: rule__XAnnotationElementValue__Group_0__0__Impl : ( ( rule__XAnnotationElementValue__Group_0_0__0 ) ) ;
     public final void rule__XAnnotationElementValue__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5802:1: ( ( ( rule__XAnnotationElementValue__Group_0_0__0 ) ) )
-            // InternalSignalDSL.g:5803:1: ( ( rule__XAnnotationElementValue__Group_0_0__0 ) )
+            // InternalSignalDSL.g:5830:1: ( ( ( rule__XAnnotationElementValue__Group_0_0__0 ) ) )
+            // InternalSignalDSL.g:5831:1: ( ( rule__XAnnotationElementValue__Group_0_0__0 ) )
             {
-            // InternalSignalDSL.g:5803:1: ( ( rule__XAnnotationElementValue__Group_0_0__0 ) )
-            // InternalSignalDSL.g:5804:2: ( rule__XAnnotationElementValue__Group_0_0__0 )
+            // InternalSignalDSL.g:5831:1: ( ( rule__XAnnotationElementValue__Group_0_0__0 ) )
+            // InternalSignalDSL.g:5832:2: ( rule__XAnnotationElementValue__Group_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0()); 
             }
-            // InternalSignalDSL.g:5805:2: ( rule__XAnnotationElementValue__Group_0_0__0 )
-            // InternalSignalDSL.g:5805:3: rule__XAnnotationElementValue__Group_0_0__0
+            // InternalSignalDSL.g:5833:2: ( rule__XAnnotationElementValue__Group_0_0__0 )
+            // InternalSignalDSL.g:5833:3: rule__XAnnotationElementValue__Group_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_0__0();
@@ -20500,14 +20544,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__1"
-    // InternalSignalDSL.g:5813:1: rule__XAnnotationElementValue__Group_0__1 : rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2 ;
+    // InternalSignalDSL.g:5841:1: rule__XAnnotationElementValue__Group_0__1 : rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2 ;
     public final void rule__XAnnotationElementValue__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5817:1: ( rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2 )
-            // InternalSignalDSL.g:5818:2: rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2
+            // InternalSignalDSL.g:5845:1: ( rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2 )
+            // InternalSignalDSL.g:5846:2: rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2
             {
             pushFollow(FOLLOW_37);
             rule__XAnnotationElementValue__Group_0__1__Impl();
@@ -20538,31 +20582,31 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__1__Impl"
-    // InternalSignalDSL.g:5825:1: rule__XAnnotationElementValue__Group_0__1__Impl : ( ( rule__XAnnotationElementValue__Group_0_1__0 )? ) ;
+    // InternalSignalDSL.g:5853:1: rule__XAnnotationElementValue__Group_0__1__Impl : ( ( rule__XAnnotationElementValue__Group_0_1__0 )? ) ;
     public final void rule__XAnnotationElementValue__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5829:1: ( ( ( rule__XAnnotationElementValue__Group_0_1__0 )? ) )
-            // InternalSignalDSL.g:5830:1: ( ( rule__XAnnotationElementValue__Group_0_1__0 )? )
+            // InternalSignalDSL.g:5857:1: ( ( ( rule__XAnnotationElementValue__Group_0_1__0 )? ) )
+            // InternalSignalDSL.g:5858:1: ( ( rule__XAnnotationElementValue__Group_0_1__0 )? )
             {
-            // InternalSignalDSL.g:5830:1: ( ( rule__XAnnotationElementValue__Group_0_1__0 )? )
-            // InternalSignalDSL.g:5831:2: ( rule__XAnnotationElementValue__Group_0_1__0 )?
+            // InternalSignalDSL.g:5858:1: ( ( rule__XAnnotationElementValue__Group_0_1__0 )? )
+            // InternalSignalDSL.g:5859:2: ( rule__XAnnotationElementValue__Group_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1()); 
             }
-            // InternalSignalDSL.g:5832:2: ( rule__XAnnotationElementValue__Group_0_1__0 )?
-            int alt66=2;
-            int LA66_0 = input.LA(1);
+            // InternalSignalDSL.g:5860:2: ( rule__XAnnotationElementValue__Group_0_1__0 )?
+            int alt67=2;
+            int LA67_0 = input.LA(1);
 
-            if ( ((LA66_0>=RULE_ID && LA66_0<=RULE_STRING)||LA66_0==27||(LA66_0>=34 && LA66_0<=35)||LA66_0==40||(LA66_0>=45 && LA66_0<=50)||LA66_0==64||LA66_0==68||(LA66_0>=73 && LA66_0<=74)||(LA66_0>=78 && LA66_0<=79)||LA66_0==82||LA66_0==84||(LA66_0>=88 && LA66_0<=95)||LA66_0==97||LA66_0==106) ) {
-                alt66=1;
+            if ( ((LA67_0>=RULE_ID && LA67_0<=RULE_STRING)||LA67_0==27||(LA67_0>=34 && LA67_0<=35)||LA67_0==40||(LA67_0>=45 && LA67_0<=50)||LA67_0==60||LA67_0==64||(LA67_0>=70 && LA67_0<=71)||(LA67_0>=75 && LA67_0<=76)||LA67_0==79||LA67_0==81||(LA67_0>=85 && LA67_0<=92)||LA67_0==94||LA67_0==103) ) {
+                alt67=1;
             }
-            switch (alt66) {
+            switch (alt67) {
                 case 1 :
-                    // InternalSignalDSL.g:5832:3: rule__XAnnotationElementValue__Group_0_1__0
+                    // InternalSignalDSL.g:5860:3: rule__XAnnotationElementValue__Group_0_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotationElementValue__Group_0_1__0();
@@ -20600,14 +20644,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__2"
-    // InternalSignalDSL.g:5840:1: rule__XAnnotationElementValue__Group_0__2 : rule__XAnnotationElementValue__Group_0__2__Impl ;
+    // InternalSignalDSL.g:5868:1: rule__XAnnotationElementValue__Group_0__2 : rule__XAnnotationElementValue__Group_0__2__Impl ;
     public final void rule__XAnnotationElementValue__Group_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5844:1: ( rule__XAnnotationElementValue__Group_0__2__Impl )
-            // InternalSignalDSL.g:5845:2: rule__XAnnotationElementValue__Group_0__2__Impl
+            // InternalSignalDSL.g:5872:1: ( rule__XAnnotationElementValue__Group_0__2__Impl )
+            // InternalSignalDSL.g:5873:2: rule__XAnnotationElementValue__Group_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0__2__Impl();
@@ -20633,22 +20677,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__2__Impl"
-    // InternalSignalDSL.g:5851:1: rule__XAnnotationElementValue__Group_0__2__Impl : ( ']' ) ;
+    // InternalSignalDSL.g:5879:1: rule__XAnnotationElementValue__Group_0__2__Impl : ( ']' ) ;
     public final void rule__XAnnotationElementValue__Group_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5855:1: ( ( ']' ) )
-            // InternalSignalDSL.g:5856:1: ( ']' )
+            // InternalSignalDSL.g:5883:1: ( ( ']' ) )
+            // InternalSignalDSL.g:5884:1: ( ']' )
             {
-            // InternalSignalDSL.g:5856:1: ( ']' )
-            // InternalSignalDSL.g:5857:2: ']'
+            // InternalSignalDSL.g:5884:1: ( ']' )
+            // InternalSignalDSL.g:5885:2: ']'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getRightSquareBracketKeyword_0_2()); 
             }
-            match(input,77,FOLLOW_2); if (state.failed) return ;
+            match(input,74,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueAccess().getRightSquareBracketKeyword_0_2()); 
             }
@@ -20674,14 +20718,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0__0"
-    // InternalSignalDSL.g:5867:1: rule__XAnnotationElementValue__Group_0_0__0 : rule__XAnnotationElementValue__Group_0_0__0__Impl ;
+    // InternalSignalDSL.g:5895:1: rule__XAnnotationElementValue__Group_0_0__0 : rule__XAnnotationElementValue__Group_0_0__0__Impl ;
     public final void rule__XAnnotationElementValue__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5871:1: ( rule__XAnnotationElementValue__Group_0_0__0__Impl )
-            // InternalSignalDSL.g:5872:2: rule__XAnnotationElementValue__Group_0_0__0__Impl
+            // InternalSignalDSL.g:5899:1: ( rule__XAnnotationElementValue__Group_0_0__0__Impl )
+            // InternalSignalDSL.g:5900:2: rule__XAnnotationElementValue__Group_0_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_0__0__Impl();
@@ -20707,23 +20751,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0__0__Impl"
-    // InternalSignalDSL.g:5878:1: rule__XAnnotationElementValue__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) ) ;
+    // InternalSignalDSL.g:5906:1: rule__XAnnotationElementValue__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) ) ;
     public final void rule__XAnnotationElementValue__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5882:1: ( ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) ) )
-            // InternalSignalDSL.g:5883:1: ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) )
+            // InternalSignalDSL.g:5910:1: ( ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) ) )
+            // InternalSignalDSL.g:5911:1: ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) )
             {
-            // InternalSignalDSL.g:5883:1: ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) )
-            // InternalSignalDSL.g:5884:2: ( rule__XAnnotationElementValue__Group_0_0_0__0 )
+            // InternalSignalDSL.g:5911:1: ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) )
+            // InternalSignalDSL.g:5912:2: ( rule__XAnnotationElementValue__Group_0_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0_0()); 
             }
-            // InternalSignalDSL.g:5885:2: ( rule__XAnnotationElementValue__Group_0_0_0__0 )
-            // InternalSignalDSL.g:5885:3: rule__XAnnotationElementValue__Group_0_0_0__0
+            // InternalSignalDSL.g:5913:2: ( rule__XAnnotationElementValue__Group_0_0_0__0 )
+            // InternalSignalDSL.g:5913:3: rule__XAnnotationElementValue__Group_0_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_0_0__0();
@@ -20758,14 +20802,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__0"
-    // InternalSignalDSL.g:5894:1: rule__XAnnotationElementValue__Group_0_0_0__0 : rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1 ;
+    // InternalSignalDSL.g:5922:1: rule__XAnnotationElementValue__Group_0_0_0__0 : rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1 ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5898:1: ( rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1 )
-            // InternalSignalDSL.g:5899:2: rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1
+            // InternalSignalDSL.g:5926:1: ( rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1 )
+            // InternalSignalDSL.g:5927:2: rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1
             {
             pushFollow(FOLLOW_38);
             rule__XAnnotationElementValue__Group_0_0_0__0__Impl();
@@ -20796,23 +20840,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__0__Impl"
-    // InternalSignalDSL.g:5906:1: rule__XAnnotationElementValue__Group_0_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:5934:1: rule__XAnnotationElementValue__Group_0_0_0__0__Impl : ( () ) ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5910:1: ( ( () ) )
-            // InternalSignalDSL.g:5911:1: ( () )
+            // InternalSignalDSL.g:5938:1: ( ( () ) )
+            // InternalSignalDSL.g:5939:1: ( () )
             {
-            // InternalSignalDSL.g:5911:1: ( () )
-            // InternalSignalDSL.g:5912:2: ()
+            // InternalSignalDSL.g:5939:1: ( () )
+            // InternalSignalDSL.g:5940:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getXListLiteralAction_0_0_0_0()); 
             }
-            // InternalSignalDSL.g:5913:2: ()
-            // InternalSignalDSL.g:5913:3: 
+            // InternalSignalDSL.g:5941:2: ()
+            // InternalSignalDSL.g:5941:3: 
             {
             }
 
@@ -20837,14 +20881,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__1"
-    // InternalSignalDSL.g:5921:1: rule__XAnnotationElementValue__Group_0_0_0__1 : rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2 ;
+    // InternalSignalDSL.g:5949:1: rule__XAnnotationElementValue__Group_0_0_0__1 : rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2 ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5925:1: ( rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2 )
-            // InternalSignalDSL.g:5926:2: rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2
+            // InternalSignalDSL.g:5953:1: ( rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2 )
+            // InternalSignalDSL.g:5954:2: rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2
             {
             pushFollow(FOLLOW_39);
             rule__XAnnotationElementValue__Group_0_0_0__1__Impl();
@@ -20875,22 +20919,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__1__Impl"
-    // InternalSignalDSL.g:5933:1: rule__XAnnotationElementValue__Group_0_0_0__1__Impl : ( '#' ) ;
+    // InternalSignalDSL.g:5961:1: rule__XAnnotationElementValue__Group_0_0_0__1__Impl : ( '#' ) ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5937:1: ( ( '#' ) )
-            // InternalSignalDSL.g:5938:1: ( '#' )
+            // InternalSignalDSL.g:5965:1: ( ( '#' ) )
+            // InternalSignalDSL.g:5966:1: ( '#' )
             {
-            // InternalSignalDSL.g:5938:1: ( '#' )
-            // InternalSignalDSL.g:5939:2: '#'
+            // InternalSignalDSL.g:5966:1: ( '#' )
+            // InternalSignalDSL.g:5967:2: '#'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getNumberSignKeyword_0_0_0_1()); 
             }
-            match(input,78,FOLLOW_2); if (state.failed) return ;
+            match(input,75,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueAccess().getNumberSignKeyword_0_0_0_1()); 
             }
@@ -20916,14 +20960,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__2"
-    // InternalSignalDSL.g:5948:1: rule__XAnnotationElementValue__Group_0_0_0__2 : rule__XAnnotationElementValue__Group_0_0_0__2__Impl ;
+    // InternalSignalDSL.g:5976:1: rule__XAnnotationElementValue__Group_0_0_0__2 : rule__XAnnotationElementValue__Group_0_0_0__2__Impl ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5952:1: ( rule__XAnnotationElementValue__Group_0_0_0__2__Impl )
-            // InternalSignalDSL.g:5953:2: rule__XAnnotationElementValue__Group_0_0_0__2__Impl
+            // InternalSignalDSL.g:5980:1: ( rule__XAnnotationElementValue__Group_0_0_0__2__Impl )
+            // InternalSignalDSL.g:5981:2: rule__XAnnotationElementValue__Group_0_0_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_0_0__2__Impl();
@@ -20949,22 +20993,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__2__Impl"
-    // InternalSignalDSL.g:5959:1: rule__XAnnotationElementValue__Group_0_0_0__2__Impl : ( '[' ) ;
+    // InternalSignalDSL.g:5987:1: rule__XAnnotationElementValue__Group_0_0_0__2__Impl : ( '[' ) ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5963:1: ( ( '[' ) )
-            // InternalSignalDSL.g:5964:1: ( '[' )
+            // InternalSignalDSL.g:5991:1: ( ( '[' ) )
+            // InternalSignalDSL.g:5992:1: ( '[' )
             {
-            // InternalSignalDSL.g:5964:1: ( '[' )
-            // InternalSignalDSL.g:5965:2: '['
+            // InternalSignalDSL.g:5992:1: ( '[' )
+            // InternalSignalDSL.g:5993:2: '['
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getLeftSquareBracketKeyword_0_0_0_2()); 
             }
-            match(input,79,FOLLOW_2); if (state.failed) return ;
+            match(input,76,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueAccess().getLeftSquareBracketKeyword_0_0_0_2()); 
             }
@@ -20990,14 +21034,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1__0"
-    // InternalSignalDSL.g:5975:1: rule__XAnnotationElementValue__Group_0_1__0 : rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1 ;
+    // InternalSignalDSL.g:6003:1: rule__XAnnotationElementValue__Group_0_1__0 : rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1 ;
     public final void rule__XAnnotationElementValue__Group_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5979:1: ( rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1 )
-            // InternalSignalDSL.g:5980:2: rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1
+            // InternalSignalDSL.g:6007:1: ( rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1 )
+            // InternalSignalDSL.g:6008:2: rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1
             {
             pushFollow(FOLLOW_33);
             rule__XAnnotationElementValue__Group_0_1__0__Impl();
@@ -21028,23 +21072,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1__0__Impl"
-    // InternalSignalDSL.g:5987:1: rule__XAnnotationElementValue__Group_0_1__0__Impl : ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) ) ;
+    // InternalSignalDSL.g:6015:1: rule__XAnnotationElementValue__Group_0_1__0__Impl : ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) ) ;
     public final void rule__XAnnotationElementValue__Group_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:5991:1: ( ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) ) )
-            // InternalSignalDSL.g:5992:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) )
+            // InternalSignalDSL.g:6019:1: ( ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) ) )
+            // InternalSignalDSL.g:6020:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) )
             {
-            // InternalSignalDSL.g:5992:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) )
-            // InternalSignalDSL.g:5993:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 )
+            // InternalSignalDSL.g:6020:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) )
+            // InternalSignalDSL.g:6021:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_0()); 
             }
-            // InternalSignalDSL.g:5994:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 )
-            // InternalSignalDSL.g:5994:3: rule__XAnnotationElementValue__ElementsAssignment_0_1_0
+            // InternalSignalDSL.g:6022:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 )
+            // InternalSignalDSL.g:6022:3: rule__XAnnotationElementValue__ElementsAssignment_0_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__ElementsAssignment_0_1_0();
@@ -21079,14 +21123,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1__1"
-    // InternalSignalDSL.g:6002:1: rule__XAnnotationElementValue__Group_0_1__1 : rule__XAnnotationElementValue__Group_0_1__1__Impl ;
+    // InternalSignalDSL.g:6030:1: rule__XAnnotationElementValue__Group_0_1__1 : rule__XAnnotationElementValue__Group_0_1__1__Impl ;
     public final void rule__XAnnotationElementValue__Group_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6006:1: ( rule__XAnnotationElementValue__Group_0_1__1__Impl )
-            // InternalSignalDSL.g:6007:2: rule__XAnnotationElementValue__Group_0_1__1__Impl
+            // InternalSignalDSL.g:6034:1: ( rule__XAnnotationElementValue__Group_0_1__1__Impl )
+            // InternalSignalDSL.g:6035:2: rule__XAnnotationElementValue__Group_0_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_1__1__Impl();
@@ -21112,35 +21156,35 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1__1__Impl"
-    // InternalSignalDSL.g:6013:1: rule__XAnnotationElementValue__Group_0_1__1__Impl : ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* ) ;
+    // InternalSignalDSL.g:6041:1: rule__XAnnotationElementValue__Group_0_1__1__Impl : ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* ) ;
     public final void rule__XAnnotationElementValue__Group_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6017:1: ( ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* ) )
-            // InternalSignalDSL.g:6018:1: ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* )
+            // InternalSignalDSL.g:6045:1: ( ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* ) )
+            // InternalSignalDSL.g:6046:1: ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* )
             {
-            // InternalSignalDSL.g:6018:1: ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* )
-            // InternalSignalDSL.g:6019:2: ( rule__XAnnotationElementValue__Group_0_1_1__0 )*
+            // InternalSignalDSL.g:6046:1: ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* )
+            // InternalSignalDSL.g:6047:2: ( rule__XAnnotationElementValue__Group_0_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1_1()); 
             }
-            // InternalSignalDSL.g:6020:2: ( rule__XAnnotationElementValue__Group_0_1_1__0 )*
-            loop67:
+            // InternalSignalDSL.g:6048:2: ( rule__XAnnotationElementValue__Group_0_1_1__0 )*
+            loop68:
             do {
-                int alt67=2;
-                int LA67_0 = input.LA(1);
+                int alt68=2;
+                int LA68_0 = input.LA(1);
 
-                if ( (LA67_0==76) ) {
-                    alt67=1;
+                if ( (LA68_0==73) ) {
+                    alt68=1;
                 }
 
 
-                switch (alt67) {
+                switch (alt68) {
             	case 1 :
-            	    // InternalSignalDSL.g:6020:3: rule__XAnnotationElementValue__Group_0_1_1__0
+            	    // InternalSignalDSL.g:6048:3: rule__XAnnotationElementValue__Group_0_1_1__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__XAnnotationElementValue__Group_0_1_1__0();
@@ -21152,7 +21196,7 @@
             	    break;
 
             	default :
-            	    break loop67;
+            	    break loop68;
                 }
             } while (true);
 
@@ -21181,14 +21225,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1_1__0"
-    // InternalSignalDSL.g:6029:1: rule__XAnnotationElementValue__Group_0_1_1__0 : rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1 ;
+    // InternalSignalDSL.g:6057:1: rule__XAnnotationElementValue__Group_0_1_1__0 : rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1 ;
     public final void rule__XAnnotationElementValue__Group_0_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6033:1: ( rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1 )
-            // InternalSignalDSL.g:6034:2: rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1
+            // InternalSignalDSL.g:6061:1: ( rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1 )
+            // InternalSignalDSL.g:6062:2: rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XAnnotationElementValue__Group_0_1_1__0__Impl();
@@ -21219,22 +21263,22 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1_1__0__Impl"
-    // InternalSignalDSL.g:6041:1: rule__XAnnotationElementValue__Group_0_1_1__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:6069:1: rule__XAnnotationElementValue__Group_0_1_1__0__Impl : ( ',' ) ;
     public final void rule__XAnnotationElementValue__Group_0_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6045:1: ( ( ',' ) )
-            // InternalSignalDSL.g:6046:1: ( ',' )
+            // InternalSignalDSL.g:6073:1: ( ( ',' ) )
+            // InternalSignalDSL.g:6074:1: ( ',' )
             {
-            // InternalSignalDSL.g:6046:1: ( ',' )
-            // InternalSignalDSL.g:6047:2: ','
+            // InternalSignalDSL.g:6074:1: ( ',' )
+            // InternalSignalDSL.g:6075:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getCommaKeyword_0_1_1_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXAnnotationElementValueAccess().getCommaKeyword_0_1_1_0()); 
             }
@@ -21260,14 +21304,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1_1__1"
-    // InternalSignalDSL.g:6056:1: rule__XAnnotationElementValue__Group_0_1_1__1 : rule__XAnnotationElementValue__Group_0_1_1__1__Impl ;
+    // InternalSignalDSL.g:6084:1: rule__XAnnotationElementValue__Group_0_1_1__1 : rule__XAnnotationElementValue__Group_0_1_1__1__Impl ;
     public final void rule__XAnnotationElementValue__Group_0_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6060:1: ( rule__XAnnotationElementValue__Group_0_1_1__1__Impl )
-            // InternalSignalDSL.g:6061:2: rule__XAnnotationElementValue__Group_0_1_1__1__Impl
+            // InternalSignalDSL.g:6088:1: ( rule__XAnnotationElementValue__Group_0_1_1__1__Impl )
+            // InternalSignalDSL.g:6089:2: rule__XAnnotationElementValue__Group_0_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_1_1__1__Impl();
@@ -21293,23 +21337,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1_1__1__Impl"
-    // InternalSignalDSL.g:6067:1: rule__XAnnotationElementValue__Group_0_1_1__1__Impl : ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) ) ;
+    // InternalSignalDSL.g:6095:1: rule__XAnnotationElementValue__Group_0_1_1__1__Impl : ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) ) ;
     public final void rule__XAnnotationElementValue__Group_0_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6071:1: ( ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) ) )
-            // InternalSignalDSL.g:6072:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) )
+            // InternalSignalDSL.g:6099:1: ( ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) ) )
+            // InternalSignalDSL.g:6100:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) )
             {
-            // InternalSignalDSL.g:6072:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) )
-            // InternalSignalDSL.g:6073:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 )
+            // InternalSignalDSL.g:6100:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) )
+            // InternalSignalDSL.g:6101:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_1_1()); 
             }
-            // InternalSignalDSL.g:6074:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 )
-            // InternalSignalDSL.g:6074:3: rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1
+            // InternalSignalDSL.g:6102:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 )
+            // InternalSignalDSL.g:6102:3: rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1();
@@ -21344,14 +21388,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__0"
-    // InternalSignalDSL.g:6083:1: rule__XAssignment__Group_0__0 : rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 ;
+    // InternalSignalDSL.g:6111:1: rule__XAssignment__Group_0__0 : rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 ;
     public final void rule__XAssignment__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6087:1: ( rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 )
-            // InternalSignalDSL.g:6088:2: rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1
+            // InternalSignalDSL.g:6115:1: ( rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 )
+            // InternalSignalDSL.g:6116:2: rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1
             {
             pushFollow(FOLLOW_40);
             rule__XAssignment__Group_0__0__Impl();
@@ -21382,23 +21426,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__0__Impl"
-    // InternalSignalDSL.g:6095:1: rule__XAssignment__Group_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:6123:1: rule__XAssignment__Group_0__0__Impl : ( () ) ;
     public final void rule__XAssignment__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6099:1: ( ( () ) )
-            // InternalSignalDSL.g:6100:1: ( () )
+            // InternalSignalDSL.g:6127:1: ( ( () ) )
+            // InternalSignalDSL.g:6128:1: ( () )
             {
-            // InternalSignalDSL.g:6100:1: ( () )
-            // InternalSignalDSL.g:6101:2: ()
+            // InternalSignalDSL.g:6128:1: ( () )
+            // InternalSignalDSL.g:6129:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0()); 
             }
-            // InternalSignalDSL.g:6102:2: ()
-            // InternalSignalDSL.g:6102:3: 
+            // InternalSignalDSL.g:6130:2: ()
+            // InternalSignalDSL.g:6130:3: 
             {
             }
 
@@ -21423,14 +21467,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__1"
-    // InternalSignalDSL.g:6110:1: rule__XAssignment__Group_0__1 : rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 ;
+    // InternalSignalDSL.g:6138:1: rule__XAssignment__Group_0__1 : rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 ;
     public final void rule__XAssignment__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6114:1: ( rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 )
-            // InternalSignalDSL.g:6115:2: rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2
+            // InternalSignalDSL.g:6142:1: ( rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 )
+            // InternalSignalDSL.g:6143:2: rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2
             {
             pushFollow(FOLLOW_36);
             rule__XAssignment__Group_0__1__Impl();
@@ -21461,23 +21505,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__1__Impl"
-    // InternalSignalDSL.g:6122:1: rule__XAssignment__Group_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) ;
+    // InternalSignalDSL.g:6150:1: rule__XAssignment__Group_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) ;
     public final void rule__XAssignment__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6126:1: ( ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) )
-            // InternalSignalDSL.g:6127:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) )
+            // InternalSignalDSL.g:6154:1: ( ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) )
+            // InternalSignalDSL.g:6155:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) )
             {
-            // InternalSignalDSL.g:6127:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) )
-            // InternalSignalDSL.g:6128:2: ( rule__XAssignment__FeatureAssignment_0_1 )
+            // InternalSignalDSL.g:6155:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) )
+            // InternalSignalDSL.g:6156:2: ( rule__XAssignment__FeatureAssignment_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1()); 
             }
-            // InternalSignalDSL.g:6129:2: ( rule__XAssignment__FeatureAssignment_0_1 )
-            // InternalSignalDSL.g:6129:3: rule__XAssignment__FeatureAssignment_0_1
+            // InternalSignalDSL.g:6157:2: ( rule__XAssignment__FeatureAssignment_0_1 )
+            // InternalSignalDSL.g:6157:3: rule__XAssignment__FeatureAssignment_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__FeatureAssignment_0_1();
@@ -21512,14 +21556,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__2"
-    // InternalSignalDSL.g:6137:1: rule__XAssignment__Group_0__2 : rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 ;
+    // InternalSignalDSL.g:6165:1: rule__XAssignment__Group_0__2 : rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 ;
     public final void rule__XAssignment__Group_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6141:1: ( rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 )
-            // InternalSignalDSL.g:6142:2: rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3
+            // InternalSignalDSL.g:6169:1: ( rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 )
+            // InternalSignalDSL.g:6170:2: rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3
             {
             pushFollow(FOLLOW_35);
             rule__XAssignment__Group_0__2__Impl();
@@ -21550,17 +21594,17 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__2__Impl"
-    // InternalSignalDSL.g:6149:1: rule__XAssignment__Group_0__2__Impl : ( ruleOpSingleAssign ) ;
+    // InternalSignalDSL.g:6177:1: rule__XAssignment__Group_0__2__Impl : ( ruleOpSingleAssign ) ;
     public final void rule__XAssignment__Group_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6153:1: ( ( ruleOpSingleAssign ) )
-            // InternalSignalDSL.g:6154:1: ( ruleOpSingleAssign )
+            // InternalSignalDSL.g:6181:1: ( ( ruleOpSingleAssign ) )
+            // InternalSignalDSL.g:6182:1: ( ruleOpSingleAssign )
             {
-            // InternalSignalDSL.g:6154:1: ( ruleOpSingleAssign )
-            // InternalSignalDSL.g:6155:2: ruleOpSingleAssign
+            // InternalSignalDSL.g:6182:1: ( ruleOpSingleAssign )
+            // InternalSignalDSL.g:6183:2: ruleOpSingleAssign
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); 
@@ -21595,14 +21639,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__3"
-    // InternalSignalDSL.g:6164:1: rule__XAssignment__Group_0__3 : rule__XAssignment__Group_0__3__Impl ;
+    // InternalSignalDSL.g:6192:1: rule__XAssignment__Group_0__3 : rule__XAssignment__Group_0__3__Impl ;
     public final void rule__XAssignment__Group_0__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6168:1: ( rule__XAssignment__Group_0__3__Impl )
-            // InternalSignalDSL.g:6169:2: rule__XAssignment__Group_0__3__Impl
+            // InternalSignalDSL.g:6196:1: ( rule__XAssignment__Group_0__3__Impl )
+            // InternalSignalDSL.g:6197:2: rule__XAssignment__Group_0__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_0__3__Impl();
@@ -21628,23 +21672,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__3__Impl"
-    // InternalSignalDSL.g:6175:1: rule__XAssignment__Group_0__3__Impl : ( ( rule__XAssignment__ValueAssignment_0_3 ) ) ;
+    // InternalSignalDSL.g:6203:1: rule__XAssignment__Group_0__3__Impl : ( ( rule__XAssignment__ValueAssignment_0_3 ) ) ;
     public final void rule__XAssignment__Group_0__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6179:1: ( ( ( rule__XAssignment__ValueAssignment_0_3 ) ) )
-            // InternalSignalDSL.g:6180:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) )
+            // InternalSignalDSL.g:6207:1: ( ( ( rule__XAssignment__ValueAssignment_0_3 ) ) )
+            // InternalSignalDSL.g:6208:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) )
             {
-            // InternalSignalDSL.g:6180:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) )
-            // InternalSignalDSL.g:6181:2: ( rule__XAssignment__ValueAssignment_0_3 )
+            // InternalSignalDSL.g:6208:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) )
+            // InternalSignalDSL.g:6209:2: ( rule__XAssignment__ValueAssignment_0_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3()); 
             }
-            // InternalSignalDSL.g:6182:2: ( rule__XAssignment__ValueAssignment_0_3 )
-            // InternalSignalDSL.g:6182:3: rule__XAssignment__ValueAssignment_0_3
+            // InternalSignalDSL.g:6210:2: ( rule__XAssignment__ValueAssignment_0_3 )
+            // InternalSignalDSL.g:6210:3: rule__XAssignment__ValueAssignment_0_3
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__ValueAssignment_0_3();
@@ -21679,14 +21723,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1__0"
-    // InternalSignalDSL.g:6191:1: rule__XAssignment__Group_1__0 : rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 ;
+    // InternalSignalDSL.g:6219:1: rule__XAssignment__Group_1__0 : rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 ;
     public final void rule__XAssignment__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6195:1: ( rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 )
-            // InternalSignalDSL.g:6196:2: rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1
+            // InternalSignalDSL.g:6223:1: ( rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 )
+            // InternalSignalDSL.g:6224:2: rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1
             {
             pushFollow(FOLLOW_41);
             rule__XAssignment__Group_1__0__Impl();
@@ -21717,17 +21761,17 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1__0__Impl"
-    // InternalSignalDSL.g:6203:1: rule__XAssignment__Group_1__0__Impl : ( ruleXOrExpression ) ;
+    // InternalSignalDSL.g:6231:1: rule__XAssignment__Group_1__0__Impl : ( ruleXOrExpression ) ;
     public final void rule__XAssignment__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6207:1: ( ( ruleXOrExpression ) )
-            // InternalSignalDSL.g:6208:1: ( ruleXOrExpression )
+            // InternalSignalDSL.g:6235:1: ( ( ruleXOrExpression ) )
+            // InternalSignalDSL.g:6236:1: ( ruleXOrExpression )
             {
-            // InternalSignalDSL.g:6208:1: ( ruleXOrExpression )
-            // InternalSignalDSL.g:6209:2: ruleXOrExpression
+            // InternalSignalDSL.g:6236:1: ( ruleXOrExpression )
+            // InternalSignalDSL.g:6237:2: ruleXOrExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); 
@@ -21762,14 +21806,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1__1"
-    // InternalSignalDSL.g:6218:1: rule__XAssignment__Group_1__1 : rule__XAssignment__Group_1__1__Impl ;
+    // InternalSignalDSL.g:6246:1: rule__XAssignment__Group_1__1 : rule__XAssignment__Group_1__1__Impl ;
     public final void rule__XAssignment__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6222:1: ( rule__XAssignment__Group_1__1__Impl )
-            // InternalSignalDSL.g:6223:2: rule__XAssignment__Group_1__1__Impl
+            // InternalSignalDSL.g:6250:1: ( rule__XAssignment__Group_1__1__Impl )
+            // InternalSignalDSL.g:6251:2: rule__XAssignment__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1__1__Impl();
@@ -21795,27 +21839,27 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1__1__Impl"
-    // InternalSignalDSL.g:6229:1: rule__XAssignment__Group_1__1__Impl : ( ( rule__XAssignment__Group_1_1__0 )? ) ;
+    // InternalSignalDSL.g:6257:1: rule__XAssignment__Group_1__1__Impl : ( ( rule__XAssignment__Group_1_1__0 )? ) ;
     public final void rule__XAssignment__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6233:1: ( ( ( rule__XAssignment__Group_1_1__0 )? ) )
-            // InternalSignalDSL.g:6234:1: ( ( rule__XAssignment__Group_1_1__0 )? )
+            // InternalSignalDSL.g:6261:1: ( ( ( rule__XAssignment__Group_1_1__0 )? ) )
+            // InternalSignalDSL.g:6262:1: ( ( rule__XAssignment__Group_1_1__0 )? )
             {
-            // InternalSignalDSL.g:6234:1: ( ( rule__XAssignment__Group_1_1__0 )? )
-            // InternalSignalDSL.g:6235:2: ( rule__XAssignment__Group_1_1__0 )?
+            // InternalSignalDSL.g:6262:1: ( ( rule__XAssignment__Group_1_1__0 )? )
+            // InternalSignalDSL.g:6263:2: ( rule__XAssignment__Group_1_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getGroup_1_1()); 
             }
-            // InternalSignalDSL.g:6236:2: ( rule__XAssignment__Group_1_1__0 )?
-            int alt68=2;
-            alt68 = dfa68.predict(input);
-            switch (alt68) {
+            // InternalSignalDSL.g:6264:2: ( rule__XAssignment__Group_1_1__0 )?
+            int alt69=2;
+            alt69 = dfa69.predict(input);
+            switch (alt69) {
                 case 1 :
-                    // InternalSignalDSL.g:6236:3: rule__XAssignment__Group_1_1__0
+                    // InternalSignalDSL.g:6264:3: rule__XAssignment__Group_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAssignment__Group_1_1__0();
@@ -21853,14 +21897,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1__0"
-    // InternalSignalDSL.g:6245:1: rule__XAssignment__Group_1_1__0 : rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 ;
+    // InternalSignalDSL.g:6273:1: rule__XAssignment__Group_1_1__0 : rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 ;
     public final void rule__XAssignment__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6249:1: ( rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 )
-            // InternalSignalDSL.g:6250:2: rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1
+            // InternalSignalDSL.g:6277:1: ( rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 )
+            // InternalSignalDSL.g:6278:2: rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XAssignment__Group_1_1__0__Impl();
@@ -21891,23 +21935,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1__0__Impl"
-    // InternalSignalDSL.g:6257:1: rule__XAssignment__Group_1_1__0__Impl : ( ( rule__XAssignment__Group_1_1_0__0 ) ) ;
+    // InternalSignalDSL.g:6285:1: rule__XAssignment__Group_1_1__0__Impl : ( ( rule__XAssignment__Group_1_1_0__0 ) ) ;
     public final void rule__XAssignment__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6261:1: ( ( ( rule__XAssignment__Group_1_1_0__0 ) ) )
-            // InternalSignalDSL.g:6262:1: ( ( rule__XAssignment__Group_1_1_0__0 ) )
+            // InternalSignalDSL.g:6289:1: ( ( ( rule__XAssignment__Group_1_1_0__0 ) ) )
+            // InternalSignalDSL.g:6290:1: ( ( rule__XAssignment__Group_1_1_0__0 ) )
             {
-            // InternalSignalDSL.g:6262:1: ( ( rule__XAssignment__Group_1_1_0__0 ) )
-            // InternalSignalDSL.g:6263:2: ( rule__XAssignment__Group_1_1_0__0 )
+            // InternalSignalDSL.g:6290:1: ( ( rule__XAssignment__Group_1_1_0__0 ) )
+            // InternalSignalDSL.g:6291:2: ( rule__XAssignment__Group_1_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0()); 
             }
-            // InternalSignalDSL.g:6264:2: ( rule__XAssignment__Group_1_1_0__0 )
-            // InternalSignalDSL.g:6264:3: rule__XAssignment__Group_1_1_0__0
+            // InternalSignalDSL.g:6292:2: ( rule__XAssignment__Group_1_1_0__0 )
+            // InternalSignalDSL.g:6292:3: rule__XAssignment__Group_1_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1_1_0__0();
@@ -21942,14 +21986,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1__1"
-    // InternalSignalDSL.g:6272:1: rule__XAssignment__Group_1_1__1 : rule__XAssignment__Group_1_1__1__Impl ;
+    // InternalSignalDSL.g:6300:1: rule__XAssignment__Group_1_1__1 : rule__XAssignment__Group_1_1__1__Impl ;
     public final void rule__XAssignment__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6276:1: ( rule__XAssignment__Group_1_1__1__Impl )
-            // InternalSignalDSL.g:6277:2: rule__XAssignment__Group_1_1__1__Impl
+            // InternalSignalDSL.g:6304:1: ( rule__XAssignment__Group_1_1__1__Impl )
+            // InternalSignalDSL.g:6305:2: rule__XAssignment__Group_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1_1__1__Impl();
@@ -21975,23 +22019,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1__1__Impl"
-    // InternalSignalDSL.g:6283:1: rule__XAssignment__Group_1_1__1__Impl : ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) ;
+    // InternalSignalDSL.g:6311:1: rule__XAssignment__Group_1_1__1__Impl : ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) ;
     public final void rule__XAssignment__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6287:1: ( ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) )
-            // InternalSignalDSL.g:6288:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) )
+            // InternalSignalDSL.g:6315:1: ( ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) )
+            // InternalSignalDSL.g:6316:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) )
             {
-            // InternalSignalDSL.g:6288:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) )
-            // InternalSignalDSL.g:6289:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 )
+            // InternalSignalDSL.g:6316:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) )
+            // InternalSignalDSL.g:6317:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1()); 
             }
-            // InternalSignalDSL.g:6290:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 )
-            // InternalSignalDSL.g:6290:3: rule__XAssignment__RightOperandAssignment_1_1_1
+            // InternalSignalDSL.g:6318:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 )
+            // InternalSignalDSL.g:6318:3: rule__XAssignment__RightOperandAssignment_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__RightOperandAssignment_1_1_1();
@@ -22026,14 +22070,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0__0"
-    // InternalSignalDSL.g:6299:1: rule__XAssignment__Group_1_1_0__0 : rule__XAssignment__Group_1_1_0__0__Impl ;
+    // InternalSignalDSL.g:6327:1: rule__XAssignment__Group_1_1_0__0 : rule__XAssignment__Group_1_1_0__0__Impl ;
     public final void rule__XAssignment__Group_1_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6303:1: ( rule__XAssignment__Group_1_1_0__0__Impl )
-            // InternalSignalDSL.g:6304:2: rule__XAssignment__Group_1_1_0__0__Impl
+            // InternalSignalDSL.g:6331:1: ( rule__XAssignment__Group_1_1_0__0__Impl )
+            // InternalSignalDSL.g:6332:2: rule__XAssignment__Group_1_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1_1_0__0__Impl();
@@ -22059,23 +22103,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0__0__Impl"
-    // InternalSignalDSL.g:6310:1: rule__XAssignment__Group_1_1_0__0__Impl : ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) ;
+    // InternalSignalDSL.g:6338:1: rule__XAssignment__Group_1_1_0__0__Impl : ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) ;
     public final void rule__XAssignment__Group_1_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6314:1: ( ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) )
-            // InternalSignalDSL.g:6315:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) )
+            // InternalSignalDSL.g:6342:1: ( ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) )
+            // InternalSignalDSL.g:6343:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) )
             {
-            // InternalSignalDSL.g:6315:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) )
-            // InternalSignalDSL.g:6316:2: ( rule__XAssignment__Group_1_1_0_0__0 )
+            // InternalSignalDSL.g:6343:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) )
+            // InternalSignalDSL.g:6344:2: ( rule__XAssignment__Group_1_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0()); 
             }
-            // InternalSignalDSL.g:6317:2: ( rule__XAssignment__Group_1_1_0_0__0 )
-            // InternalSignalDSL.g:6317:3: rule__XAssignment__Group_1_1_0_0__0
+            // InternalSignalDSL.g:6345:2: ( rule__XAssignment__Group_1_1_0_0__0 )
+            // InternalSignalDSL.g:6345:3: rule__XAssignment__Group_1_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1_1_0_0__0();
@@ -22110,14 +22154,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0_0__0"
-    // InternalSignalDSL.g:6326:1: rule__XAssignment__Group_1_1_0_0__0 : rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 ;
+    // InternalSignalDSL.g:6354:1: rule__XAssignment__Group_1_1_0_0__0 : rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 ;
     public final void rule__XAssignment__Group_1_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6330:1: ( rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 )
-            // InternalSignalDSL.g:6331:2: rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1
+            // InternalSignalDSL.g:6358:1: ( rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 )
+            // InternalSignalDSL.g:6359:2: rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1
             {
             pushFollow(FOLLOW_41);
             rule__XAssignment__Group_1_1_0_0__0__Impl();
@@ -22148,23 +22192,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0_0__0__Impl"
-    // InternalSignalDSL.g:6338:1: rule__XAssignment__Group_1_1_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:6366:1: rule__XAssignment__Group_1_1_0_0__0__Impl : ( () ) ;
     public final void rule__XAssignment__Group_1_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6342:1: ( ( () ) )
-            // InternalSignalDSL.g:6343:1: ( () )
+            // InternalSignalDSL.g:6370:1: ( ( () ) )
+            // InternalSignalDSL.g:6371:1: ( () )
             {
-            // InternalSignalDSL.g:6343:1: ( () )
-            // InternalSignalDSL.g:6344:2: ()
+            // InternalSignalDSL.g:6371:1: ( () )
+            // InternalSignalDSL.g:6372:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); 
             }
-            // InternalSignalDSL.g:6345:2: ()
-            // InternalSignalDSL.g:6345:3: 
+            // InternalSignalDSL.g:6373:2: ()
+            // InternalSignalDSL.g:6373:3: 
             {
             }
 
@@ -22189,14 +22233,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0_0__1"
-    // InternalSignalDSL.g:6353:1: rule__XAssignment__Group_1_1_0_0__1 : rule__XAssignment__Group_1_1_0_0__1__Impl ;
+    // InternalSignalDSL.g:6381:1: rule__XAssignment__Group_1_1_0_0__1 : rule__XAssignment__Group_1_1_0_0__1__Impl ;
     public final void rule__XAssignment__Group_1_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6357:1: ( rule__XAssignment__Group_1_1_0_0__1__Impl )
-            // InternalSignalDSL.g:6358:2: rule__XAssignment__Group_1_1_0_0__1__Impl
+            // InternalSignalDSL.g:6385:1: ( rule__XAssignment__Group_1_1_0_0__1__Impl )
+            // InternalSignalDSL.g:6386:2: rule__XAssignment__Group_1_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1_1_0_0__1__Impl();
@@ -22222,23 +22266,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0_0__1__Impl"
-    // InternalSignalDSL.g:6364:1: rule__XAssignment__Group_1_1_0_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) ;
+    // InternalSignalDSL.g:6392:1: rule__XAssignment__Group_1_1_0_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) ;
     public final void rule__XAssignment__Group_1_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6368:1: ( ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) )
-            // InternalSignalDSL.g:6369:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) )
+            // InternalSignalDSL.g:6396:1: ( ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) )
+            // InternalSignalDSL.g:6397:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) )
             {
-            // InternalSignalDSL.g:6369:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) )
-            // InternalSignalDSL.g:6370:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 )
+            // InternalSignalDSL.g:6397:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) )
+            // InternalSignalDSL.g:6398:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1()); 
             }
-            // InternalSignalDSL.g:6371:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 )
-            // InternalSignalDSL.g:6371:3: rule__XAssignment__FeatureAssignment_1_1_0_0_1
+            // InternalSignalDSL.g:6399:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 )
+            // InternalSignalDSL.g:6399:3: rule__XAssignment__FeatureAssignment_1_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__FeatureAssignment_1_1_0_0_1();
@@ -22273,14 +22317,14 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__0"
-    // InternalSignalDSL.g:6380:1: rule__OpMultiAssign__Group_5__0 : rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 ;
+    // InternalSignalDSL.g:6408:1: rule__OpMultiAssign__Group_5__0 : rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 ;
     public final void rule__OpMultiAssign__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6384:1: ( rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 )
-            // InternalSignalDSL.g:6385:2: rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1
+            // InternalSignalDSL.g:6412:1: ( rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 )
+            // InternalSignalDSL.g:6413:2: rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1
             {
             pushFollow(FOLLOW_42);
             rule__OpMultiAssign__Group_5__0__Impl();
@@ -22311,17 +22355,17 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__0__Impl"
-    // InternalSignalDSL.g:6392:1: rule__OpMultiAssign__Group_5__0__Impl : ( '<' ) ;
+    // InternalSignalDSL.g:6420:1: rule__OpMultiAssign__Group_5__0__Impl : ( '<' ) ;
     public final void rule__OpMultiAssign__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6396:1: ( ( '<' ) )
-            // InternalSignalDSL.g:6397:1: ( '<' )
+            // InternalSignalDSL.g:6424:1: ( ( '<' ) )
+            // InternalSignalDSL.g:6425:1: ( '<' )
             {
-            // InternalSignalDSL.g:6397:1: ( '<' )
-            // InternalSignalDSL.g:6398:2: '<'
+            // InternalSignalDSL.g:6425:1: ( '<' )
+            // InternalSignalDSL.g:6426:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); 
@@ -22352,14 +22396,14 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__1"
-    // InternalSignalDSL.g:6407:1: rule__OpMultiAssign__Group_5__1 : rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 ;
+    // InternalSignalDSL.g:6435:1: rule__OpMultiAssign__Group_5__1 : rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 ;
     public final void rule__OpMultiAssign__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6411:1: ( rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 )
-            // InternalSignalDSL.g:6412:2: rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2
+            // InternalSignalDSL.g:6439:1: ( rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 )
+            // InternalSignalDSL.g:6440:2: rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2
             {
             pushFollow(FOLLOW_36);
             rule__OpMultiAssign__Group_5__1__Impl();
@@ -22390,17 +22434,17 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__1__Impl"
-    // InternalSignalDSL.g:6419:1: rule__OpMultiAssign__Group_5__1__Impl : ( '<' ) ;
+    // InternalSignalDSL.g:6447:1: rule__OpMultiAssign__Group_5__1__Impl : ( '<' ) ;
     public final void rule__OpMultiAssign__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6423:1: ( ( '<' ) )
-            // InternalSignalDSL.g:6424:1: ( '<' )
+            // InternalSignalDSL.g:6451:1: ( ( '<' ) )
+            // InternalSignalDSL.g:6452:1: ( '<' )
             {
-            // InternalSignalDSL.g:6424:1: ( '<' )
-            // InternalSignalDSL.g:6425:2: '<'
+            // InternalSignalDSL.g:6452:1: ( '<' )
+            // InternalSignalDSL.g:6453:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); 
@@ -22431,14 +22475,14 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__2"
-    // InternalSignalDSL.g:6434:1: rule__OpMultiAssign__Group_5__2 : rule__OpMultiAssign__Group_5__2__Impl ;
+    // InternalSignalDSL.g:6462:1: rule__OpMultiAssign__Group_5__2 : rule__OpMultiAssign__Group_5__2__Impl ;
     public final void rule__OpMultiAssign__Group_5__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6438:1: ( rule__OpMultiAssign__Group_5__2__Impl )
-            // InternalSignalDSL.g:6439:2: rule__OpMultiAssign__Group_5__2__Impl
+            // InternalSignalDSL.g:6466:1: ( rule__OpMultiAssign__Group_5__2__Impl )
+            // InternalSignalDSL.g:6467:2: rule__OpMultiAssign__Group_5__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpMultiAssign__Group_5__2__Impl();
@@ -22464,17 +22508,17 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__2__Impl"
-    // InternalSignalDSL.g:6445:1: rule__OpMultiAssign__Group_5__2__Impl : ( '=' ) ;
+    // InternalSignalDSL.g:6473:1: rule__OpMultiAssign__Group_5__2__Impl : ( '=' ) ;
     public final void rule__OpMultiAssign__Group_5__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6449:1: ( ( '=' ) )
-            // InternalSignalDSL.g:6450:1: ( '=' )
+            // InternalSignalDSL.g:6477:1: ( ( '=' ) )
+            // InternalSignalDSL.g:6478:1: ( '=' )
             {
-            // InternalSignalDSL.g:6450:1: ( '=' )
-            // InternalSignalDSL.g:6451:2: '='
+            // InternalSignalDSL.g:6478:1: ( '=' )
+            // InternalSignalDSL.g:6479:2: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); 
@@ -22505,14 +22549,14 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_6__0"
-    // InternalSignalDSL.g:6461:1: rule__OpMultiAssign__Group_6__0 : rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1 ;
+    // InternalSignalDSL.g:6489:1: rule__OpMultiAssign__Group_6__0 : rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1 ;
     public final void rule__OpMultiAssign__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6465:1: ( rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1 )
-            // InternalSignalDSL.g:6466:2: rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1
+            // InternalSignalDSL.g:6493:1: ( rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1 )
+            // InternalSignalDSL.g:6494:2: rule__OpMultiAssign__Group_6__0__Impl rule__OpMultiAssign__Group_6__1
             {
             pushFollow(FOLLOW_43);
             rule__OpMultiAssign__Group_6__0__Impl();
@@ -22543,17 +22587,17 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_6__0__Impl"
-    // InternalSignalDSL.g:6473:1: rule__OpMultiAssign__Group_6__0__Impl : ( '>' ) ;
+    // InternalSignalDSL.g:6501:1: rule__OpMultiAssign__Group_6__0__Impl : ( '>' ) ;
     public final void rule__OpMultiAssign__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6477:1: ( ( '>' ) )
-            // InternalSignalDSL.g:6478:1: ( '>' )
+            // InternalSignalDSL.g:6505:1: ( ( '>' ) )
+            // InternalSignalDSL.g:6506:1: ( '>' )
             {
-            // InternalSignalDSL.g:6478:1: ( '>' )
-            // InternalSignalDSL.g:6479:2: '>'
+            // InternalSignalDSL.g:6506:1: ( '>' )
+            // InternalSignalDSL.g:6507:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); 
@@ -22584,14 +22628,14 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_6__1"
-    // InternalSignalDSL.g:6488:1: rule__OpMultiAssign__Group_6__1 : rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2 ;
+    // InternalSignalDSL.g:6516:1: rule__OpMultiAssign__Group_6__1 : rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2 ;
     public final void rule__OpMultiAssign__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6492:1: ( rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2 )
-            // InternalSignalDSL.g:6493:2: rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2
+            // InternalSignalDSL.g:6520:1: ( rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2 )
+            // InternalSignalDSL.g:6521:2: rule__OpMultiAssign__Group_6__1__Impl rule__OpMultiAssign__Group_6__2
             {
             pushFollow(FOLLOW_43);
             rule__OpMultiAssign__Group_6__1__Impl();
@@ -22622,31 +22666,31 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_6__1__Impl"
-    // InternalSignalDSL.g:6500:1: rule__OpMultiAssign__Group_6__1__Impl : ( ( '>' )? ) ;
+    // InternalSignalDSL.g:6528:1: rule__OpMultiAssign__Group_6__1__Impl : ( ( '>' )? ) ;
     public final void rule__OpMultiAssign__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6504:1: ( ( ( '>' )? ) )
-            // InternalSignalDSL.g:6505:1: ( ( '>' )? )
+            // InternalSignalDSL.g:6532:1: ( ( ( '>' )? ) )
+            // InternalSignalDSL.g:6533:1: ( ( '>' )? )
             {
-            // InternalSignalDSL.g:6505:1: ( ( '>' )? )
-            // InternalSignalDSL.g:6506:2: ( '>' )?
+            // InternalSignalDSL.g:6533:1: ( ( '>' )? )
+            // InternalSignalDSL.g:6534:2: ( '>' )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); 
             }
-            // InternalSignalDSL.g:6507:2: ( '>' )?
-            int alt69=2;
-            int LA69_0 = input.LA(1);
+            // InternalSignalDSL.g:6535:2: ( '>' )?
+            int alt70=2;
+            int LA70_0 = input.LA(1);
 
-            if ( (LA69_0==26) ) {
-                alt69=1;
+            if ( (LA70_0==26) ) {
+                alt70=1;
             }
-            switch (alt69) {
+            switch (alt70) {
                 case 1 :
-                    // InternalSignalDSL.g:6507:3: '>'
+                    // InternalSignalDSL.g:6535:3: '>'
                     {
                     match(input,26,FOLLOW_2); if (state.failed) return ;
 
@@ -22680,14 +22724,14 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_6__2"
-    // InternalSignalDSL.g:6515:1: rule__OpMultiAssign__Group_6__2 : rule__OpMultiAssign__Group_6__2__Impl ;
+    // InternalSignalDSL.g:6543:1: rule__OpMultiAssign__Group_6__2 : rule__OpMultiAssign__Group_6__2__Impl ;
     public final void rule__OpMultiAssign__Group_6__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6519:1: ( rule__OpMultiAssign__Group_6__2__Impl )
-            // InternalSignalDSL.g:6520:2: rule__OpMultiAssign__Group_6__2__Impl
+            // InternalSignalDSL.g:6547:1: ( rule__OpMultiAssign__Group_6__2__Impl )
+            // InternalSignalDSL.g:6548:2: rule__OpMultiAssign__Group_6__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpMultiAssign__Group_6__2__Impl();
@@ -22713,17 +22757,17 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_6__2__Impl"
-    // InternalSignalDSL.g:6526:1: rule__OpMultiAssign__Group_6__2__Impl : ( '>=' ) ;
+    // InternalSignalDSL.g:6554:1: rule__OpMultiAssign__Group_6__2__Impl : ( '>=' ) ;
     public final void rule__OpMultiAssign__Group_6__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6530:1: ( ( '>=' ) )
-            // InternalSignalDSL.g:6531:1: ( '>=' )
+            // InternalSignalDSL.g:6558:1: ( ( '>=' ) )
+            // InternalSignalDSL.g:6559:1: ( '>=' )
             {
-            // InternalSignalDSL.g:6531:1: ( '>=' )
-            // InternalSignalDSL.g:6532:2: '>='
+            // InternalSignalDSL.g:6559:1: ( '>=' )
+            // InternalSignalDSL.g:6560:2: '>='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); 
@@ -22754,14 +22798,14 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group__0"
-    // InternalSignalDSL.g:6542:1: rule__XOrExpression__Group__0 : rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1 ;
+    // InternalSignalDSL.g:6570:1: rule__XOrExpression__Group__0 : rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1 ;
     public final void rule__XOrExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6546:1: ( rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1 )
-            // InternalSignalDSL.g:6547:2: rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1
+            // InternalSignalDSL.g:6574:1: ( rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1 )
+            // InternalSignalDSL.g:6575:2: rule__XOrExpression__Group__0__Impl rule__XOrExpression__Group__1
             {
             pushFollow(FOLLOW_44);
             rule__XOrExpression__Group__0__Impl();
@@ -22792,17 +22836,17 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group__0__Impl"
-    // InternalSignalDSL.g:6554:1: rule__XOrExpression__Group__0__Impl : ( ruleXAndExpression ) ;
+    // InternalSignalDSL.g:6582:1: rule__XOrExpression__Group__0__Impl : ( ruleXAndExpression ) ;
     public final void rule__XOrExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6558:1: ( ( ruleXAndExpression ) )
-            // InternalSignalDSL.g:6559:1: ( ruleXAndExpression )
+            // InternalSignalDSL.g:6586:1: ( ( ruleXAndExpression ) )
+            // InternalSignalDSL.g:6587:1: ( ruleXAndExpression )
             {
-            // InternalSignalDSL.g:6559:1: ( ruleXAndExpression )
-            // InternalSignalDSL.g:6560:2: ruleXAndExpression
+            // InternalSignalDSL.g:6587:1: ( ruleXAndExpression )
+            // InternalSignalDSL.g:6588:2: ruleXAndExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); 
@@ -22837,14 +22881,14 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group__1"
-    // InternalSignalDSL.g:6569:1: rule__XOrExpression__Group__1 : rule__XOrExpression__Group__1__Impl ;
+    // InternalSignalDSL.g:6597:1: rule__XOrExpression__Group__1 : rule__XOrExpression__Group__1__Impl ;
     public final void rule__XOrExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6573:1: ( rule__XOrExpression__Group__1__Impl )
-            // InternalSignalDSL.g:6574:2: rule__XOrExpression__Group__1__Impl
+            // InternalSignalDSL.g:6601:1: ( rule__XOrExpression__Group__1__Impl )
+            // InternalSignalDSL.g:6602:2: rule__XOrExpression__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XOrExpression__Group__1__Impl();
@@ -22870,41 +22914,41 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group__1__Impl"
-    // InternalSignalDSL.g:6580:1: rule__XOrExpression__Group__1__Impl : ( ( rule__XOrExpression__Group_1__0 )* ) ;
+    // InternalSignalDSL.g:6608:1: rule__XOrExpression__Group__1__Impl : ( ( rule__XOrExpression__Group_1__0 )* ) ;
     public final void rule__XOrExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6584:1: ( ( ( rule__XOrExpression__Group_1__0 )* ) )
-            // InternalSignalDSL.g:6585:1: ( ( rule__XOrExpression__Group_1__0 )* )
+            // InternalSignalDSL.g:6612:1: ( ( ( rule__XOrExpression__Group_1__0 )* ) )
+            // InternalSignalDSL.g:6613:1: ( ( rule__XOrExpression__Group_1__0 )* )
             {
-            // InternalSignalDSL.g:6585:1: ( ( rule__XOrExpression__Group_1__0 )* )
-            // InternalSignalDSL.g:6586:2: ( rule__XOrExpression__Group_1__0 )*
+            // InternalSignalDSL.g:6613:1: ( ( rule__XOrExpression__Group_1__0 )* )
+            // InternalSignalDSL.g:6614:2: ( rule__XOrExpression__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getGroup_1()); 
             }
-            // InternalSignalDSL.g:6587:2: ( rule__XOrExpression__Group_1__0 )*
-            loop70:
+            // InternalSignalDSL.g:6615:2: ( rule__XOrExpression__Group_1__0 )*
+            loop71:
             do {
-                int alt70=2;
-                int LA70_0 = input.LA(1);
+                int alt71=2;
+                int LA71_0 = input.LA(1);
 
-                if ( (LA70_0==14) ) {
-                    int LA70_2 = input.LA(2);
+                if ( (LA71_0==14) ) {
+                    int LA71_2 = input.LA(2);
 
-                    if ( (synpred118_InternalSignalDSL()) ) {
-                        alt70=1;
+                    if ( (synpred115_InternalSignalDSL()) ) {
+                        alt71=1;
                     }
 
 
                 }
 
 
-                switch (alt70) {
+                switch (alt71) {
             	case 1 :
-            	    // InternalSignalDSL.g:6587:3: rule__XOrExpression__Group_1__0
+            	    // InternalSignalDSL.g:6615:3: rule__XOrExpression__Group_1__0
             	    {
             	    pushFollow(FOLLOW_45);
             	    rule__XOrExpression__Group_1__0();
@@ -22916,7 +22960,7 @@
             	    break;
 
             	default :
-            	    break loop70;
+            	    break loop71;
                 }
             } while (true);
 
@@ -22945,14 +22989,14 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1__0"
-    // InternalSignalDSL.g:6596:1: rule__XOrExpression__Group_1__0 : rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1 ;
+    // InternalSignalDSL.g:6624:1: rule__XOrExpression__Group_1__0 : rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1 ;
     public final void rule__XOrExpression__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6600:1: ( rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1 )
-            // InternalSignalDSL.g:6601:2: rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1
+            // InternalSignalDSL.g:6628:1: ( rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1 )
+            // InternalSignalDSL.g:6629:2: rule__XOrExpression__Group_1__0__Impl rule__XOrExpression__Group_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XOrExpression__Group_1__0__Impl();
@@ -22983,23 +23027,23 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1__0__Impl"
-    // InternalSignalDSL.g:6608:1: rule__XOrExpression__Group_1__0__Impl : ( ( rule__XOrExpression__Group_1_0__0 ) ) ;
+    // InternalSignalDSL.g:6636:1: rule__XOrExpression__Group_1__0__Impl : ( ( rule__XOrExpression__Group_1_0__0 ) ) ;
     public final void rule__XOrExpression__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6612:1: ( ( ( rule__XOrExpression__Group_1_0__0 ) ) )
-            // InternalSignalDSL.g:6613:1: ( ( rule__XOrExpression__Group_1_0__0 ) )
+            // InternalSignalDSL.g:6640:1: ( ( ( rule__XOrExpression__Group_1_0__0 ) ) )
+            // InternalSignalDSL.g:6641:1: ( ( rule__XOrExpression__Group_1_0__0 ) )
             {
-            // InternalSignalDSL.g:6613:1: ( ( rule__XOrExpression__Group_1_0__0 ) )
-            // InternalSignalDSL.g:6614:2: ( rule__XOrExpression__Group_1_0__0 )
+            // InternalSignalDSL.g:6641:1: ( ( rule__XOrExpression__Group_1_0__0 ) )
+            // InternalSignalDSL.g:6642:2: ( rule__XOrExpression__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getGroup_1_0()); 
             }
-            // InternalSignalDSL.g:6615:2: ( rule__XOrExpression__Group_1_0__0 )
-            // InternalSignalDSL.g:6615:3: rule__XOrExpression__Group_1_0__0
+            // InternalSignalDSL.g:6643:2: ( rule__XOrExpression__Group_1_0__0 )
+            // InternalSignalDSL.g:6643:3: rule__XOrExpression__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XOrExpression__Group_1_0__0();
@@ -23034,14 +23078,14 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1__1"
-    // InternalSignalDSL.g:6623:1: rule__XOrExpression__Group_1__1 : rule__XOrExpression__Group_1__1__Impl ;
+    // InternalSignalDSL.g:6651:1: rule__XOrExpression__Group_1__1 : rule__XOrExpression__Group_1__1__Impl ;
     public final void rule__XOrExpression__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6627:1: ( rule__XOrExpression__Group_1__1__Impl )
-            // InternalSignalDSL.g:6628:2: rule__XOrExpression__Group_1__1__Impl
+            // InternalSignalDSL.g:6655:1: ( rule__XOrExpression__Group_1__1__Impl )
+            // InternalSignalDSL.g:6656:2: rule__XOrExpression__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XOrExpression__Group_1__1__Impl();
@@ -23067,23 +23111,23 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1__1__Impl"
-    // InternalSignalDSL.g:6634:1: rule__XOrExpression__Group_1__1__Impl : ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) ;
+    // InternalSignalDSL.g:6662:1: rule__XOrExpression__Group_1__1__Impl : ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) ;
     public final void rule__XOrExpression__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6638:1: ( ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) )
-            // InternalSignalDSL.g:6639:1: ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) )
+            // InternalSignalDSL.g:6666:1: ( ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) ) )
+            // InternalSignalDSL.g:6667:1: ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) )
             {
-            // InternalSignalDSL.g:6639:1: ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) )
-            // InternalSignalDSL.g:6640:2: ( rule__XOrExpression__RightOperandAssignment_1_1 )
+            // InternalSignalDSL.g:6667:1: ( ( rule__XOrExpression__RightOperandAssignment_1_1 ) )
+            // InternalSignalDSL.g:6668:2: ( rule__XOrExpression__RightOperandAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1()); 
             }
-            // InternalSignalDSL.g:6641:2: ( rule__XOrExpression__RightOperandAssignment_1_1 )
-            // InternalSignalDSL.g:6641:3: rule__XOrExpression__RightOperandAssignment_1_1
+            // InternalSignalDSL.g:6669:2: ( rule__XOrExpression__RightOperandAssignment_1_1 )
+            // InternalSignalDSL.g:6669:3: rule__XOrExpression__RightOperandAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XOrExpression__RightOperandAssignment_1_1();
@@ -23118,14 +23162,14 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1_0__0"
-    // InternalSignalDSL.g:6650:1: rule__XOrExpression__Group_1_0__0 : rule__XOrExpression__Group_1_0__0__Impl ;
+    // InternalSignalDSL.g:6678:1: rule__XOrExpression__Group_1_0__0 : rule__XOrExpression__Group_1_0__0__Impl ;
     public final void rule__XOrExpression__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6654:1: ( rule__XOrExpression__Group_1_0__0__Impl )
-            // InternalSignalDSL.g:6655:2: rule__XOrExpression__Group_1_0__0__Impl
+            // InternalSignalDSL.g:6682:1: ( rule__XOrExpression__Group_1_0__0__Impl )
+            // InternalSignalDSL.g:6683:2: rule__XOrExpression__Group_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XOrExpression__Group_1_0__0__Impl();
@@ -23151,23 +23195,23 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1_0__0__Impl"
-    // InternalSignalDSL.g:6661:1: rule__XOrExpression__Group_1_0__0__Impl : ( ( rule__XOrExpression__Group_1_0_0__0 ) ) ;
+    // InternalSignalDSL.g:6689:1: rule__XOrExpression__Group_1_0__0__Impl : ( ( rule__XOrExpression__Group_1_0_0__0 ) ) ;
     public final void rule__XOrExpression__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6665:1: ( ( ( rule__XOrExpression__Group_1_0_0__0 ) ) )
-            // InternalSignalDSL.g:6666:1: ( ( rule__XOrExpression__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:6693:1: ( ( ( rule__XOrExpression__Group_1_0_0__0 ) ) )
+            // InternalSignalDSL.g:6694:1: ( ( rule__XOrExpression__Group_1_0_0__0 ) )
             {
-            // InternalSignalDSL.g:6666:1: ( ( rule__XOrExpression__Group_1_0_0__0 ) )
-            // InternalSignalDSL.g:6667:2: ( rule__XOrExpression__Group_1_0_0__0 )
+            // InternalSignalDSL.g:6694:1: ( ( rule__XOrExpression__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:6695:2: ( rule__XOrExpression__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0()); 
             }
-            // InternalSignalDSL.g:6668:2: ( rule__XOrExpression__Group_1_0_0__0 )
-            // InternalSignalDSL.g:6668:3: rule__XOrExpression__Group_1_0_0__0
+            // InternalSignalDSL.g:6696:2: ( rule__XOrExpression__Group_1_0_0__0 )
+            // InternalSignalDSL.g:6696:3: rule__XOrExpression__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XOrExpression__Group_1_0_0__0();
@@ -23202,14 +23246,14 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1_0_0__0"
-    // InternalSignalDSL.g:6677:1: rule__XOrExpression__Group_1_0_0__0 : rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1 ;
+    // InternalSignalDSL.g:6705:1: rule__XOrExpression__Group_1_0_0__0 : rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1 ;
     public final void rule__XOrExpression__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6681:1: ( rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1 )
-            // InternalSignalDSL.g:6682:2: rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1
+            // InternalSignalDSL.g:6709:1: ( rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1 )
+            // InternalSignalDSL.g:6710:2: rule__XOrExpression__Group_1_0_0__0__Impl rule__XOrExpression__Group_1_0_0__1
             {
             pushFollow(FOLLOW_44);
             rule__XOrExpression__Group_1_0_0__0__Impl();
@@ -23240,23 +23284,23 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1_0_0__0__Impl"
-    // InternalSignalDSL.g:6689:1: rule__XOrExpression__Group_1_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:6717:1: rule__XOrExpression__Group_1_0_0__0__Impl : ( () ) ;
     public final void rule__XOrExpression__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6693:1: ( ( () ) )
-            // InternalSignalDSL.g:6694:1: ( () )
+            // InternalSignalDSL.g:6721:1: ( ( () ) )
+            // InternalSignalDSL.g:6722:1: ( () )
             {
-            // InternalSignalDSL.g:6694:1: ( () )
-            // InternalSignalDSL.g:6695:2: ()
+            // InternalSignalDSL.g:6722:1: ( () )
+            // InternalSignalDSL.g:6723:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); 
             }
-            // InternalSignalDSL.g:6696:2: ()
-            // InternalSignalDSL.g:6696:3: 
+            // InternalSignalDSL.g:6724:2: ()
+            // InternalSignalDSL.g:6724:3: 
             {
             }
 
@@ -23281,14 +23325,14 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1_0_0__1"
-    // InternalSignalDSL.g:6704:1: rule__XOrExpression__Group_1_0_0__1 : rule__XOrExpression__Group_1_0_0__1__Impl ;
+    // InternalSignalDSL.g:6732:1: rule__XOrExpression__Group_1_0_0__1 : rule__XOrExpression__Group_1_0_0__1__Impl ;
     public final void rule__XOrExpression__Group_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6708:1: ( rule__XOrExpression__Group_1_0_0__1__Impl )
-            // InternalSignalDSL.g:6709:2: rule__XOrExpression__Group_1_0_0__1__Impl
+            // InternalSignalDSL.g:6736:1: ( rule__XOrExpression__Group_1_0_0__1__Impl )
+            // InternalSignalDSL.g:6737:2: rule__XOrExpression__Group_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XOrExpression__Group_1_0_0__1__Impl();
@@ -23314,23 +23358,23 @@
 
 
     // $ANTLR start "rule__XOrExpression__Group_1_0_0__1__Impl"
-    // InternalSignalDSL.g:6715:1: rule__XOrExpression__Group_1_0_0__1__Impl : ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) ;
+    // InternalSignalDSL.g:6743:1: rule__XOrExpression__Group_1_0_0__1__Impl : ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) ;
     public final void rule__XOrExpression__Group_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6719:1: ( ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) )
-            // InternalSignalDSL.g:6720:1: ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalSignalDSL.g:6747:1: ( ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) ) )
+            // InternalSignalDSL.g:6748:1: ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) )
             {
-            // InternalSignalDSL.g:6720:1: ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) )
-            // InternalSignalDSL.g:6721:2: ( rule__XOrExpression__FeatureAssignment_1_0_0_1 )
+            // InternalSignalDSL.g:6748:1: ( ( rule__XOrExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalSignalDSL.g:6749:2: ( rule__XOrExpression__FeatureAssignment_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1()); 
             }
-            // InternalSignalDSL.g:6722:2: ( rule__XOrExpression__FeatureAssignment_1_0_0_1 )
-            // InternalSignalDSL.g:6722:3: rule__XOrExpression__FeatureAssignment_1_0_0_1
+            // InternalSignalDSL.g:6750:2: ( rule__XOrExpression__FeatureAssignment_1_0_0_1 )
+            // InternalSignalDSL.g:6750:3: rule__XOrExpression__FeatureAssignment_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XOrExpression__FeatureAssignment_1_0_0_1();
@@ -23365,14 +23409,14 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group__0"
-    // InternalSignalDSL.g:6731:1: rule__XAndExpression__Group__0 : rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1 ;
+    // InternalSignalDSL.g:6759:1: rule__XAndExpression__Group__0 : rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1 ;
     public final void rule__XAndExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6735:1: ( rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1 )
-            // InternalSignalDSL.g:6736:2: rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1
+            // InternalSignalDSL.g:6763:1: ( rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1 )
+            // InternalSignalDSL.g:6764:2: rule__XAndExpression__Group__0__Impl rule__XAndExpression__Group__1
             {
             pushFollow(FOLLOW_46);
             rule__XAndExpression__Group__0__Impl();
@@ -23403,17 +23447,17 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group__0__Impl"
-    // InternalSignalDSL.g:6743:1: rule__XAndExpression__Group__0__Impl : ( ruleXEqualityExpression ) ;
+    // InternalSignalDSL.g:6771:1: rule__XAndExpression__Group__0__Impl : ( ruleXEqualityExpression ) ;
     public final void rule__XAndExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6747:1: ( ( ruleXEqualityExpression ) )
-            // InternalSignalDSL.g:6748:1: ( ruleXEqualityExpression )
+            // InternalSignalDSL.g:6775:1: ( ( ruleXEqualityExpression ) )
+            // InternalSignalDSL.g:6776:1: ( ruleXEqualityExpression )
             {
-            // InternalSignalDSL.g:6748:1: ( ruleXEqualityExpression )
-            // InternalSignalDSL.g:6749:2: ruleXEqualityExpression
+            // InternalSignalDSL.g:6776:1: ( ruleXEqualityExpression )
+            // InternalSignalDSL.g:6777:2: ruleXEqualityExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); 
@@ -23448,14 +23492,14 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group__1"
-    // InternalSignalDSL.g:6758:1: rule__XAndExpression__Group__1 : rule__XAndExpression__Group__1__Impl ;
+    // InternalSignalDSL.g:6786:1: rule__XAndExpression__Group__1 : rule__XAndExpression__Group__1__Impl ;
     public final void rule__XAndExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6762:1: ( rule__XAndExpression__Group__1__Impl )
-            // InternalSignalDSL.g:6763:2: rule__XAndExpression__Group__1__Impl
+            // InternalSignalDSL.g:6790:1: ( rule__XAndExpression__Group__1__Impl )
+            // InternalSignalDSL.g:6791:2: rule__XAndExpression__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAndExpression__Group__1__Impl();
@@ -23481,41 +23525,41 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group__1__Impl"
-    // InternalSignalDSL.g:6769:1: rule__XAndExpression__Group__1__Impl : ( ( rule__XAndExpression__Group_1__0 )* ) ;
+    // InternalSignalDSL.g:6797:1: rule__XAndExpression__Group__1__Impl : ( ( rule__XAndExpression__Group_1__0 )* ) ;
     public final void rule__XAndExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6773:1: ( ( ( rule__XAndExpression__Group_1__0 )* ) )
-            // InternalSignalDSL.g:6774:1: ( ( rule__XAndExpression__Group_1__0 )* )
+            // InternalSignalDSL.g:6801:1: ( ( ( rule__XAndExpression__Group_1__0 )* ) )
+            // InternalSignalDSL.g:6802:1: ( ( rule__XAndExpression__Group_1__0 )* )
             {
-            // InternalSignalDSL.g:6774:1: ( ( rule__XAndExpression__Group_1__0 )* )
-            // InternalSignalDSL.g:6775:2: ( rule__XAndExpression__Group_1__0 )*
+            // InternalSignalDSL.g:6802:1: ( ( rule__XAndExpression__Group_1__0 )* )
+            // InternalSignalDSL.g:6803:2: ( rule__XAndExpression__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getGroup_1()); 
             }
-            // InternalSignalDSL.g:6776:2: ( rule__XAndExpression__Group_1__0 )*
-            loop71:
+            // InternalSignalDSL.g:6804:2: ( rule__XAndExpression__Group_1__0 )*
+            loop72:
             do {
-                int alt71=2;
-                int LA71_0 = input.LA(1);
+                int alt72=2;
+                int LA72_0 = input.LA(1);
 
-                if ( (LA71_0==15) ) {
-                    int LA71_2 = input.LA(2);
+                if ( (LA72_0==15) ) {
+                    int LA72_2 = input.LA(2);
 
-                    if ( (synpred119_InternalSignalDSL()) ) {
-                        alt71=1;
+                    if ( (synpred116_InternalSignalDSL()) ) {
+                        alt72=1;
                     }
 
 
                 }
 
 
-                switch (alt71) {
+                switch (alt72) {
             	case 1 :
-            	    // InternalSignalDSL.g:6776:3: rule__XAndExpression__Group_1__0
+            	    // InternalSignalDSL.g:6804:3: rule__XAndExpression__Group_1__0
             	    {
             	    pushFollow(FOLLOW_47);
             	    rule__XAndExpression__Group_1__0();
@@ -23527,7 +23571,7 @@
             	    break;
 
             	default :
-            	    break loop71;
+            	    break loop72;
                 }
             } while (true);
 
@@ -23556,14 +23600,14 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1__0"
-    // InternalSignalDSL.g:6785:1: rule__XAndExpression__Group_1__0 : rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1 ;
+    // InternalSignalDSL.g:6813:1: rule__XAndExpression__Group_1__0 : rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1 ;
     public final void rule__XAndExpression__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6789:1: ( rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1 )
-            // InternalSignalDSL.g:6790:2: rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1
+            // InternalSignalDSL.g:6817:1: ( rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1 )
+            // InternalSignalDSL.g:6818:2: rule__XAndExpression__Group_1__0__Impl rule__XAndExpression__Group_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XAndExpression__Group_1__0__Impl();
@@ -23594,23 +23638,23 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1__0__Impl"
-    // InternalSignalDSL.g:6797:1: rule__XAndExpression__Group_1__0__Impl : ( ( rule__XAndExpression__Group_1_0__0 ) ) ;
+    // InternalSignalDSL.g:6825:1: rule__XAndExpression__Group_1__0__Impl : ( ( rule__XAndExpression__Group_1_0__0 ) ) ;
     public final void rule__XAndExpression__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6801:1: ( ( ( rule__XAndExpression__Group_1_0__0 ) ) )
-            // InternalSignalDSL.g:6802:1: ( ( rule__XAndExpression__Group_1_0__0 ) )
+            // InternalSignalDSL.g:6829:1: ( ( ( rule__XAndExpression__Group_1_0__0 ) ) )
+            // InternalSignalDSL.g:6830:1: ( ( rule__XAndExpression__Group_1_0__0 ) )
             {
-            // InternalSignalDSL.g:6802:1: ( ( rule__XAndExpression__Group_1_0__0 ) )
-            // InternalSignalDSL.g:6803:2: ( rule__XAndExpression__Group_1_0__0 )
+            // InternalSignalDSL.g:6830:1: ( ( rule__XAndExpression__Group_1_0__0 ) )
+            // InternalSignalDSL.g:6831:2: ( rule__XAndExpression__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getGroup_1_0()); 
             }
-            // InternalSignalDSL.g:6804:2: ( rule__XAndExpression__Group_1_0__0 )
-            // InternalSignalDSL.g:6804:3: rule__XAndExpression__Group_1_0__0
+            // InternalSignalDSL.g:6832:2: ( rule__XAndExpression__Group_1_0__0 )
+            // InternalSignalDSL.g:6832:3: rule__XAndExpression__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAndExpression__Group_1_0__0();
@@ -23645,14 +23689,14 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1__1"
-    // InternalSignalDSL.g:6812:1: rule__XAndExpression__Group_1__1 : rule__XAndExpression__Group_1__1__Impl ;
+    // InternalSignalDSL.g:6840:1: rule__XAndExpression__Group_1__1 : rule__XAndExpression__Group_1__1__Impl ;
     public final void rule__XAndExpression__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6816:1: ( rule__XAndExpression__Group_1__1__Impl )
-            // InternalSignalDSL.g:6817:2: rule__XAndExpression__Group_1__1__Impl
+            // InternalSignalDSL.g:6844:1: ( rule__XAndExpression__Group_1__1__Impl )
+            // InternalSignalDSL.g:6845:2: rule__XAndExpression__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAndExpression__Group_1__1__Impl();
@@ -23678,23 +23722,23 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1__1__Impl"
-    // InternalSignalDSL.g:6823:1: rule__XAndExpression__Group_1__1__Impl : ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) ;
+    // InternalSignalDSL.g:6851:1: rule__XAndExpression__Group_1__1__Impl : ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) ;
     public final void rule__XAndExpression__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6827:1: ( ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) )
-            // InternalSignalDSL.g:6828:1: ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) )
+            // InternalSignalDSL.g:6855:1: ( ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) ) )
+            // InternalSignalDSL.g:6856:1: ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) )
             {
-            // InternalSignalDSL.g:6828:1: ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) )
-            // InternalSignalDSL.g:6829:2: ( rule__XAndExpression__RightOperandAssignment_1_1 )
+            // InternalSignalDSL.g:6856:1: ( ( rule__XAndExpression__RightOperandAssignment_1_1 ) )
+            // InternalSignalDSL.g:6857:2: ( rule__XAndExpression__RightOperandAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1()); 
             }
-            // InternalSignalDSL.g:6830:2: ( rule__XAndExpression__RightOperandAssignment_1_1 )
-            // InternalSignalDSL.g:6830:3: rule__XAndExpression__RightOperandAssignment_1_1
+            // InternalSignalDSL.g:6858:2: ( rule__XAndExpression__RightOperandAssignment_1_1 )
+            // InternalSignalDSL.g:6858:3: rule__XAndExpression__RightOperandAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAndExpression__RightOperandAssignment_1_1();
@@ -23729,14 +23773,14 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1_0__0"
-    // InternalSignalDSL.g:6839:1: rule__XAndExpression__Group_1_0__0 : rule__XAndExpression__Group_1_0__0__Impl ;
+    // InternalSignalDSL.g:6867:1: rule__XAndExpression__Group_1_0__0 : rule__XAndExpression__Group_1_0__0__Impl ;
     public final void rule__XAndExpression__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6843:1: ( rule__XAndExpression__Group_1_0__0__Impl )
-            // InternalSignalDSL.g:6844:2: rule__XAndExpression__Group_1_0__0__Impl
+            // InternalSignalDSL.g:6871:1: ( rule__XAndExpression__Group_1_0__0__Impl )
+            // InternalSignalDSL.g:6872:2: rule__XAndExpression__Group_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAndExpression__Group_1_0__0__Impl();
@@ -23762,23 +23806,23 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1_0__0__Impl"
-    // InternalSignalDSL.g:6850:1: rule__XAndExpression__Group_1_0__0__Impl : ( ( rule__XAndExpression__Group_1_0_0__0 ) ) ;
+    // InternalSignalDSL.g:6878:1: rule__XAndExpression__Group_1_0__0__Impl : ( ( rule__XAndExpression__Group_1_0_0__0 ) ) ;
     public final void rule__XAndExpression__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6854:1: ( ( ( rule__XAndExpression__Group_1_0_0__0 ) ) )
-            // InternalSignalDSL.g:6855:1: ( ( rule__XAndExpression__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:6882:1: ( ( ( rule__XAndExpression__Group_1_0_0__0 ) ) )
+            // InternalSignalDSL.g:6883:1: ( ( rule__XAndExpression__Group_1_0_0__0 ) )
             {
-            // InternalSignalDSL.g:6855:1: ( ( rule__XAndExpression__Group_1_0_0__0 ) )
-            // InternalSignalDSL.g:6856:2: ( rule__XAndExpression__Group_1_0_0__0 )
+            // InternalSignalDSL.g:6883:1: ( ( rule__XAndExpression__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:6884:2: ( rule__XAndExpression__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0()); 
             }
-            // InternalSignalDSL.g:6857:2: ( rule__XAndExpression__Group_1_0_0__0 )
-            // InternalSignalDSL.g:6857:3: rule__XAndExpression__Group_1_0_0__0
+            // InternalSignalDSL.g:6885:2: ( rule__XAndExpression__Group_1_0_0__0 )
+            // InternalSignalDSL.g:6885:3: rule__XAndExpression__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAndExpression__Group_1_0_0__0();
@@ -23813,14 +23857,14 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1_0_0__0"
-    // InternalSignalDSL.g:6866:1: rule__XAndExpression__Group_1_0_0__0 : rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1 ;
+    // InternalSignalDSL.g:6894:1: rule__XAndExpression__Group_1_0_0__0 : rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1 ;
     public final void rule__XAndExpression__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6870:1: ( rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1 )
-            // InternalSignalDSL.g:6871:2: rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1
+            // InternalSignalDSL.g:6898:1: ( rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1 )
+            // InternalSignalDSL.g:6899:2: rule__XAndExpression__Group_1_0_0__0__Impl rule__XAndExpression__Group_1_0_0__1
             {
             pushFollow(FOLLOW_46);
             rule__XAndExpression__Group_1_0_0__0__Impl();
@@ -23851,23 +23895,23 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1_0_0__0__Impl"
-    // InternalSignalDSL.g:6878:1: rule__XAndExpression__Group_1_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:6906:1: rule__XAndExpression__Group_1_0_0__0__Impl : ( () ) ;
     public final void rule__XAndExpression__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6882:1: ( ( () ) )
-            // InternalSignalDSL.g:6883:1: ( () )
+            // InternalSignalDSL.g:6910:1: ( ( () ) )
+            // InternalSignalDSL.g:6911:1: ( () )
             {
-            // InternalSignalDSL.g:6883:1: ( () )
-            // InternalSignalDSL.g:6884:2: ()
+            // InternalSignalDSL.g:6911:1: ( () )
+            // InternalSignalDSL.g:6912:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); 
             }
-            // InternalSignalDSL.g:6885:2: ()
-            // InternalSignalDSL.g:6885:3: 
+            // InternalSignalDSL.g:6913:2: ()
+            // InternalSignalDSL.g:6913:3: 
             {
             }
 
@@ -23892,14 +23936,14 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1_0_0__1"
-    // InternalSignalDSL.g:6893:1: rule__XAndExpression__Group_1_0_0__1 : rule__XAndExpression__Group_1_0_0__1__Impl ;
+    // InternalSignalDSL.g:6921:1: rule__XAndExpression__Group_1_0_0__1 : rule__XAndExpression__Group_1_0_0__1__Impl ;
     public final void rule__XAndExpression__Group_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6897:1: ( rule__XAndExpression__Group_1_0_0__1__Impl )
-            // InternalSignalDSL.g:6898:2: rule__XAndExpression__Group_1_0_0__1__Impl
+            // InternalSignalDSL.g:6925:1: ( rule__XAndExpression__Group_1_0_0__1__Impl )
+            // InternalSignalDSL.g:6926:2: rule__XAndExpression__Group_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAndExpression__Group_1_0_0__1__Impl();
@@ -23925,23 +23969,23 @@
 
 
     // $ANTLR start "rule__XAndExpression__Group_1_0_0__1__Impl"
-    // InternalSignalDSL.g:6904:1: rule__XAndExpression__Group_1_0_0__1__Impl : ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) ;
+    // InternalSignalDSL.g:6932:1: rule__XAndExpression__Group_1_0_0__1__Impl : ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) ;
     public final void rule__XAndExpression__Group_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6908:1: ( ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) )
-            // InternalSignalDSL.g:6909:1: ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalSignalDSL.g:6936:1: ( ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) ) )
+            // InternalSignalDSL.g:6937:1: ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) )
             {
-            // InternalSignalDSL.g:6909:1: ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) )
-            // InternalSignalDSL.g:6910:2: ( rule__XAndExpression__FeatureAssignment_1_0_0_1 )
+            // InternalSignalDSL.g:6937:1: ( ( rule__XAndExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalSignalDSL.g:6938:2: ( rule__XAndExpression__FeatureAssignment_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1()); 
             }
-            // InternalSignalDSL.g:6911:2: ( rule__XAndExpression__FeatureAssignment_1_0_0_1 )
-            // InternalSignalDSL.g:6911:3: rule__XAndExpression__FeatureAssignment_1_0_0_1
+            // InternalSignalDSL.g:6939:2: ( rule__XAndExpression__FeatureAssignment_1_0_0_1 )
+            // InternalSignalDSL.g:6939:3: rule__XAndExpression__FeatureAssignment_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XAndExpression__FeatureAssignment_1_0_0_1();
@@ -23976,14 +24020,14 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group__0"
-    // InternalSignalDSL.g:6920:1: rule__XEqualityExpression__Group__0 : rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1 ;
+    // InternalSignalDSL.g:6948:1: rule__XEqualityExpression__Group__0 : rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1 ;
     public final void rule__XEqualityExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6924:1: ( rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1 )
-            // InternalSignalDSL.g:6925:2: rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1
+            // InternalSignalDSL.g:6952:1: ( rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1 )
+            // InternalSignalDSL.g:6953:2: rule__XEqualityExpression__Group__0__Impl rule__XEqualityExpression__Group__1
             {
             pushFollow(FOLLOW_48);
             rule__XEqualityExpression__Group__0__Impl();
@@ -24014,17 +24058,17 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group__0__Impl"
-    // InternalSignalDSL.g:6932:1: rule__XEqualityExpression__Group__0__Impl : ( ruleXRelationalExpression ) ;
+    // InternalSignalDSL.g:6960:1: rule__XEqualityExpression__Group__0__Impl : ( ruleXRelationalExpression ) ;
     public final void rule__XEqualityExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6936:1: ( ( ruleXRelationalExpression ) )
-            // InternalSignalDSL.g:6937:1: ( ruleXRelationalExpression )
+            // InternalSignalDSL.g:6964:1: ( ( ruleXRelationalExpression ) )
+            // InternalSignalDSL.g:6965:1: ( ruleXRelationalExpression )
             {
-            // InternalSignalDSL.g:6937:1: ( ruleXRelationalExpression )
-            // InternalSignalDSL.g:6938:2: ruleXRelationalExpression
+            // InternalSignalDSL.g:6965:1: ( ruleXRelationalExpression )
+            // InternalSignalDSL.g:6966:2: ruleXRelationalExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); 
@@ -24059,14 +24103,14 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group__1"
-    // InternalSignalDSL.g:6947:1: rule__XEqualityExpression__Group__1 : rule__XEqualityExpression__Group__1__Impl ;
+    // InternalSignalDSL.g:6975:1: rule__XEqualityExpression__Group__1 : rule__XEqualityExpression__Group__1__Impl ;
     public final void rule__XEqualityExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6951:1: ( rule__XEqualityExpression__Group__1__Impl )
-            // InternalSignalDSL.g:6952:2: rule__XEqualityExpression__Group__1__Impl
+            // InternalSignalDSL.g:6979:1: ( rule__XEqualityExpression__Group__1__Impl )
+            // InternalSignalDSL.g:6980:2: rule__XEqualityExpression__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XEqualityExpression__Group__1__Impl();
@@ -24092,32 +24136,32 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group__1__Impl"
-    // InternalSignalDSL.g:6958:1: rule__XEqualityExpression__Group__1__Impl : ( ( rule__XEqualityExpression__Group_1__0 )* ) ;
+    // InternalSignalDSL.g:6986:1: rule__XEqualityExpression__Group__1__Impl : ( ( rule__XEqualityExpression__Group_1__0 )* ) ;
     public final void rule__XEqualityExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6962:1: ( ( ( rule__XEqualityExpression__Group_1__0 )* ) )
-            // InternalSignalDSL.g:6963:1: ( ( rule__XEqualityExpression__Group_1__0 )* )
+            // InternalSignalDSL.g:6990:1: ( ( ( rule__XEqualityExpression__Group_1__0 )* ) )
+            // InternalSignalDSL.g:6991:1: ( ( rule__XEqualityExpression__Group_1__0 )* )
             {
-            // InternalSignalDSL.g:6963:1: ( ( rule__XEqualityExpression__Group_1__0 )* )
-            // InternalSignalDSL.g:6964:2: ( rule__XEqualityExpression__Group_1__0 )*
+            // InternalSignalDSL.g:6991:1: ( ( rule__XEqualityExpression__Group_1__0 )* )
+            // InternalSignalDSL.g:6992:2: ( rule__XEqualityExpression__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getGroup_1()); 
             }
-            // InternalSignalDSL.g:6965:2: ( rule__XEqualityExpression__Group_1__0 )*
-            loop72:
+            // InternalSignalDSL.g:6993:2: ( rule__XEqualityExpression__Group_1__0 )*
+            loop73:
             do {
-                int alt72=2;
+                int alt73=2;
                 switch ( input.LA(1) ) {
                 case 21:
                     {
-                    int LA72_2 = input.LA(2);
+                    int LA73_2 = input.LA(2);
 
-                    if ( (synpred120_InternalSignalDSL()) ) {
-                        alt72=1;
+                    if ( (synpred117_InternalSignalDSL()) ) {
+                        alt73=1;
                     }
 
 
@@ -24125,10 +24169,10 @@
                     break;
                 case 22:
                     {
-                    int LA72_3 = input.LA(2);
+                    int LA73_3 = input.LA(2);
 
-                    if ( (synpred120_InternalSignalDSL()) ) {
-                        alt72=1;
+                    if ( (synpred117_InternalSignalDSL()) ) {
+                        alt73=1;
                     }
 
 
@@ -24136,10 +24180,10 @@
                     break;
                 case 23:
                     {
-                    int LA72_4 = input.LA(2);
+                    int LA73_4 = input.LA(2);
 
-                    if ( (synpred120_InternalSignalDSL()) ) {
-                        alt72=1;
+                    if ( (synpred117_InternalSignalDSL()) ) {
+                        alt73=1;
                     }
 
 
@@ -24147,10 +24191,10 @@
                     break;
                 case 24:
                     {
-                    int LA72_5 = input.LA(2);
+                    int LA73_5 = input.LA(2);
 
-                    if ( (synpred120_InternalSignalDSL()) ) {
-                        alt72=1;
+                    if ( (synpred117_InternalSignalDSL()) ) {
+                        alt73=1;
                     }
 
 
@@ -24159,9 +24203,9 @@
 
                 }
 
-                switch (alt72) {
+                switch (alt73) {
             	case 1 :
-            	    // InternalSignalDSL.g:6965:3: rule__XEqualityExpression__Group_1__0
+            	    // InternalSignalDSL.g:6993:3: rule__XEqualityExpression__Group_1__0
             	    {
             	    pushFollow(FOLLOW_49);
             	    rule__XEqualityExpression__Group_1__0();
@@ -24173,7 +24217,7 @@
             	    break;
 
             	default :
-            	    break loop72;
+            	    break loop73;
                 }
             } while (true);
 
@@ -24202,14 +24246,14 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1__0"
-    // InternalSignalDSL.g:6974:1: rule__XEqualityExpression__Group_1__0 : rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1 ;
+    // InternalSignalDSL.g:7002:1: rule__XEqualityExpression__Group_1__0 : rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1 ;
     public final void rule__XEqualityExpression__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6978:1: ( rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1 )
-            // InternalSignalDSL.g:6979:2: rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1
+            // InternalSignalDSL.g:7006:1: ( rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1 )
+            // InternalSignalDSL.g:7007:2: rule__XEqualityExpression__Group_1__0__Impl rule__XEqualityExpression__Group_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XEqualityExpression__Group_1__0__Impl();
@@ -24240,23 +24284,23 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1__0__Impl"
-    // InternalSignalDSL.g:6986:1: rule__XEqualityExpression__Group_1__0__Impl : ( ( rule__XEqualityExpression__Group_1_0__0 ) ) ;
+    // InternalSignalDSL.g:7014:1: rule__XEqualityExpression__Group_1__0__Impl : ( ( rule__XEqualityExpression__Group_1_0__0 ) ) ;
     public final void rule__XEqualityExpression__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:6990:1: ( ( ( rule__XEqualityExpression__Group_1_0__0 ) ) )
-            // InternalSignalDSL.g:6991:1: ( ( rule__XEqualityExpression__Group_1_0__0 ) )
+            // InternalSignalDSL.g:7018:1: ( ( ( rule__XEqualityExpression__Group_1_0__0 ) ) )
+            // InternalSignalDSL.g:7019:1: ( ( rule__XEqualityExpression__Group_1_0__0 ) )
             {
-            // InternalSignalDSL.g:6991:1: ( ( rule__XEqualityExpression__Group_1_0__0 ) )
-            // InternalSignalDSL.g:6992:2: ( rule__XEqualityExpression__Group_1_0__0 )
+            // InternalSignalDSL.g:7019:1: ( ( rule__XEqualityExpression__Group_1_0__0 ) )
+            // InternalSignalDSL.g:7020:2: ( rule__XEqualityExpression__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0()); 
             }
-            // InternalSignalDSL.g:6993:2: ( rule__XEqualityExpression__Group_1_0__0 )
-            // InternalSignalDSL.g:6993:3: rule__XEqualityExpression__Group_1_0__0
+            // InternalSignalDSL.g:7021:2: ( rule__XEqualityExpression__Group_1_0__0 )
+            // InternalSignalDSL.g:7021:3: rule__XEqualityExpression__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XEqualityExpression__Group_1_0__0();
@@ -24291,14 +24335,14 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1__1"
-    // InternalSignalDSL.g:7001:1: rule__XEqualityExpression__Group_1__1 : rule__XEqualityExpression__Group_1__1__Impl ;
+    // InternalSignalDSL.g:7029:1: rule__XEqualityExpression__Group_1__1 : rule__XEqualityExpression__Group_1__1__Impl ;
     public final void rule__XEqualityExpression__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7005:1: ( rule__XEqualityExpression__Group_1__1__Impl )
-            // InternalSignalDSL.g:7006:2: rule__XEqualityExpression__Group_1__1__Impl
+            // InternalSignalDSL.g:7033:1: ( rule__XEqualityExpression__Group_1__1__Impl )
+            // InternalSignalDSL.g:7034:2: rule__XEqualityExpression__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XEqualityExpression__Group_1__1__Impl();
@@ -24324,23 +24368,23 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1__1__Impl"
-    // InternalSignalDSL.g:7012:1: rule__XEqualityExpression__Group_1__1__Impl : ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) ;
+    // InternalSignalDSL.g:7040:1: rule__XEqualityExpression__Group_1__1__Impl : ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) ;
     public final void rule__XEqualityExpression__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7016:1: ( ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) )
-            // InternalSignalDSL.g:7017:1: ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) )
+            // InternalSignalDSL.g:7044:1: ( ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) ) )
+            // InternalSignalDSL.g:7045:1: ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) )
             {
-            // InternalSignalDSL.g:7017:1: ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) )
-            // InternalSignalDSL.g:7018:2: ( rule__XEqualityExpression__RightOperandAssignment_1_1 )
+            // InternalSignalDSL.g:7045:1: ( ( rule__XEqualityExpression__RightOperandAssignment_1_1 ) )
+            // InternalSignalDSL.g:7046:2: ( rule__XEqualityExpression__RightOperandAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1()); 
             }
-            // InternalSignalDSL.g:7019:2: ( rule__XEqualityExpression__RightOperandAssignment_1_1 )
-            // InternalSignalDSL.g:7019:3: rule__XEqualityExpression__RightOperandAssignment_1_1
+            // InternalSignalDSL.g:7047:2: ( rule__XEqualityExpression__RightOperandAssignment_1_1 )
+            // InternalSignalDSL.g:7047:3: rule__XEqualityExpression__RightOperandAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XEqualityExpression__RightOperandAssignment_1_1();
@@ -24375,14 +24419,14 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1_0__0"
-    // InternalSignalDSL.g:7028:1: rule__XEqualityExpression__Group_1_0__0 : rule__XEqualityExpression__Group_1_0__0__Impl ;
+    // InternalSignalDSL.g:7056:1: rule__XEqualityExpression__Group_1_0__0 : rule__XEqualityExpression__Group_1_0__0__Impl ;
     public final void rule__XEqualityExpression__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7032:1: ( rule__XEqualityExpression__Group_1_0__0__Impl )
-            // InternalSignalDSL.g:7033:2: rule__XEqualityExpression__Group_1_0__0__Impl
+            // InternalSignalDSL.g:7060:1: ( rule__XEqualityExpression__Group_1_0__0__Impl )
+            // InternalSignalDSL.g:7061:2: rule__XEqualityExpression__Group_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XEqualityExpression__Group_1_0__0__Impl();
@@ -24408,23 +24452,23 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1_0__0__Impl"
-    // InternalSignalDSL.g:7039:1: rule__XEqualityExpression__Group_1_0__0__Impl : ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) ;
+    // InternalSignalDSL.g:7067:1: rule__XEqualityExpression__Group_1_0__0__Impl : ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) ;
     public final void rule__XEqualityExpression__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7043:1: ( ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) )
-            // InternalSignalDSL.g:7044:1: ( ( rule__XEqualityExpression__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:7071:1: ( ( ( rule__XEqualityExpression__Group_1_0_0__0 ) ) )
+            // InternalSignalDSL.g:7072:1: ( ( rule__XEqualityExpression__Group_1_0_0__0 ) )
             {
-            // InternalSignalDSL.g:7044:1: ( ( rule__XEqualityExpression__Group_1_0_0__0 ) )
-            // InternalSignalDSL.g:7045:2: ( rule__XEqualityExpression__Group_1_0_0__0 )
+            // InternalSignalDSL.g:7072:1: ( ( rule__XEqualityExpression__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:7073:2: ( rule__XEqualityExpression__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0()); 
             }
-            // InternalSignalDSL.g:7046:2: ( rule__XEqualityExpression__Group_1_0_0__0 )
-            // InternalSignalDSL.g:7046:3: rule__XEqualityExpression__Group_1_0_0__0
+            // InternalSignalDSL.g:7074:2: ( rule__XEqualityExpression__Group_1_0_0__0 )
+            // InternalSignalDSL.g:7074:3: rule__XEqualityExpression__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XEqualityExpression__Group_1_0_0__0();
@@ -24459,14 +24503,14 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__0"
-    // InternalSignalDSL.g:7055:1: rule__XEqualityExpression__Group_1_0_0__0 : rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1 ;
+    // InternalSignalDSL.g:7083:1: rule__XEqualityExpression__Group_1_0_0__0 : rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1 ;
     public final void rule__XEqualityExpression__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7059:1: ( rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1 )
-            // InternalSignalDSL.g:7060:2: rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1
+            // InternalSignalDSL.g:7087:1: ( rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1 )
+            // InternalSignalDSL.g:7088:2: rule__XEqualityExpression__Group_1_0_0__0__Impl rule__XEqualityExpression__Group_1_0_0__1
             {
             pushFollow(FOLLOW_48);
             rule__XEqualityExpression__Group_1_0_0__0__Impl();
@@ -24497,23 +24541,23 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__0__Impl"
-    // InternalSignalDSL.g:7067:1: rule__XEqualityExpression__Group_1_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:7095:1: rule__XEqualityExpression__Group_1_0_0__0__Impl : ( () ) ;
     public final void rule__XEqualityExpression__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7071:1: ( ( () ) )
-            // InternalSignalDSL.g:7072:1: ( () )
+            // InternalSignalDSL.g:7099:1: ( ( () ) )
+            // InternalSignalDSL.g:7100:1: ( () )
             {
-            // InternalSignalDSL.g:7072:1: ( () )
-            // InternalSignalDSL.g:7073:2: ()
+            // InternalSignalDSL.g:7100:1: ( () )
+            // InternalSignalDSL.g:7101:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); 
             }
-            // InternalSignalDSL.g:7074:2: ()
-            // InternalSignalDSL.g:7074:3: 
+            // InternalSignalDSL.g:7102:2: ()
+            // InternalSignalDSL.g:7102:3: 
             {
             }
 
@@ -24538,14 +24582,14 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__1"
-    // InternalSignalDSL.g:7082:1: rule__XEqualityExpression__Group_1_0_0__1 : rule__XEqualityExpression__Group_1_0_0__1__Impl ;
+    // InternalSignalDSL.g:7110:1: rule__XEqualityExpression__Group_1_0_0__1 : rule__XEqualityExpression__Group_1_0_0__1__Impl ;
     public final void rule__XEqualityExpression__Group_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7086:1: ( rule__XEqualityExpression__Group_1_0_0__1__Impl )
-            // InternalSignalDSL.g:7087:2: rule__XEqualityExpression__Group_1_0_0__1__Impl
+            // InternalSignalDSL.g:7114:1: ( rule__XEqualityExpression__Group_1_0_0__1__Impl )
+            // InternalSignalDSL.g:7115:2: rule__XEqualityExpression__Group_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XEqualityExpression__Group_1_0_0__1__Impl();
@@ -24571,23 +24615,23 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__Group_1_0_0__1__Impl"
-    // InternalSignalDSL.g:7093:1: rule__XEqualityExpression__Group_1_0_0__1__Impl : ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) ;
+    // InternalSignalDSL.g:7121:1: rule__XEqualityExpression__Group_1_0_0__1__Impl : ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) ;
     public final void rule__XEqualityExpression__Group_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7097:1: ( ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) )
-            // InternalSignalDSL.g:7098:1: ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalSignalDSL.g:7125:1: ( ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) ) )
+            // InternalSignalDSL.g:7126:1: ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) )
             {
-            // InternalSignalDSL.g:7098:1: ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) )
-            // InternalSignalDSL.g:7099:2: ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 )
+            // InternalSignalDSL.g:7126:1: ( ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalSignalDSL.g:7127:2: ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1()); 
             }
-            // InternalSignalDSL.g:7100:2: ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 )
-            // InternalSignalDSL.g:7100:3: rule__XEqualityExpression__FeatureAssignment_1_0_0_1
+            // InternalSignalDSL.g:7128:2: ( rule__XEqualityExpression__FeatureAssignment_1_0_0_1 )
+            // InternalSignalDSL.g:7128:3: rule__XEqualityExpression__FeatureAssignment_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XEqualityExpression__FeatureAssignment_1_0_0_1();
@@ -24622,14 +24666,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group__0"
-    // InternalSignalDSL.g:7109:1: rule__XRelationalExpression__Group__0 : rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1 ;
+    // InternalSignalDSL.g:7137:1: rule__XRelationalExpression__Group__0 : rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1 ;
     public final void rule__XRelationalExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7113:1: ( rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1 )
-            // InternalSignalDSL.g:7114:2: rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1
+            // InternalSignalDSL.g:7141:1: ( rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1 )
+            // InternalSignalDSL.g:7142:2: rule__XRelationalExpression__Group__0__Impl rule__XRelationalExpression__Group__1
             {
             pushFollow(FOLLOW_50);
             rule__XRelationalExpression__Group__0__Impl();
@@ -24660,17 +24704,17 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group__0__Impl"
-    // InternalSignalDSL.g:7121:1: rule__XRelationalExpression__Group__0__Impl : ( ruleXOtherOperatorExpression ) ;
+    // InternalSignalDSL.g:7149:1: rule__XRelationalExpression__Group__0__Impl : ( ruleXOtherOperatorExpression ) ;
     public final void rule__XRelationalExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7125:1: ( ( ruleXOtherOperatorExpression ) )
-            // InternalSignalDSL.g:7126:1: ( ruleXOtherOperatorExpression )
+            // InternalSignalDSL.g:7153:1: ( ( ruleXOtherOperatorExpression ) )
+            // InternalSignalDSL.g:7154:1: ( ruleXOtherOperatorExpression )
             {
-            // InternalSignalDSL.g:7126:1: ( ruleXOtherOperatorExpression )
-            // InternalSignalDSL.g:7127:2: ruleXOtherOperatorExpression
+            // InternalSignalDSL.g:7154:1: ( ruleXOtherOperatorExpression )
+            // InternalSignalDSL.g:7155:2: ruleXOtherOperatorExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); 
@@ -24705,14 +24749,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group__1"
-    // InternalSignalDSL.g:7136:1: rule__XRelationalExpression__Group__1 : rule__XRelationalExpression__Group__1__Impl ;
+    // InternalSignalDSL.g:7164:1: rule__XRelationalExpression__Group__1 : rule__XRelationalExpression__Group__1__Impl ;
     public final void rule__XRelationalExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7140:1: ( rule__XRelationalExpression__Group__1__Impl )
-            // InternalSignalDSL.g:7141:2: rule__XRelationalExpression__Group__1__Impl
+            // InternalSignalDSL.g:7168:1: ( rule__XRelationalExpression__Group__1__Impl )
+            // InternalSignalDSL.g:7169:2: rule__XRelationalExpression__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group__1__Impl();
@@ -24738,32 +24782,32 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group__1__Impl"
-    // InternalSignalDSL.g:7147:1: rule__XRelationalExpression__Group__1__Impl : ( ( rule__XRelationalExpression__Alternatives_1 )* ) ;
+    // InternalSignalDSL.g:7175:1: rule__XRelationalExpression__Group__1__Impl : ( ( rule__XRelationalExpression__Alternatives_1 )* ) ;
     public final void rule__XRelationalExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7151:1: ( ( ( rule__XRelationalExpression__Alternatives_1 )* ) )
-            // InternalSignalDSL.g:7152:1: ( ( rule__XRelationalExpression__Alternatives_1 )* )
+            // InternalSignalDSL.g:7179:1: ( ( ( rule__XRelationalExpression__Alternatives_1 )* ) )
+            // InternalSignalDSL.g:7180:1: ( ( rule__XRelationalExpression__Alternatives_1 )* )
             {
-            // InternalSignalDSL.g:7152:1: ( ( rule__XRelationalExpression__Alternatives_1 )* )
-            // InternalSignalDSL.g:7153:2: ( rule__XRelationalExpression__Alternatives_1 )*
+            // InternalSignalDSL.g:7180:1: ( ( rule__XRelationalExpression__Alternatives_1 )* )
+            // InternalSignalDSL.g:7181:2: ( rule__XRelationalExpression__Alternatives_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1()); 
             }
-            // InternalSignalDSL.g:7154:2: ( rule__XRelationalExpression__Alternatives_1 )*
-            loop73:
+            // InternalSignalDSL.g:7182:2: ( rule__XRelationalExpression__Alternatives_1 )*
+            loop74:
             do {
-                int alt73=2;
+                int alt74=2;
                 switch ( input.LA(1) ) {
                 case 27:
                     {
-                    int LA73_2 = input.LA(2);
+                    int LA74_2 = input.LA(2);
 
-                    if ( (synpred121_InternalSignalDSL()) ) {
-                        alt73=1;
+                    if ( (synpred118_InternalSignalDSL()) ) {
+                        alt74=1;
                     }
 
 
@@ -24771,21 +24815,21 @@
                     break;
                 case 26:
                     {
-                    int LA73_3 = input.LA(2);
+                    int LA74_3 = input.LA(2);
 
-                    if ( (synpred121_InternalSignalDSL()) ) {
-                        alt73=1;
+                    if ( (synpred118_InternalSignalDSL()) ) {
+                        alt74=1;
                     }
 
 
                     }
                     break;
-                case 80:
+                case 77:
                     {
-                    int LA73_4 = input.LA(2);
+                    int LA74_4 = input.LA(2);
 
-                    if ( (synpred121_InternalSignalDSL()) ) {
-                        alt73=1;
+                    if ( (synpred118_InternalSignalDSL()) ) {
+                        alt74=1;
                     }
 
 
@@ -24793,10 +24837,10 @@
                     break;
                 case 25:
                     {
-                    int LA73_5 = input.LA(2);
+                    int LA74_5 = input.LA(2);
 
-                    if ( (synpred121_InternalSignalDSL()) ) {
-                        alt73=1;
+                    if ( (synpred118_InternalSignalDSL()) ) {
+                        alt74=1;
                     }
 
 
@@ -24805,9 +24849,9 @@
 
                 }
 
-                switch (alt73) {
+                switch (alt74) {
             	case 1 :
-            	    // InternalSignalDSL.g:7154:3: rule__XRelationalExpression__Alternatives_1
+            	    // InternalSignalDSL.g:7182:3: rule__XRelationalExpression__Alternatives_1
             	    {
             	    pushFollow(FOLLOW_51);
             	    rule__XRelationalExpression__Alternatives_1();
@@ -24819,7 +24863,7 @@
             	    break;
 
             	default :
-            	    break loop73;
+            	    break loop74;
                 }
             } while (true);
 
@@ -24848,14 +24892,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0__0"
-    // InternalSignalDSL.g:7163:1: rule__XRelationalExpression__Group_1_0__0 : rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1 ;
+    // InternalSignalDSL.g:7191:1: rule__XRelationalExpression__Group_1_0__0 : rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1 ;
     public final void rule__XRelationalExpression__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7167:1: ( rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1 )
-            // InternalSignalDSL.g:7168:2: rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1
+            // InternalSignalDSL.g:7195:1: ( rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1 )
+            // InternalSignalDSL.g:7196:2: rule__XRelationalExpression__Group_1_0__0__Impl rule__XRelationalExpression__Group_1_0__1
             {
             pushFollow(FOLLOW_52);
             rule__XRelationalExpression__Group_1_0__0__Impl();
@@ -24886,23 +24930,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0__0__Impl"
-    // InternalSignalDSL.g:7175:1: rule__XRelationalExpression__Group_1_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) ;
+    // InternalSignalDSL.g:7203:1: rule__XRelationalExpression__Group_1_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) ;
     public final void rule__XRelationalExpression__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7179:1: ( ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) )
-            // InternalSignalDSL.g:7180:1: ( ( rule__XRelationalExpression__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:7207:1: ( ( ( rule__XRelationalExpression__Group_1_0_0__0 ) ) )
+            // InternalSignalDSL.g:7208:1: ( ( rule__XRelationalExpression__Group_1_0_0__0 ) )
             {
-            // InternalSignalDSL.g:7180:1: ( ( rule__XRelationalExpression__Group_1_0_0__0 ) )
-            // InternalSignalDSL.g:7181:2: ( rule__XRelationalExpression__Group_1_0_0__0 )
+            // InternalSignalDSL.g:7208:1: ( ( rule__XRelationalExpression__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:7209:2: ( rule__XRelationalExpression__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0()); 
             }
-            // InternalSignalDSL.g:7182:2: ( rule__XRelationalExpression__Group_1_0_0__0 )
-            // InternalSignalDSL.g:7182:3: rule__XRelationalExpression__Group_1_0_0__0
+            // InternalSignalDSL.g:7210:2: ( rule__XRelationalExpression__Group_1_0_0__0 )
+            // InternalSignalDSL.g:7210:3: rule__XRelationalExpression__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_0_0__0();
@@ -24937,14 +24981,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0__1"
-    // InternalSignalDSL.g:7190:1: rule__XRelationalExpression__Group_1_0__1 : rule__XRelationalExpression__Group_1_0__1__Impl ;
+    // InternalSignalDSL.g:7218:1: rule__XRelationalExpression__Group_1_0__1 : rule__XRelationalExpression__Group_1_0__1__Impl ;
     public final void rule__XRelationalExpression__Group_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7194:1: ( rule__XRelationalExpression__Group_1_0__1__Impl )
-            // InternalSignalDSL.g:7195:2: rule__XRelationalExpression__Group_1_0__1__Impl
+            // InternalSignalDSL.g:7222:1: ( rule__XRelationalExpression__Group_1_0__1__Impl )
+            // InternalSignalDSL.g:7223:2: rule__XRelationalExpression__Group_1_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_0__1__Impl();
@@ -24970,23 +25014,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0__1__Impl"
-    // InternalSignalDSL.g:7201:1: rule__XRelationalExpression__Group_1_0__1__Impl : ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) ;
+    // InternalSignalDSL.g:7229:1: rule__XRelationalExpression__Group_1_0__1__Impl : ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) ;
     public final void rule__XRelationalExpression__Group_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7205:1: ( ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) )
-            // InternalSignalDSL.g:7206:1: ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) )
+            // InternalSignalDSL.g:7233:1: ( ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) ) )
+            // InternalSignalDSL.g:7234:1: ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) )
             {
-            // InternalSignalDSL.g:7206:1: ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) )
-            // InternalSignalDSL.g:7207:2: ( rule__XRelationalExpression__TypeAssignment_1_0_1 )
+            // InternalSignalDSL.g:7234:1: ( ( rule__XRelationalExpression__TypeAssignment_1_0_1 ) )
+            // InternalSignalDSL.g:7235:2: ( rule__XRelationalExpression__TypeAssignment_1_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1()); 
             }
-            // InternalSignalDSL.g:7208:2: ( rule__XRelationalExpression__TypeAssignment_1_0_1 )
-            // InternalSignalDSL.g:7208:3: rule__XRelationalExpression__TypeAssignment_1_0_1
+            // InternalSignalDSL.g:7236:2: ( rule__XRelationalExpression__TypeAssignment_1_0_1 )
+            // InternalSignalDSL.g:7236:3: rule__XRelationalExpression__TypeAssignment_1_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__TypeAssignment_1_0_1();
@@ -25021,14 +25065,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0_0__0"
-    // InternalSignalDSL.g:7217:1: rule__XRelationalExpression__Group_1_0_0__0 : rule__XRelationalExpression__Group_1_0_0__0__Impl ;
+    // InternalSignalDSL.g:7245:1: rule__XRelationalExpression__Group_1_0_0__0 : rule__XRelationalExpression__Group_1_0_0__0__Impl ;
     public final void rule__XRelationalExpression__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7221:1: ( rule__XRelationalExpression__Group_1_0_0__0__Impl )
-            // InternalSignalDSL.g:7222:2: rule__XRelationalExpression__Group_1_0_0__0__Impl
+            // InternalSignalDSL.g:7249:1: ( rule__XRelationalExpression__Group_1_0_0__0__Impl )
+            // InternalSignalDSL.g:7250:2: rule__XRelationalExpression__Group_1_0_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_0_0__0__Impl();
@@ -25054,23 +25098,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0_0__0__Impl"
-    // InternalSignalDSL.g:7228:1: rule__XRelationalExpression__Group_1_0_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) ;
+    // InternalSignalDSL.g:7256:1: rule__XRelationalExpression__Group_1_0_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) ;
     public final void rule__XRelationalExpression__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7232:1: ( ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) )
-            // InternalSignalDSL.g:7233:1: ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) )
+            // InternalSignalDSL.g:7260:1: ( ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) ) )
+            // InternalSignalDSL.g:7261:1: ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) )
             {
-            // InternalSignalDSL.g:7233:1: ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) )
-            // InternalSignalDSL.g:7234:2: ( rule__XRelationalExpression__Group_1_0_0_0__0 )
+            // InternalSignalDSL.g:7261:1: ( ( rule__XRelationalExpression__Group_1_0_0_0__0 ) )
+            // InternalSignalDSL.g:7262:2: ( rule__XRelationalExpression__Group_1_0_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0()); 
             }
-            // InternalSignalDSL.g:7235:2: ( rule__XRelationalExpression__Group_1_0_0_0__0 )
-            // InternalSignalDSL.g:7235:3: rule__XRelationalExpression__Group_1_0_0_0__0
+            // InternalSignalDSL.g:7263:2: ( rule__XRelationalExpression__Group_1_0_0_0__0 )
+            // InternalSignalDSL.g:7263:3: rule__XRelationalExpression__Group_1_0_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_0_0_0__0();
@@ -25105,14 +25149,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__0"
-    // InternalSignalDSL.g:7244:1: rule__XRelationalExpression__Group_1_0_0_0__0 : rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1 ;
+    // InternalSignalDSL.g:7272:1: rule__XRelationalExpression__Group_1_0_0_0__0 : rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1 ;
     public final void rule__XRelationalExpression__Group_1_0_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7248:1: ( rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1 )
-            // InternalSignalDSL.g:7249:2: rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1
+            // InternalSignalDSL.g:7276:1: ( rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1 )
+            // InternalSignalDSL.g:7277:2: rule__XRelationalExpression__Group_1_0_0_0__0__Impl rule__XRelationalExpression__Group_1_0_0_0__1
             {
             pushFollow(FOLLOW_53);
             rule__XRelationalExpression__Group_1_0_0_0__0__Impl();
@@ -25143,23 +25187,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__0__Impl"
-    // InternalSignalDSL.g:7256:1: rule__XRelationalExpression__Group_1_0_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:7284:1: rule__XRelationalExpression__Group_1_0_0_0__0__Impl : ( () ) ;
     public final void rule__XRelationalExpression__Group_1_0_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7260:1: ( ( () ) )
-            // InternalSignalDSL.g:7261:1: ( () )
+            // InternalSignalDSL.g:7288:1: ( ( () ) )
+            // InternalSignalDSL.g:7289:1: ( () )
             {
-            // InternalSignalDSL.g:7261:1: ( () )
-            // InternalSignalDSL.g:7262:2: ()
+            // InternalSignalDSL.g:7289:1: ( () )
+            // InternalSignalDSL.g:7290:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0()); 
             }
-            // InternalSignalDSL.g:7263:2: ()
-            // InternalSignalDSL.g:7263:3: 
+            // InternalSignalDSL.g:7291:2: ()
+            // InternalSignalDSL.g:7291:3: 
             {
             }
 
@@ -25184,14 +25228,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__1"
-    // InternalSignalDSL.g:7271:1: rule__XRelationalExpression__Group_1_0_0_0__1 : rule__XRelationalExpression__Group_1_0_0_0__1__Impl ;
+    // InternalSignalDSL.g:7299:1: rule__XRelationalExpression__Group_1_0_0_0__1 : rule__XRelationalExpression__Group_1_0_0_0__1__Impl ;
     public final void rule__XRelationalExpression__Group_1_0_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7275:1: ( rule__XRelationalExpression__Group_1_0_0_0__1__Impl )
-            // InternalSignalDSL.g:7276:2: rule__XRelationalExpression__Group_1_0_0_0__1__Impl
+            // InternalSignalDSL.g:7303:1: ( rule__XRelationalExpression__Group_1_0_0_0__1__Impl )
+            // InternalSignalDSL.g:7304:2: rule__XRelationalExpression__Group_1_0_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_0_0_0__1__Impl();
@@ -25217,22 +25261,22 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_0_0_0__1__Impl"
-    // InternalSignalDSL.g:7282:1: rule__XRelationalExpression__Group_1_0_0_0__1__Impl : ( 'instanceof' ) ;
+    // InternalSignalDSL.g:7310:1: rule__XRelationalExpression__Group_1_0_0_0__1__Impl : ( 'instanceof' ) ;
     public final void rule__XRelationalExpression__Group_1_0_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7286:1: ( ( 'instanceof' ) )
-            // InternalSignalDSL.g:7287:1: ( 'instanceof' )
+            // InternalSignalDSL.g:7314:1: ( ( 'instanceof' ) )
+            // InternalSignalDSL.g:7315:1: ( 'instanceof' )
             {
-            // InternalSignalDSL.g:7287:1: ( 'instanceof' )
-            // InternalSignalDSL.g:7288:2: 'instanceof'
+            // InternalSignalDSL.g:7315:1: ( 'instanceof' )
+            // InternalSignalDSL.g:7316:2: 'instanceof'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); 
             }
-            match(input,80,FOLLOW_2); if (state.failed) return ;
+            match(input,77,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); 
             }
@@ -25258,14 +25302,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1__0"
-    // InternalSignalDSL.g:7298:1: rule__XRelationalExpression__Group_1_1__0 : rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1 ;
+    // InternalSignalDSL.g:7326:1: rule__XRelationalExpression__Group_1_1__0 : rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1 ;
     public final void rule__XRelationalExpression__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7302:1: ( rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1 )
-            // InternalSignalDSL.g:7303:2: rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1
+            // InternalSignalDSL.g:7330:1: ( rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1 )
+            // InternalSignalDSL.g:7331:2: rule__XRelationalExpression__Group_1_1__0__Impl rule__XRelationalExpression__Group_1_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XRelationalExpression__Group_1_1__0__Impl();
@@ -25296,23 +25340,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1__0__Impl"
-    // InternalSignalDSL.g:7310:1: rule__XRelationalExpression__Group_1_1__0__Impl : ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) ;
+    // InternalSignalDSL.g:7338:1: rule__XRelationalExpression__Group_1_1__0__Impl : ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) ;
     public final void rule__XRelationalExpression__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7314:1: ( ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) )
-            // InternalSignalDSL.g:7315:1: ( ( rule__XRelationalExpression__Group_1_1_0__0 ) )
+            // InternalSignalDSL.g:7342:1: ( ( ( rule__XRelationalExpression__Group_1_1_0__0 ) ) )
+            // InternalSignalDSL.g:7343:1: ( ( rule__XRelationalExpression__Group_1_1_0__0 ) )
             {
-            // InternalSignalDSL.g:7315:1: ( ( rule__XRelationalExpression__Group_1_1_0__0 ) )
-            // InternalSignalDSL.g:7316:2: ( rule__XRelationalExpression__Group_1_1_0__0 )
+            // InternalSignalDSL.g:7343:1: ( ( rule__XRelationalExpression__Group_1_1_0__0 ) )
+            // InternalSignalDSL.g:7344:2: ( rule__XRelationalExpression__Group_1_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0()); 
             }
-            // InternalSignalDSL.g:7317:2: ( rule__XRelationalExpression__Group_1_1_0__0 )
-            // InternalSignalDSL.g:7317:3: rule__XRelationalExpression__Group_1_1_0__0
+            // InternalSignalDSL.g:7345:2: ( rule__XRelationalExpression__Group_1_1_0__0 )
+            // InternalSignalDSL.g:7345:3: rule__XRelationalExpression__Group_1_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_1_0__0();
@@ -25347,14 +25391,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1__1"
-    // InternalSignalDSL.g:7325:1: rule__XRelationalExpression__Group_1_1__1 : rule__XRelationalExpression__Group_1_1__1__Impl ;
+    // InternalSignalDSL.g:7353:1: rule__XRelationalExpression__Group_1_1__1 : rule__XRelationalExpression__Group_1_1__1__Impl ;
     public final void rule__XRelationalExpression__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7329:1: ( rule__XRelationalExpression__Group_1_1__1__Impl )
-            // InternalSignalDSL.g:7330:2: rule__XRelationalExpression__Group_1_1__1__Impl
+            // InternalSignalDSL.g:7357:1: ( rule__XRelationalExpression__Group_1_1__1__Impl )
+            // InternalSignalDSL.g:7358:2: rule__XRelationalExpression__Group_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_1__1__Impl();
@@ -25380,23 +25424,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1__1__Impl"
-    // InternalSignalDSL.g:7336:1: rule__XRelationalExpression__Group_1_1__1__Impl : ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) ;
+    // InternalSignalDSL.g:7364:1: rule__XRelationalExpression__Group_1_1__1__Impl : ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) ;
     public final void rule__XRelationalExpression__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7340:1: ( ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) )
-            // InternalSignalDSL.g:7341:1: ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) )
+            // InternalSignalDSL.g:7368:1: ( ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) ) )
+            // InternalSignalDSL.g:7369:1: ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) )
             {
-            // InternalSignalDSL.g:7341:1: ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) )
-            // InternalSignalDSL.g:7342:2: ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 )
+            // InternalSignalDSL.g:7369:1: ( ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 ) )
+            // InternalSignalDSL.g:7370:2: ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1()); 
             }
-            // InternalSignalDSL.g:7343:2: ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 )
-            // InternalSignalDSL.g:7343:3: rule__XRelationalExpression__RightOperandAssignment_1_1_1
+            // InternalSignalDSL.g:7371:2: ( rule__XRelationalExpression__RightOperandAssignment_1_1_1 )
+            // InternalSignalDSL.g:7371:3: rule__XRelationalExpression__RightOperandAssignment_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__RightOperandAssignment_1_1_1();
@@ -25431,14 +25475,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1_0__0"
-    // InternalSignalDSL.g:7352:1: rule__XRelationalExpression__Group_1_1_0__0 : rule__XRelationalExpression__Group_1_1_0__0__Impl ;
+    // InternalSignalDSL.g:7380:1: rule__XRelationalExpression__Group_1_1_0__0 : rule__XRelationalExpression__Group_1_1_0__0__Impl ;
     public final void rule__XRelationalExpression__Group_1_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7356:1: ( rule__XRelationalExpression__Group_1_1_0__0__Impl )
-            // InternalSignalDSL.g:7357:2: rule__XRelationalExpression__Group_1_1_0__0__Impl
+            // InternalSignalDSL.g:7384:1: ( rule__XRelationalExpression__Group_1_1_0__0__Impl )
+            // InternalSignalDSL.g:7385:2: rule__XRelationalExpression__Group_1_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_1_0__0__Impl();
@@ -25464,23 +25508,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1_0__0__Impl"
-    // InternalSignalDSL.g:7363:1: rule__XRelationalExpression__Group_1_1_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) ;
+    // InternalSignalDSL.g:7391:1: rule__XRelationalExpression__Group_1_1_0__0__Impl : ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) ;
     public final void rule__XRelationalExpression__Group_1_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7367:1: ( ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) )
-            // InternalSignalDSL.g:7368:1: ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) )
+            // InternalSignalDSL.g:7395:1: ( ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) ) )
+            // InternalSignalDSL.g:7396:1: ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) )
             {
-            // InternalSignalDSL.g:7368:1: ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) )
-            // InternalSignalDSL.g:7369:2: ( rule__XRelationalExpression__Group_1_1_0_0__0 )
+            // InternalSignalDSL.g:7396:1: ( ( rule__XRelationalExpression__Group_1_1_0_0__0 ) )
+            // InternalSignalDSL.g:7397:2: ( rule__XRelationalExpression__Group_1_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0()); 
             }
-            // InternalSignalDSL.g:7370:2: ( rule__XRelationalExpression__Group_1_1_0_0__0 )
-            // InternalSignalDSL.g:7370:3: rule__XRelationalExpression__Group_1_1_0_0__0
+            // InternalSignalDSL.g:7398:2: ( rule__XRelationalExpression__Group_1_1_0_0__0 )
+            // InternalSignalDSL.g:7398:3: rule__XRelationalExpression__Group_1_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_1_0_0__0();
@@ -25515,14 +25559,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__0"
-    // InternalSignalDSL.g:7379:1: rule__XRelationalExpression__Group_1_1_0_0__0 : rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1 ;
+    // InternalSignalDSL.g:7407:1: rule__XRelationalExpression__Group_1_1_0_0__0 : rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1 ;
     public final void rule__XRelationalExpression__Group_1_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7383:1: ( rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1 )
-            // InternalSignalDSL.g:7384:2: rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1
+            // InternalSignalDSL.g:7411:1: ( rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1 )
+            // InternalSignalDSL.g:7412:2: rule__XRelationalExpression__Group_1_1_0_0__0__Impl rule__XRelationalExpression__Group_1_1_0_0__1
             {
             pushFollow(FOLLOW_50);
             rule__XRelationalExpression__Group_1_1_0_0__0__Impl();
@@ -25553,23 +25597,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__0__Impl"
-    // InternalSignalDSL.g:7391:1: rule__XRelationalExpression__Group_1_1_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:7419:1: rule__XRelationalExpression__Group_1_1_0_0__0__Impl : ( () ) ;
     public final void rule__XRelationalExpression__Group_1_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7395:1: ( ( () ) )
-            // InternalSignalDSL.g:7396:1: ( () )
+            // InternalSignalDSL.g:7423:1: ( ( () ) )
+            // InternalSignalDSL.g:7424:1: ( () )
             {
-            // InternalSignalDSL.g:7396:1: ( () )
-            // InternalSignalDSL.g:7397:2: ()
+            // InternalSignalDSL.g:7424:1: ( () )
+            // InternalSignalDSL.g:7425:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); 
             }
-            // InternalSignalDSL.g:7398:2: ()
-            // InternalSignalDSL.g:7398:3: 
+            // InternalSignalDSL.g:7426:2: ()
+            // InternalSignalDSL.g:7426:3: 
             {
             }
 
@@ -25594,14 +25638,14 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__1"
-    // InternalSignalDSL.g:7406:1: rule__XRelationalExpression__Group_1_1_0_0__1 : rule__XRelationalExpression__Group_1_1_0_0__1__Impl ;
+    // InternalSignalDSL.g:7434:1: rule__XRelationalExpression__Group_1_1_0_0__1 : rule__XRelationalExpression__Group_1_1_0_0__1__Impl ;
     public final void rule__XRelationalExpression__Group_1_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7410:1: ( rule__XRelationalExpression__Group_1_1_0_0__1__Impl )
-            // InternalSignalDSL.g:7411:2: rule__XRelationalExpression__Group_1_1_0_0__1__Impl
+            // InternalSignalDSL.g:7438:1: ( rule__XRelationalExpression__Group_1_1_0_0__1__Impl )
+            // InternalSignalDSL.g:7439:2: rule__XRelationalExpression__Group_1_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__Group_1_1_0_0__1__Impl();
@@ -25627,23 +25671,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__Group_1_1_0_0__1__Impl"
-    // InternalSignalDSL.g:7417:1: rule__XRelationalExpression__Group_1_1_0_0__1__Impl : ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) ;
+    // InternalSignalDSL.g:7445:1: rule__XRelationalExpression__Group_1_1_0_0__1__Impl : ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) ;
     public final void rule__XRelationalExpression__Group_1_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7421:1: ( ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) )
-            // InternalSignalDSL.g:7422:1: ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) )
+            // InternalSignalDSL.g:7449:1: ( ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) ) )
+            // InternalSignalDSL.g:7450:1: ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) )
             {
-            // InternalSignalDSL.g:7422:1: ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) )
-            // InternalSignalDSL.g:7423:2: ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 )
+            // InternalSignalDSL.g:7450:1: ( ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 ) )
+            // InternalSignalDSL.g:7451:2: ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1()); 
             }
-            // InternalSignalDSL.g:7424:2: ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 )
-            // InternalSignalDSL.g:7424:3: rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1
+            // InternalSignalDSL.g:7452:2: ( rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 )
+            // InternalSignalDSL.g:7452:3: rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1();
@@ -25678,14 +25722,14 @@
 
 
     // $ANTLR start "rule__OpCompare__Group_1__0"
-    // InternalSignalDSL.g:7433:1: rule__OpCompare__Group_1__0 : rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1 ;
+    // InternalSignalDSL.g:7461:1: rule__OpCompare__Group_1__0 : rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1 ;
     public final void rule__OpCompare__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7437:1: ( rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1 )
-            // InternalSignalDSL.g:7438:2: rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1
+            // InternalSignalDSL.g:7465:1: ( rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1 )
+            // InternalSignalDSL.g:7466:2: rule__OpCompare__Group_1__0__Impl rule__OpCompare__Group_1__1
             {
             pushFollow(FOLLOW_36);
             rule__OpCompare__Group_1__0__Impl();
@@ -25716,17 +25760,17 @@
 
 
     // $ANTLR start "rule__OpCompare__Group_1__0__Impl"
-    // InternalSignalDSL.g:7445:1: rule__OpCompare__Group_1__0__Impl : ( '<' ) ;
+    // InternalSignalDSL.g:7473:1: rule__OpCompare__Group_1__0__Impl : ( '<' ) ;
     public final void rule__OpCompare__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7449:1: ( ( '<' ) )
-            // InternalSignalDSL.g:7450:1: ( '<' )
+            // InternalSignalDSL.g:7477:1: ( ( '<' ) )
+            // InternalSignalDSL.g:7478:1: ( '<' )
             {
-            // InternalSignalDSL.g:7450:1: ( '<' )
-            // InternalSignalDSL.g:7451:2: '<'
+            // InternalSignalDSL.g:7478:1: ( '<' )
+            // InternalSignalDSL.g:7479:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); 
@@ -25757,14 +25801,14 @@
 
 
     // $ANTLR start "rule__OpCompare__Group_1__1"
-    // InternalSignalDSL.g:7460:1: rule__OpCompare__Group_1__1 : rule__OpCompare__Group_1__1__Impl ;
+    // InternalSignalDSL.g:7488:1: rule__OpCompare__Group_1__1 : rule__OpCompare__Group_1__1__Impl ;
     public final void rule__OpCompare__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7464:1: ( rule__OpCompare__Group_1__1__Impl )
-            // InternalSignalDSL.g:7465:2: rule__OpCompare__Group_1__1__Impl
+            // InternalSignalDSL.g:7492:1: ( rule__OpCompare__Group_1__1__Impl )
+            // InternalSignalDSL.g:7493:2: rule__OpCompare__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpCompare__Group_1__1__Impl();
@@ -25790,17 +25834,17 @@
 
 
     // $ANTLR start "rule__OpCompare__Group_1__1__Impl"
-    // InternalSignalDSL.g:7471:1: rule__OpCompare__Group_1__1__Impl : ( '=' ) ;
+    // InternalSignalDSL.g:7499:1: rule__OpCompare__Group_1__1__Impl : ( '=' ) ;
     public final void rule__OpCompare__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7475:1: ( ( '=' ) )
-            // InternalSignalDSL.g:7476:1: ( '=' )
+            // InternalSignalDSL.g:7503:1: ( ( '=' ) )
+            // InternalSignalDSL.g:7504:1: ( '=' )
             {
-            // InternalSignalDSL.g:7476:1: ( '=' )
-            // InternalSignalDSL.g:7477:2: '='
+            // InternalSignalDSL.g:7504:1: ( '=' )
+            // InternalSignalDSL.g:7505:2: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); 
@@ -25831,14 +25875,14 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group__0"
-    // InternalSignalDSL.g:7487:1: rule__XOtherOperatorExpression__Group__0 : rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1 ;
+    // InternalSignalDSL.g:7515:1: rule__XOtherOperatorExpression__Group__0 : rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1 ;
     public final void rule__XOtherOperatorExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7491:1: ( rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1 )
-            // InternalSignalDSL.g:7492:2: rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1
+            // InternalSignalDSL.g:7519:1: ( rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1 )
+            // InternalSignalDSL.g:7520:2: rule__XOtherOperatorExpression__Group__0__Impl rule__XOtherOperatorExpression__Group__1
             {
             pushFollow(FOLLOW_54);
             rule__XOtherOperatorExpression__Group__0__Impl();
@@ -25869,17 +25913,17 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group__0__Impl"
-    // InternalSignalDSL.g:7499:1: rule__XOtherOperatorExpression__Group__0__Impl : ( ruleXAdditiveExpression ) ;
+    // InternalSignalDSL.g:7527:1: rule__XOtherOperatorExpression__Group__0__Impl : ( ruleXAdditiveExpression ) ;
     public final void rule__XOtherOperatorExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7503:1: ( ( ruleXAdditiveExpression ) )
-            // InternalSignalDSL.g:7504:1: ( ruleXAdditiveExpression )
+            // InternalSignalDSL.g:7531:1: ( ( ruleXAdditiveExpression ) )
+            // InternalSignalDSL.g:7532:1: ( ruleXAdditiveExpression )
             {
-            // InternalSignalDSL.g:7504:1: ( ruleXAdditiveExpression )
-            // InternalSignalDSL.g:7505:2: ruleXAdditiveExpression
+            // InternalSignalDSL.g:7532:1: ( ruleXAdditiveExpression )
+            // InternalSignalDSL.g:7533:2: ruleXAdditiveExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); 
@@ -25914,14 +25958,14 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group__1"
-    // InternalSignalDSL.g:7514:1: rule__XOtherOperatorExpression__Group__1 : rule__XOtherOperatorExpression__Group__1__Impl ;
+    // InternalSignalDSL.g:7542:1: rule__XOtherOperatorExpression__Group__1 : rule__XOtherOperatorExpression__Group__1__Impl ;
     public final void rule__XOtherOperatorExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7518:1: ( rule__XOtherOperatorExpression__Group__1__Impl )
-            // InternalSignalDSL.g:7519:2: rule__XOtherOperatorExpression__Group__1__Impl
+            // InternalSignalDSL.g:7546:1: ( rule__XOtherOperatorExpression__Group__1__Impl )
+            // InternalSignalDSL.g:7547:2: rule__XOtherOperatorExpression__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XOtherOperatorExpression__Group__1__Impl();
@@ -25947,29 +25991,29 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group__1__Impl"
-    // InternalSignalDSL.g:7525:1: rule__XOtherOperatorExpression__Group__1__Impl : ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) ;
+    // InternalSignalDSL.g:7553:1: rule__XOtherOperatorExpression__Group__1__Impl : ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) ;
     public final void rule__XOtherOperatorExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7529:1: ( ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) )
-            // InternalSignalDSL.g:7530:1: ( ( rule__XOtherOperatorExpression__Group_1__0 )* )
+            // InternalSignalDSL.g:7557:1: ( ( ( rule__XOtherOperatorExpression__Group_1__0 )* ) )
+            // InternalSignalDSL.g:7558:1: ( ( rule__XOtherOperatorExpression__Group_1__0 )* )
             {
-            // InternalSignalDSL.g:7530:1: ( ( rule__XOtherOperatorExpression__Group_1__0 )* )
-            // InternalSignalDSL.g:7531:2: ( rule__XOtherOperatorExpression__Group_1__0 )*
+            // InternalSignalDSL.g:7558:1: ( ( rule__XOtherOperatorExpression__Group_1__0 )* )
+            // InternalSignalDSL.g:7559:2: ( rule__XOtherOperatorExpression__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1()); 
             }
-            // InternalSignalDSL.g:7532:2: ( rule__XOtherOperatorExpression__Group_1__0 )*
-            loop74:
+            // InternalSignalDSL.g:7560:2: ( rule__XOtherOperatorExpression__Group_1__0 )*
+            loop75:
             do {
-                int alt74=2;
-                alt74 = dfa74.predict(input);
-                switch (alt74) {
+                int alt75=2;
+                alt75 = dfa75.predict(input);
+                switch (alt75) {
             	case 1 :
-            	    // InternalSignalDSL.g:7532:3: rule__XOtherOperatorExpression__Group_1__0
+            	    // InternalSignalDSL.g:7560:3: rule__XOtherOperatorExpression__Group_1__0
             	    {
             	    pushFollow(FOLLOW_55);
             	    rule__XOtherOperatorExpression__Group_1__0();
@@ -25981,7 +26025,7 @@
             	    break;
 
             	default :
-            	    break loop74;
+            	    break loop75;
                 }
             } while (true);
 
@@ -26010,14 +26054,14 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1__0"
-    // InternalSignalDSL.g:7541:1: rule__XOtherOperatorExpression__Group_1__0 : rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1 ;
+    // InternalSignalDSL.g:7569:1: rule__XOtherOperatorExpression__Group_1__0 : rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1 ;
     public final void rule__XOtherOperatorExpression__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7545:1: ( rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1 )
-            // InternalSignalDSL.g:7546:2: rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1
+            // InternalSignalDSL.g:7573:1: ( rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1 )
+            // InternalSignalDSL.g:7574:2: rule__XOtherOperatorExpression__Group_1__0__Impl rule__XOtherOperatorExpression__Group_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XOtherOperatorExpression__Group_1__0__Impl();
@@ -26048,23 +26092,23 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1__0__Impl"
-    // InternalSignalDSL.g:7553:1: rule__XOtherOperatorExpression__Group_1__0__Impl : ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) ;
+    // InternalSignalDSL.g:7581:1: rule__XOtherOperatorExpression__Group_1__0__Impl : ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) ;
     public final void rule__XOtherOperatorExpression__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7557:1: ( ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) )
-            // InternalSignalDSL.g:7558:1: ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) )
+            // InternalSignalDSL.g:7585:1: ( ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) ) )
+            // InternalSignalDSL.g:7586:1: ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) )
             {
-            // InternalSignalDSL.g:7558:1: ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) )
-            // InternalSignalDSL.g:7559:2: ( rule__XOtherOperatorExpression__Group_1_0__0 )
+            // InternalSignalDSL.g:7586:1: ( ( rule__XOtherOperatorExpression__Group_1_0__0 ) )
+            // InternalSignalDSL.g:7587:2: ( rule__XOtherOperatorExpression__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0()); 
             }
-            // InternalSignalDSL.g:7560:2: ( rule__XOtherOperatorExpression__Group_1_0__0 )
-            // InternalSignalDSL.g:7560:3: rule__XOtherOperatorExpression__Group_1_0__0
+            // InternalSignalDSL.g:7588:2: ( rule__XOtherOperatorExpression__Group_1_0__0 )
+            // InternalSignalDSL.g:7588:3: rule__XOtherOperatorExpression__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XOtherOperatorExpression__Group_1_0__0();
@@ -26099,14 +26143,14 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1__1"
-    // InternalSignalDSL.g:7568:1: rule__XOtherOperatorExpression__Group_1__1 : rule__XOtherOperatorExpression__Group_1__1__Impl ;
+    // InternalSignalDSL.g:7596:1: rule__XOtherOperatorExpression__Group_1__1 : rule__XOtherOperatorExpression__Group_1__1__Impl ;
     public final void rule__XOtherOperatorExpression__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7572:1: ( rule__XOtherOperatorExpression__Group_1__1__Impl )
-            // InternalSignalDSL.g:7573:2: rule__XOtherOperatorExpression__Group_1__1__Impl
+            // InternalSignalDSL.g:7600:1: ( rule__XOtherOperatorExpression__Group_1__1__Impl )
+            // InternalSignalDSL.g:7601:2: rule__XOtherOperatorExpression__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XOtherOperatorExpression__Group_1__1__Impl();
@@ -26132,23 +26176,23 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1__1__Impl"
-    // InternalSignalDSL.g:7579:1: rule__XOtherOperatorExpression__Group_1__1__Impl : ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) ;
+    // InternalSignalDSL.g:7607:1: rule__XOtherOperatorExpression__Group_1__1__Impl : ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) ;
     public final void rule__XOtherOperatorExpression__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7583:1: ( ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) )
-            // InternalSignalDSL.g:7584:1: ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) )
+            // InternalSignalDSL.g:7611:1: ( ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) ) )
+            // InternalSignalDSL.g:7612:1: ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) )
             {
-            // InternalSignalDSL.g:7584:1: ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) )
-            // InternalSignalDSL.g:7585:2: ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 )
+            // InternalSignalDSL.g:7612:1: ( ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 ) )
+            // InternalSignalDSL.g:7613:2: ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1()); 
             }
-            // InternalSignalDSL.g:7586:2: ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 )
-            // InternalSignalDSL.g:7586:3: rule__XOtherOperatorExpression__RightOperandAssignment_1_1
+            // InternalSignalDSL.g:7614:2: ( rule__XOtherOperatorExpression__RightOperandAssignment_1_1 )
+            // InternalSignalDSL.g:7614:3: rule__XOtherOperatorExpression__RightOperandAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XOtherOperatorExpression__RightOperandAssignment_1_1();
@@ -26183,14 +26227,14 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0__0"
-    // InternalSignalDSL.g:7595:1: rule__XOtherOperatorExpression__Group_1_0__0 : rule__XOtherOperatorExpression__Group_1_0__0__Impl ;
+    // InternalSignalDSL.g:7623:1: rule__XOtherOperatorExpression__Group_1_0__0 : rule__XOtherOperatorExpression__Group_1_0__0__Impl ;
     public final void rule__XOtherOperatorExpression__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7599:1: ( rule__XOtherOperatorExpression__Group_1_0__0__Impl )
-            // InternalSignalDSL.g:7600:2: rule__XOtherOperatorExpression__Group_1_0__0__Impl
+            // InternalSignalDSL.g:7627:1: ( rule__XOtherOperatorExpression__Group_1_0__0__Impl )
+            // InternalSignalDSL.g:7628:2: rule__XOtherOperatorExpression__Group_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XOtherOperatorExpression__Group_1_0__0__Impl();
@@ -26216,23 +26260,23 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0__0__Impl"
-    // InternalSignalDSL.g:7606:1: rule__XOtherOperatorExpression__Group_1_0__0__Impl : ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) ;
+    // InternalSignalDSL.g:7634:1: rule__XOtherOperatorExpression__Group_1_0__0__Impl : ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) ;
     public final void rule__XOtherOperatorExpression__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7610:1: ( ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) )
-            // InternalSignalDSL.g:7611:1: ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:7638:1: ( ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) ) )
+            // InternalSignalDSL.g:7639:1: ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) )
             {
-            // InternalSignalDSL.g:7611:1: ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) )
-            // InternalSignalDSL.g:7612:2: ( rule__XOtherOperatorExpression__Group_1_0_0__0 )
+            // InternalSignalDSL.g:7639:1: ( ( rule__XOtherOperatorExpression__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:7640:2: ( rule__XOtherOperatorExpression__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0()); 
             }
-            // InternalSignalDSL.g:7613:2: ( rule__XOtherOperatorExpression__Group_1_0_0__0 )
-            // InternalSignalDSL.g:7613:3: rule__XOtherOperatorExpression__Group_1_0_0__0
+            // InternalSignalDSL.g:7641:2: ( rule__XOtherOperatorExpression__Group_1_0_0__0 )
+            // InternalSignalDSL.g:7641:3: rule__XOtherOperatorExpression__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XOtherOperatorExpression__Group_1_0_0__0();
@@ -26267,14 +26311,14 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__0"
-    // InternalSignalDSL.g:7622:1: rule__XOtherOperatorExpression__Group_1_0_0__0 : rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1 ;
+    // InternalSignalDSL.g:7650:1: rule__XOtherOperatorExpression__Group_1_0_0__0 : rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1 ;
     public final void rule__XOtherOperatorExpression__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7626:1: ( rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1 )
-            // InternalSignalDSL.g:7627:2: rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1
+            // InternalSignalDSL.g:7654:1: ( rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1 )
+            // InternalSignalDSL.g:7655:2: rule__XOtherOperatorExpression__Group_1_0_0__0__Impl rule__XOtherOperatorExpression__Group_1_0_0__1
             {
             pushFollow(FOLLOW_54);
             rule__XOtherOperatorExpression__Group_1_0_0__0__Impl();
@@ -26305,23 +26349,23 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__0__Impl"
-    // InternalSignalDSL.g:7634:1: rule__XOtherOperatorExpression__Group_1_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:7662:1: rule__XOtherOperatorExpression__Group_1_0_0__0__Impl : ( () ) ;
     public final void rule__XOtherOperatorExpression__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7638:1: ( ( () ) )
-            // InternalSignalDSL.g:7639:1: ( () )
+            // InternalSignalDSL.g:7666:1: ( ( () ) )
+            // InternalSignalDSL.g:7667:1: ( () )
             {
-            // InternalSignalDSL.g:7639:1: ( () )
-            // InternalSignalDSL.g:7640:2: ()
+            // InternalSignalDSL.g:7667:1: ( () )
+            // InternalSignalDSL.g:7668:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); 
             }
-            // InternalSignalDSL.g:7641:2: ()
-            // InternalSignalDSL.g:7641:3: 
+            // InternalSignalDSL.g:7669:2: ()
+            // InternalSignalDSL.g:7669:3: 
             {
             }
 
@@ -26346,14 +26390,14 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__1"
-    // InternalSignalDSL.g:7649:1: rule__XOtherOperatorExpression__Group_1_0_0__1 : rule__XOtherOperatorExpression__Group_1_0_0__1__Impl ;
+    // InternalSignalDSL.g:7677:1: rule__XOtherOperatorExpression__Group_1_0_0__1 : rule__XOtherOperatorExpression__Group_1_0_0__1__Impl ;
     public final void rule__XOtherOperatorExpression__Group_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7653:1: ( rule__XOtherOperatorExpression__Group_1_0_0__1__Impl )
-            // InternalSignalDSL.g:7654:2: rule__XOtherOperatorExpression__Group_1_0_0__1__Impl
+            // InternalSignalDSL.g:7681:1: ( rule__XOtherOperatorExpression__Group_1_0_0__1__Impl )
+            // InternalSignalDSL.g:7682:2: rule__XOtherOperatorExpression__Group_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XOtherOperatorExpression__Group_1_0_0__1__Impl();
@@ -26379,23 +26423,23 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__Group_1_0_0__1__Impl"
-    // InternalSignalDSL.g:7660:1: rule__XOtherOperatorExpression__Group_1_0_0__1__Impl : ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) ;
+    // InternalSignalDSL.g:7688:1: rule__XOtherOperatorExpression__Group_1_0_0__1__Impl : ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) ;
     public final void rule__XOtherOperatorExpression__Group_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7664:1: ( ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) )
-            // InternalSignalDSL.g:7665:1: ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalSignalDSL.g:7692:1: ( ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) ) )
+            // InternalSignalDSL.g:7693:1: ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) )
             {
-            // InternalSignalDSL.g:7665:1: ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) )
-            // InternalSignalDSL.g:7666:2: ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 )
+            // InternalSignalDSL.g:7693:1: ( ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalSignalDSL.g:7694:2: ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1()); 
             }
-            // InternalSignalDSL.g:7667:2: ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 )
-            // InternalSignalDSL.g:7667:3: rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1
+            // InternalSignalDSL.g:7695:2: ( rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 )
+            // InternalSignalDSL.g:7695:3: rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1();
@@ -26430,14 +26474,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_2__0"
-    // InternalSignalDSL.g:7676:1: rule__OpOther__Group_2__0 : rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1 ;
+    // InternalSignalDSL.g:7704:1: rule__OpOther__Group_2__0 : rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1 ;
     public final void rule__OpOther__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7680:1: ( rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1 )
-            // InternalSignalDSL.g:7681:2: rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1
+            // InternalSignalDSL.g:7708:1: ( rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1 )
+            // InternalSignalDSL.g:7709:2: rule__OpOther__Group_2__0__Impl rule__OpOther__Group_2__1
             {
             pushFollow(FOLLOW_56);
             rule__OpOther__Group_2__0__Impl();
@@ -26468,17 +26512,17 @@
 
 
     // $ANTLR start "rule__OpOther__Group_2__0__Impl"
-    // InternalSignalDSL.g:7688:1: rule__OpOther__Group_2__0__Impl : ( '>' ) ;
+    // InternalSignalDSL.g:7716:1: rule__OpOther__Group_2__0__Impl : ( '>' ) ;
     public final void rule__OpOther__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7692:1: ( ( '>' ) )
-            // InternalSignalDSL.g:7693:1: ( '>' )
+            // InternalSignalDSL.g:7720:1: ( ( '>' ) )
+            // InternalSignalDSL.g:7721:1: ( '>' )
             {
-            // InternalSignalDSL.g:7693:1: ( '>' )
-            // InternalSignalDSL.g:7694:2: '>'
+            // InternalSignalDSL.g:7721:1: ( '>' )
+            // InternalSignalDSL.g:7722:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); 
@@ -26509,14 +26553,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_2__1"
-    // InternalSignalDSL.g:7703:1: rule__OpOther__Group_2__1 : rule__OpOther__Group_2__1__Impl ;
+    // InternalSignalDSL.g:7731:1: rule__OpOther__Group_2__1 : rule__OpOther__Group_2__1__Impl ;
     public final void rule__OpOther__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7707:1: ( rule__OpOther__Group_2__1__Impl )
-            // InternalSignalDSL.g:7708:2: rule__OpOther__Group_2__1__Impl
+            // InternalSignalDSL.g:7735:1: ( rule__OpOther__Group_2__1__Impl )
+            // InternalSignalDSL.g:7736:2: rule__OpOther__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_2__1__Impl();
@@ -26542,17 +26586,17 @@
 
 
     // $ANTLR start "rule__OpOther__Group_2__1__Impl"
-    // InternalSignalDSL.g:7714:1: rule__OpOther__Group_2__1__Impl : ( '..' ) ;
+    // InternalSignalDSL.g:7742:1: rule__OpOther__Group_2__1__Impl : ( '..' ) ;
     public final void rule__OpOther__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7718:1: ( ( '..' ) )
-            // InternalSignalDSL.g:7719:1: ( '..' )
+            // InternalSignalDSL.g:7746:1: ( ( '..' ) )
+            // InternalSignalDSL.g:7747:1: ( '..' )
             {
-            // InternalSignalDSL.g:7719:1: ( '..' )
-            // InternalSignalDSL.g:7720:2: '..'
+            // InternalSignalDSL.g:7747:1: ( '..' )
+            // InternalSignalDSL.g:7748:2: '..'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); 
@@ -26583,14 +26627,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5__0"
-    // InternalSignalDSL.g:7730:1: rule__OpOther__Group_5__0 : rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1 ;
+    // InternalSignalDSL.g:7758:1: rule__OpOther__Group_5__0 : rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1 ;
     public final void rule__OpOther__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7734:1: ( rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1 )
-            // InternalSignalDSL.g:7735:2: rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1
+            // InternalSignalDSL.g:7762:1: ( rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1 )
+            // InternalSignalDSL.g:7763:2: rule__OpOther__Group_5__0__Impl rule__OpOther__Group_5__1
             {
             pushFollow(FOLLOW_57);
             rule__OpOther__Group_5__0__Impl();
@@ -26621,17 +26665,17 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5__0__Impl"
-    // InternalSignalDSL.g:7742:1: rule__OpOther__Group_5__0__Impl : ( '>' ) ;
+    // InternalSignalDSL.g:7770:1: rule__OpOther__Group_5__0__Impl : ( '>' ) ;
     public final void rule__OpOther__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7746:1: ( ( '>' ) )
-            // InternalSignalDSL.g:7747:1: ( '>' )
+            // InternalSignalDSL.g:7774:1: ( ( '>' ) )
+            // InternalSignalDSL.g:7775:1: ( '>' )
             {
-            // InternalSignalDSL.g:7747:1: ( '>' )
-            // InternalSignalDSL.g:7748:2: '>'
+            // InternalSignalDSL.g:7775:1: ( '>' )
+            // InternalSignalDSL.g:7776:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); 
@@ -26662,14 +26706,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5__1"
-    // InternalSignalDSL.g:7757:1: rule__OpOther__Group_5__1 : rule__OpOther__Group_5__1__Impl ;
+    // InternalSignalDSL.g:7785:1: rule__OpOther__Group_5__1 : rule__OpOther__Group_5__1__Impl ;
     public final void rule__OpOther__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7761:1: ( rule__OpOther__Group_5__1__Impl )
-            // InternalSignalDSL.g:7762:2: rule__OpOther__Group_5__1__Impl
+            // InternalSignalDSL.g:7789:1: ( rule__OpOther__Group_5__1__Impl )
+            // InternalSignalDSL.g:7790:2: rule__OpOther__Group_5__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_5__1__Impl();
@@ -26695,23 +26739,23 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5__1__Impl"
-    // InternalSignalDSL.g:7768:1: rule__OpOther__Group_5__1__Impl : ( ( rule__OpOther__Alternatives_5_1 ) ) ;
+    // InternalSignalDSL.g:7796:1: rule__OpOther__Group_5__1__Impl : ( ( rule__OpOther__Alternatives_5_1 ) ) ;
     public final void rule__OpOther__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7772:1: ( ( ( rule__OpOther__Alternatives_5_1 ) ) )
-            // InternalSignalDSL.g:7773:1: ( ( rule__OpOther__Alternatives_5_1 ) )
+            // InternalSignalDSL.g:7800:1: ( ( ( rule__OpOther__Alternatives_5_1 ) ) )
+            // InternalSignalDSL.g:7801:1: ( ( rule__OpOther__Alternatives_5_1 ) )
             {
-            // InternalSignalDSL.g:7773:1: ( ( rule__OpOther__Alternatives_5_1 ) )
-            // InternalSignalDSL.g:7774:2: ( rule__OpOther__Alternatives_5_1 )
+            // InternalSignalDSL.g:7801:1: ( ( rule__OpOther__Alternatives_5_1 ) )
+            // InternalSignalDSL.g:7802:2: ( rule__OpOther__Alternatives_5_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getAlternatives_5_1()); 
             }
-            // InternalSignalDSL.g:7775:2: ( rule__OpOther__Alternatives_5_1 )
-            // InternalSignalDSL.g:7775:3: rule__OpOther__Alternatives_5_1
+            // InternalSignalDSL.g:7803:2: ( rule__OpOther__Alternatives_5_1 )
+            // InternalSignalDSL.g:7803:3: rule__OpOther__Alternatives_5_1
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Alternatives_5_1();
@@ -26746,14 +26790,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5_1_0__0"
-    // InternalSignalDSL.g:7784:1: rule__OpOther__Group_5_1_0__0 : rule__OpOther__Group_5_1_0__0__Impl ;
+    // InternalSignalDSL.g:7812:1: rule__OpOther__Group_5_1_0__0 : rule__OpOther__Group_5_1_0__0__Impl ;
     public final void rule__OpOther__Group_5_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7788:1: ( rule__OpOther__Group_5_1_0__0__Impl )
-            // InternalSignalDSL.g:7789:2: rule__OpOther__Group_5_1_0__0__Impl
+            // InternalSignalDSL.g:7816:1: ( rule__OpOther__Group_5_1_0__0__Impl )
+            // InternalSignalDSL.g:7817:2: rule__OpOther__Group_5_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_5_1_0__0__Impl();
@@ -26779,23 +26823,23 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5_1_0__0__Impl"
-    // InternalSignalDSL.g:7795:1: rule__OpOther__Group_5_1_0__0__Impl : ( ( rule__OpOther__Group_5_1_0_0__0 ) ) ;
+    // InternalSignalDSL.g:7823:1: rule__OpOther__Group_5_1_0__0__Impl : ( ( rule__OpOther__Group_5_1_0_0__0 ) ) ;
     public final void rule__OpOther__Group_5_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7799:1: ( ( ( rule__OpOther__Group_5_1_0_0__0 ) ) )
-            // InternalSignalDSL.g:7800:1: ( ( rule__OpOther__Group_5_1_0_0__0 ) )
+            // InternalSignalDSL.g:7827:1: ( ( ( rule__OpOther__Group_5_1_0_0__0 ) ) )
+            // InternalSignalDSL.g:7828:1: ( ( rule__OpOther__Group_5_1_0_0__0 ) )
             {
-            // InternalSignalDSL.g:7800:1: ( ( rule__OpOther__Group_5_1_0_0__0 ) )
-            // InternalSignalDSL.g:7801:2: ( rule__OpOther__Group_5_1_0_0__0 )
+            // InternalSignalDSL.g:7828:1: ( ( rule__OpOther__Group_5_1_0_0__0 ) )
+            // InternalSignalDSL.g:7829:2: ( rule__OpOther__Group_5_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0()); 
             }
-            // InternalSignalDSL.g:7802:2: ( rule__OpOther__Group_5_1_0_0__0 )
-            // InternalSignalDSL.g:7802:3: rule__OpOther__Group_5_1_0_0__0
+            // InternalSignalDSL.g:7830:2: ( rule__OpOther__Group_5_1_0_0__0 )
+            // InternalSignalDSL.g:7830:3: rule__OpOther__Group_5_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_5_1_0_0__0();
@@ -26830,14 +26874,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5_1_0_0__0"
-    // InternalSignalDSL.g:7811:1: rule__OpOther__Group_5_1_0_0__0 : rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1 ;
+    // InternalSignalDSL.g:7839:1: rule__OpOther__Group_5_1_0_0__0 : rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1 ;
     public final void rule__OpOther__Group_5_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7815:1: ( rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1 )
-            // InternalSignalDSL.g:7816:2: rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1
+            // InternalSignalDSL.g:7843:1: ( rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1 )
+            // InternalSignalDSL.g:7844:2: rule__OpOther__Group_5_1_0_0__0__Impl rule__OpOther__Group_5_1_0_0__1
             {
             pushFollow(FOLLOW_57);
             rule__OpOther__Group_5_1_0_0__0__Impl();
@@ -26868,17 +26912,17 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5_1_0_0__0__Impl"
-    // InternalSignalDSL.g:7823:1: rule__OpOther__Group_5_1_0_0__0__Impl : ( '>' ) ;
+    // InternalSignalDSL.g:7851:1: rule__OpOther__Group_5_1_0_0__0__Impl : ( '>' ) ;
     public final void rule__OpOther__Group_5_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7827:1: ( ( '>' ) )
-            // InternalSignalDSL.g:7828:1: ( '>' )
+            // InternalSignalDSL.g:7855:1: ( ( '>' ) )
+            // InternalSignalDSL.g:7856:1: ( '>' )
             {
-            // InternalSignalDSL.g:7828:1: ( '>' )
-            // InternalSignalDSL.g:7829:2: '>'
+            // InternalSignalDSL.g:7856:1: ( '>' )
+            // InternalSignalDSL.g:7857:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); 
@@ -26909,14 +26953,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5_1_0_0__1"
-    // InternalSignalDSL.g:7838:1: rule__OpOther__Group_5_1_0_0__1 : rule__OpOther__Group_5_1_0_0__1__Impl ;
+    // InternalSignalDSL.g:7866:1: rule__OpOther__Group_5_1_0_0__1 : rule__OpOther__Group_5_1_0_0__1__Impl ;
     public final void rule__OpOther__Group_5_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7842:1: ( rule__OpOther__Group_5_1_0_0__1__Impl )
-            // InternalSignalDSL.g:7843:2: rule__OpOther__Group_5_1_0_0__1__Impl
+            // InternalSignalDSL.g:7870:1: ( rule__OpOther__Group_5_1_0_0__1__Impl )
+            // InternalSignalDSL.g:7871:2: rule__OpOther__Group_5_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_5_1_0_0__1__Impl();
@@ -26942,17 +26986,17 @@
 
 
     // $ANTLR start "rule__OpOther__Group_5_1_0_0__1__Impl"
-    // InternalSignalDSL.g:7849:1: rule__OpOther__Group_5_1_0_0__1__Impl : ( '>' ) ;
+    // InternalSignalDSL.g:7877:1: rule__OpOther__Group_5_1_0_0__1__Impl : ( '>' ) ;
     public final void rule__OpOther__Group_5_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7853:1: ( ( '>' ) )
-            // InternalSignalDSL.g:7854:1: ( '>' )
+            // InternalSignalDSL.g:7881:1: ( ( '>' ) )
+            // InternalSignalDSL.g:7882:1: ( '>' )
             {
-            // InternalSignalDSL.g:7854:1: ( '>' )
-            // InternalSignalDSL.g:7855:2: '>'
+            // InternalSignalDSL.g:7882:1: ( '>' )
+            // InternalSignalDSL.g:7883:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); 
@@ -26983,14 +27027,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6__0"
-    // InternalSignalDSL.g:7865:1: rule__OpOther__Group_6__0 : rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1 ;
+    // InternalSignalDSL.g:7893:1: rule__OpOther__Group_6__0 : rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1 ;
     public final void rule__OpOther__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7869:1: ( rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1 )
-            // InternalSignalDSL.g:7870:2: rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1
+            // InternalSignalDSL.g:7897:1: ( rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1 )
+            // InternalSignalDSL.g:7898:2: rule__OpOther__Group_6__0__Impl rule__OpOther__Group_6__1
             {
             pushFollow(FOLLOW_58);
             rule__OpOther__Group_6__0__Impl();
@@ -27021,17 +27065,17 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6__0__Impl"
-    // InternalSignalDSL.g:7877:1: rule__OpOther__Group_6__0__Impl : ( '<' ) ;
+    // InternalSignalDSL.g:7905:1: rule__OpOther__Group_6__0__Impl : ( '<' ) ;
     public final void rule__OpOther__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7881:1: ( ( '<' ) )
-            // InternalSignalDSL.g:7882:1: ( '<' )
+            // InternalSignalDSL.g:7909:1: ( ( '<' ) )
+            // InternalSignalDSL.g:7910:1: ( '<' )
             {
-            // InternalSignalDSL.g:7882:1: ( '<' )
-            // InternalSignalDSL.g:7883:2: '<'
+            // InternalSignalDSL.g:7910:1: ( '<' )
+            // InternalSignalDSL.g:7911:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); 
@@ -27062,14 +27106,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6__1"
-    // InternalSignalDSL.g:7892:1: rule__OpOther__Group_6__1 : rule__OpOther__Group_6__1__Impl ;
+    // InternalSignalDSL.g:7920:1: rule__OpOther__Group_6__1 : rule__OpOther__Group_6__1__Impl ;
     public final void rule__OpOther__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7896:1: ( rule__OpOther__Group_6__1__Impl )
-            // InternalSignalDSL.g:7897:2: rule__OpOther__Group_6__1__Impl
+            // InternalSignalDSL.g:7924:1: ( rule__OpOther__Group_6__1__Impl )
+            // InternalSignalDSL.g:7925:2: rule__OpOther__Group_6__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_6__1__Impl();
@@ -27095,23 +27139,23 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6__1__Impl"
-    // InternalSignalDSL.g:7903:1: rule__OpOther__Group_6__1__Impl : ( ( rule__OpOther__Alternatives_6_1 ) ) ;
+    // InternalSignalDSL.g:7931:1: rule__OpOther__Group_6__1__Impl : ( ( rule__OpOther__Alternatives_6_1 ) ) ;
     public final void rule__OpOther__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7907:1: ( ( ( rule__OpOther__Alternatives_6_1 ) ) )
-            // InternalSignalDSL.g:7908:1: ( ( rule__OpOther__Alternatives_6_1 ) )
+            // InternalSignalDSL.g:7935:1: ( ( ( rule__OpOther__Alternatives_6_1 ) ) )
+            // InternalSignalDSL.g:7936:1: ( ( rule__OpOther__Alternatives_6_1 ) )
             {
-            // InternalSignalDSL.g:7908:1: ( ( rule__OpOther__Alternatives_6_1 ) )
-            // InternalSignalDSL.g:7909:2: ( rule__OpOther__Alternatives_6_1 )
+            // InternalSignalDSL.g:7936:1: ( ( rule__OpOther__Alternatives_6_1 ) )
+            // InternalSignalDSL.g:7937:2: ( rule__OpOther__Alternatives_6_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getAlternatives_6_1()); 
             }
-            // InternalSignalDSL.g:7910:2: ( rule__OpOther__Alternatives_6_1 )
-            // InternalSignalDSL.g:7910:3: rule__OpOther__Alternatives_6_1
+            // InternalSignalDSL.g:7938:2: ( rule__OpOther__Alternatives_6_1 )
+            // InternalSignalDSL.g:7938:3: rule__OpOther__Alternatives_6_1
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Alternatives_6_1();
@@ -27146,14 +27190,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6_1_0__0"
-    // InternalSignalDSL.g:7919:1: rule__OpOther__Group_6_1_0__0 : rule__OpOther__Group_6_1_0__0__Impl ;
+    // InternalSignalDSL.g:7947:1: rule__OpOther__Group_6_1_0__0 : rule__OpOther__Group_6_1_0__0__Impl ;
     public final void rule__OpOther__Group_6_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7923:1: ( rule__OpOther__Group_6_1_0__0__Impl )
-            // InternalSignalDSL.g:7924:2: rule__OpOther__Group_6_1_0__0__Impl
+            // InternalSignalDSL.g:7951:1: ( rule__OpOther__Group_6_1_0__0__Impl )
+            // InternalSignalDSL.g:7952:2: rule__OpOther__Group_6_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_6_1_0__0__Impl();
@@ -27179,23 +27223,23 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6_1_0__0__Impl"
-    // InternalSignalDSL.g:7930:1: rule__OpOther__Group_6_1_0__0__Impl : ( ( rule__OpOther__Group_6_1_0_0__0 ) ) ;
+    // InternalSignalDSL.g:7958:1: rule__OpOther__Group_6_1_0__0__Impl : ( ( rule__OpOther__Group_6_1_0_0__0 ) ) ;
     public final void rule__OpOther__Group_6_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7934:1: ( ( ( rule__OpOther__Group_6_1_0_0__0 ) ) )
-            // InternalSignalDSL.g:7935:1: ( ( rule__OpOther__Group_6_1_0_0__0 ) )
+            // InternalSignalDSL.g:7962:1: ( ( ( rule__OpOther__Group_6_1_0_0__0 ) ) )
+            // InternalSignalDSL.g:7963:1: ( ( rule__OpOther__Group_6_1_0_0__0 ) )
             {
-            // InternalSignalDSL.g:7935:1: ( ( rule__OpOther__Group_6_1_0_0__0 ) )
-            // InternalSignalDSL.g:7936:2: ( rule__OpOther__Group_6_1_0_0__0 )
+            // InternalSignalDSL.g:7963:1: ( ( rule__OpOther__Group_6_1_0_0__0 ) )
+            // InternalSignalDSL.g:7964:2: ( rule__OpOther__Group_6_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0()); 
             }
-            // InternalSignalDSL.g:7937:2: ( rule__OpOther__Group_6_1_0_0__0 )
-            // InternalSignalDSL.g:7937:3: rule__OpOther__Group_6_1_0_0__0
+            // InternalSignalDSL.g:7965:2: ( rule__OpOther__Group_6_1_0_0__0 )
+            // InternalSignalDSL.g:7965:3: rule__OpOther__Group_6_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_6_1_0_0__0();
@@ -27230,14 +27274,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6_1_0_0__0"
-    // InternalSignalDSL.g:7946:1: rule__OpOther__Group_6_1_0_0__0 : rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1 ;
+    // InternalSignalDSL.g:7974:1: rule__OpOther__Group_6_1_0_0__0 : rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1 ;
     public final void rule__OpOther__Group_6_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7950:1: ( rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1 )
-            // InternalSignalDSL.g:7951:2: rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1
+            // InternalSignalDSL.g:7978:1: ( rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1 )
+            // InternalSignalDSL.g:7979:2: rule__OpOther__Group_6_1_0_0__0__Impl rule__OpOther__Group_6_1_0_0__1
             {
             pushFollow(FOLLOW_42);
             rule__OpOther__Group_6_1_0_0__0__Impl();
@@ -27268,17 +27312,17 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6_1_0_0__0__Impl"
-    // InternalSignalDSL.g:7958:1: rule__OpOther__Group_6_1_0_0__0__Impl : ( '<' ) ;
+    // InternalSignalDSL.g:7986:1: rule__OpOther__Group_6_1_0_0__0__Impl : ( '<' ) ;
     public final void rule__OpOther__Group_6_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7962:1: ( ( '<' ) )
-            // InternalSignalDSL.g:7963:1: ( '<' )
+            // InternalSignalDSL.g:7990:1: ( ( '<' ) )
+            // InternalSignalDSL.g:7991:1: ( '<' )
             {
-            // InternalSignalDSL.g:7963:1: ( '<' )
-            // InternalSignalDSL.g:7964:2: '<'
+            // InternalSignalDSL.g:7991:1: ( '<' )
+            // InternalSignalDSL.g:7992:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); 
@@ -27309,14 +27353,14 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6_1_0_0__1"
-    // InternalSignalDSL.g:7973:1: rule__OpOther__Group_6_1_0_0__1 : rule__OpOther__Group_6_1_0_0__1__Impl ;
+    // InternalSignalDSL.g:8001:1: rule__OpOther__Group_6_1_0_0__1 : rule__OpOther__Group_6_1_0_0__1__Impl ;
     public final void rule__OpOther__Group_6_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7977:1: ( rule__OpOther__Group_6_1_0_0__1__Impl )
-            // InternalSignalDSL.g:7978:2: rule__OpOther__Group_6_1_0_0__1__Impl
+            // InternalSignalDSL.g:8005:1: ( rule__OpOther__Group_6_1_0_0__1__Impl )
+            // InternalSignalDSL.g:8006:2: rule__OpOther__Group_6_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpOther__Group_6_1_0_0__1__Impl();
@@ -27342,17 +27386,17 @@
 
 
     // $ANTLR start "rule__OpOther__Group_6_1_0_0__1__Impl"
-    // InternalSignalDSL.g:7984:1: rule__OpOther__Group_6_1_0_0__1__Impl : ( '<' ) ;
+    // InternalSignalDSL.g:8012:1: rule__OpOther__Group_6_1_0_0__1__Impl : ( '<' ) ;
     public final void rule__OpOther__Group_6_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:7988:1: ( ( '<' ) )
-            // InternalSignalDSL.g:7989:1: ( '<' )
+            // InternalSignalDSL.g:8016:1: ( ( '<' ) )
+            // InternalSignalDSL.g:8017:1: ( '<' )
             {
-            // InternalSignalDSL.g:7989:1: ( '<' )
-            // InternalSignalDSL.g:7990:2: '<'
+            // InternalSignalDSL.g:8017:1: ( '<' )
+            // InternalSignalDSL.g:8018:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); 
@@ -27383,14 +27427,14 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group__0"
-    // InternalSignalDSL.g:8000:1: rule__XAdditiveExpression__Group__0 : rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1 ;
+    // InternalSignalDSL.g:8028:1: rule__XAdditiveExpression__Group__0 : rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1 ;
     public final void rule__XAdditiveExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8004:1: ( rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1 )
-            // InternalSignalDSL.g:8005:2: rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1
+            // InternalSignalDSL.g:8032:1: ( rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1 )
+            // InternalSignalDSL.g:8033:2: rule__XAdditiveExpression__Group__0__Impl rule__XAdditiveExpression__Group__1
             {
             pushFollow(FOLLOW_59);
             rule__XAdditiveExpression__Group__0__Impl();
@@ -27421,17 +27465,17 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group__0__Impl"
-    // InternalSignalDSL.g:8012:1: rule__XAdditiveExpression__Group__0__Impl : ( ruleXMultiplicativeExpression ) ;
+    // InternalSignalDSL.g:8040:1: rule__XAdditiveExpression__Group__0__Impl : ( ruleXMultiplicativeExpression ) ;
     public final void rule__XAdditiveExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8016:1: ( ( ruleXMultiplicativeExpression ) )
-            // InternalSignalDSL.g:8017:1: ( ruleXMultiplicativeExpression )
+            // InternalSignalDSL.g:8044:1: ( ( ruleXMultiplicativeExpression ) )
+            // InternalSignalDSL.g:8045:1: ( ruleXMultiplicativeExpression )
             {
-            // InternalSignalDSL.g:8017:1: ( ruleXMultiplicativeExpression )
-            // InternalSignalDSL.g:8018:2: ruleXMultiplicativeExpression
+            // InternalSignalDSL.g:8045:1: ( ruleXMultiplicativeExpression )
+            // InternalSignalDSL.g:8046:2: ruleXMultiplicativeExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); 
@@ -27466,14 +27510,14 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group__1"
-    // InternalSignalDSL.g:8027:1: rule__XAdditiveExpression__Group__1 : rule__XAdditiveExpression__Group__1__Impl ;
+    // InternalSignalDSL.g:8055:1: rule__XAdditiveExpression__Group__1 : rule__XAdditiveExpression__Group__1__Impl ;
     public final void rule__XAdditiveExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8031:1: ( rule__XAdditiveExpression__Group__1__Impl )
-            // InternalSignalDSL.g:8032:2: rule__XAdditiveExpression__Group__1__Impl
+            // InternalSignalDSL.g:8059:1: ( rule__XAdditiveExpression__Group__1__Impl )
+            // InternalSignalDSL.g:8060:2: rule__XAdditiveExpression__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAdditiveExpression__Group__1__Impl();
@@ -27499,50 +27543,50 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group__1__Impl"
-    // InternalSignalDSL.g:8038:1: rule__XAdditiveExpression__Group__1__Impl : ( ( rule__XAdditiveExpression__Group_1__0 )* ) ;
+    // InternalSignalDSL.g:8066:1: rule__XAdditiveExpression__Group__1__Impl : ( ( rule__XAdditiveExpression__Group_1__0 )* ) ;
     public final void rule__XAdditiveExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8042:1: ( ( ( rule__XAdditiveExpression__Group_1__0 )* ) )
-            // InternalSignalDSL.g:8043:1: ( ( rule__XAdditiveExpression__Group_1__0 )* )
+            // InternalSignalDSL.g:8070:1: ( ( ( rule__XAdditiveExpression__Group_1__0 )* ) )
+            // InternalSignalDSL.g:8071:1: ( ( rule__XAdditiveExpression__Group_1__0 )* )
             {
-            // InternalSignalDSL.g:8043:1: ( ( rule__XAdditiveExpression__Group_1__0 )* )
-            // InternalSignalDSL.g:8044:2: ( rule__XAdditiveExpression__Group_1__0 )*
+            // InternalSignalDSL.g:8071:1: ( ( rule__XAdditiveExpression__Group_1__0 )* )
+            // InternalSignalDSL.g:8072:2: ( rule__XAdditiveExpression__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1()); 
             }
-            // InternalSignalDSL.g:8045:2: ( rule__XAdditiveExpression__Group_1__0 )*
-            loop75:
+            // InternalSignalDSL.g:8073:2: ( rule__XAdditiveExpression__Group_1__0 )*
+            loop76:
             do {
-                int alt75=2;
-                int LA75_0 = input.LA(1);
+                int alt76=2;
+                int LA76_0 = input.LA(1);
 
-                if ( (LA75_0==35) ) {
-                    int LA75_2 = input.LA(2);
+                if ( (LA76_0==35) ) {
+                    int LA76_2 = input.LA(2);
 
-                    if ( (synpred123_InternalSignalDSL()) ) {
-                        alt75=1;
+                    if ( (synpred120_InternalSignalDSL()) ) {
+                        alt76=1;
                     }
 
 
                 }
-                else if ( (LA75_0==34) ) {
-                    int LA75_3 = input.LA(2);
+                else if ( (LA76_0==34) ) {
+                    int LA76_3 = input.LA(2);
 
-                    if ( (synpred123_InternalSignalDSL()) ) {
-                        alt75=1;
+                    if ( (synpred120_InternalSignalDSL()) ) {
+                        alt76=1;
                     }
 
 
                 }
 
 
-                switch (alt75) {
+                switch (alt76) {
             	case 1 :
-            	    // InternalSignalDSL.g:8045:3: rule__XAdditiveExpression__Group_1__0
+            	    // InternalSignalDSL.g:8073:3: rule__XAdditiveExpression__Group_1__0
             	    {
             	    pushFollow(FOLLOW_60);
             	    rule__XAdditiveExpression__Group_1__0();
@@ -27554,7 +27598,7 @@
             	    break;
 
             	default :
-            	    break loop75;
+            	    break loop76;
                 }
             } while (true);
 
@@ -27583,14 +27627,14 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1__0"
-    // InternalSignalDSL.g:8054:1: rule__XAdditiveExpression__Group_1__0 : rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1 ;
+    // InternalSignalDSL.g:8082:1: rule__XAdditiveExpression__Group_1__0 : rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1 ;
     public final void rule__XAdditiveExpression__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8058:1: ( rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1 )
-            // InternalSignalDSL.g:8059:2: rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1
+            // InternalSignalDSL.g:8086:1: ( rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1 )
+            // InternalSignalDSL.g:8087:2: rule__XAdditiveExpression__Group_1__0__Impl rule__XAdditiveExpression__Group_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XAdditiveExpression__Group_1__0__Impl();
@@ -27621,23 +27665,23 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1__0__Impl"
-    // InternalSignalDSL.g:8066:1: rule__XAdditiveExpression__Group_1__0__Impl : ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) ;
+    // InternalSignalDSL.g:8094:1: rule__XAdditiveExpression__Group_1__0__Impl : ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) ;
     public final void rule__XAdditiveExpression__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8070:1: ( ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) )
-            // InternalSignalDSL.g:8071:1: ( ( rule__XAdditiveExpression__Group_1_0__0 ) )
+            // InternalSignalDSL.g:8098:1: ( ( ( rule__XAdditiveExpression__Group_1_0__0 ) ) )
+            // InternalSignalDSL.g:8099:1: ( ( rule__XAdditiveExpression__Group_1_0__0 ) )
             {
-            // InternalSignalDSL.g:8071:1: ( ( rule__XAdditiveExpression__Group_1_0__0 ) )
-            // InternalSignalDSL.g:8072:2: ( rule__XAdditiveExpression__Group_1_0__0 )
+            // InternalSignalDSL.g:8099:1: ( ( rule__XAdditiveExpression__Group_1_0__0 ) )
+            // InternalSignalDSL.g:8100:2: ( rule__XAdditiveExpression__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0()); 
             }
-            // InternalSignalDSL.g:8073:2: ( rule__XAdditiveExpression__Group_1_0__0 )
-            // InternalSignalDSL.g:8073:3: rule__XAdditiveExpression__Group_1_0__0
+            // InternalSignalDSL.g:8101:2: ( rule__XAdditiveExpression__Group_1_0__0 )
+            // InternalSignalDSL.g:8101:3: rule__XAdditiveExpression__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAdditiveExpression__Group_1_0__0();
@@ -27672,14 +27716,14 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1__1"
-    // InternalSignalDSL.g:8081:1: rule__XAdditiveExpression__Group_1__1 : rule__XAdditiveExpression__Group_1__1__Impl ;
+    // InternalSignalDSL.g:8109:1: rule__XAdditiveExpression__Group_1__1 : rule__XAdditiveExpression__Group_1__1__Impl ;
     public final void rule__XAdditiveExpression__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8085:1: ( rule__XAdditiveExpression__Group_1__1__Impl )
-            // InternalSignalDSL.g:8086:2: rule__XAdditiveExpression__Group_1__1__Impl
+            // InternalSignalDSL.g:8113:1: ( rule__XAdditiveExpression__Group_1__1__Impl )
+            // InternalSignalDSL.g:8114:2: rule__XAdditiveExpression__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAdditiveExpression__Group_1__1__Impl();
@@ -27705,23 +27749,23 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1__1__Impl"
-    // InternalSignalDSL.g:8092:1: rule__XAdditiveExpression__Group_1__1__Impl : ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) ;
+    // InternalSignalDSL.g:8120:1: rule__XAdditiveExpression__Group_1__1__Impl : ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) ;
     public final void rule__XAdditiveExpression__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8096:1: ( ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) )
-            // InternalSignalDSL.g:8097:1: ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) )
+            // InternalSignalDSL.g:8124:1: ( ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) ) )
+            // InternalSignalDSL.g:8125:1: ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) )
             {
-            // InternalSignalDSL.g:8097:1: ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) )
-            // InternalSignalDSL.g:8098:2: ( rule__XAdditiveExpression__RightOperandAssignment_1_1 )
+            // InternalSignalDSL.g:8125:1: ( ( rule__XAdditiveExpression__RightOperandAssignment_1_1 ) )
+            // InternalSignalDSL.g:8126:2: ( rule__XAdditiveExpression__RightOperandAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1()); 
             }
-            // InternalSignalDSL.g:8099:2: ( rule__XAdditiveExpression__RightOperandAssignment_1_1 )
-            // InternalSignalDSL.g:8099:3: rule__XAdditiveExpression__RightOperandAssignment_1_1
+            // InternalSignalDSL.g:8127:2: ( rule__XAdditiveExpression__RightOperandAssignment_1_1 )
+            // InternalSignalDSL.g:8127:3: rule__XAdditiveExpression__RightOperandAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAdditiveExpression__RightOperandAssignment_1_1();
@@ -27756,14 +27800,14 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1_0__0"
-    // InternalSignalDSL.g:8108:1: rule__XAdditiveExpression__Group_1_0__0 : rule__XAdditiveExpression__Group_1_0__0__Impl ;
+    // InternalSignalDSL.g:8136:1: rule__XAdditiveExpression__Group_1_0__0 : rule__XAdditiveExpression__Group_1_0__0__Impl ;
     public final void rule__XAdditiveExpression__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8112:1: ( rule__XAdditiveExpression__Group_1_0__0__Impl )
-            // InternalSignalDSL.g:8113:2: rule__XAdditiveExpression__Group_1_0__0__Impl
+            // InternalSignalDSL.g:8140:1: ( rule__XAdditiveExpression__Group_1_0__0__Impl )
+            // InternalSignalDSL.g:8141:2: rule__XAdditiveExpression__Group_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAdditiveExpression__Group_1_0__0__Impl();
@@ -27789,23 +27833,23 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1_0__0__Impl"
-    // InternalSignalDSL.g:8119:1: rule__XAdditiveExpression__Group_1_0__0__Impl : ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) ;
+    // InternalSignalDSL.g:8147:1: rule__XAdditiveExpression__Group_1_0__0__Impl : ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) ;
     public final void rule__XAdditiveExpression__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8123:1: ( ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) )
-            // InternalSignalDSL.g:8124:1: ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:8151:1: ( ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) ) )
+            // InternalSignalDSL.g:8152:1: ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) )
             {
-            // InternalSignalDSL.g:8124:1: ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) )
-            // InternalSignalDSL.g:8125:2: ( rule__XAdditiveExpression__Group_1_0_0__0 )
+            // InternalSignalDSL.g:8152:1: ( ( rule__XAdditiveExpression__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:8153:2: ( rule__XAdditiveExpression__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0()); 
             }
-            // InternalSignalDSL.g:8126:2: ( rule__XAdditiveExpression__Group_1_0_0__0 )
-            // InternalSignalDSL.g:8126:3: rule__XAdditiveExpression__Group_1_0_0__0
+            // InternalSignalDSL.g:8154:2: ( rule__XAdditiveExpression__Group_1_0_0__0 )
+            // InternalSignalDSL.g:8154:3: rule__XAdditiveExpression__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAdditiveExpression__Group_1_0_0__0();
@@ -27840,14 +27884,14 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__0"
-    // InternalSignalDSL.g:8135:1: rule__XAdditiveExpression__Group_1_0_0__0 : rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1 ;
+    // InternalSignalDSL.g:8163:1: rule__XAdditiveExpression__Group_1_0_0__0 : rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1 ;
     public final void rule__XAdditiveExpression__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8139:1: ( rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1 )
-            // InternalSignalDSL.g:8140:2: rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1
+            // InternalSignalDSL.g:8167:1: ( rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1 )
+            // InternalSignalDSL.g:8168:2: rule__XAdditiveExpression__Group_1_0_0__0__Impl rule__XAdditiveExpression__Group_1_0_0__1
             {
             pushFollow(FOLLOW_59);
             rule__XAdditiveExpression__Group_1_0_0__0__Impl();
@@ -27878,23 +27922,23 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__0__Impl"
-    // InternalSignalDSL.g:8147:1: rule__XAdditiveExpression__Group_1_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:8175:1: rule__XAdditiveExpression__Group_1_0_0__0__Impl : ( () ) ;
     public final void rule__XAdditiveExpression__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8151:1: ( ( () ) )
-            // InternalSignalDSL.g:8152:1: ( () )
+            // InternalSignalDSL.g:8179:1: ( ( () ) )
+            // InternalSignalDSL.g:8180:1: ( () )
             {
-            // InternalSignalDSL.g:8152:1: ( () )
-            // InternalSignalDSL.g:8153:2: ()
+            // InternalSignalDSL.g:8180:1: ( () )
+            // InternalSignalDSL.g:8181:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); 
             }
-            // InternalSignalDSL.g:8154:2: ()
-            // InternalSignalDSL.g:8154:3: 
+            // InternalSignalDSL.g:8182:2: ()
+            // InternalSignalDSL.g:8182:3: 
             {
             }
 
@@ -27919,14 +27963,14 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__1"
-    // InternalSignalDSL.g:8162:1: rule__XAdditiveExpression__Group_1_0_0__1 : rule__XAdditiveExpression__Group_1_0_0__1__Impl ;
+    // InternalSignalDSL.g:8190:1: rule__XAdditiveExpression__Group_1_0_0__1 : rule__XAdditiveExpression__Group_1_0_0__1__Impl ;
     public final void rule__XAdditiveExpression__Group_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8166:1: ( rule__XAdditiveExpression__Group_1_0_0__1__Impl )
-            // InternalSignalDSL.g:8167:2: rule__XAdditiveExpression__Group_1_0_0__1__Impl
+            // InternalSignalDSL.g:8194:1: ( rule__XAdditiveExpression__Group_1_0_0__1__Impl )
+            // InternalSignalDSL.g:8195:2: rule__XAdditiveExpression__Group_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAdditiveExpression__Group_1_0_0__1__Impl();
@@ -27952,23 +27996,23 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__Group_1_0_0__1__Impl"
-    // InternalSignalDSL.g:8173:1: rule__XAdditiveExpression__Group_1_0_0__1__Impl : ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) ;
+    // InternalSignalDSL.g:8201:1: rule__XAdditiveExpression__Group_1_0_0__1__Impl : ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) ;
     public final void rule__XAdditiveExpression__Group_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8177:1: ( ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) )
-            // InternalSignalDSL.g:8178:1: ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalSignalDSL.g:8205:1: ( ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) ) )
+            // InternalSignalDSL.g:8206:1: ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) )
             {
-            // InternalSignalDSL.g:8178:1: ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) )
-            // InternalSignalDSL.g:8179:2: ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 )
+            // InternalSignalDSL.g:8206:1: ( ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalSignalDSL.g:8207:2: ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1()); 
             }
-            // InternalSignalDSL.g:8180:2: ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 )
-            // InternalSignalDSL.g:8180:3: rule__XAdditiveExpression__FeatureAssignment_1_0_0_1
+            // InternalSignalDSL.g:8208:2: ( rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 )
+            // InternalSignalDSL.g:8208:3: rule__XAdditiveExpression__FeatureAssignment_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XAdditiveExpression__FeatureAssignment_1_0_0_1();
@@ -28003,14 +28047,14 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group__0"
-    // InternalSignalDSL.g:8189:1: rule__XMultiplicativeExpression__Group__0 : rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1 ;
+    // InternalSignalDSL.g:8217:1: rule__XMultiplicativeExpression__Group__0 : rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1 ;
     public final void rule__XMultiplicativeExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8193:1: ( rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1 )
-            // InternalSignalDSL.g:8194:2: rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1
+            // InternalSignalDSL.g:8221:1: ( rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1 )
+            // InternalSignalDSL.g:8222:2: rule__XMultiplicativeExpression__Group__0__Impl rule__XMultiplicativeExpression__Group__1
             {
             pushFollow(FOLLOW_61);
             rule__XMultiplicativeExpression__Group__0__Impl();
@@ -28041,17 +28085,17 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group__0__Impl"
-    // InternalSignalDSL.g:8201:1: rule__XMultiplicativeExpression__Group__0__Impl : ( ruleXUnaryOperation ) ;
+    // InternalSignalDSL.g:8229:1: rule__XMultiplicativeExpression__Group__0__Impl : ( ruleXUnaryOperation ) ;
     public final void rule__XMultiplicativeExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8205:1: ( ( ruleXUnaryOperation ) )
-            // InternalSignalDSL.g:8206:1: ( ruleXUnaryOperation )
+            // InternalSignalDSL.g:8233:1: ( ( ruleXUnaryOperation ) )
+            // InternalSignalDSL.g:8234:1: ( ruleXUnaryOperation )
             {
-            // InternalSignalDSL.g:8206:1: ( ruleXUnaryOperation )
-            // InternalSignalDSL.g:8207:2: ruleXUnaryOperation
+            // InternalSignalDSL.g:8234:1: ( ruleXUnaryOperation )
+            // InternalSignalDSL.g:8235:2: ruleXUnaryOperation
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); 
@@ -28086,14 +28130,14 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group__1"
-    // InternalSignalDSL.g:8216:1: rule__XMultiplicativeExpression__Group__1 : rule__XMultiplicativeExpression__Group__1__Impl ;
+    // InternalSignalDSL.g:8244:1: rule__XMultiplicativeExpression__Group__1 : rule__XMultiplicativeExpression__Group__1__Impl ;
     public final void rule__XMultiplicativeExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8220:1: ( rule__XMultiplicativeExpression__Group__1__Impl )
-            // InternalSignalDSL.g:8221:2: rule__XMultiplicativeExpression__Group__1__Impl
+            // InternalSignalDSL.g:8248:1: ( rule__XMultiplicativeExpression__Group__1__Impl )
+            // InternalSignalDSL.g:8249:2: rule__XMultiplicativeExpression__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMultiplicativeExpression__Group__1__Impl();
@@ -28119,32 +28163,32 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group__1__Impl"
-    // InternalSignalDSL.g:8227:1: rule__XMultiplicativeExpression__Group__1__Impl : ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) ;
+    // InternalSignalDSL.g:8255:1: rule__XMultiplicativeExpression__Group__1__Impl : ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) ;
     public final void rule__XMultiplicativeExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8231:1: ( ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) )
-            // InternalSignalDSL.g:8232:1: ( ( rule__XMultiplicativeExpression__Group_1__0 )* )
+            // InternalSignalDSL.g:8259:1: ( ( ( rule__XMultiplicativeExpression__Group_1__0 )* ) )
+            // InternalSignalDSL.g:8260:1: ( ( rule__XMultiplicativeExpression__Group_1__0 )* )
             {
-            // InternalSignalDSL.g:8232:1: ( ( rule__XMultiplicativeExpression__Group_1__0 )* )
-            // InternalSignalDSL.g:8233:2: ( rule__XMultiplicativeExpression__Group_1__0 )*
+            // InternalSignalDSL.g:8260:1: ( ( rule__XMultiplicativeExpression__Group_1__0 )* )
+            // InternalSignalDSL.g:8261:2: ( rule__XMultiplicativeExpression__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1()); 
             }
-            // InternalSignalDSL.g:8234:2: ( rule__XMultiplicativeExpression__Group_1__0 )*
-            loop76:
+            // InternalSignalDSL.g:8262:2: ( rule__XMultiplicativeExpression__Group_1__0 )*
+            loop77:
             do {
-                int alt76=2;
+                int alt77=2;
                 switch ( input.LA(1) ) {
                 case 36:
                     {
-                    int LA76_2 = input.LA(2);
+                    int LA77_2 = input.LA(2);
 
-                    if ( (synpred124_InternalSignalDSL()) ) {
-                        alt76=1;
+                    if ( (synpred121_InternalSignalDSL()) ) {
+                        alt77=1;
                     }
 
 
@@ -28152,10 +28196,10 @@
                     break;
                 case 37:
                     {
-                    int LA76_3 = input.LA(2);
+                    int LA77_3 = input.LA(2);
 
-                    if ( (synpred124_InternalSignalDSL()) ) {
-                        alt76=1;
+                    if ( (synpred121_InternalSignalDSL()) ) {
+                        alt77=1;
                     }
 
 
@@ -28163,10 +28207,10 @@
                     break;
                 case 38:
                     {
-                    int LA76_4 = input.LA(2);
+                    int LA77_4 = input.LA(2);
 
-                    if ( (synpred124_InternalSignalDSL()) ) {
-                        alt76=1;
+                    if ( (synpred121_InternalSignalDSL()) ) {
+                        alt77=1;
                     }
 
 
@@ -28174,10 +28218,10 @@
                     break;
                 case 39:
                     {
-                    int LA76_5 = input.LA(2);
+                    int LA77_5 = input.LA(2);
 
-                    if ( (synpred124_InternalSignalDSL()) ) {
-                        alt76=1;
+                    if ( (synpred121_InternalSignalDSL()) ) {
+                        alt77=1;
                     }
 
 
@@ -28186,9 +28230,9 @@
 
                 }
 
-                switch (alt76) {
+                switch (alt77) {
             	case 1 :
-            	    // InternalSignalDSL.g:8234:3: rule__XMultiplicativeExpression__Group_1__0
+            	    // InternalSignalDSL.g:8262:3: rule__XMultiplicativeExpression__Group_1__0
             	    {
             	    pushFollow(FOLLOW_62);
             	    rule__XMultiplicativeExpression__Group_1__0();
@@ -28200,7 +28244,7 @@
             	    break;
 
             	default :
-            	    break loop76;
+            	    break loop77;
                 }
             } while (true);
 
@@ -28229,14 +28273,14 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1__0"
-    // InternalSignalDSL.g:8243:1: rule__XMultiplicativeExpression__Group_1__0 : rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1 ;
+    // InternalSignalDSL.g:8271:1: rule__XMultiplicativeExpression__Group_1__0 : rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1 ;
     public final void rule__XMultiplicativeExpression__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8247:1: ( rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1 )
-            // InternalSignalDSL.g:8248:2: rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1
+            // InternalSignalDSL.g:8275:1: ( rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1 )
+            // InternalSignalDSL.g:8276:2: rule__XMultiplicativeExpression__Group_1__0__Impl rule__XMultiplicativeExpression__Group_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XMultiplicativeExpression__Group_1__0__Impl();
@@ -28267,23 +28311,23 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1__0__Impl"
-    // InternalSignalDSL.g:8255:1: rule__XMultiplicativeExpression__Group_1__0__Impl : ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) ;
+    // InternalSignalDSL.g:8283:1: rule__XMultiplicativeExpression__Group_1__0__Impl : ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) ;
     public final void rule__XMultiplicativeExpression__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8259:1: ( ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) )
-            // InternalSignalDSL.g:8260:1: ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) )
+            // InternalSignalDSL.g:8287:1: ( ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) ) )
+            // InternalSignalDSL.g:8288:1: ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) )
             {
-            // InternalSignalDSL.g:8260:1: ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) )
-            // InternalSignalDSL.g:8261:2: ( rule__XMultiplicativeExpression__Group_1_0__0 )
+            // InternalSignalDSL.g:8288:1: ( ( rule__XMultiplicativeExpression__Group_1_0__0 ) )
+            // InternalSignalDSL.g:8289:2: ( rule__XMultiplicativeExpression__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0()); 
             }
-            // InternalSignalDSL.g:8262:2: ( rule__XMultiplicativeExpression__Group_1_0__0 )
-            // InternalSignalDSL.g:8262:3: rule__XMultiplicativeExpression__Group_1_0__0
+            // InternalSignalDSL.g:8290:2: ( rule__XMultiplicativeExpression__Group_1_0__0 )
+            // InternalSignalDSL.g:8290:3: rule__XMultiplicativeExpression__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XMultiplicativeExpression__Group_1_0__0();
@@ -28318,14 +28362,14 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1__1"
-    // InternalSignalDSL.g:8270:1: rule__XMultiplicativeExpression__Group_1__1 : rule__XMultiplicativeExpression__Group_1__1__Impl ;
+    // InternalSignalDSL.g:8298:1: rule__XMultiplicativeExpression__Group_1__1 : rule__XMultiplicativeExpression__Group_1__1__Impl ;
     public final void rule__XMultiplicativeExpression__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8274:1: ( rule__XMultiplicativeExpression__Group_1__1__Impl )
-            // InternalSignalDSL.g:8275:2: rule__XMultiplicativeExpression__Group_1__1__Impl
+            // InternalSignalDSL.g:8302:1: ( rule__XMultiplicativeExpression__Group_1__1__Impl )
+            // InternalSignalDSL.g:8303:2: rule__XMultiplicativeExpression__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMultiplicativeExpression__Group_1__1__Impl();
@@ -28351,23 +28395,23 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1__1__Impl"
-    // InternalSignalDSL.g:8281:1: rule__XMultiplicativeExpression__Group_1__1__Impl : ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) ;
+    // InternalSignalDSL.g:8309:1: rule__XMultiplicativeExpression__Group_1__1__Impl : ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) ;
     public final void rule__XMultiplicativeExpression__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8285:1: ( ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) )
-            // InternalSignalDSL.g:8286:1: ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) )
+            // InternalSignalDSL.g:8313:1: ( ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) ) )
+            // InternalSignalDSL.g:8314:1: ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) )
             {
-            // InternalSignalDSL.g:8286:1: ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) )
-            // InternalSignalDSL.g:8287:2: ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 )
+            // InternalSignalDSL.g:8314:1: ( ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 ) )
+            // InternalSignalDSL.g:8315:2: ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1()); 
             }
-            // InternalSignalDSL.g:8288:2: ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 )
-            // InternalSignalDSL.g:8288:3: rule__XMultiplicativeExpression__RightOperandAssignment_1_1
+            // InternalSignalDSL.g:8316:2: ( rule__XMultiplicativeExpression__RightOperandAssignment_1_1 )
+            // InternalSignalDSL.g:8316:3: rule__XMultiplicativeExpression__RightOperandAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XMultiplicativeExpression__RightOperandAssignment_1_1();
@@ -28402,14 +28446,14 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0__0"
-    // InternalSignalDSL.g:8297:1: rule__XMultiplicativeExpression__Group_1_0__0 : rule__XMultiplicativeExpression__Group_1_0__0__Impl ;
+    // InternalSignalDSL.g:8325:1: rule__XMultiplicativeExpression__Group_1_0__0 : rule__XMultiplicativeExpression__Group_1_0__0__Impl ;
     public final void rule__XMultiplicativeExpression__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8301:1: ( rule__XMultiplicativeExpression__Group_1_0__0__Impl )
-            // InternalSignalDSL.g:8302:2: rule__XMultiplicativeExpression__Group_1_0__0__Impl
+            // InternalSignalDSL.g:8329:1: ( rule__XMultiplicativeExpression__Group_1_0__0__Impl )
+            // InternalSignalDSL.g:8330:2: rule__XMultiplicativeExpression__Group_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMultiplicativeExpression__Group_1_0__0__Impl();
@@ -28435,23 +28479,23 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0__0__Impl"
-    // InternalSignalDSL.g:8308:1: rule__XMultiplicativeExpression__Group_1_0__0__Impl : ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) ;
+    // InternalSignalDSL.g:8336:1: rule__XMultiplicativeExpression__Group_1_0__0__Impl : ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) ;
     public final void rule__XMultiplicativeExpression__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8312:1: ( ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) )
-            // InternalSignalDSL.g:8313:1: ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:8340:1: ( ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) ) )
+            // InternalSignalDSL.g:8341:1: ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) )
             {
-            // InternalSignalDSL.g:8313:1: ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) )
-            // InternalSignalDSL.g:8314:2: ( rule__XMultiplicativeExpression__Group_1_0_0__0 )
+            // InternalSignalDSL.g:8341:1: ( ( rule__XMultiplicativeExpression__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:8342:2: ( rule__XMultiplicativeExpression__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0()); 
             }
-            // InternalSignalDSL.g:8315:2: ( rule__XMultiplicativeExpression__Group_1_0_0__0 )
-            // InternalSignalDSL.g:8315:3: rule__XMultiplicativeExpression__Group_1_0_0__0
+            // InternalSignalDSL.g:8343:2: ( rule__XMultiplicativeExpression__Group_1_0_0__0 )
+            // InternalSignalDSL.g:8343:3: rule__XMultiplicativeExpression__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XMultiplicativeExpression__Group_1_0_0__0();
@@ -28486,14 +28530,14 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__0"
-    // InternalSignalDSL.g:8324:1: rule__XMultiplicativeExpression__Group_1_0_0__0 : rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1 ;
+    // InternalSignalDSL.g:8352:1: rule__XMultiplicativeExpression__Group_1_0_0__0 : rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1 ;
     public final void rule__XMultiplicativeExpression__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8328:1: ( rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1 )
-            // InternalSignalDSL.g:8329:2: rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1
+            // InternalSignalDSL.g:8356:1: ( rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1 )
+            // InternalSignalDSL.g:8357:2: rule__XMultiplicativeExpression__Group_1_0_0__0__Impl rule__XMultiplicativeExpression__Group_1_0_0__1
             {
             pushFollow(FOLLOW_61);
             rule__XMultiplicativeExpression__Group_1_0_0__0__Impl();
@@ -28524,23 +28568,23 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__0__Impl"
-    // InternalSignalDSL.g:8336:1: rule__XMultiplicativeExpression__Group_1_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:8364:1: rule__XMultiplicativeExpression__Group_1_0_0__0__Impl : ( () ) ;
     public final void rule__XMultiplicativeExpression__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8340:1: ( ( () ) )
-            // InternalSignalDSL.g:8341:1: ( () )
+            // InternalSignalDSL.g:8368:1: ( ( () ) )
+            // InternalSignalDSL.g:8369:1: ( () )
             {
-            // InternalSignalDSL.g:8341:1: ( () )
-            // InternalSignalDSL.g:8342:2: ()
+            // InternalSignalDSL.g:8369:1: ( () )
+            // InternalSignalDSL.g:8370:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0()); 
             }
-            // InternalSignalDSL.g:8343:2: ()
-            // InternalSignalDSL.g:8343:3: 
+            // InternalSignalDSL.g:8371:2: ()
+            // InternalSignalDSL.g:8371:3: 
             {
             }
 
@@ -28565,14 +28609,14 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__1"
-    // InternalSignalDSL.g:8351:1: rule__XMultiplicativeExpression__Group_1_0_0__1 : rule__XMultiplicativeExpression__Group_1_0_0__1__Impl ;
+    // InternalSignalDSL.g:8379:1: rule__XMultiplicativeExpression__Group_1_0_0__1 : rule__XMultiplicativeExpression__Group_1_0_0__1__Impl ;
     public final void rule__XMultiplicativeExpression__Group_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8355:1: ( rule__XMultiplicativeExpression__Group_1_0_0__1__Impl )
-            // InternalSignalDSL.g:8356:2: rule__XMultiplicativeExpression__Group_1_0_0__1__Impl
+            // InternalSignalDSL.g:8383:1: ( rule__XMultiplicativeExpression__Group_1_0_0__1__Impl )
+            // InternalSignalDSL.g:8384:2: rule__XMultiplicativeExpression__Group_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMultiplicativeExpression__Group_1_0_0__1__Impl();
@@ -28598,23 +28642,23 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__Group_1_0_0__1__Impl"
-    // InternalSignalDSL.g:8362:1: rule__XMultiplicativeExpression__Group_1_0_0__1__Impl : ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) ;
+    // InternalSignalDSL.g:8390:1: rule__XMultiplicativeExpression__Group_1_0_0__1__Impl : ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) ;
     public final void rule__XMultiplicativeExpression__Group_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8366:1: ( ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) )
-            // InternalSignalDSL.g:8367:1: ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalSignalDSL.g:8394:1: ( ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) ) )
+            // InternalSignalDSL.g:8395:1: ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) )
             {
-            // InternalSignalDSL.g:8367:1: ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) )
-            // InternalSignalDSL.g:8368:2: ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 )
+            // InternalSignalDSL.g:8395:1: ( ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 ) )
+            // InternalSignalDSL.g:8396:2: ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1()); 
             }
-            // InternalSignalDSL.g:8369:2: ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 )
-            // InternalSignalDSL.g:8369:3: rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1
+            // InternalSignalDSL.g:8397:2: ( rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 )
+            // InternalSignalDSL.g:8397:3: rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1();
@@ -28649,14 +28693,14 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__Group_0__0"
-    // InternalSignalDSL.g:8378:1: rule__XUnaryOperation__Group_0__0 : rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1 ;
+    // InternalSignalDSL.g:8406:1: rule__XUnaryOperation__Group_0__0 : rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1 ;
     public final void rule__XUnaryOperation__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8382:1: ( rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1 )
-            // InternalSignalDSL.g:8383:2: rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1
+            // InternalSignalDSL.g:8410:1: ( rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1 )
+            // InternalSignalDSL.g:8411:2: rule__XUnaryOperation__Group_0__0__Impl rule__XUnaryOperation__Group_0__1
             {
             pushFollow(FOLLOW_63);
             rule__XUnaryOperation__Group_0__0__Impl();
@@ -28687,23 +28731,23 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__Group_0__0__Impl"
-    // InternalSignalDSL.g:8390:1: rule__XUnaryOperation__Group_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:8418:1: rule__XUnaryOperation__Group_0__0__Impl : ( () ) ;
     public final void rule__XUnaryOperation__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8394:1: ( ( () ) )
-            // InternalSignalDSL.g:8395:1: ( () )
+            // InternalSignalDSL.g:8422:1: ( ( () ) )
+            // InternalSignalDSL.g:8423:1: ( () )
             {
-            // InternalSignalDSL.g:8395:1: ( () )
-            // InternalSignalDSL.g:8396:2: ()
+            // InternalSignalDSL.g:8423:1: ( () )
+            // InternalSignalDSL.g:8424:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0()); 
             }
-            // InternalSignalDSL.g:8397:2: ()
-            // InternalSignalDSL.g:8397:3: 
+            // InternalSignalDSL.g:8425:2: ()
+            // InternalSignalDSL.g:8425:3: 
             {
             }
 
@@ -28728,14 +28772,14 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__Group_0__1"
-    // InternalSignalDSL.g:8405:1: rule__XUnaryOperation__Group_0__1 : rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2 ;
+    // InternalSignalDSL.g:8433:1: rule__XUnaryOperation__Group_0__1 : rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2 ;
     public final void rule__XUnaryOperation__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8409:1: ( rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2 )
-            // InternalSignalDSL.g:8410:2: rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2
+            // InternalSignalDSL.g:8437:1: ( rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2 )
+            // InternalSignalDSL.g:8438:2: rule__XUnaryOperation__Group_0__1__Impl rule__XUnaryOperation__Group_0__2
             {
             pushFollow(FOLLOW_35);
             rule__XUnaryOperation__Group_0__1__Impl();
@@ -28766,23 +28810,23 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__Group_0__1__Impl"
-    // InternalSignalDSL.g:8417:1: rule__XUnaryOperation__Group_0__1__Impl : ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) ;
+    // InternalSignalDSL.g:8445:1: rule__XUnaryOperation__Group_0__1__Impl : ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) ;
     public final void rule__XUnaryOperation__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8421:1: ( ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) )
-            // InternalSignalDSL.g:8422:1: ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) )
+            // InternalSignalDSL.g:8449:1: ( ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) ) )
+            // InternalSignalDSL.g:8450:1: ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) )
             {
-            // InternalSignalDSL.g:8422:1: ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) )
-            // InternalSignalDSL.g:8423:2: ( rule__XUnaryOperation__FeatureAssignment_0_1 )
+            // InternalSignalDSL.g:8450:1: ( ( rule__XUnaryOperation__FeatureAssignment_0_1 ) )
+            // InternalSignalDSL.g:8451:2: ( rule__XUnaryOperation__FeatureAssignment_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1()); 
             }
-            // InternalSignalDSL.g:8424:2: ( rule__XUnaryOperation__FeatureAssignment_0_1 )
-            // InternalSignalDSL.g:8424:3: rule__XUnaryOperation__FeatureAssignment_0_1
+            // InternalSignalDSL.g:8452:2: ( rule__XUnaryOperation__FeatureAssignment_0_1 )
+            // InternalSignalDSL.g:8452:3: rule__XUnaryOperation__FeatureAssignment_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XUnaryOperation__FeatureAssignment_0_1();
@@ -28817,14 +28861,14 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__Group_0__2"
-    // InternalSignalDSL.g:8432:1: rule__XUnaryOperation__Group_0__2 : rule__XUnaryOperation__Group_0__2__Impl ;
+    // InternalSignalDSL.g:8460:1: rule__XUnaryOperation__Group_0__2 : rule__XUnaryOperation__Group_0__2__Impl ;
     public final void rule__XUnaryOperation__Group_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8436:1: ( rule__XUnaryOperation__Group_0__2__Impl )
-            // InternalSignalDSL.g:8437:2: rule__XUnaryOperation__Group_0__2__Impl
+            // InternalSignalDSL.g:8464:1: ( rule__XUnaryOperation__Group_0__2__Impl )
+            // InternalSignalDSL.g:8465:2: rule__XUnaryOperation__Group_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XUnaryOperation__Group_0__2__Impl();
@@ -28850,23 +28894,23 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__Group_0__2__Impl"
-    // InternalSignalDSL.g:8443:1: rule__XUnaryOperation__Group_0__2__Impl : ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) ;
+    // InternalSignalDSL.g:8471:1: rule__XUnaryOperation__Group_0__2__Impl : ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) ;
     public final void rule__XUnaryOperation__Group_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8447:1: ( ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) )
-            // InternalSignalDSL.g:8448:1: ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) )
+            // InternalSignalDSL.g:8475:1: ( ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) ) )
+            // InternalSignalDSL.g:8476:1: ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) )
             {
-            // InternalSignalDSL.g:8448:1: ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) )
-            // InternalSignalDSL.g:8449:2: ( rule__XUnaryOperation__OperandAssignment_0_2 )
+            // InternalSignalDSL.g:8476:1: ( ( rule__XUnaryOperation__OperandAssignment_0_2 ) )
+            // InternalSignalDSL.g:8477:2: ( rule__XUnaryOperation__OperandAssignment_0_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2()); 
             }
-            // InternalSignalDSL.g:8450:2: ( rule__XUnaryOperation__OperandAssignment_0_2 )
-            // InternalSignalDSL.g:8450:3: rule__XUnaryOperation__OperandAssignment_0_2
+            // InternalSignalDSL.g:8478:2: ( rule__XUnaryOperation__OperandAssignment_0_2 )
+            // InternalSignalDSL.g:8478:3: rule__XUnaryOperation__OperandAssignment_0_2
             {
             pushFollow(FOLLOW_2);
             rule__XUnaryOperation__OperandAssignment_0_2();
@@ -28901,14 +28945,14 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group__0"
-    // InternalSignalDSL.g:8459:1: rule__XCastedExpression__Group__0 : rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1 ;
+    // InternalSignalDSL.g:8487:1: rule__XCastedExpression__Group__0 : rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1 ;
     public final void rule__XCastedExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8463:1: ( rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1 )
-            // InternalSignalDSL.g:8464:2: rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1
+            // InternalSignalDSL.g:8491:1: ( rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1 )
+            // InternalSignalDSL.g:8492:2: rule__XCastedExpression__Group__0__Impl rule__XCastedExpression__Group__1
             {
             pushFollow(FOLLOW_64);
             rule__XCastedExpression__Group__0__Impl();
@@ -28939,17 +28983,17 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group__0__Impl"
-    // InternalSignalDSL.g:8471:1: rule__XCastedExpression__Group__0__Impl : ( ruleXPostfixOperation ) ;
+    // InternalSignalDSL.g:8499:1: rule__XCastedExpression__Group__0__Impl : ( ruleXPostfixOperation ) ;
     public final void rule__XCastedExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8475:1: ( ( ruleXPostfixOperation ) )
-            // InternalSignalDSL.g:8476:1: ( ruleXPostfixOperation )
+            // InternalSignalDSL.g:8503:1: ( ( ruleXPostfixOperation ) )
+            // InternalSignalDSL.g:8504:1: ( ruleXPostfixOperation )
             {
-            // InternalSignalDSL.g:8476:1: ( ruleXPostfixOperation )
-            // InternalSignalDSL.g:8477:2: ruleXPostfixOperation
+            // InternalSignalDSL.g:8504:1: ( ruleXPostfixOperation )
+            // InternalSignalDSL.g:8505:2: ruleXPostfixOperation
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); 
@@ -28984,14 +29028,14 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group__1"
-    // InternalSignalDSL.g:8486:1: rule__XCastedExpression__Group__1 : rule__XCastedExpression__Group__1__Impl ;
+    // InternalSignalDSL.g:8514:1: rule__XCastedExpression__Group__1 : rule__XCastedExpression__Group__1__Impl ;
     public final void rule__XCastedExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8490:1: ( rule__XCastedExpression__Group__1__Impl )
-            // InternalSignalDSL.g:8491:2: rule__XCastedExpression__Group__1__Impl
+            // InternalSignalDSL.g:8518:1: ( rule__XCastedExpression__Group__1__Impl )
+            // InternalSignalDSL.g:8519:2: rule__XCastedExpression__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XCastedExpression__Group__1__Impl();
@@ -29017,41 +29061,41 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group__1__Impl"
-    // InternalSignalDSL.g:8497:1: rule__XCastedExpression__Group__1__Impl : ( ( rule__XCastedExpression__Group_1__0 )* ) ;
+    // InternalSignalDSL.g:8525:1: rule__XCastedExpression__Group__1__Impl : ( ( rule__XCastedExpression__Group_1__0 )* ) ;
     public final void rule__XCastedExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8501:1: ( ( ( rule__XCastedExpression__Group_1__0 )* ) )
-            // InternalSignalDSL.g:8502:1: ( ( rule__XCastedExpression__Group_1__0 )* )
+            // InternalSignalDSL.g:8529:1: ( ( ( rule__XCastedExpression__Group_1__0 )* ) )
+            // InternalSignalDSL.g:8530:1: ( ( rule__XCastedExpression__Group_1__0 )* )
             {
-            // InternalSignalDSL.g:8502:1: ( ( rule__XCastedExpression__Group_1__0 )* )
-            // InternalSignalDSL.g:8503:2: ( rule__XCastedExpression__Group_1__0 )*
+            // InternalSignalDSL.g:8530:1: ( ( rule__XCastedExpression__Group_1__0 )* )
+            // InternalSignalDSL.g:8531:2: ( rule__XCastedExpression__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionAccess().getGroup_1()); 
             }
-            // InternalSignalDSL.g:8504:2: ( rule__XCastedExpression__Group_1__0 )*
-            loop77:
+            // InternalSignalDSL.g:8532:2: ( rule__XCastedExpression__Group_1__0 )*
+            loop78:
             do {
-                int alt77=2;
-                int LA77_0 = input.LA(1);
+                int alt78=2;
+                int LA78_0 = input.LA(1);
 
-                if ( (LA77_0==81) ) {
-                    int LA77_2 = input.LA(2);
+                if ( (LA78_0==78) ) {
+                    int LA78_2 = input.LA(2);
 
-                    if ( (synpred125_InternalSignalDSL()) ) {
-                        alt77=1;
+                    if ( (synpred122_InternalSignalDSL()) ) {
+                        alt78=1;
                     }
 
 
                 }
 
 
-                switch (alt77) {
+                switch (alt78) {
             	case 1 :
-            	    // InternalSignalDSL.g:8504:3: rule__XCastedExpression__Group_1__0
+            	    // InternalSignalDSL.g:8532:3: rule__XCastedExpression__Group_1__0
             	    {
             	    pushFollow(FOLLOW_65);
             	    rule__XCastedExpression__Group_1__0();
@@ -29063,7 +29107,7 @@
             	    break;
 
             	default :
-            	    break loop77;
+            	    break loop78;
                 }
             } while (true);
 
@@ -29092,14 +29136,14 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1__0"
-    // InternalSignalDSL.g:8513:1: rule__XCastedExpression__Group_1__0 : rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1 ;
+    // InternalSignalDSL.g:8541:1: rule__XCastedExpression__Group_1__0 : rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1 ;
     public final void rule__XCastedExpression__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8517:1: ( rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1 )
-            // InternalSignalDSL.g:8518:2: rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1
+            // InternalSignalDSL.g:8545:1: ( rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1 )
+            // InternalSignalDSL.g:8546:2: rule__XCastedExpression__Group_1__0__Impl rule__XCastedExpression__Group_1__1
             {
             pushFollow(FOLLOW_52);
             rule__XCastedExpression__Group_1__0__Impl();
@@ -29130,23 +29174,23 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1__0__Impl"
-    // InternalSignalDSL.g:8525:1: rule__XCastedExpression__Group_1__0__Impl : ( ( rule__XCastedExpression__Group_1_0__0 ) ) ;
+    // InternalSignalDSL.g:8553:1: rule__XCastedExpression__Group_1__0__Impl : ( ( rule__XCastedExpression__Group_1_0__0 ) ) ;
     public final void rule__XCastedExpression__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8529:1: ( ( ( rule__XCastedExpression__Group_1_0__0 ) ) )
-            // InternalSignalDSL.g:8530:1: ( ( rule__XCastedExpression__Group_1_0__0 ) )
+            // InternalSignalDSL.g:8557:1: ( ( ( rule__XCastedExpression__Group_1_0__0 ) ) )
+            // InternalSignalDSL.g:8558:1: ( ( rule__XCastedExpression__Group_1_0__0 ) )
             {
-            // InternalSignalDSL.g:8530:1: ( ( rule__XCastedExpression__Group_1_0__0 ) )
-            // InternalSignalDSL.g:8531:2: ( rule__XCastedExpression__Group_1_0__0 )
+            // InternalSignalDSL.g:8558:1: ( ( rule__XCastedExpression__Group_1_0__0 ) )
+            // InternalSignalDSL.g:8559:2: ( rule__XCastedExpression__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionAccess().getGroup_1_0()); 
             }
-            // InternalSignalDSL.g:8532:2: ( rule__XCastedExpression__Group_1_0__0 )
-            // InternalSignalDSL.g:8532:3: rule__XCastedExpression__Group_1_0__0
+            // InternalSignalDSL.g:8560:2: ( rule__XCastedExpression__Group_1_0__0 )
+            // InternalSignalDSL.g:8560:3: rule__XCastedExpression__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XCastedExpression__Group_1_0__0();
@@ -29181,14 +29225,14 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1__1"
-    // InternalSignalDSL.g:8540:1: rule__XCastedExpression__Group_1__1 : rule__XCastedExpression__Group_1__1__Impl ;
+    // InternalSignalDSL.g:8568:1: rule__XCastedExpression__Group_1__1 : rule__XCastedExpression__Group_1__1__Impl ;
     public final void rule__XCastedExpression__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8544:1: ( rule__XCastedExpression__Group_1__1__Impl )
-            // InternalSignalDSL.g:8545:2: rule__XCastedExpression__Group_1__1__Impl
+            // InternalSignalDSL.g:8572:1: ( rule__XCastedExpression__Group_1__1__Impl )
+            // InternalSignalDSL.g:8573:2: rule__XCastedExpression__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XCastedExpression__Group_1__1__Impl();
@@ -29214,23 +29258,23 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1__1__Impl"
-    // InternalSignalDSL.g:8551:1: rule__XCastedExpression__Group_1__1__Impl : ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) ;
+    // InternalSignalDSL.g:8579:1: rule__XCastedExpression__Group_1__1__Impl : ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) ;
     public final void rule__XCastedExpression__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8555:1: ( ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) )
-            // InternalSignalDSL.g:8556:1: ( ( rule__XCastedExpression__TypeAssignment_1_1 ) )
+            // InternalSignalDSL.g:8583:1: ( ( ( rule__XCastedExpression__TypeAssignment_1_1 ) ) )
+            // InternalSignalDSL.g:8584:1: ( ( rule__XCastedExpression__TypeAssignment_1_1 ) )
             {
-            // InternalSignalDSL.g:8556:1: ( ( rule__XCastedExpression__TypeAssignment_1_1 ) )
-            // InternalSignalDSL.g:8557:2: ( rule__XCastedExpression__TypeAssignment_1_1 )
+            // InternalSignalDSL.g:8584:1: ( ( rule__XCastedExpression__TypeAssignment_1_1 ) )
+            // InternalSignalDSL.g:8585:2: ( rule__XCastedExpression__TypeAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1()); 
             }
-            // InternalSignalDSL.g:8558:2: ( rule__XCastedExpression__TypeAssignment_1_1 )
-            // InternalSignalDSL.g:8558:3: rule__XCastedExpression__TypeAssignment_1_1
+            // InternalSignalDSL.g:8586:2: ( rule__XCastedExpression__TypeAssignment_1_1 )
+            // InternalSignalDSL.g:8586:3: rule__XCastedExpression__TypeAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XCastedExpression__TypeAssignment_1_1();
@@ -29265,14 +29309,14 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1_0__0"
-    // InternalSignalDSL.g:8567:1: rule__XCastedExpression__Group_1_0__0 : rule__XCastedExpression__Group_1_0__0__Impl ;
+    // InternalSignalDSL.g:8595:1: rule__XCastedExpression__Group_1_0__0 : rule__XCastedExpression__Group_1_0__0__Impl ;
     public final void rule__XCastedExpression__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8571:1: ( rule__XCastedExpression__Group_1_0__0__Impl )
-            // InternalSignalDSL.g:8572:2: rule__XCastedExpression__Group_1_0__0__Impl
+            // InternalSignalDSL.g:8599:1: ( rule__XCastedExpression__Group_1_0__0__Impl )
+            // InternalSignalDSL.g:8600:2: rule__XCastedExpression__Group_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XCastedExpression__Group_1_0__0__Impl();
@@ -29298,23 +29342,23 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1_0__0__Impl"
-    // InternalSignalDSL.g:8578:1: rule__XCastedExpression__Group_1_0__0__Impl : ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) ;
+    // InternalSignalDSL.g:8606:1: rule__XCastedExpression__Group_1_0__0__Impl : ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) ;
     public final void rule__XCastedExpression__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8582:1: ( ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) )
-            // InternalSignalDSL.g:8583:1: ( ( rule__XCastedExpression__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:8610:1: ( ( ( rule__XCastedExpression__Group_1_0_0__0 ) ) )
+            // InternalSignalDSL.g:8611:1: ( ( rule__XCastedExpression__Group_1_0_0__0 ) )
             {
-            // InternalSignalDSL.g:8583:1: ( ( rule__XCastedExpression__Group_1_0_0__0 ) )
-            // InternalSignalDSL.g:8584:2: ( rule__XCastedExpression__Group_1_0_0__0 )
+            // InternalSignalDSL.g:8611:1: ( ( rule__XCastedExpression__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:8612:2: ( rule__XCastedExpression__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0()); 
             }
-            // InternalSignalDSL.g:8585:2: ( rule__XCastedExpression__Group_1_0_0__0 )
-            // InternalSignalDSL.g:8585:3: rule__XCastedExpression__Group_1_0_0__0
+            // InternalSignalDSL.g:8613:2: ( rule__XCastedExpression__Group_1_0_0__0 )
+            // InternalSignalDSL.g:8613:3: rule__XCastedExpression__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XCastedExpression__Group_1_0_0__0();
@@ -29349,14 +29393,14 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1_0_0__0"
-    // InternalSignalDSL.g:8594:1: rule__XCastedExpression__Group_1_0_0__0 : rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1 ;
+    // InternalSignalDSL.g:8622:1: rule__XCastedExpression__Group_1_0_0__0 : rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1 ;
     public final void rule__XCastedExpression__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8598:1: ( rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1 )
-            // InternalSignalDSL.g:8599:2: rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1
+            // InternalSignalDSL.g:8626:1: ( rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1 )
+            // InternalSignalDSL.g:8627:2: rule__XCastedExpression__Group_1_0_0__0__Impl rule__XCastedExpression__Group_1_0_0__1
             {
             pushFollow(FOLLOW_64);
             rule__XCastedExpression__Group_1_0_0__0__Impl();
@@ -29387,23 +29431,23 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1_0_0__0__Impl"
-    // InternalSignalDSL.g:8606:1: rule__XCastedExpression__Group_1_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:8634:1: rule__XCastedExpression__Group_1_0_0__0__Impl : ( () ) ;
     public final void rule__XCastedExpression__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8610:1: ( ( () ) )
-            // InternalSignalDSL.g:8611:1: ( () )
+            // InternalSignalDSL.g:8638:1: ( ( () ) )
+            // InternalSignalDSL.g:8639:1: ( () )
             {
-            // InternalSignalDSL.g:8611:1: ( () )
-            // InternalSignalDSL.g:8612:2: ()
+            // InternalSignalDSL.g:8639:1: ( () )
+            // InternalSignalDSL.g:8640:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0()); 
             }
-            // InternalSignalDSL.g:8613:2: ()
-            // InternalSignalDSL.g:8613:3: 
+            // InternalSignalDSL.g:8641:2: ()
+            // InternalSignalDSL.g:8641:3: 
             {
             }
 
@@ -29428,14 +29472,14 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1_0_0__1"
-    // InternalSignalDSL.g:8621:1: rule__XCastedExpression__Group_1_0_0__1 : rule__XCastedExpression__Group_1_0_0__1__Impl ;
+    // InternalSignalDSL.g:8649:1: rule__XCastedExpression__Group_1_0_0__1 : rule__XCastedExpression__Group_1_0_0__1__Impl ;
     public final void rule__XCastedExpression__Group_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8625:1: ( rule__XCastedExpression__Group_1_0_0__1__Impl )
-            // InternalSignalDSL.g:8626:2: rule__XCastedExpression__Group_1_0_0__1__Impl
+            // InternalSignalDSL.g:8653:1: ( rule__XCastedExpression__Group_1_0_0__1__Impl )
+            // InternalSignalDSL.g:8654:2: rule__XCastedExpression__Group_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XCastedExpression__Group_1_0_0__1__Impl();
@@ -29461,22 +29505,22 @@
 
 
     // $ANTLR start "rule__XCastedExpression__Group_1_0_0__1__Impl"
-    // InternalSignalDSL.g:8632:1: rule__XCastedExpression__Group_1_0_0__1__Impl : ( 'as' ) ;
+    // InternalSignalDSL.g:8660:1: rule__XCastedExpression__Group_1_0_0__1__Impl : ( 'as' ) ;
     public final void rule__XCastedExpression__Group_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8636:1: ( ( 'as' ) )
-            // InternalSignalDSL.g:8637:1: ( 'as' )
+            // InternalSignalDSL.g:8664:1: ( ( 'as' ) )
+            // InternalSignalDSL.g:8665:1: ( 'as' )
             {
-            // InternalSignalDSL.g:8637:1: ( 'as' )
-            // InternalSignalDSL.g:8638:2: 'as'
+            // InternalSignalDSL.g:8665:1: ( 'as' )
+            // InternalSignalDSL.g:8666:2: 'as'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); 
             }
-            match(input,81,FOLLOW_2); if (state.failed) return ;
+            match(input,78,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); 
             }
@@ -29502,14 +29546,14 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group__0"
-    // InternalSignalDSL.g:8648:1: rule__XPostfixOperation__Group__0 : rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1 ;
+    // InternalSignalDSL.g:8676:1: rule__XPostfixOperation__Group__0 : rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1 ;
     public final void rule__XPostfixOperation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8652:1: ( rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1 )
-            // InternalSignalDSL.g:8653:2: rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1
+            // InternalSignalDSL.g:8680:1: ( rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1 )
+            // InternalSignalDSL.g:8681:2: rule__XPostfixOperation__Group__0__Impl rule__XPostfixOperation__Group__1
             {
             pushFollow(FOLLOW_66);
             rule__XPostfixOperation__Group__0__Impl();
@@ -29540,17 +29584,17 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group__0__Impl"
-    // InternalSignalDSL.g:8660:1: rule__XPostfixOperation__Group__0__Impl : ( ruleXMemberFeatureCall ) ;
+    // InternalSignalDSL.g:8688:1: rule__XPostfixOperation__Group__0__Impl : ( ruleXMemberFeatureCall ) ;
     public final void rule__XPostfixOperation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8664:1: ( ( ruleXMemberFeatureCall ) )
-            // InternalSignalDSL.g:8665:1: ( ruleXMemberFeatureCall )
+            // InternalSignalDSL.g:8692:1: ( ( ruleXMemberFeatureCall ) )
+            // InternalSignalDSL.g:8693:1: ( ruleXMemberFeatureCall )
             {
-            // InternalSignalDSL.g:8665:1: ( ruleXMemberFeatureCall )
-            // InternalSignalDSL.g:8666:2: ruleXMemberFeatureCall
+            // InternalSignalDSL.g:8693:1: ( ruleXMemberFeatureCall )
+            // InternalSignalDSL.g:8694:2: ruleXMemberFeatureCall
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); 
@@ -29585,14 +29629,14 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group__1"
-    // InternalSignalDSL.g:8675:1: rule__XPostfixOperation__Group__1 : rule__XPostfixOperation__Group__1__Impl ;
+    // InternalSignalDSL.g:8703:1: rule__XPostfixOperation__Group__1 : rule__XPostfixOperation__Group__1__Impl ;
     public final void rule__XPostfixOperation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8679:1: ( rule__XPostfixOperation__Group__1__Impl )
-            // InternalSignalDSL.g:8680:2: rule__XPostfixOperation__Group__1__Impl
+            // InternalSignalDSL.g:8707:1: ( rule__XPostfixOperation__Group__1__Impl )
+            // InternalSignalDSL.g:8708:2: rule__XPostfixOperation__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XPostfixOperation__Group__1__Impl();
@@ -29618,42 +29662,42 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group__1__Impl"
-    // InternalSignalDSL.g:8686:1: rule__XPostfixOperation__Group__1__Impl : ( ( rule__XPostfixOperation__Group_1__0 )? ) ;
+    // InternalSignalDSL.g:8714:1: rule__XPostfixOperation__Group__1__Impl : ( ( rule__XPostfixOperation__Group_1__0 )? ) ;
     public final void rule__XPostfixOperation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8690:1: ( ( ( rule__XPostfixOperation__Group_1__0 )? ) )
-            // InternalSignalDSL.g:8691:1: ( ( rule__XPostfixOperation__Group_1__0 )? )
+            // InternalSignalDSL.g:8718:1: ( ( ( rule__XPostfixOperation__Group_1__0 )? ) )
+            // InternalSignalDSL.g:8719:1: ( ( rule__XPostfixOperation__Group_1__0 )? )
             {
-            // InternalSignalDSL.g:8691:1: ( ( rule__XPostfixOperation__Group_1__0 )? )
-            // InternalSignalDSL.g:8692:2: ( rule__XPostfixOperation__Group_1__0 )?
+            // InternalSignalDSL.g:8719:1: ( ( rule__XPostfixOperation__Group_1__0 )? )
+            // InternalSignalDSL.g:8720:2: ( rule__XPostfixOperation__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPostfixOperationAccess().getGroup_1()); 
             }
-            // InternalSignalDSL.g:8693:2: ( rule__XPostfixOperation__Group_1__0 )?
-            int alt78=2;
-            int LA78_0 = input.LA(1);
+            // InternalSignalDSL.g:8721:2: ( rule__XPostfixOperation__Group_1__0 )?
+            int alt79=2;
+            int LA79_0 = input.LA(1);
 
-            if ( (LA78_0==41) ) {
-                int LA78_1 = input.LA(2);
+            if ( (LA79_0==41) ) {
+                int LA79_1 = input.LA(2);
 
-                if ( (synpred126_InternalSignalDSL()) ) {
-                    alt78=1;
+                if ( (synpred123_InternalSignalDSL()) ) {
+                    alt79=1;
                 }
             }
-            else if ( (LA78_0==42) ) {
-                int LA78_2 = input.LA(2);
+            else if ( (LA79_0==42) ) {
+                int LA79_2 = input.LA(2);
 
-                if ( (synpred126_InternalSignalDSL()) ) {
-                    alt78=1;
+                if ( (synpred123_InternalSignalDSL()) ) {
+                    alt79=1;
                 }
             }
-            switch (alt78) {
+            switch (alt79) {
                 case 1 :
-                    // InternalSignalDSL.g:8693:3: rule__XPostfixOperation__Group_1__0
+                    // InternalSignalDSL.g:8721:3: rule__XPostfixOperation__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XPostfixOperation__Group_1__0();
@@ -29691,14 +29735,14 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group_1__0"
-    // InternalSignalDSL.g:8702:1: rule__XPostfixOperation__Group_1__0 : rule__XPostfixOperation__Group_1__0__Impl ;
+    // InternalSignalDSL.g:8730:1: rule__XPostfixOperation__Group_1__0 : rule__XPostfixOperation__Group_1__0__Impl ;
     public final void rule__XPostfixOperation__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8706:1: ( rule__XPostfixOperation__Group_1__0__Impl )
-            // InternalSignalDSL.g:8707:2: rule__XPostfixOperation__Group_1__0__Impl
+            // InternalSignalDSL.g:8734:1: ( rule__XPostfixOperation__Group_1__0__Impl )
+            // InternalSignalDSL.g:8735:2: rule__XPostfixOperation__Group_1__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XPostfixOperation__Group_1__0__Impl();
@@ -29724,23 +29768,23 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group_1__0__Impl"
-    // InternalSignalDSL.g:8713:1: rule__XPostfixOperation__Group_1__0__Impl : ( ( rule__XPostfixOperation__Group_1_0__0 ) ) ;
+    // InternalSignalDSL.g:8741:1: rule__XPostfixOperation__Group_1__0__Impl : ( ( rule__XPostfixOperation__Group_1_0__0 ) ) ;
     public final void rule__XPostfixOperation__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8717:1: ( ( ( rule__XPostfixOperation__Group_1_0__0 ) ) )
-            // InternalSignalDSL.g:8718:1: ( ( rule__XPostfixOperation__Group_1_0__0 ) )
+            // InternalSignalDSL.g:8745:1: ( ( ( rule__XPostfixOperation__Group_1_0__0 ) ) )
+            // InternalSignalDSL.g:8746:1: ( ( rule__XPostfixOperation__Group_1_0__0 ) )
             {
-            // InternalSignalDSL.g:8718:1: ( ( rule__XPostfixOperation__Group_1_0__0 ) )
-            // InternalSignalDSL.g:8719:2: ( rule__XPostfixOperation__Group_1_0__0 )
+            // InternalSignalDSL.g:8746:1: ( ( rule__XPostfixOperation__Group_1_0__0 ) )
+            // InternalSignalDSL.g:8747:2: ( rule__XPostfixOperation__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPostfixOperationAccess().getGroup_1_0()); 
             }
-            // InternalSignalDSL.g:8720:2: ( rule__XPostfixOperation__Group_1_0__0 )
-            // InternalSignalDSL.g:8720:3: rule__XPostfixOperation__Group_1_0__0
+            // InternalSignalDSL.g:8748:2: ( rule__XPostfixOperation__Group_1_0__0 )
+            // InternalSignalDSL.g:8748:3: rule__XPostfixOperation__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XPostfixOperation__Group_1_0__0();
@@ -29775,14 +29819,14 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group_1_0__0"
-    // InternalSignalDSL.g:8729:1: rule__XPostfixOperation__Group_1_0__0 : rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1 ;
+    // InternalSignalDSL.g:8757:1: rule__XPostfixOperation__Group_1_0__0 : rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1 ;
     public final void rule__XPostfixOperation__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8733:1: ( rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1 )
-            // InternalSignalDSL.g:8734:2: rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1
+            // InternalSignalDSL.g:8761:1: ( rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1 )
+            // InternalSignalDSL.g:8762:2: rule__XPostfixOperation__Group_1_0__0__Impl rule__XPostfixOperation__Group_1_0__1
             {
             pushFollow(FOLLOW_66);
             rule__XPostfixOperation__Group_1_0__0__Impl();
@@ -29813,23 +29857,23 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group_1_0__0__Impl"
-    // InternalSignalDSL.g:8741:1: rule__XPostfixOperation__Group_1_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:8769:1: rule__XPostfixOperation__Group_1_0__0__Impl : ( () ) ;
     public final void rule__XPostfixOperation__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8745:1: ( ( () ) )
-            // InternalSignalDSL.g:8746:1: ( () )
+            // InternalSignalDSL.g:8773:1: ( ( () ) )
+            // InternalSignalDSL.g:8774:1: ( () )
             {
-            // InternalSignalDSL.g:8746:1: ( () )
-            // InternalSignalDSL.g:8747:2: ()
+            // InternalSignalDSL.g:8774:1: ( () )
+            // InternalSignalDSL.g:8775:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0()); 
             }
-            // InternalSignalDSL.g:8748:2: ()
-            // InternalSignalDSL.g:8748:3: 
+            // InternalSignalDSL.g:8776:2: ()
+            // InternalSignalDSL.g:8776:3: 
             {
             }
 
@@ -29854,14 +29898,14 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group_1_0__1"
-    // InternalSignalDSL.g:8756:1: rule__XPostfixOperation__Group_1_0__1 : rule__XPostfixOperation__Group_1_0__1__Impl ;
+    // InternalSignalDSL.g:8784:1: rule__XPostfixOperation__Group_1_0__1 : rule__XPostfixOperation__Group_1_0__1__Impl ;
     public final void rule__XPostfixOperation__Group_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8760:1: ( rule__XPostfixOperation__Group_1_0__1__Impl )
-            // InternalSignalDSL.g:8761:2: rule__XPostfixOperation__Group_1_0__1__Impl
+            // InternalSignalDSL.g:8788:1: ( rule__XPostfixOperation__Group_1_0__1__Impl )
+            // InternalSignalDSL.g:8789:2: rule__XPostfixOperation__Group_1_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XPostfixOperation__Group_1_0__1__Impl();
@@ -29887,23 +29931,23 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__Group_1_0__1__Impl"
-    // InternalSignalDSL.g:8767:1: rule__XPostfixOperation__Group_1_0__1__Impl : ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) ;
+    // InternalSignalDSL.g:8795:1: rule__XPostfixOperation__Group_1_0__1__Impl : ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) ;
     public final void rule__XPostfixOperation__Group_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8771:1: ( ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) )
-            // InternalSignalDSL.g:8772:1: ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) )
+            // InternalSignalDSL.g:8799:1: ( ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) ) )
+            // InternalSignalDSL.g:8800:1: ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) )
             {
-            // InternalSignalDSL.g:8772:1: ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) )
-            // InternalSignalDSL.g:8773:2: ( rule__XPostfixOperation__FeatureAssignment_1_0_1 )
+            // InternalSignalDSL.g:8800:1: ( ( rule__XPostfixOperation__FeatureAssignment_1_0_1 ) )
+            // InternalSignalDSL.g:8801:2: ( rule__XPostfixOperation__FeatureAssignment_1_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1()); 
             }
-            // InternalSignalDSL.g:8774:2: ( rule__XPostfixOperation__FeatureAssignment_1_0_1 )
-            // InternalSignalDSL.g:8774:3: rule__XPostfixOperation__FeatureAssignment_1_0_1
+            // InternalSignalDSL.g:8802:2: ( rule__XPostfixOperation__FeatureAssignment_1_0_1 )
+            // InternalSignalDSL.g:8802:3: rule__XPostfixOperation__FeatureAssignment_1_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XPostfixOperation__FeatureAssignment_1_0_1();
@@ -29938,14 +29982,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group__0"
-    // InternalSignalDSL.g:8783:1: rule__XMemberFeatureCall__Group__0 : rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1 ;
+    // InternalSignalDSL.g:8811:1: rule__XMemberFeatureCall__Group__0 : rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1 ;
     public final void rule__XMemberFeatureCall__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8787:1: ( rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1 )
-            // InternalSignalDSL.g:8788:2: rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1
+            // InternalSignalDSL.g:8815:1: ( rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1 )
+            // InternalSignalDSL.g:8816:2: rule__XMemberFeatureCall__Group__0__Impl rule__XMemberFeatureCall__Group__1
             {
             pushFollow(FOLLOW_67);
             rule__XMemberFeatureCall__Group__0__Impl();
@@ -29976,17 +30020,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group__0__Impl"
-    // InternalSignalDSL.g:8795:1: rule__XMemberFeatureCall__Group__0__Impl : ( ruleXPrimaryExpression ) ;
+    // InternalSignalDSL.g:8823:1: rule__XMemberFeatureCall__Group__0__Impl : ( ruleXPrimaryExpression ) ;
     public final void rule__XMemberFeatureCall__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8799:1: ( ( ruleXPrimaryExpression ) )
-            // InternalSignalDSL.g:8800:1: ( ruleXPrimaryExpression )
+            // InternalSignalDSL.g:8827:1: ( ( ruleXPrimaryExpression ) )
+            // InternalSignalDSL.g:8828:1: ( ruleXPrimaryExpression )
             {
-            // InternalSignalDSL.g:8800:1: ( ruleXPrimaryExpression )
-            // InternalSignalDSL.g:8801:2: ruleXPrimaryExpression
+            // InternalSignalDSL.g:8828:1: ( ruleXPrimaryExpression )
+            // InternalSignalDSL.g:8829:2: ruleXPrimaryExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); 
@@ -30021,14 +30065,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group__1"
-    // InternalSignalDSL.g:8810:1: rule__XMemberFeatureCall__Group__1 : rule__XMemberFeatureCall__Group__1__Impl ;
+    // InternalSignalDSL.g:8838:1: rule__XMemberFeatureCall__Group__1 : rule__XMemberFeatureCall__Group__1__Impl ;
     public final void rule__XMemberFeatureCall__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8814:1: ( rule__XMemberFeatureCall__Group__1__Impl )
-            // InternalSignalDSL.g:8815:2: rule__XMemberFeatureCall__Group__1__Impl
+            // InternalSignalDSL.g:8842:1: ( rule__XMemberFeatureCall__Group__1__Impl )
+            // InternalSignalDSL.g:8843:2: rule__XMemberFeatureCall__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group__1__Impl();
@@ -30054,54 +30098,54 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group__1__Impl"
-    // InternalSignalDSL.g:8821:1: rule__XMemberFeatureCall__Group__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) ;
+    // InternalSignalDSL.g:8849:1: rule__XMemberFeatureCall__Group__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) ;
     public final void rule__XMemberFeatureCall__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8825:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) )
-            // InternalSignalDSL.g:8826:1: ( ( rule__XMemberFeatureCall__Alternatives_1 )* )
+            // InternalSignalDSL.g:8853:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1 )* ) )
+            // InternalSignalDSL.g:8854:1: ( ( rule__XMemberFeatureCall__Alternatives_1 )* )
             {
-            // InternalSignalDSL.g:8826:1: ( ( rule__XMemberFeatureCall__Alternatives_1 )* )
-            // InternalSignalDSL.g:8827:2: ( rule__XMemberFeatureCall__Alternatives_1 )*
+            // InternalSignalDSL.g:8854:1: ( ( rule__XMemberFeatureCall__Alternatives_1 )* )
+            // InternalSignalDSL.g:8855:2: ( rule__XMemberFeatureCall__Alternatives_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1()); 
             }
-            // InternalSignalDSL.g:8828:2: ( rule__XMemberFeatureCall__Alternatives_1 )*
-            loop79:
+            // InternalSignalDSL.g:8856:2: ( rule__XMemberFeatureCall__Alternatives_1 )*
+            loop80:
             do {
-                int alt79=2;
+                int alt80=2;
                 switch ( input.LA(1) ) {
                 case 43:
                     {
-                    int LA79_2 = input.LA(2);
+                    int LA80_2 = input.LA(2);
 
-                    if ( (synpred127_InternalSignalDSL()) ) {
-                        alt79=1;
+                    if ( (synpred124_InternalSignalDSL()) ) {
+                        alt80=1;
                     }
 
 
                     }
                     break;
-                case 102:
+                case 99:
                     {
-                    int LA79_3 = input.LA(2);
+                    int LA80_3 = input.LA(2);
 
-                    if ( (synpred127_InternalSignalDSL()) ) {
-                        alt79=1;
+                    if ( (synpred124_InternalSignalDSL()) ) {
+                        alt80=1;
                     }
 
 
                     }
                     break;
-                case 103:
+                case 100:
                     {
-                    int LA79_4 = input.LA(2);
+                    int LA80_4 = input.LA(2);
 
-                    if ( (synpred127_InternalSignalDSL()) ) {
-                        alt79=1;
+                    if ( (synpred124_InternalSignalDSL()) ) {
+                        alt80=1;
                     }
 
 
@@ -30110,9 +30154,9 @@
 
                 }
 
-                switch (alt79) {
+                switch (alt80) {
             	case 1 :
-            	    // InternalSignalDSL.g:8828:3: rule__XMemberFeatureCall__Alternatives_1
+            	    // InternalSignalDSL.g:8856:3: rule__XMemberFeatureCall__Alternatives_1
             	    {
             	    pushFollow(FOLLOW_68);
             	    rule__XMemberFeatureCall__Alternatives_1();
@@ -30124,7 +30168,7 @@
             	    break;
 
             	default :
-            	    break loop79;
+            	    break loop80;
                 }
             } while (true);
 
@@ -30153,14 +30197,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__0"
-    // InternalSignalDSL.g:8837:1: rule__XMemberFeatureCall__Group_1_0__0 : rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1 ;
+    // InternalSignalDSL.g:8865:1: rule__XMemberFeatureCall__Group_1_0__0 : rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1 ;
     public final void rule__XMemberFeatureCall__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8841:1: ( rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1 )
-            // InternalSignalDSL.g:8842:2: rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1
+            // InternalSignalDSL.g:8869:1: ( rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1 )
+            // InternalSignalDSL.g:8870:2: rule__XMemberFeatureCall__Group_1_0__0__Impl rule__XMemberFeatureCall__Group_1_0__1
             {
             pushFollow(FOLLOW_35);
             rule__XMemberFeatureCall__Group_1_0__0__Impl();
@@ -30191,23 +30235,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__0__Impl"
-    // InternalSignalDSL.g:8849:1: rule__XMemberFeatureCall__Group_1_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) ;
+    // InternalSignalDSL.g:8877:1: rule__XMemberFeatureCall__Group_1_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8853:1: ( ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) )
-            // InternalSignalDSL.g:8854:1: ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:8881:1: ( ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) ) )
+            // InternalSignalDSL.g:8882:1: ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) )
             {
-            // InternalSignalDSL.g:8854:1: ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) )
-            // InternalSignalDSL.g:8855:2: ( rule__XMemberFeatureCall__Group_1_0_0__0 )
+            // InternalSignalDSL.g:8882:1: ( ( rule__XMemberFeatureCall__Group_1_0_0__0 ) )
+            // InternalSignalDSL.g:8883:2: ( rule__XMemberFeatureCall__Group_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0()); 
             }
-            // InternalSignalDSL.g:8856:2: ( rule__XMemberFeatureCall__Group_1_0_0__0 )
-            // InternalSignalDSL.g:8856:3: rule__XMemberFeatureCall__Group_1_0_0__0
+            // InternalSignalDSL.g:8884:2: ( rule__XMemberFeatureCall__Group_1_0_0__0 )
+            // InternalSignalDSL.g:8884:3: rule__XMemberFeatureCall__Group_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_0_0__0();
@@ -30242,14 +30286,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__1"
-    // InternalSignalDSL.g:8864:1: rule__XMemberFeatureCall__Group_1_0__1 : rule__XMemberFeatureCall__Group_1_0__1__Impl ;
+    // InternalSignalDSL.g:8892:1: rule__XMemberFeatureCall__Group_1_0__1 : rule__XMemberFeatureCall__Group_1_0__1__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8868:1: ( rule__XMemberFeatureCall__Group_1_0__1__Impl )
-            // InternalSignalDSL.g:8869:2: rule__XMemberFeatureCall__Group_1_0__1__Impl
+            // InternalSignalDSL.g:8896:1: ( rule__XMemberFeatureCall__Group_1_0__1__Impl )
+            // InternalSignalDSL.g:8897:2: rule__XMemberFeatureCall__Group_1_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_0__1__Impl();
@@ -30275,23 +30319,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0__1__Impl"
-    // InternalSignalDSL.g:8875:1: rule__XMemberFeatureCall__Group_1_0__1__Impl : ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) ;
+    // InternalSignalDSL.g:8903:1: rule__XMemberFeatureCall__Group_1_0__1__Impl : ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8879:1: ( ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) )
-            // InternalSignalDSL.g:8880:1: ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) )
+            // InternalSignalDSL.g:8907:1: ( ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) ) )
+            // InternalSignalDSL.g:8908:1: ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) )
             {
-            // InternalSignalDSL.g:8880:1: ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) )
-            // InternalSignalDSL.g:8881:2: ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 )
+            // InternalSignalDSL.g:8908:1: ( ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 ) )
+            // InternalSignalDSL.g:8909:2: ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1()); 
             }
-            // InternalSignalDSL.g:8882:2: ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 )
-            // InternalSignalDSL.g:8882:3: rule__XMemberFeatureCall__ValueAssignment_1_0_1
+            // InternalSignalDSL.g:8910:2: ( rule__XMemberFeatureCall__ValueAssignment_1_0_1 )
+            // InternalSignalDSL.g:8910:3: rule__XMemberFeatureCall__ValueAssignment_1_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__ValueAssignment_1_0_1();
@@ -30326,14 +30370,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0__0"
-    // InternalSignalDSL.g:8891:1: rule__XMemberFeatureCall__Group_1_0_0__0 : rule__XMemberFeatureCall__Group_1_0_0__0__Impl ;
+    // InternalSignalDSL.g:8919:1: rule__XMemberFeatureCall__Group_1_0_0__0 : rule__XMemberFeatureCall__Group_1_0_0__0__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8895:1: ( rule__XMemberFeatureCall__Group_1_0_0__0__Impl )
-            // InternalSignalDSL.g:8896:2: rule__XMemberFeatureCall__Group_1_0_0__0__Impl
+            // InternalSignalDSL.g:8923:1: ( rule__XMemberFeatureCall__Group_1_0_0__0__Impl )
+            // InternalSignalDSL.g:8924:2: rule__XMemberFeatureCall__Group_1_0_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_0_0__0__Impl();
@@ -30359,23 +30403,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0__0__Impl"
-    // InternalSignalDSL.g:8902:1: rule__XMemberFeatureCall__Group_1_0_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) ;
+    // InternalSignalDSL.g:8930:1: rule__XMemberFeatureCall__Group_1_0_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8906:1: ( ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) )
-            // InternalSignalDSL.g:8907:1: ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) )
+            // InternalSignalDSL.g:8934:1: ( ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) ) )
+            // InternalSignalDSL.g:8935:1: ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) )
             {
-            // InternalSignalDSL.g:8907:1: ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) )
-            // InternalSignalDSL.g:8908:2: ( rule__XMemberFeatureCall__Group_1_0_0_0__0 )
+            // InternalSignalDSL.g:8935:1: ( ( rule__XMemberFeatureCall__Group_1_0_0_0__0 ) )
+            // InternalSignalDSL.g:8936:2: ( rule__XMemberFeatureCall__Group_1_0_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0()); 
             }
-            // InternalSignalDSL.g:8909:2: ( rule__XMemberFeatureCall__Group_1_0_0_0__0 )
-            // InternalSignalDSL.g:8909:3: rule__XMemberFeatureCall__Group_1_0_0_0__0
+            // InternalSignalDSL.g:8937:2: ( rule__XMemberFeatureCall__Group_1_0_0_0__0 )
+            // InternalSignalDSL.g:8937:3: rule__XMemberFeatureCall__Group_1_0_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_0_0_0__0();
@@ -30410,14 +30454,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__0"
-    // InternalSignalDSL.g:8918:1: rule__XMemberFeatureCall__Group_1_0_0_0__0 : rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1 ;
+    // InternalSignalDSL.g:8946:1: rule__XMemberFeatureCall__Group_1_0_0_0__0 : rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1 ;
     public final void rule__XMemberFeatureCall__Group_1_0_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8922:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1 )
-            // InternalSignalDSL.g:8923:2: rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1
+            // InternalSignalDSL.g:8950:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1 )
+            // InternalSignalDSL.g:8951:2: rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl rule__XMemberFeatureCall__Group_1_0_0_0__1
             {
             pushFollow(FOLLOW_69);
             rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl();
@@ -30448,23 +30492,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl"
-    // InternalSignalDSL.g:8930:1: rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:8958:1: rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl : ( () ) ;
     public final void rule__XMemberFeatureCall__Group_1_0_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8934:1: ( ( () ) )
-            // InternalSignalDSL.g:8935:1: ( () )
+            // InternalSignalDSL.g:8962:1: ( ( () ) )
+            // InternalSignalDSL.g:8963:1: ( () )
             {
-            // InternalSignalDSL.g:8935:1: ( () )
-            // InternalSignalDSL.g:8936:2: ()
+            // InternalSignalDSL.g:8963:1: ( () )
+            // InternalSignalDSL.g:8964:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0()); 
             }
-            // InternalSignalDSL.g:8937:2: ()
-            // InternalSignalDSL.g:8937:3: 
+            // InternalSignalDSL.g:8965:2: ()
+            // InternalSignalDSL.g:8965:3: 
             {
             }
 
@@ -30489,14 +30533,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__1"
-    // InternalSignalDSL.g:8945:1: rule__XMemberFeatureCall__Group_1_0_0_0__1 : rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2 ;
+    // InternalSignalDSL.g:8973:1: rule__XMemberFeatureCall__Group_1_0_0_0__1 : rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2 ;
     public final void rule__XMemberFeatureCall__Group_1_0_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8949:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2 )
-            // InternalSignalDSL.g:8950:2: rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2
+            // InternalSignalDSL.g:8977:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2 )
+            // InternalSignalDSL.g:8978:2: rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl rule__XMemberFeatureCall__Group_1_0_0_0__2
             {
             pushFollow(FOLLOW_40);
             rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl();
@@ -30527,23 +30571,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl"
-    // InternalSignalDSL.g:8957:1: rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) ;
+    // InternalSignalDSL.g:8985:1: rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_0_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8961:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) )
-            // InternalSignalDSL.g:8962:1: ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) )
+            // InternalSignalDSL.g:8989:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) ) )
+            // InternalSignalDSL.g:8990:1: ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) )
             {
-            // InternalSignalDSL.g:8962:1: ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) )
-            // InternalSignalDSL.g:8963:2: ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 )
+            // InternalSignalDSL.g:8990:1: ( ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 ) )
+            // InternalSignalDSL.g:8991:2: ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1()); 
             }
-            // InternalSignalDSL.g:8964:2: ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 )
-            // InternalSignalDSL.g:8964:3: rule__XMemberFeatureCall__Alternatives_1_0_0_0_1
+            // InternalSignalDSL.g:8992:2: ( rule__XMemberFeatureCall__Alternatives_1_0_0_0_1 )
+            // InternalSignalDSL.g:8992:3: rule__XMemberFeatureCall__Alternatives_1_0_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Alternatives_1_0_0_0_1();
@@ -30578,14 +30622,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__2"
-    // InternalSignalDSL.g:8972:1: rule__XMemberFeatureCall__Group_1_0_0_0__2 : rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3 ;
+    // InternalSignalDSL.g:9000:1: rule__XMemberFeatureCall__Group_1_0_0_0__2 : rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3 ;
     public final void rule__XMemberFeatureCall__Group_1_0_0_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8976:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3 )
-            // InternalSignalDSL.g:8977:2: rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3
+            // InternalSignalDSL.g:9004:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3 )
+            // InternalSignalDSL.g:9005:2: rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl rule__XMemberFeatureCall__Group_1_0_0_0__3
             {
             pushFollow(FOLLOW_36);
             rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl();
@@ -30616,23 +30660,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl"
-    // InternalSignalDSL.g:8984:1: rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl : ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) ;
+    // InternalSignalDSL.g:9012:1: rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl : ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_0_0_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:8988:1: ( ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) )
-            // InternalSignalDSL.g:8989:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) )
+            // InternalSignalDSL.g:9016:1: ( ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) ) )
+            // InternalSignalDSL.g:9017:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) )
             {
-            // InternalSignalDSL.g:8989:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) )
-            // InternalSignalDSL.g:8990:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 )
+            // InternalSignalDSL.g:9017:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 ) )
+            // InternalSignalDSL.g:9018:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2()); 
             }
-            // InternalSignalDSL.g:8991:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 )
-            // InternalSignalDSL.g:8991:3: rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2
+            // InternalSignalDSL.g:9019:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 )
+            // InternalSignalDSL.g:9019:3: rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2();
@@ -30667,14 +30711,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__3"
-    // InternalSignalDSL.g:8999:1: rule__XMemberFeatureCall__Group_1_0_0_0__3 : rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl ;
+    // InternalSignalDSL.g:9027:1: rule__XMemberFeatureCall__Group_1_0_0_0__3 : rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_0_0_0__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9003:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl )
-            // InternalSignalDSL.g:9004:2: rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl
+            // InternalSignalDSL.g:9031:1: ( rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl )
+            // InternalSignalDSL.g:9032:2: rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl();
@@ -30700,17 +30744,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl"
-    // InternalSignalDSL.g:9010:1: rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl : ( ruleOpSingleAssign ) ;
+    // InternalSignalDSL.g:9038:1: rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl : ( ruleOpSingleAssign ) ;
     public final void rule__XMemberFeatureCall__Group_1_0_0_0__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9014:1: ( ( ruleOpSingleAssign ) )
-            // InternalSignalDSL.g:9015:1: ( ruleOpSingleAssign )
+            // InternalSignalDSL.g:9042:1: ( ( ruleOpSingleAssign ) )
+            // InternalSignalDSL.g:9043:1: ( ruleOpSingleAssign )
             {
-            // InternalSignalDSL.g:9015:1: ( ruleOpSingleAssign )
-            // InternalSignalDSL.g:9016:2: ruleOpSingleAssign
+            // InternalSignalDSL.g:9043:1: ( ruleOpSingleAssign )
+            // InternalSignalDSL.g:9044:2: ruleOpSingleAssign
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); 
@@ -30745,14 +30789,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__0"
-    // InternalSignalDSL.g:9026:1: rule__XMemberFeatureCall__Group_1_1__0 : rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1 ;
+    // InternalSignalDSL.g:9054:1: rule__XMemberFeatureCall__Group_1_1__0 : rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1 ;
     public final void rule__XMemberFeatureCall__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9030:1: ( rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1 )
-            // InternalSignalDSL.g:9031:2: rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1
+            // InternalSignalDSL.g:9058:1: ( rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1 )
+            // InternalSignalDSL.g:9059:2: rule__XMemberFeatureCall__Group_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1__1
             {
             pushFollow(FOLLOW_70);
             rule__XMemberFeatureCall__Group_1_1__0__Impl();
@@ -30783,23 +30827,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__0__Impl"
-    // InternalSignalDSL.g:9038:1: rule__XMemberFeatureCall__Group_1_1__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) ;
+    // InternalSignalDSL.g:9066:1: rule__XMemberFeatureCall__Group_1_1__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9042:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) )
-            // InternalSignalDSL.g:9043:1: ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) )
+            // InternalSignalDSL.g:9070:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) ) )
+            // InternalSignalDSL.g:9071:1: ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) )
             {
-            // InternalSignalDSL.g:9043:1: ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) )
-            // InternalSignalDSL.g:9044:2: ( rule__XMemberFeatureCall__Group_1_1_0__0 )
+            // InternalSignalDSL.g:9071:1: ( ( rule__XMemberFeatureCall__Group_1_1_0__0 ) )
+            // InternalSignalDSL.g:9072:2: ( rule__XMemberFeatureCall__Group_1_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0()); 
             }
-            // InternalSignalDSL.g:9045:2: ( rule__XMemberFeatureCall__Group_1_1_0__0 )
-            // InternalSignalDSL.g:9045:3: rule__XMemberFeatureCall__Group_1_1_0__0
+            // InternalSignalDSL.g:9073:2: ( rule__XMemberFeatureCall__Group_1_1_0__0 )
+            // InternalSignalDSL.g:9073:3: rule__XMemberFeatureCall__Group_1_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_0__0();
@@ -30834,14 +30878,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__1"
-    // InternalSignalDSL.g:9053:1: rule__XMemberFeatureCall__Group_1_1__1 : rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2 ;
+    // InternalSignalDSL.g:9081:1: rule__XMemberFeatureCall__Group_1_1__1 : rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2 ;
     public final void rule__XMemberFeatureCall__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9057:1: ( rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2 )
-            // InternalSignalDSL.g:9058:2: rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2
+            // InternalSignalDSL.g:9085:1: ( rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2 )
+            // InternalSignalDSL.g:9086:2: rule__XMemberFeatureCall__Group_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1__2
             {
             pushFollow(FOLLOW_70);
             rule__XMemberFeatureCall__Group_1_1__1__Impl();
@@ -30872,31 +30916,31 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__1__Impl"
-    // InternalSignalDSL.g:9065:1: rule__XMemberFeatureCall__Group_1_1__1__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) ;
+    // InternalSignalDSL.g:9093:1: rule__XMemberFeatureCall__Group_1_1__1__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) ;
     public final void rule__XMemberFeatureCall__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9069:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) )
-            // InternalSignalDSL.g:9070:1: ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? )
+            // InternalSignalDSL.g:9097:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? ) )
+            // InternalSignalDSL.g:9098:1: ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? )
             {
-            // InternalSignalDSL.g:9070:1: ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? )
-            // InternalSignalDSL.g:9071:2: ( rule__XMemberFeatureCall__Group_1_1_1__0 )?
+            // InternalSignalDSL.g:9098:1: ( ( rule__XMemberFeatureCall__Group_1_1_1__0 )? )
+            // InternalSignalDSL.g:9099:2: ( rule__XMemberFeatureCall__Group_1_1_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1()); 
             }
-            // InternalSignalDSL.g:9072:2: ( rule__XMemberFeatureCall__Group_1_1_1__0 )?
-            int alt80=2;
-            int LA80_0 = input.LA(1);
+            // InternalSignalDSL.g:9100:2: ( rule__XMemberFeatureCall__Group_1_1_1__0 )?
+            int alt81=2;
+            int LA81_0 = input.LA(1);
 
-            if ( (LA80_0==27) ) {
-                alt80=1;
+            if ( (LA81_0==27) ) {
+                alt81=1;
             }
-            switch (alt80) {
+            switch (alt81) {
                 case 1 :
-                    // InternalSignalDSL.g:9072:3: rule__XMemberFeatureCall__Group_1_1_1__0
+                    // InternalSignalDSL.g:9100:3: rule__XMemberFeatureCall__Group_1_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__Group_1_1_1__0();
@@ -30934,14 +30978,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__2"
-    // InternalSignalDSL.g:9080:1: rule__XMemberFeatureCall__Group_1_1__2 : rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3 ;
+    // InternalSignalDSL.g:9108:1: rule__XMemberFeatureCall__Group_1_1__2 : rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3 ;
     public final void rule__XMemberFeatureCall__Group_1_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9084:1: ( rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3 )
-            // InternalSignalDSL.g:9085:2: rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3
+            // InternalSignalDSL.g:9112:1: ( rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3 )
+            // InternalSignalDSL.g:9113:2: rule__XMemberFeatureCall__Group_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1__3
             {
             pushFollow(FOLLOW_71);
             rule__XMemberFeatureCall__Group_1_1__2__Impl();
@@ -30972,23 +31016,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__2__Impl"
-    // InternalSignalDSL.g:9092:1: rule__XMemberFeatureCall__Group_1_1__2__Impl : ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) ;
+    // InternalSignalDSL.g:9120:1: rule__XMemberFeatureCall__Group_1_1__2__Impl : ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9096:1: ( ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) )
-            // InternalSignalDSL.g:9097:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) )
+            // InternalSignalDSL.g:9124:1: ( ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) ) )
+            // InternalSignalDSL.g:9125:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) )
             {
-            // InternalSignalDSL.g:9097:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) )
-            // InternalSignalDSL.g:9098:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 )
+            // InternalSignalDSL.g:9125:1: ( ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 ) )
+            // InternalSignalDSL.g:9126:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2()); 
             }
-            // InternalSignalDSL.g:9099:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 )
-            // InternalSignalDSL.g:9099:3: rule__XMemberFeatureCall__FeatureAssignment_1_1_2
+            // InternalSignalDSL.g:9127:2: ( rule__XMemberFeatureCall__FeatureAssignment_1_1_2 )
+            // InternalSignalDSL.g:9127:3: rule__XMemberFeatureCall__FeatureAssignment_1_1_2
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__FeatureAssignment_1_1_2();
@@ -31023,14 +31067,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__3"
-    // InternalSignalDSL.g:9107:1: rule__XMemberFeatureCall__Group_1_1__3 : rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4 ;
+    // InternalSignalDSL.g:9135:1: rule__XMemberFeatureCall__Group_1_1__3 : rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4 ;
     public final void rule__XMemberFeatureCall__Group_1_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9111:1: ( rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4 )
-            // InternalSignalDSL.g:9112:2: rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4
+            // InternalSignalDSL.g:9139:1: ( rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4 )
+            // InternalSignalDSL.g:9140:2: rule__XMemberFeatureCall__Group_1_1__3__Impl rule__XMemberFeatureCall__Group_1_1__4
             {
             pushFollow(FOLLOW_71);
             rule__XMemberFeatureCall__Group_1_1__3__Impl();
@@ -31061,27 +31105,27 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__3__Impl"
-    // InternalSignalDSL.g:9119:1: rule__XMemberFeatureCall__Group_1_1__3__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) ;
+    // InternalSignalDSL.g:9147:1: rule__XMemberFeatureCall__Group_1_1__3__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) ;
     public final void rule__XMemberFeatureCall__Group_1_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9123:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) )
-            // InternalSignalDSL.g:9124:1: ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? )
+            // InternalSignalDSL.g:9151:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? ) )
+            // InternalSignalDSL.g:9152:1: ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? )
             {
-            // InternalSignalDSL.g:9124:1: ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? )
-            // InternalSignalDSL.g:9125:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )?
+            // InternalSignalDSL.g:9152:1: ( ( rule__XMemberFeatureCall__Group_1_1_3__0 )? )
+            // InternalSignalDSL.g:9153:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3()); 
             }
-            // InternalSignalDSL.g:9126:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )?
-            int alt81=2;
-            alt81 = dfa81.predict(input);
-            switch (alt81) {
+            // InternalSignalDSL.g:9154:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )?
+            int alt82=2;
+            alt82 = dfa82.predict(input);
+            switch (alt82) {
                 case 1 :
-                    // InternalSignalDSL.g:9126:3: rule__XMemberFeatureCall__Group_1_1_3__0
+                    // InternalSignalDSL.g:9154:3: rule__XMemberFeatureCall__Group_1_1_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__Group_1_1_3__0();
@@ -31119,14 +31163,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__4"
-    // InternalSignalDSL.g:9134:1: rule__XMemberFeatureCall__Group_1_1__4 : rule__XMemberFeatureCall__Group_1_1__4__Impl ;
+    // InternalSignalDSL.g:9162:1: rule__XMemberFeatureCall__Group_1_1__4 : rule__XMemberFeatureCall__Group_1_1__4__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_1__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9138:1: ( rule__XMemberFeatureCall__Group_1_1__4__Impl )
-            // InternalSignalDSL.g:9139:2: rule__XMemberFeatureCall__Group_1_1__4__Impl
+            // InternalSignalDSL.g:9166:1: ( rule__XMemberFeatureCall__Group_1_1__4__Impl )
+            // InternalSignalDSL.g:9167:2: rule__XMemberFeatureCall__Group_1_1__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1__4__Impl();
@@ -31152,27 +31196,27 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1__4__Impl"
-    // InternalSignalDSL.g:9145:1: rule__XMemberFeatureCall__Group_1_1__4__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) ;
+    // InternalSignalDSL.g:9173:1: rule__XMemberFeatureCall__Group_1_1__4__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) ;
     public final void rule__XMemberFeatureCall__Group_1_1__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9149:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) )
-            // InternalSignalDSL.g:9150:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? )
+            // InternalSignalDSL.g:9177:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? ) )
+            // InternalSignalDSL.g:9178:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? )
             {
-            // InternalSignalDSL.g:9150:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? )
-            // InternalSignalDSL.g:9151:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )?
+            // InternalSignalDSL.g:9178:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )? )
+            // InternalSignalDSL.g:9179:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4()); 
             }
-            // InternalSignalDSL.g:9152:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )?
-            int alt82=2;
-            alt82 = dfa82.predict(input);
-            switch (alt82) {
+            // InternalSignalDSL.g:9180:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )?
+            int alt83=2;
+            alt83 = dfa83.predict(input);
+            switch (alt83) {
                 case 1 :
-                    // InternalSignalDSL.g:9152:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4
+                    // InternalSignalDSL.g:9180:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4();
@@ -31210,14 +31254,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0__0"
-    // InternalSignalDSL.g:9161:1: rule__XMemberFeatureCall__Group_1_1_0__0 : rule__XMemberFeatureCall__Group_1_1_0__0__Impl ;
+    // InternalSignalDSL.g:9189:1: rule__XMemberFeatureCall__Group_1_1_0__0 : rule__XMemberFeatureCall__Group_1_1_0__0__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9165:1: ( rule__XMemberFeatureCall__Group_1_1_0__0__Impl )
-            // InternalSignalDSL.g:9166:2: rule__XMemberFeatureCall__Group_1_1_0__0__Impl
+            // InternalSignalDSL.g:9193:1: ( rule__XMemberFeatureCall__Group_1_1_0__0__Impl )
+            // InternalSignalDSL.g:9194:2: rule__XMemberFeatureCall__Group_1_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_0__0__Impl();
@@ -31243,23 +31287,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0__0__Impl"
-    // InternalSignalDSL.g:9172:1: rule__XMemberFeatureCall__Group_1_1_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) ;
+    // InternalSignalDSL.g:9200:1: rule__XMemberFeatureCall__Group_1_1_0__0__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9176:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) )
-            // InternalSignalDSL.g:9177:1: ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) )
+            // InternalSignalDSL.g:9204:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) ) )
+            // InternalSignalDSL.g:9205:1: ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) )
             {
-            // InternalSignalDSL.g:9177:1: ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) )
-            // InternalSignalDSL.g:9178:2: ( rule__XMemberFeatureCall__Group_1_1_0_0__0 )
+            // InternalSignalDSL.g:9205:1: ( ( rule__XMemberFeatureCall__Group_1_1_0_0__0 ) )
+            // InternalSignalDSL.g:9206:2: ( rule__XMemberFeatureCall__Group_1_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0()); 
             }
-            // InternalSignalDSL.g:9179:2: ( rule__XMemberFeatureCall__Group_1_1_0_0__0 )
-            // InternalSignalDSL.g:9179:3: rule__XMemberFeatureCall__Group_1_1_0_0__0
+            // InternalSignalDSL.g:9207:2: ( rule__XMemberFeatureCall__Group_1_1_0_0__0 )
+            // InternalSignalDSL.g:9207:3: rule__XMemberFeatureCall__Group_1_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_0_0__0();
@@ -31294,14 +31338,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__0"
-    // InternalSignalDSL.g:9188:1: rule__XMemberFeatureCall__Group_1_1_0_0__0 : rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1 ;
+    // InternalSignalDSL.g:9216:1: rule__XMemberFeatureCall__Group_1_1_0_0__0 : rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1 ;
     public final void rule__XMemberFeatureCall__Group_1_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9192:1: ( rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1 )
-            // InternalSignalDSL.g:9193:2: rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1
+            // InternalSignalDSL.g:9220:1: ( rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1 )
+            // InternalSignalDSL.g:9221:2: rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl rule__XMemberFeatureCall__Group_1_1_0_0__1
             {
             pushFollow(FOLLOW_67);
             rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl();
@@ -31332,23 +31376,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl"
-    // InternalSignalDSL.g:9200:1: rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:9228:1: rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl : ( () ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9204:1: ( ( () ) )
-            // InternalSignalDSL.g:9205:1: ( () )
+            // InternalSignalDSL.g:9232:1: ( ( () ) )
+            // InternalSignalDSL.g:9233:1: ( () )
             {
-            // InternalSignalDSL.g:9205:1: ( () )
-            // InternalSignalDSL.g:9206:2: ()
+            // InternalSignalDSL.g:9233:1: ( () )
+            // InternalSignalDSL.g:9234:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0()); 
             }
-            // InternalSignalDSL.g:9207:2: ()
-            // InternalSignalDSL.g:9207:3: 
+            // InternalSignalDSL.g:9235:2: ()
+            // InternalSignalDSL.g:9235:3: 
             {
             }
 
@@ -31373,14 +31417,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__1"
-    // InternalSignalDSL.g:9215:1: rule__XMemberFeatureCall__Group_1_1_0_0__1 : rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl ;
+    // InternalSignalDSL.g:9243:1: rule__XMemberFeatureCall__Group_1_1_0_0__1 : rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9219:1: ( rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl )
-            // InternalSignalDSL.g:9220:2: rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl
+            // InternalSignalDSL.g:9247:1: ( rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl )
+            // InternalSignalDSL.g:9248:2: rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl();
@@ -31406,23 +31450,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl"
-    // InternalSignalDSL.g:9226:1: rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) ;
+    // InternalSignalDSL.g:9254:1: rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9230:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) )
-            // InternalSignalDSL.g:9231:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) )
+            // InternalSignalDSL.g:9258:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) ) )
+            // InternalSignalDSL.g:9259:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) )
             {
-            // InternalSignalDSL.g:9231:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) )
-            // InternalSignalDSL.g:9232:2: ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 )
+            // InternalSignalDSL.g:9259:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 ) )
+            // InternalSignalDSL.g:9260:2: ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1()); 
             }
-            // InternalSignalDSL.g:9233:2: ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 )
-            // InternalSignalDSL.g:9233:3: rule__XMemberFeatureCall__Alternatives_1_1_0_0_1
+            // InternalSignalDSL.g:9261:2: ( rule__XMemberFeatureCall__Alternatives_1_1_0_0_1 )
+            // InternalSignalDSL.g:9261:3: rule__XMemberFeatureCall__Alternatives_1_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Alternatives_1_1_0_0_1();
@@ -31457,14 +31501,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__0"
-    // InternalSignalDSL.g:9242:1: rule__XMemberFeatureCall__Group_1_1_1__0 : rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1 ;
+    // InternalSignalDSL.g:9270:1: rule__XMemberFeatureCall__Group_1_1_1__0 : rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1 ;
     public final void rule__XMemberFeatureCall__Group_1_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9246:1: ( rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1 )
-            // InternalSignalDSL.g:9247:2: rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1
+            // InternalSignalDSL.g:9274:1: ( rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1 )
+            // InternalSignalDSL.g:9275:2: rule__XMemberFeatureCall__Group_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_1__1
             {
             pushFollow(FOLLOW_72);
             rule__XMemberFeatureCall__Group_1_1_1__0__Impl();
@@ -31495,17 +31539,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__0__Impl"
-    // InternalSignalDSL.g:9254:1: rule__XMemberFeatureCall__Group_1_1_1__0__Impl : ( '<' ) ;
+    // InternalSignalDSL.g:9282:1: rule__XMemberFeatureCall__Group_1_1_1__0__Impl : ( '<' ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9258:1: ( ( '<' ) )
-            // InternalSignalDSL.g:9259:1: ( '<' )
+            // InternalSignalDSL.g:9286:1: ( ( '<' ) )
+            // InternalSignalDSL.g:9287:1: ( '<' )
             {
-            // InternalSignalDSL.g:9259:1: ( '<' )
-            // InternalSignalDSL.g:9260:2: '<'
+            // InternalSignalDSL.g:9287:1: ( '<' )
+            // InternalSignalDSL.g:9288:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); 
@@ -31536,14 +31580,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__1"
-    // InternalSignalDSL.g:9269:1: rule__XMemberFeatureCall__Group_1_1_1__1 : rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2 ;
+    // InternalSignalDSL.g:9297:1: rule__XMemberFeatureCall__Group_1_1_1__1 : rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2 ;
     public final void rule__XMemberFeatureCall__Group_1_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9273:1: ( rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2 )
-            // InternalSignalDSL.g:9274:2: rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2
+            // InternalSignalDSL.g:9301:1: ( rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2 )
+            // InternalSignalDSL.g:9302:2: rule__XMemberFeatureCall__Group_1_1_1__1__Impl rule__XMemberFeatureCall__Group_1_1_1__2
             {
             pushFollow(FOLLOW_73);
             rule__XMemberFeatureCall__Group_1_1_1__1__Impl();
@@ -31574,23 +31618,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__1__Impl"
-    // InternalSignalDSL.g:9281:1: rule__XMemberFeatureCall__Group_1_1_1__1__Impl : ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) ;
+    // InternalSignalDSL.g:9309:1: rule__XMemberFeatureCall__Group_1_1_1__1__Impl : ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9285:1: ( ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) )
-            // InternalSignalDSL.g:9286:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) )
+            // InternalSignalDSL.g:9313:1: ( ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) ) )
+            // InternalSignalDSL.g:9314:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) )
             {
-            // InternalSignalDSL.g:9286:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) )
-            // InternalSignalDSL.g:9287:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 )
+            // InternalSignalDSL.g:9314:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 ) )
+            // InternalSignalDSL.g:9315:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1()); 
             }
-            // InternalSignalDSL.g:9288:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 )
-            // InternalSignalDSL.g:9288:3: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1
+            // InternalSignalDSL.g:9316:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 )
+            // InternalSignalDSL.g:9316:3: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1();
@@ -31625,14 +31669,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__2"
-    // InternalSignalDSL.g:9296:1: rule__XMemberFeatureCall__Group_1_1_1__2 : rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3 ;
+    // InternalSignalDSL.g:9324:1: rule__XMemberFeatureCall__Group_1_1_1__2 : rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3 ;
     public final void rule__XMemberFeatureCall__Group_1_1_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9300:1: ( rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3 )
-            // InternalSignalDSL.g:9301:2: rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3
+            // InternalSignalDSL.g:9328:1: ( rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3 )
+            // InternalSignalDSL.g:9329:2: rule__XMemberFeatureCall__Group_1_1_1__2__Impl rule__XMemberFeatureCall__Group_1_1_1__3
             {
             pushFollow(FOLLOW_73);
             rule__XMemberFeatureCall__Group_1_1_1__2__Impl();
@@ -31663,35 +31707,35 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__2__Impl"
-    // InternalSignalDSL.g:9308:1: rule__XMemberFeatureCall__Group_1_1_1__2__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) ;
+    // InternalSignalDSL.g:9336:1: rule__XMemberFeatureCall__Group_1_1_1__2__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9312:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) )
-            // InternalSignalDSL.g:9313:1: ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* )
+            // InternalSignalDSL.g:9340:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* ) )
+            // InternalSignalDSL.g:9341:1: ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* )
             {
-            // InternalSignalDSL.g:9313:1: ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* )
-            // InternalSignalDSL.g:9314:2: ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )*
+            // InternalSignalDSL.g:9341:1: ( ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )* )
+            // InternalSignalDSL.g:9342:2: ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2()); 
             }
-            // InternalSignalDSL.g:9315:2: ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )*
-            loop83:
+            // InternalSignalDSL.g:9343:2: ( rule__XMemberFeatureCall__Group_1_1_1_2__0 )*
+            loop84:
             do {
-                int alt83=2;
-                int LA83_0 = input.LA(1);
+                int alt84=2;
+                int LA84_0 = input.LA(1);
 
-                if ( (LA83_0==76) ) {
-                    alt83=1;
+                if ( (LA84_0==73) ) {
+                    alt84=1;
                 }
 
 
-                switch (alt83) {
+                switch (alt84) {
             	case 1 :
-            	    // InternalSignalDSL.g:9315:3: rule__XMemberFeatureCall__Group_1_1_1_2__0
+            	    // InternalSignalDSL.g:9343:3: rule__XMemberFeatureCall__Group_1_1_1_2__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__XMemberFeatureCall__Group_1_1_1_2__0();
@@ -31703,7 +31747,7 @@
             	    break;
 
             	default :
-            	    break loop83;
+            	    break loop84;
                 }
             } while (true);
 
@@ -31732,14 +31776,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__3"
-    // InternalSignalDSL.g:9323:1: rule__XMemberFeatureCall__Group_1_1_1__3 : rule__XMemberFeatureCall__Group_1_1_1__3__Impl ;
+    // InternalSignalDSL.g:9351:1: rule__XMemberFeatureCall__Group_1_1_1__3 : rule__XMemberFeatureCall__Group_1_1_1__3__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_1_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9327:1: ( rule__XMemberFeatureCall__Group_1_1_1__3__Impl )
-            // InternalSignalDSL.g:9328:2: rule__XMemberFeatureCall__Group_1_1_1__3__Impl
+            // InternalSignalDSL.g:9355:1: ( rule__XMemberFeatureCall__Group_1_1_1__3__Impl )
+            // InternalSignalDSL.g:9356:2: rule__XMemberFeatureCall__Group_1_1_1__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_1__3__Impl();
@@ -31765,17 +31809,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1__3__Impl"
-    // InternalSignalDSL.g:9334:1: rule__XMemberFeatureCall__Group_1_1_1__3__Impl : ( '>' ) ;
+    // InternalSignalDSL.g:9362:1: rule__XMemberFeatureCall__Group_1_1_1__3__Impl : ( '>' ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9338:1: ( ( '>' ) )
-            // InternalSignalDSL.g:9339:1: ( '>' )
+            // InternalSignalDSL.g:9366:1: ( ( '>' ) )
+            // InternalSignalDSL.g:9367:1: ( '>' )
             {
-            // InternalSignalDSL.g:9339:1: ( '>' )
-            // InternalSignalDSL.g:9340:2: '>'
+            // InternalSignalDSL.g:9367:1: ( '>' )
+            // InternalSignalDSL.g:9368:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); 
@@ -31806,14 +31850,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__0"
-    // InternalSignalDSL.g:9350:1: rule__XMemberFeatureCall__Group_1_1_1_2__0 : rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1 ;
+    // InternalSignalDSL.g:9378:1: rule__XMemberFeatureCall__Group_1_1_1_2__0 : rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1 ;
     public final void rule__XMemberFeatureCall__Group_1_1_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9354:1: ( rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1 )
-            // InternalSignalDSL.g:9355:2: rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1
+            // InternalSignalDSL.g:9382:1: ( rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1 )
+            // InternalSignalDSL.g:9383:2: rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl rule__XMemberFeatureCall__Group_1_1_1_2__1
             {
             pushFollow(FOLLOW_72);
             rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl();
@@ -31844,22 +31888,22 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl"
-    // InternalSignalDSL.g:9362:1: rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:9390:1: rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl : ( ',' ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9366:1: ( ( ',' ) )
-            // InternalSignalDSL.g:9367:1: ( ',' )
+            // InternalSignalDSL.g:9394:1: ( ( ',' ) )
+            // InternalSignalDSL.g:9395:1: ( ',' )
             {
-            // InternalSignalDSL.g:9367:1: ( ',' )
-            // InternalSignalDSL.g:9368:2: ','
+            // InternalSignalDSL.g:9395:1: ( ',' )
+            // InternalSignalDSL.g:9396:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); 
             }
@@ -31885,14 +31929,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__1"
-    // InternalSignalDSL.g:9377:1: rule__XMemberFeatureCall__Group_1_1_1_2__1 : rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl ;
+    // InternalSignalDSL.g:9405:1: rule__XMemberFeatureCall__Group_1_1_1_2__1 : rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_1_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9381:1: ( rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl )
-            // InternalSignalDSL.g:9382:2: rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl
+            // InternalSignalDSL.g:9409:1: ( rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl )
+            // InternalSignalDSL.g:9410:2: rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl();
@@ -31918,23 +31962,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl"
-    // InternalSignalDSL.g:9388:1: rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl : ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) ;
+    // InternalSignalDSL.g:9416:1: rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl : ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9392:1: ( ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) )
-            // InternalSignalDSL.g:9393:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) )
+            // InternalSignalDSL.g:9420:1: ( ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) ) )
+            // InternalSignalDSL.g:9421:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) )
             {
-            // InternalSignalDSL.g:9393:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) )
-            // InternalSignalDSL.g:9394:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 )
+            // InternalSignalDSL.g:9421:1: ( ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 ) )
+            // InternalSignalDSL.g:9422:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1()); 
             }
-            // InternalSignalDSL.g:9395:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 )
-            // InternalSignalDSL.g:9395:3: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1
+            // InternalSignalDSL.g:9423:2: ( rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 )
+            // InternalSignalDSL.g:9423:3: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1();
@@ -31969,14 +32013,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__0"
-    // InternalSignalDSL.g:9404:1: rule__XMemberFeatureCall__Group_1_1_3__0 : rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1 ;
+    // InternalSignalDSL.g:9432:1: rule__XMemberFeatureCall__Group_1_1_3__0 : rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1 ;
     public final void rule__XMemberFeatureCall__Group_1_1_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9408:1: ( rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1 )
-            // InternalSignalDSL.g:9409:2: rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1
+            // InternalSignalDSL.g:9436:1: ( rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1 )
+            // InternalSignalDSL.g:9437:2: rule__XMemberFeatureCall__Group_1_1_3__0__Impl rule__XMemberFeatureCall__Group_1_1_3__1
             {
             pushFollow(FOLLOW_74);
             rule__XMemberFeatureCall__Group_1_1_3__0__Impl();
@@ -32007,23 +32051,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__0__Impl"
-    // InternalSignalDSL.g:9416:1: rule__XMemberFeatureCall__Group_1_1_3__0__Impl : ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) ;
+    // InternalSignalDSL.g:9444:1: rule__XMemberFeatureCall__Group_1_1_3__0__Impl : ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9420:1: ( ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) )
-            // InternalSignalDSL.g:9421:1: ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) )
+            // InternalSignalDSL.g:9448:1: ( ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) ) )
+            // InternalSignalDSL.g:9449:1: ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) )
             {
-            // InternalSignalDSL.g:9421:1: ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) )
-            // InternalSignalDSL.g:9422:2: ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 )
+            // InternalSignalDSL.g:9449:1: ( ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 ) )
+            // InternalSignalDSL.g:9450:2: ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0()); 
             }
-            // InternalSignalDSL.g:9423:2: ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 )
-            // InternalSignalDSL.g:9423:3: rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0
+            // InternalSignalDSL.g:9451:2: ( rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 )
+            // InternalSignalDSL.g:9451:3: rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0();
@@ -32058,14 +32102,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__1"
-    // InternalSignalDSL.g:9431:1: rule__XMemberFeatureCall__Group_1_1_3__1 : rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2 ;
+    // InternalSignalDSL.g:9459:1: rule__XMemberFeatureCall__Group_1_1_3__1 : rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2 ;
     public final void rule__XMemberFeatureCall__Group_1_1_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9435:1: ( rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2 )
-            // InternalSignalDSL.g:9436:2: rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2
+            // InternalSignalDSL.g:9463:1: ( rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2 )
+            // InternalSignalDSL.g:9464:2: rule__XMemberFeatureCall__Group_1_1_3__1__Impl rule__XMemberFeatureCall__Group_1_1_3__2
             {
             pushFollow(FOLLOW_74);
             rule__XMemberFeatureCall__Group_1_1_3__1__Impl();
@@ -32096,31 +32140,31 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__1__Impl"
-    // InternalSignalDSL.g:9443:1: rule__XMemberFeatureCall__Group_1_1_3__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) ;
+    // InternalSignalDSL.g:9471:1: rule__XMemberFeatureCall__Group_1_1_3__1__Impl : ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9447:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) )
-            // InternalSignalDSL.g:9448:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? )
+            // InternalSignalDSL.g:9475:1: ( ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? ) )
+            // InternalSignalDSL.g:9476:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? )
             {
-            // InternalSignalDSL.g:9448:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? )
-            // InternalSignalDSL.g:9449:2: ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )?
+            // InternalSignalDSL.g:9476:1: ( ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )? )
+            // InternalSignalDSL.g:9477:2: ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1()); 
             }
-            // InternalSignalDSL.g:9450:2: ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )?
-            int alt84=2;
-            int LA84_0 = input.LA(1);
+            // InternalSignalDSL.g:9478:2: ( rule__XMemberFeatureCall__Alternatives_1_1_3_1 )?
+            int alt85=2;
+            int LA85_0 = input.LA(1);
 
-            if ( ((LA84_0>=RULE_ID && LA84_0<=RULE_STRING)||LA84_0==27||LA84_0==31||(LA84_0>=34 && LA84_0<=35)||LA84_0==40||(LA84_0>=45 && LA84_0<=50)||LA84_0==64||LA84_0==68||LA84_0==74||(LA84_0>=78 && LA84_0<=79)||LA84_0==82||LA84_0==84||(LA84_0>=88 && LA84_0<=95)||LA84_0==97||LA84_0==104||LA84_0==106) ) {
-                alt84=1;
+            if ( ((LA85_0>=RULE_ID && LA85_0<=RULE_STRING)||LA85_0==27||LA85_0==31||(LA85_0>=34 && LA85_0<=35)||LA85_0==40||(LA85_0>=45 && LA85_0<=50)||LA85_0==60||LA85_0==64||LA85_0==71||(LA85_0>=75 && LA85_0<=76)||LA85_0==79||LA85_0==81||(LA85_0>=85 && LA85_0<=92)||LA85_0==94||LA85_0==101||LA85_0==103) ) {
+                alt85=1;
             }
-            switch (alt84) {
+            switch (alt85) {
                 case 1 :
-                    // InternalSignalDSL.g:9450:3: rule__XMemberFeatureCall__Alternatives_1_1_3_1
+                    // InternalSignalDSL.g:9478:3: rule__XMemberFeatureCall__Alternatives_1_1_3_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XMemberFeatureCall__Alternatives_1_1_3_1();
@@ -32158,14 +32202,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__2"
-    // InternalSignalDSL.g:9458:1: rule__XMemberFeatureCall__Group_1_1_3__2 : rule__XMemberFeatureCall__Group_1_1_3__2__Impl ;
+    // InternalSignalDSL.g:9486:1: rule__XMemberFeatureCall__Group_1_1_3__2 : rule__XMemberFeatureCall__Group_1_1_3__2__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_1_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9462:1: ( rule__XMemberFeatureCall__Group_1_1_3__2__Impl )
-            // InternalSignalDSL.g:9463:2: rule__XMemberFeatureCall__Group_1_1_3__2__Impl
+            // InternalSignalDSL.g:9490:1: ( rule__XMemberFeatureCall__Group_1_1_3__2__Impl )
+            // InternalSignalDSL.g:9491:2: rule__XMemberFeatureCall__Group_1_1_3__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_3__2__Impl();
@@ -32191,22 +32235,22 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3__2__Impl"
-    // InternalSignalDSL.g:9469:1: rule__XMemberFeatureCall__Group_1_1_3__2__Impl : ( ')' ) ;
+    // InternalSignalDSL.g:9497:1: rule__XMemberFeatureCall__Group_1_1_3__2__Impl : ( ')' ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9473:1: ( ( ')' ) )
-            // InternalSignalDSL.g:9474:1: ( ')' )
+            // InternalSignalDSL.g:9501:1: ( ( ')' ) )
+            // InternalSignalDSL.g:9502:1: ( ')' )
             {
-            // InternalSignalDSL.g:9474:1: ( ')' )
-            // InternalSignalDSL.g:9475:2: ')'
+            // InternalSignalDSL.g:9502:1: ( ')' )
+            // InternalSignalDSL.g:9503:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); 
             }
-            match(input,75,FOLLOW_2); if (state.failed) return ;
+            match(input,72,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); 
             }
@@ -32232,14 +32276,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__0"
-    // InternalSignalDSL.g:9485:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__0 : rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1 ;
+    // InternalSignalDSL.g:9513:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__0 : rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1 ;
     public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9489:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1 )
-            // InternalSignalDSL.g:9490:2: rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1
+            // InternalSignalDSL.g:9517:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1 )
+            // InternalSignalDSL.g:9518:2: rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1__1
             {
             pushFollow(FOLLOW_33);
             rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl();
@@ -32270,23 +32314,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl"
-    // InternalSignalDSL.g:9497:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) ;
+    // InternalSignalDSL.g:9525:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9501:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) )
-            // InternalSignalDSL.g:9502:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) )
+            // InternalSignalDSL.g:9529:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) ) )
+            // InternalSignalDSL.g:9530:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) )
             {
-            // InternalSignalDSL.g:9502:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) )
-            // InternalSignalDSL.g:9503:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 )
+            // InternalSignalDSL.g:9530:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 ) )
+            // InternalSignalDSL.g:9531:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0()); 
             }
-            // InternalSignalDSL.g:9504:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 )
-            // InternalSignalDSL.g:9504:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0
+            // InternalSignalDSL.g:9532:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 )
+            // InternalSignalDSL.g:9532:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0();
@@ -32321,14 +32365,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__1"
-    // InternalSignalDSL.g:9512:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__1 : rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl ;
+    // InternalSignalDSL.g:9540:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__1 : rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9516:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl )
-            // InternalSignalDSL.g:9517:2: rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl
+            // InternalSignalDSL.g:9544:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl )
+            // InternalSignalDSL.g:9545:2: rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl();
@@ -32354,35 +32398,35 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl"
-    // InternalSignalDSL.g:9523:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) ;
+    // InternalSignalDSL.g:9551:1: rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl : ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_3_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9527:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) )
-            // InternalSignalDSL.g:9528:1: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* )
+            // InternalSignalDSL.g:9555:1: ( ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* ) )
+            // InternalSignalDSL.g:9556:1: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* )
             {
-            // InternalSignalDSL.g:9528:1: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* )
-            // InternalSignalDSL.g:9529:2: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )*
+            // InternalSignalDSL.g:9556:1: ( ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )* )
+            // InternalSignalDSL.g:9557:2: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1()); 
             }
-            // InternalSignalDSL.g:9530:2: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )*
-            loop85:
+            // InternalSignalDSL.g:9558:2: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 )*
+            loop86:
             do {
-                int alt85=2;
-                int LA85_0 = input.LA(1);
+                int alt86=2;
+                int LA86_0 = input.LA(1);
 
-                if ( (LA85_0==76) ) {
-                    alt85=1;
+                if ( (LA86_0==73) ) {
+                    alt86=1;
                 }
 
 
-                switch (alt85) {
+                switch (alt86) {
             	case 1 :
-            	    // InternalSignalDSL.g:9530:3: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0
+            	    // InternalSignalDSL.g:9558:3: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0();
@@ -32394,7 +32438,7 @@
             	    break;
 
             	default :
-            	    break loop85;
+            	    break loop86;
                 }
             } while (true);
 
@@ -32423,14 +32467,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0"
-    // InternalSignalDSL.g:9539:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 : rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 ;
+    // InternalSignalDSL.g:9567:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0 : rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 ;
     public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9543:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 )
-            // InternalSignalDSL.g:9544:2: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1
+            // InternalSignalDSL.g:9571:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 )
+            // InternalSignalDSL.g:9572:2: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl();
@@ -32461,22 +32505,22 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl"
-    // InternalSignalDSL.g:9551:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:9579:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl : ( ',' ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9555:1: ( ( ',' ) )
-            // InternalSignalDSL.g:9556:1: ( ',' )
+            // InternalSignalDSL.g:9583:1: ( ( ',' ) )
+            // InternalSignalDSL.g:9584:1: ( ',' )
             {
-            // InternalSignalDSL.g:9556:1: ( ',' )
-            // InternalSignalDSL.g:9557:2: ','
+            // InternalSignalDSL.g:9584:1: ( ',' )
+            // InternalSignalDSL.g:9585:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); 
             }
@@ -32502,14 +32546,14 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1"
-    // InternalSignalDSL.g:9566:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 : rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl ;
+    // InternalSignalDSL.g:9594:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1 : rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl ;
     public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9570:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl )
-            // InternalSignalDSL.g:9571:2: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl
+            // InternalSignalDSL.g:9598:1: ( rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl )
+            // InternalSignalDSL.g:9599:2: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl();
@@ -32535,23 +32579,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl"
-    // InternalSignalDSL.g:9577:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) ;
+    // InternalSignalDSL.g:9605:1: rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl : ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) ;
     public final void rule__XMemberFeatureCall__Group_1_1_3_1_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9581:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) )
-            // InternalSignalDSL.g:9582:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) )
+            // InternalSignalDSL.g:9609:1: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) ) )
+            // InternalSignalDSL.g:9610:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) )
             {
-            // InternalSignalDSL.g:9582:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) )
-            // InternalSignalDSL.g:9583:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 )
+            // InternalSignalDSL.g:9610:1: ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 ) )
+            // InternalSignalDSL.g:9611:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1()); 
             }
-            // InternalSignalDSL.g:9584:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 )
-            // InternalSignalDSL.g:9584:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1
+            // InternalSignalDSL.g:9612:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 )
+            // InternalSignalDSL.g:9612:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1();
@@ -32586,14 +32630,14 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__0"
-    // InternalSignalDSL.g:9593:1: rule__XSetLiteral__Group__0 : rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1 ;
+    // InternalSignalDSL.g:9621:1: rule__XSetLiteral__Group__0 : rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1 ;
     public final void rule__XSetLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9597:1: ( rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1 )
-            // InternalSignalDSL.g:9598:2: rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1
+            // InternalSignalDSL.g:9625:1: ( rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1 )
+            // InternalSignalDSL.g:9626:2: rule__XSetLiteral__Group__0__Impl rule__XSetLiteral__Group__1
             {
             pushFollow(FOLLOW_38);
             rule__XSetLiteral__Group__0__Impl();
@@ -32624,23 +32668,23 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__0__Impl"
-    // InternalSignalDSL.g:9605:1: rule__XSetLiteral__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:9633:1: rule__XSetLiteral__Group__0__Impl : ( () ) ;
     public final void rule__XSetLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9609:1: ( ( () ) )
-            // InternalSignalDSL.g:9610:1: ( () )
+            // InternalSignalDSL.g:9637:1: ( ( () ) )
+            // InternalSignalDSL.g:9638:1: ( () )
             {
-            // InternalSignalDSL.g:9610:1: ( () )
-            // InternalSignalDSL.g:9611:2: ()
+            // InternalSignalDSL.g:9638:1: ( () )
+            // InternalSignalDSL.g:9639:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0()); 
             }
-            // InternalSignalDSL.g:9612:2: ()
-            // InternalSignalDSL.g:9612:3: 
+            // InternalSignalDSL.g:9640:2: ()
+            // InternalSignalDSL.g:9640:3: 
             {
             }
 
@@ -32665,14 +32709,14 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__1"
-    // InternalSignalDSL.g:9620:1: rule__XSetLiteral__Group__1 : rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2 ;
+    // InternalSignalDSL.g:9648:1: rule__XSetLiteral__Group__1 : rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2 ;
     public final void rule__XSetLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9624:1: ( rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2 )
-            // InternalSignalDSL.g:9625:2: rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2
+            // InternalSignalDSL.g:9652:1: ( rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2 )
+            // InternalSignalDSL.g:9653:2: rule__XSetLiteral__Group__1__Impl rule__XSetLiteral__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__XSetLiteral__Group__1__Impl();
@@ -32703,22 +32747,22 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__1__Impl"
-    // InternalSignalDSL.g:9632:1: rule__XSetLiteral__Group__1__Impl : ( '#' ) ;
+    // InternalSignalDSL.g:9660:1: rule__XSetLiteral__Group__1__Impl : ( '#' ) ;
     public final void rule__XSetLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9636:1: ( ( '#' ) )
-            // InternalSignalDSL.g:9637:1: ( '#' )
+            // InternalSignalDSL.g:9664:1: ( ( '#' ) )
+            // InternalSignalDSL.g:9665:1: ( '#' )
             {
-            // InternalSignalDSL.g:9637:1: ( '#' )
-            // InternalSignalDSL.g:9638:2: '#'
+            // InternalSignalDSL.g:9665:1: ( '#' )
+            // InternalSignalDSL.g:9666:2: '#'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); 
             }
-            match(input,78,FOLLOW_2); if (state.failed) return ;
+            match(input,75,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); 
             }
@@ -32744,14 +32788,14 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__2"
-    // InternalSignalDSL.g:9647:1: rule__XSetLiteral__Group__2 : rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3 ;
+    // InternalSignalDSL.g:9675:1: rule__XSetLiteral__Group__2 : rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3 ;
     public final void rule__XSetLiteral__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9651:1: ( rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3 )
-            // InternalSignalDSL.g:9652:2: rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3
+            // InternalSignalDSL.g:9679:1: ( rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3 )
+            // InternalSignalDSL.g:9680:2: rule__XSetLiteral__Group__2__Impl rule__XSetLiteral__Group__3
             {
             pushFollow(FOLLOW_75);
             rule__XSetLiteral__Group__2__Impl();
@@ -32782,22 +32826,22 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__2__Impl"
-    // InternalSignalDSL.g:9659:1: rule__XSetLiteral__Group__2__Impl : ( '{' ) ;
+    // InternalSignalDSL.g:9687:1: rule__XSetLiteral__Group__2__Impl : ( '{' ) ;
     public final void rule__XSetLiteral__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9663:1: ( ( '{' ) )
-            // InternalSignalDSL.g:9664:1: ( '{' )
+            // InternalSignalDSL.g:9691:1: ( ( '{' ) )
+            // InternalSignalDSL.g:9692:1: ( '{' )
             {
-            // InternalSignalDSL.g:9664:1: ( '{' )
-            // InternalSignalDSL.g:9665:2: '{'
+            // InternalSignalDSL.g:9692:1: ( '{' )
+            // InternalSignalDSL.g:9693:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,64,FOLLOW_2); if (state.failed) return ;
+            match(input,60,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -32823,14 +32867,14 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__3"
-    // InternalSignalDSL.g:9674:1: rule__XSetLiteral__Group__3 : rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4 ;
+    // InternalSignalDSL.g:9702:1: rule__XSetLiteral__Group__3 : rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4 ;
     public final void rule__XSetLiteral__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9678:1: ( rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4 )
-            // InternalSignalDSL.g:9679:2: rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4
+            // InternalSignalDSL.g:9706:1: ( rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4 )
+            // InternalSignalDSL.g:9707:2: rule__XSetLiteral__Group__3__Impl rule__XSetLiteral__Group__4
             {
             pushFollow(FOLLOW_75);
             rule__XSetLiteral__Group__3__Impl();
@@ -32861,31 +32905,31 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__3__Impl"
-    // InternalSignalDSL.g:9686:1: rule__XSetLiteral__Group__3__Impl : ( ( rule__XSetLiteral__Group_3__0 )? ) ;
+    // InternalSignalDSL.g:9714:1: rule__XSetLiteral__Group__3__Impl : ( ( rule__XSetLiteral__Group_3__0 )? ) ;
     public final void rule__XSetLiteral__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9690:1: ( ( ( rule__XSetLiteral__Group_3__0 )? ) )
-            // InternalSignalDSL.g:9691:1: ( ( rule__XSetLiteral__Group_3__0 )? )
+            // InternalSignalDSL.g:9718:1: ( ( ( rule__XSetLiteral__Group_3__0 )? ) )
+            // InternalSignalDSL.g:9719:1: ( ( rule__XSetLiteral__Group_3__0 )? )
             {
-            // InternalSignalDSL.g:9691:1: ( ( rule__XSetLiteral__Group_3__0 )? )
-            // InternalSignalDSL.g:9692:2: ( rule__XSetLiteral__Group_3__0 )?
+            // InternalSignalDSL.g:9719:1: ( ( rule__XSetLiteral__Group_3__0 )? )
+            // InternalSignalDSL.g:9720:2: ( rule__XSetLiteral__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getGroup_3()); 
             }
-            // InternalSignalDSL.g:9693:2: ( rule__XSetLiteral__Group_3__0 )?
-            int alt86=2;
-            int LA86_0 = input.LA(1);
+            // InternalSignalDSL.g:9721:2: ( rule__XSetLiteral__Group_3__0 )?
+            int alt87=2;
+            int LA87_0 = input.LA(1);
 
-            if ( ((LA86_0>=RULE_ID && LA86_0<=RULE_STRING)||LA86_0==27||(LA86_0>=34 && LA86_0<=35)||LA86_0==40||(LA86_0>=45 && LA86_0<=50)||LA86_0==64||LA86_0==68||LA86_0==74||(LA86_0>=78 && LA86_0<=79)||LA86_0==82||LA86_0==84||(LA86_0>=88 && LA86_0<=95)||LA86_0==97||LA86_0==106) ) {
-                alt86=1;
+            if ( ((LA87_0>=RULE_ID && LA87_0<=RULE_STRING)||LA87_0==27||(LA87_0>=34 && LA87_0<=35)||LA87_0==40||(LA87_0>=45 && LA87_0<=50)||LA87_0==60||LA87_0==64||LA87_0==71||(LA87_0>=75 && LA87_0<=76)||LA87_0==79||LA87_0==81||(LA87_0>=85 && LA87_0<=92)||LA87_0==94||LA87_0==103) ) {
+                alt87=1;
             }
-            switch (alt86) {
+            switch (alt87) {
                 case 1 :
-                    // InternalSignalDSL.g:9693:3: rule__XSetLiteral__Group_3__0
+                    // InternalSignalDSL.g:9721:3: rule__XSetLiteral__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XSetLiteral__Group_3__0();
@@ -32923,14 +32967,14 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__4"
-    // InternalSignalDSL.g:9701:1: rule__XSetLiteral__Group__4 : rule__XSetLiteral__Group__4__Impl ;
+    // InternalSignalDSL.g:9729:1: rule__XSetLiteral__Group__4 : rule__XSetLiteral__Group__4__Impl ;
     public final void rule__XSetLiteral__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9705:1: ( rule__XSetLiteral__Group__4__Impl )
-            // InternalSignalDSL.g:9706:2: rule__XSetLiteral__Group__4__Impl
+            // InternalSignalDSL.g:9733:1: ( rule__XSetLiteral__Group__4__Impl )
+            // InternalSignalDSL.g:9734:2: rule__XSetLiteral__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSetLiteral__Group__4__Impl();
@@ -32956,22 +33000,22 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group__4__Impl"
-    // InternalSignalDSL.g:9712:1: rule__XSetLiteral__Group__4__Impl : ( '}' ) ;
+    // InternalSignalDSL.g:9740:1: rule__XSetLiteral__Group__4__Impl : ( '}' ) ;
     public final void rule__XSetLiteral__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9716:1: ( ( '}' ) )
-            // InternalSignalDSL.g:9717:1: ( '}' )
+            // InternalSignalDSL.g:9744:1: ( ( '}' ) )
+            // InternalSignalDSL.g:9745:1: ( '}' )
             {
-            // InternalSignalDSL.g:9717:1: ( '}' )
-            // InternalSignalDSL.g:9718:2: '}'
+            // InternalSignalDSL.g:9745:1: ( '}' )
+            // InternalSignalDSL.g:9746:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); 
             }
-            match(input,65,FOLLOW_2); if (state.failed) return ;
+            match(input,61,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); 
             }
@@ -32997,14 +33041,14 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group_3__0"
-    // InternalSignalDSL.g:9728:1: rule__XSetLiteral__Group_3__0 : rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1 ;
+    // InternalSignalDSL.g:9756:1: rule__XSetLiteral__Group_3__0 : rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1 ;
     public final void rule__XSetLiteral__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9732:1: ( rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1 )
-            // InternalSignalDSL.g:9733:2: rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1
+            // InternalSignalDSL.g:9760:1: ( rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1 )
+            // InternalSignalDSL.g:9761:2: rule__XSetLiteral__Group_3__0__Impl rule__XSetLiteral__Group_3__1
             {
             pushFollow(FOLLOW_33);
             rule__XSetLiteral__Group_3__0__Impl();
@@ -33035,23 +33079,23 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group_3__0__Impl"
-    // InternalSignalDSL.g:9740:1: rule__XSetLiteral__Group_3__0__Impl : ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) ;
+    // InternalSignalDSL.g:9768:1: rule__XSetLiteral__Group_3__0__Impl : ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) ;
     public final void rule__XSetLiteral__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9744:1: ( ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) )
-            // InternalSignalDSL.g:9745:1: ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) )
+            // InternalSignalDSL.g:9772:1: ( ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) ) )
+            // InternalSignalDSL.g:9773:1: ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) )
             {
-            // InternalSignalDSL.g:9745:1: ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) )
-            // InternalSignalDSL.g:9746:2: ( rule__XSetLiteral__ElementsAssignment_3_0 )
+            // InternalSignalDSL.g:9773:1: ( ( rule__XSetLiteral__ElementsAssignment_3_0 ) )
+            // InternalSignalDSL.g:9774:2: ( rule__XSetLiteral__ElementsAssignment_3_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0()); 
             }
-            // InternalSignalDSL.g:9747:2: ( rule__XSetLiteral__ElementsAssignment_3_0 )
-            // InternalSignalDSL.g:9747:3: rule__XSetLiteral__ElementsAssignment_3_0
+            // InternalSignalDSL.g:9775:2: ( rule__XSetLiteral__ElementsAssignment_3_0 )
+            // InternalSignalDSL.g:9775:3: rule__XSetLiteral__ElementsAssignment_3_0
             {
             pushFollow(FOLLOW_2);
             rule__XSetLiteral__ElementsAssignment_3_0();
@@ -33086,14 +33130,14 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group_3__1"
-    // InternalSignalDSL.g:9755:1: rule__XSetLiteral__Group_3__1 : rule__XSetLiteral__Group_3__1__Impl ;
+    // InternalSignalDSL.g:9783:1: rule__XSetLiteral__Group_3__1 : rule__XSetLiteral__Group_3__1__Impl ;
     public final void rule__XSetLiteral__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9759:1: ( rule__XSetLiteral__Group_3__1__Impl )
-            // InternalSignalDSL.g:9760:2: rule__XSetLiteral__Group_3__1__Impl
+            // InternalSignalDSL.g:9787:1: ( rule__XSetLiteral__Group_3__1__Impl )
+            // InternalSignalDSL.g:9788:2: rule__XSetLiteral__Group_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSetLiteral__Group_3__1__Impl();
@@ -33119,35 +33163,35 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group_3__1__Impl"
-    // InternalSignalDSL.g:9766:1: rule__XSetLiteral__Group_3__1__Impl : ( ( rule__XSetLiteral__Group_3_1__0 )* ) ;
+    // InternalSignalDSL.g:9794:1: rule__XSetLiteral__Group_3__1__Impl : ( ( rule__XSetLiteral__Group_3_1__0 )* ) ;
     public final void rule__XSetLiteral__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9770:1: ( ( ( rule__XSetLiteral__Group_3_1__0 )* ) )
-            // InternalSignalDSL.g:9771:1: ( ( rule__XSetLiteral__Group_3_1__0 )* )
+            // InternalSignalDSL.g:9798:1: ( ( ( rule__XSetLiteral__Group_3_1__0 )* ) )
+            // InternalSignalDSL.g:9799:1: ( ( rule__XSetLiteral__Group_3_1__0 )* )
             {
-            // InternalSignalDSL.g:9771:1: ( ( rule__XSetLiteral__Group_3_1__0 )* )
-            // InternalSignalDSL.g:9772:2: ( rule__XSetLiteral__Group_3_1__0 )*
+            // InternalSignalDSL.g:9799:1: ( ( rule__XSetLiteral__Group_3_1__0 )* )
+            // InternalSignalDSL.g:9800:2: ( rule__XSetLiteral__Group_3_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getGroup_3_1()); 
             }
-            // InternalSignalDSL.g:9773:2: ( rule__XSetLiteral__Group_3_1__0 )*
-            loop87:
+            // InternalSignalDSL.g:9801:2: ( rule__XSetLiteral__Group_3_1__0 )*
+            loop88:
             do {
-                int alt87=2;
-                int LA87_0 = input.LA(1);
+                int alt88=2;
+                int LA88_0 = input.LA(1);
 
-                if ( (LA87_0==76) ) {
-                    alt87=1;
+                if ( (LA88_0==73) ) {
+                    alt88=1;
                 }
 
 
-                switch (alt87) {
+                switch (alt88) {
             	case 1 :
-            	    // InternalSignalDSL.g:9773:3: rule__XSetLiteral__Group_3_1__0
+            	    // InternalSignalDSL.g:9801:3: rule__XSetLiteral__Group_3_1__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__XSetLiteral__Group_3_1__0();
@@ -33159,7 +33203,7 @@
             	    break;
 
             	default :
-            	    break loop87;
+            	    break loop88;
                 }
             } while (true);
 
@@ -33188,14 +33232,14 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group_3_1__0"
-    // InternalSignalDSL.g:9782:1: rule__XSetLiteral__Group_3_1__0 : rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1 ;
+    // InternalSignalDSL.g:9810:1: rule__XSetLiteral__Group_3_1__0 : rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1 ;
     public final void rule__XSetLiteral__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9786:1: ( rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1 )
-            // InternalSignalDSL.g:9787:2: rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1
+            // InternalSignalDSL.g:9814:1: ( rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1 )
+            // InternalSignalDSL.g:9815:2: rule__XSetLiteral__Group_3_1__0__Impl rule__XSetLiteral__Group_3_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XSetLiteral__Group_3_1__0__Impl();
@@ -33226,22 +33270,22 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group_3_1__0__Impl"
-    // InternalSignalDSL.g:9794:1: rule__XSetLiteral__Group_3_1__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:9822:1: rule__XSetLiteral__Group_3_1__0__Impl : ( ',' ) ;
     public final void rule__XSetLiteral__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9798:1: ( ( ',' ) )
-            // InternalSignalDSL.g:9799:1: ( ',' )
+            // InternalSignalDSL.g:9826:1: ( ( ',' ) )
+            // InternalSignalDSL.g:9827:1: ( ',' )
             {
-            // InternalSignalDSL.g:9799:1: ( ',' )
-            // InternalSignalDSL.g:9800:2: ','
+            // InternalSignalDSL.g:9827:1: ( ',' )
+            // InternalSignalDSL.g:9828:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); 
             }
@@ -33267,14 +33311,14 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group_3_1__1"
-    // InternalSignalDSL.g:9809:1: rule__XSetLiteral__Group_3_1__1 : rule__XSetLiteral__Group_3_1__1__Impl ;
+    // InternalSignalDSL.g:9837:1: rule__XSetLiteral__Group_3_1__1 : rule__XSetLiteral__Group_3_1__1__Impl ;
     public final void rule__XSetLiteral__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9813:1: ( rule__XSetLiteral__Group_3_1__1__Impl )
-            // InternalSignalDSL.g:9814:2: rule__XSetLiteral__Group_3_1__1__Impl
+            // InternalSignalDSL.g:9841:1: ( rule__XSetLiteral__Group_3_1__1__Impl )
+            // InternalSignalDSL.g:9842:2: rule__XSetLiteral__Group_3_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSetLiteral__Group_3_1__1__Impl();
@@ -33300,23 +33344,23 @@
 
 
     // $ANTLR start "rule__XSetLiteral__Group_3_1__1__Impl"
-    // InternalSignalDSL.g:9820:1: rule__XSetLiteral__Group_3_1__1__Impl : ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) ;
+    // InternalSignalDSL.g:9848:1: rule__XSetLiteral__Group_3_1__1__Impl : ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) ;
     public final void rule__XSetLiteral__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9824:1: ( ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) )
-            // InternalSignalDSL.g:9825:1: ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) )
+            // InternalSignalDSL.g:9852:1: ( ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) ) )
+            // InternalSignalDSL.g:9853:1: ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) )
             {
-            // InternalSignalDSL.g:9825:1: ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) )
-            // InternalSignalDSL.g:9826:2: ( rule__XSetLiteral__ElementsAssignment_3_1_1 )
+            // InternalSignalDSL.g:9853:1: ( ( rule__XSetLiteral__ElementsAssignment_3_1_1 ) )
+            // InternalSignalDSL.g:9854:2: ( rule__XSetLiteral__ElementsAssignment_3_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1()); 
             }
-            // InternalSignalDSL.g:9827:2: ( rule__XSetLiteral__ElementsAssignment_3_1_1 )
-            // InternalSignalDSL.g:9827:3: rule__XSetLiteral__ElementsAssignment_3_1_1
+            // InternalSignalDSL.g:9855:2: ( rule__XSetLiteral__ElementsAssignment_3_1_1 )
+            // InternalSignalDSL.g:9855:3: rule__XSetLiteral__ElementsAssignment_3_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XSetLiteral__ElementsAssignment_3_1_1();
@@ -33351,14 +33395,14 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__0"
-    // InternalSignalDSL.g:9836:1: rule__XListLiteral__Group__0 : rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1 ;
+    // InternalSignalDSL.g:9864:1: rule__XListLiteral__Group__0 : rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1 ;
     public final void rule__XListLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9840:1: ( rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1 )
-            // InternalSignalDSL.g:9841:2: rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1
+            // InternalSignalDSL.g:9868:1: ( rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1 )
+            // InternalSignalDSL.g:9869:2: rule__XListLiteral__Group__0__Impl rule__XListLiteral__Group__1
             {
             pushFollow(FOLLOW_38);
             rule__XListLiteral__Group__0__Impl();
@@ -33389,23 +33433,23 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__0__Impl"
-    // InternalSignalDSL.g:9848:1: rule__XListLiteral__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:9876:1: rule__XListLiteral__Group__0__Impl : ( () ) ;
     public final void rule__XListLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9852:1: ( ( () ) )
-            // InternalSignalDSL.g:9853:1: ( () )
+            // InternalSignalDSL.g:9880:1: ( ( () ) )
+            // InternalSignalDSL.g:9881:1: ( () )
             {
-            // InternalSignalDSL.g:9853:1: ( () )
-            // InternalSignalDSL.g:9854:2: ()
+            // InternalSignalDSL.g:9881:1: ( () )
+            // InternalSignalDSL.g:9882:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getXListLiteralAction_0()); 
             }
-            // InternalSignalDSL.g:9855:2: ()
-            // InternalSignalDSL.g:9855:3: 
+            // InternalSignalDSL.g:9883:2: ()
+            // InternalSignalDSL.g:9883:3: 
             {
             }
 
@@ -33430,14 +33474,14 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__1"
-    // InternalSignalDSL.g:9863:1: rule__XListLiteral__Group__1 : rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2 ;
+    // InternalSignalDSL.g:9891:1: rule__XListLiteral__Group__1 : rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2 ;
     public final void rule__XListLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9867:1: ( rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2 )
-            // InternalSignalDSL.g:9868:2: rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2
+            // InternalSignalDSL.g:9895:1: ( rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2 )
+            // InternalSignalDSL.g:9896:2: rule__XListLiteral__Group__1__Impl rule__XListLiteral__Group__2
             {
             pushFollow(FOLLOW_39);
             rule__XListLiteral__Group__1__Impl();
@@ -33468,22 +33512,22 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__1__Impl"
-    // InternalSignalDSL.g:9875:1: rule__XListLiteral__Group__1__Impl : ( '#' ) ;
+    // InternalSignalDSL.g:9903:1: rule__XListLiteral__Group__1__Impl : ( '#' ) ;
     public final void rule__XListLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9879:1: ( ( '#' ) )
-            // InternalSignalDSL.g:9880:1: ( '#' )
+            // InternalSignalDSL.g:9907:1: ( ( '#' ) )
+            // InternalSignalDSL.g:9908:1: ( '#' )
             {
-            // InternalSignalDSL.g:9880:1: ( '#' )
-            // InternalSignalDSL.g:9881:2: '#'
+            // InternalSignalDSL.g:9908:1: ( '#' )
+            // InternalSignalDSL.g:9909:2: '#'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); 
             }
-            match(input,78,FOLLOW_2); if (state.failed) return ;
+            match(input,75,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); 
             }
@@ -33509,14 +33553,14 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__2"
-    // InternalSignalDSL.g:9890:1: rule__XListLiteral__Group__2 : rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3 ;
+    // InternalSignalDSL.g:9918:1: rule__XListLiteral__Group__2 : rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3 ;
     public final void rule__XListLiteral__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9894:1: ( rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3 )
-            // InternalSignalDSL.g:9895:2: rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3
+            // InternalSignalDSL.g:9922:1: ( rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3 )
+            // InternalSignalDSL.g:9923:2: rule__XListLiteral__Group__2__Impl rule__XListLiteral__Group__3
             {
             pushFollow(FOLLOW_37);
             rule__XListLiteral__Group__2__Impl();
@@ -33547,22 +33591,22 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__2__Impl"
-    // InternalSignalDSL.g:9902:1: rule__XListLiteral__Group__2__Impl : ( '[' ) ;
+    // InternalSignalDSL.g:9930:1: rule__XListLiteral__Group__2__Impl : ( '[' ) ;
     public final void rule__XListLiteral__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9906:1: ( ( '[' ) )
-            // InternalSignalDSL.g:9907:1: ( '[' )
+            // InternalSignalDSL.g:9934:1: ( ( '[' ) )
+            // InternalSignalDSL.g:9935:1: ( '[' )
             {
-            // InternalSignalDSL.g:9907:1: ( '[' )
-            // InternalSignalDSL.g:9908:2: '['
+            // InternalSignalDSL.g:9935:1: ( '[' )
+            // InternalSignalDSL.g:9936:2: '['
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); 
             }
-            match(input,79,FOLLOW_2); if (state.failed) return ;
+            match(input,76,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); 
             }
@@ -33588,14 +33632,14 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__3"
-    // InternalSignalDSL.g:9917:1: rule__XListLiteral__Group__3 : rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4 ;
+    // InternalSignalDSL.g:9945:1: rule__XListLiteral__Group__3 : rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4 ;
     public final void rule__XListLiteral__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9921:1: ( rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4 )
-            // InternalSignalDSL.g:9922:2: rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4
+            // InternalSignalDSL.g:9949:1: ( rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4 )
+            // InternalSignalDSL.g:9950:2: rule__XListLiteral__Group__3__Impl rule__XListLiteral__Group__4
             {
             pushFollow(FOLLOW_37);
             rule__XListLiteral__Group__3__Impl();
@@ -33626,31 +33670,31 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__3__Impl"
-    // InternalSignalDSL.g:9929:1: rule__XListLiteral__Group__3__Impl : ( ( rule__XListLiteral__Group_3__0 )? ) ;
+    // InternalSignalDSL.g:9957:1: rule__XListLiteral__Group__3__Impl : ( ( rule__XListLiteral__Group_3__0 )? ) ;
     public final void rule__XListLiteral__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9933:1: ( ( ( rule__XListLiteral__Group_3__0 )? ) )
-            // InternalSignalDSL.g:9934:1: ( ( rule__XListLiteral__Group_3__0 )? )
+            // InternalSignalDSL.g:9961:1: ( ( ( rule__XListLiteral__Group_3__0 )? ) )
+            // InternalSignalDSL.g:9962:1: ( ( rule__XListLiteral__Group_3__0 )? )
             {
-            // InternalSignalDSL.g:9934:1: ( ( rule__XListLiteral__Group_3__0 )? )
-            // InternalSignalDSL.g:9935:2: ( rule__XListLiteral__Group_3__0 )?
+            // InternalSignalDSL.g:9962:1: ( ( rule__XListLiteral__Group_3__0 )? )
+            // InternalSignalDSL.g:9963:2: ( rule__XListLiteral__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getGroup_3()); 
             }
-            // InternalSignalDSL.g:9936:2: ( rule__XListLiteral__Group_3__0 )?
-            int alt88=2;
-            int LA88_0 = input.LA(1);
+            // InternalSignalDSL.g:9964:2: ( rule__XListLiteral__Group_3__0 )?
+            int alt89=2;
+            int LA89_0 = input.LA(1);
 
-            if ( ((LA88_0>=RULE_ID && LA88_0<=RULE_STRING)||LA88_0==27||(LA88_0>=34 && LA88_0<=35)||LA88_0==40||(LA88_0>=45 && LA88_0<=50)||LA88_0==64||LA88_0==68||LA88_0==74||(LA88_0>=78 && LA88_0<=79)||LA88_0==82||LA88_0==84||(LA88_0>=88 && LA88_0<=95)||LA88_0==97||LA88_0==106) ) {
-                alt88=1;
+            if ( ((LA89_0>=RULE_ID && LA89_0<=RULE_STRING)||LA89_0==27||(LA89_0>=34 && LA89_0<=35)||LA89_0==40||(LA89_0>=45 && LA89_0<=50)||LA89_0==60||LA89_0==64||LA89_0==71||(LA89_0>=75 && LA89_0<=76)||LA89_0==79||LA89_0==81||(LA89_0>=85 && LA89_0<=92)||LA89_0==94||LA89_0==103) ) {
+                alt89=1;
             }
-            switch (alt88) {
+            switch (alt89) {
                 case 1 :
-                    // InternalSignalDSL.g:9936:3: rule__XListLiteral__Group_3__0
+                    // InternalSignalDSL.g:9964:3: rule__XListLiteral__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XListLiteral__Group_3__0();
@@ -33688,14 +33732,14 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__4"
-    // InternalSignalDSL.g:9944:1: rule__XListLiteral__Group__4 : rule__XListLiteral__Group__4__Impl ;
+    // InternalSignalDSL.g:9972:1: rule__XListLiteral__Group__4 : rule__XListLiteral__Group__4__Impl ;
     public final void rule__XListLiteral__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9948:1: ( rule__XListLiteral__Group__4__Impl )
-            // InternalSignalDSL.g:9949:2: rule__XListLiteral__Group__4__Impl
+            // InternalSignalDSL.g:9976:1: ( rule__XListLiteral__Group__4__Impl )
+            // InternalSignalDSL.g:9977:2: rule__XListLiteral__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XListLiteral__Group__4__Impl();
@@ -33721,22 +33765,22 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group__4__Impl"
-    // InternalSignalDSL.g:9955:1: rule__XListLiteral__Group__4__Impl : ( ']' ) ;
+    // InternalSignalDSL.g:9983:1: rule__XListLiteral__Group__4__Impl : ( ']' ) ;
     public final void rule__XListLiteral__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9959:1: ( ( ']' ) )
-            // InternalSignalDSL.g:9960:1: ( ']' )
+            // InternalSignalDSL.g:9987:1: ( ( ']' ) )
+            // InternalSignalDSL.g:9988:1: ( ']' )
             {
-            // InternalSignalDSL.g:9960:1: ( ']' )
-            // InternalSignalDSL.g:9961:2: ']'
+            // InternalSignalDSL.g:9988:1: ( ']' )
+            // InternalSignalDSL.g:9989:2: ']'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); 
             }
-            match(input,77,FOLLOW_2); if (state.failed) return ;
+            match(input,74,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); 
             }
@@ -33762,14 +33806,14 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group_3__0"
-    // InternalSignalDSL.g:9971:1: rule__XListLiteral__Group_3__0 : rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1 ;
+    // InternalSignalDSL.g:9999:1: rule__XListLiteral__Group_3__0 : rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1 ;
     public final void rule__XListLiteral__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9975:1: ( rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1 )
-            // InternalSignalDSL.g:9976:2: rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1
+            // InternalSignalDSL.g:10003:1: ( rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1 )
+            // InternalSignalDSL.g:10004:2: rule__XListLiteral__Group_3__0__Impl rule__XListLiteral__Group_3__1
             {
             pushFollow(FOLLOW_33);
             rule__XListLiteral__Group_3__0__Impl();
@@ -33800,23 +33844,23 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group_3__0__Impl"
-    // InternalSignalDSL.g:9983:1: rule__XListLiteral__Group_3__0__Impl : ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) ;
+    // InternalSignalDSL.g:10011:1: rule__XListLiteral__Group_3__0__Impl : ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) ;
     public final void rule__XListLiteral__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:9987:1: ( ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) )
-            // InternalSignalDSL.g:9988:1: ( ( rule__XListLiteral__ElementsAssignment_3_0 ) )
+            // InternalSignalDSL.g:10015:1: ( ( ( rule__XListLiteral__ElementsAssignment_3_0 ) ) )
+            // InternalSignalDSL.g:10016:1: ( ( rule__XListLiteral__ElementsAssignment_3_0 ) )
             {
-            // InternalSignalDSL.g:9988:1: ( ( rule__XListLiteral__ElementsAssignment_3_0 ) )
-            // InternalSignalDSL.g:9989:2: ( rule__XListLiteral__ElementsAssignment_3_0 )
+            // InternalSignalDSL.g:10016:1: ( ( rule__XListLiteral__ElementsAssignment_3_0 ) )
+            // InternalSignalDSL.g:10017:2: ( rule__XListLiteral__ElementsAssignment_3_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0()); 
             }
-            // InternalSignalDSL.g:9990:2: ( rule__XListLiteral__ElementsAssignment_3_0 )
-            // InternalSignalDSL.g:9990:3: rule__XListLiteral__ElementsAssignment_3_0
+            // InternalSignalDSL.g:10018:2: ( rule__XListLiteral__ElementsAssignment_3_0 )
+            // InternalSignalDSL.g:10018:3: rule__XListLiteral__ElementsAssignment_3_0
             {
             pushFollow(FOLLOW_2);
             rule__XListLiteral__ElementsAssignment_3_0();
@@ -33851,14 +33895,14 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group_3__1"
-    // InternalSignalDSL.g:9998:1: rule__XListLiteral__Group_3__1 : rule__XListLiteral__Group_3__1__Impl ;
+    // InternalSignalDSL.g:10026:1: rule__XListLiteral__Group_3__1 : rule__XListLiteral__Group_3__1__Impl ;
     public final void rule__XListLiteral__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10002:1: ( rule__XListLiteral__Group_3__1__Impl )
-            // InternalSignalDSL.g:10003:2: rule__XListLiteral__Group_3__1__Impl
+            // InternalSignalDSL.g:10030:1: ( rule__XListLiteral__Group_3__1__Impl )
+            // InternalSignalDSL.g:10031:2: rule__XListLiteral__Group_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XListLiteral__Group_3__1__Impl();
@@ -33884,35 +33928,35 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group_3__1__Impl"
-    // InternalSignalDSL.g:10009:1: rule__XListLiteral__Group_3__1__Impl : ( ( rule__XListLiteral__Group_3_1__0 )* ) ;
+    // InternalSignalDSL.g:10037:1: rule__XListLiteral__Group_3__1__Impl : ( ( rule__XListLiteral__Group_3_1__0 )* ) ;
     public final void rule__XListLiteral__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10013:1: ( ( ( rule__XListLiteral__Group_3_1__0 )* ) )
-            // InternalSignalDSL.g:10014:1: ( ( rule__XListLiteral__Group_3_1__0 )* )
+            // InternalSignalDSL.g:10041:1: ( ( ( rule__XListLiteral__Group_3_1__0 )* ) )
+            // InternalSignalDSL.g:10042:1: ( ( rule__XListLiteral__Group_3_1__0 )* )
             {
-            // InternalSignalDSL.g:10014:1: ( ( rule__XListLiteral__Group_3_1__0 )* )
-            // InternalSignalDSL.g:10015:2: ( rule__XListLiteral__Group_3_1__0 )*
+            // InternalSignalDSL.g:10042:1: ( ( rule__XListLiteral__Group_3_1__0 )* )
+            // InternalSignalDSL.g:10043:2: ( rule__XListLiteral__Group_3_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getGroup_3_1()); 
             }
-            // InternalSignalDSL.g:10016:2: ( rule__XListLiteral__Group_3_1__0 )*
-            loop89:
+            // InternalSignalDSL.g:10044:2: ( rule__XListLiteral__Group_3_1__0 )*
+            loop90:
             do {
-                int alt89=2;
-                int LA89_0 = input.LA(1);
+                int alt90=2;
+                int LA90_0 = input.LA(1);
 
-                if ( (LA89_0==76) ) {
-                    alt89=1;
+                if ( (LA90_0==73) ) {
+                    alt90=1;
                 }
 
 
-                switch (alt89) {
+                switch (alt90) {
             	case 1 :
-            	    // InternalSignalDSL.g:10016:3: rule__XListLiteral__Group_3_1__0
+            	    // InternalSignalDSL.g:10044:3: rule__XListLiteral__Group_3_1__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__XListLiteral__Group_3_1__0();
@@ -33924,7 +33968,7 @@
             	    break;
 
             	default :
-            	    break loop89;
+            	    break loop90;
                 }
             } while (true);
 
@@ -33953,14 +33997,14 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group_3_1__0"
-    // InternalSignalDSL.g:10025:1: rule__XListLiteral__Group_3_1__0 : rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1 ;
+    // InternalSignalDSL.g:10053:1: rule__XListLiteral__Group_3_1__0 : rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1 ;
     public final void rule__XListLiteral__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10029:1: ( rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1 )
-            // InternalSignalDSL.g:10030:2: rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1
+            // InternalSignalDSL.g:10057:1: ( rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1 )
+            // InternalSignalDSL.g:10058:2: rule__XListLiteral__Group_3_1__0__Impl rule__XListLiteral__Group_3_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XListLiteral__Group_3_1__0__Impl();
@@ -33991,22 +34035,22 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group_3_1__0__Impl"
-    // InternalSignalDSL.g:10037:1: rule__XListLiteral__Group_3_1__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:10065:1: rule__XListLiteral__Group_3_1__0__Impl : ( ',' ) ;
     public final void rule__XListLiteral__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10041:1: ( ( ',' ) )
-            // InternalSignalDSL.g:10042:1: ( ',' )
+            // InternalSignalDSL.g:10069:1: ( ( ',' ) )
+            // InternalSignalDSL.g:10070:1: ( ',' )
             {
-            // InternalSignalDSL.g:10042:1: ( ',' )
-            // InternalSignalDSL.g:10043:2: ','
+            // InternalSignalDSL.g:10070:1: ( ',' )
+            // InternalSignalDSL.g:10071:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); 
             }
@@ -34032,14 +34076,14 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group_3_1__1"
-    // InternalSignalDSL.g:10052:1: rule__XListLiteral__Group_3_1__1 : rule__XListLiteral__Group_3_1__1__Impl ;
+    // InternalSignalDSL.g:10080:1: rule__XListLiteral__Group_3_1__1 : rule__XListLiteral__Group_3_1__1__Impl ;
     public final void rule__XListLiteral__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10056:1: ( rule__XListLiteral__Group_3_1__1__Impl )
-            // InternalSignalDSL.g:10057:2: rule__XListLiteral__Group_3_1__1__Impl
+            // InternalSignalDSL.g:10084:1: ( rule__XListLiteral__Group_3_1__1__Impl )
+            // InternalSignalDSL.g:10085:2: rule__XListLiteral__Group_3_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XListLiteral__Group_3_1__1__Impl();
@@ -34065,23 +34109,23 @@
 
 
     // $ANTLR start "rule__XListLiteral__Group_3_1__1__Impl"
-    // InternalSignalDSL.g:10063:1: rule__XListLiteral__Group_3_1__1__Impl : ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) ;
+    // InternalSignalDSL.g:10091:1: rule__XListLiteral__Group_3_1__1__Impl : ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) ;
     public final void rule__XListLiteral__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10067:1: ( ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) )
-            // InternalSignalDSL.g:10068:1: ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) )
+            // InternalSignalDSL.g:10095:1: ( ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) ) )
+            // InternalSignalDSL.g:10096:1: ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) )
             {
-            // InternalSignalDSL.g:10068:1: ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) )
-            // InternalSignalDSL.g:10069:2: ( rule__XListLiteral__ElementsAssignment_3_1_1 )
+            // InternalSignalDSL.g:10096:1: ( ( rule__XListLiteral__ElementsAssignment_3_1_1 ) )
+            // InternalSignalDSL.g:10097:2: ( rule__XListLiteral__ElementsAssignment_3_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1()); 
             }
-            // InternalSignalDSL.g:10070:2: ( rule__XListLiteral__ElementsAssignment_3_1_1 )
-            // InternalSignalDSL.g:10070:3: rule__XListLiteral__ElementsAssignment_3_1_1
+            // InternalSignalDSL.g:10098:2: ( rule__XListLiteral__ElementsAssignment_3_1_1 )
+            // InternalSignalDSL.g:10098:3: rule__XListLiteral__ElementsAssignment_3_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XListLiteral__ElementsAssignment_3_1_1();
@@ -34116,14 +34160,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group__0"
-    // InternalSignalDSL.g:10079:1: rule__XClosure__Group__0 : rule__XClosure__Group__0__Impl rule__XClosure__Group__1 ;
+    // InternalSignalDSL.g:10107:1: rule__XClosure__Group__0 : rule__XClosure__Group__0__Impl rule__XClosure__Group__1 ;
     public final void rule__XClosure__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10083:1: ( rule__XClosure__Group__0__Impl rule__XClosure__Group__1 )
-            // InternalSignalDSL.g:10084:2: rule__XClosure__Group__0__Impl rule__XClosure__Group__1
+            // InternalSignalDSL.g:10111:1: ( rule__XClosure__Group__0__Impl rule__XClosure__Group__1 )
+            // InternalSignalDSL.g:10112:2: rule__XClosure__Group__0__Impl rule__XClosure__Group__1
             {
             pushFollow(FOLLOW_76);
             rule__XClosure__Group__0__Impl();
@@ -34154,23 +34198,23 @@
 
 
     // $ANTLR start "rule__XClosure__Group__0__Impl"
-    // InternalSignalDSL.g:10091:1: rule__XClosure__Group__0__Impl : ( ( rule__XClosure__Group_0__0 ) ) ;
+    // InternalSignalDSL.g:10119:1: rule__XClosure__Group__0__Impl : ( ( rule__XClosure__Group_0__0 ) ) ;
     public final void rule__XClosure__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10095:1: ( ( ( rule__XClosure__Group_0__0 ) ) )
-            // InternalSignalDSL.g:10096:1: ( ( rule__XClosure__Group_0__0 ) )
+            // InternalSignalDSL.g:10123:1: ( ( ( rule__XClosure__Group_0__0 ) ) )
+            // InternalSignalDSL.g:10124:1: ( ( rule__XClosure__Group_0__0 ) )
             {
-            // InternalSignalDSL.g:10096:1: ( ( rule__XClosure__Group_0__0 ) )
-            // InternalSignalDSL.g:10097:2: ( rule__XClosure__Group_0__0 )
+            // InternalSignalDSL.g:10124:1: ( ( rule__XClosure__Group_0__0 ) )
+            // InternalSignalDSL.g:10125:2: ( rule__XClosure__Group_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getGroup_0()); 
             }
-            // InternalSignalDSL.g:10098:2: ( rule__XClosure__Group_0__0 )
-            // InternalSignalDSL.g:10098:3: rule__XClosure__Group_0__0
+            // InternalSignalDSL.g:10126:2: ( rule__XClosure__Group_0__0 )
+            // InternalSignalDSL.g:10126:3: rule__XClosure__Group_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_0__0();
@@ -34205,14 +34249,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group__1"
-    // InternalSignalDSL.g:10106:1: rule__XClosure__Group__1 : rule__XClosure__Group__1__Impl rule__XClosure__Group__2 ;
+    // InternalSignalDSL.g:10134:1: rule__XClosure__Group__1 : rule__XClosure__Group__1__Impl rule__XClosure__Group__2 ;
     public final void rule__XClosure__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10110:1: ( rule__XClosure__Group__1__Impl rule__XClosure__Group__2 )
-            // InternalSignalDSL.g:10111:2: rule__XClosure__Group__1__Impl rule__XClosure__Group__2
+            // InternalSignalDSL.g:10138:1: ( rule__XClosure__Group__1__Impl rule__XClosure__Group__2 )
+            // InternalSignalDSL.g:10139:2: rule__XClosure__Group__1__Impl rule__XClosure__Group__2
             {
             pushFollow(FOLLOW_76);
             rule__XClosure__Group__1__Impl();
@@ -34243,27 +34287,27 @@
 
 
     // $ANTLR start "rule__XClosure__Group__1__Impl"
-    // InternalSignalDSL.g:10118:1: rule__XClosure__Group__1__Impl : ( ( rule__XClosure__Group_1__0 )? ) ;
+    // InternalSignalDSL.g:10146:1: rule__XClosure__Group__1__Impl : ( ( rule__XClosure__Group_1__0 )? ) ;
     public final void rule__XClosure__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10122:1: ( ( ( rule__XClosure__Group_1__0 )? ) )
-            // InternalSignalDSL.g:10123:1: ( ( rule__XClosure__Group_1__0 )? )
+            // InternalSignalDSL.g:10150:1: ( ( ( rule__XClosure__Group_1__0 )? ) )
+            // InternalSignalDSL.g:10151:1: ( ( rule__XClosure__Group_1__0 )? )
             {
-            // InternalSignalDSL.g:10123:1: ( ( rule__XClosure__Group_1__0 )? )
-            // InternalSignalDSL.g:10124:2: ( rule__XClosure__Group_1__0 )?
+            // InternalSignalDSL.g:10151:1: ( ( rule__XClosure__Group_1__0 )? )
+            // InternalSignalDSL.g:10152:2: ( rule__XClosure__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getGroup_1()); 
             }
-            // InternalSignalDSL.g:10125:2: ( rule__XClosure__Group_1__0 )?
-            int alt90=2;
-            alt90 = dfa90.predict(input);
-            switch (alt90) {
+            // InternalSignalDSL.g:10153:2: ( rule__XClosure__Group_1__0 )?
+            int alt91=2;
+            alt91 = dfa91.predict(input);
+            switch (alt91) {
                 case 1 :
-                    // InternalSignalDSL.g:10125:3: rule__XClosure__Group_1__0
+                    // InternalSignalDSL.g:10153:3: rule__XClosure__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XClosure__Group_1__0();
@@ -34301,14 +34345,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group__2"
-    // InternalSignalDSL.g:10133:1: rule__XClosure__Group__2 : rule__XClosure__Group__2__Impl rule__XClosure__Group__3 ;
+    // InternalSignalDSL.g:10161:1: rule__XClosure__Group__2 : rule__XClosure__Group__2__Impl rule__XClosure__Group__3 ;
     public final void rule__XClosure__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10137:1: ( rule__XClosure__Group__2__Impl rule__XClosure__Group__3 )
-            // InternalSignalDSL.g:10138:2: rule__XClosure__Group__2__Impl rule__XClosure__Group__3
+            // InternalSignalDSL.g:10165:1: ( rule__XClosure__Group__2__Impl rule__XClosure__Group__3 )
+            // InternalSignalDSL.g:10166:2: rule__XClosure__Group__2__Impl rule__XClosure__Group__3
             {
             pushFollow(FOLLOW_77);
             rule__XClosure__Group__2__Impl();
@@ -34339,23 +34383,23 @@
 
 
     // $ANTLR start "rule__XClosure__Group__2__Impl"
-    // InternalSignalDSL.g:10145:1: rule__XClosure__Group__2__Impl : ( ( rule__XClosure__ExpressionAssignment_2 ) ) ;
+    // InternalSignalDSL.g:10173:1: rule__XClosure__Group__2__Impl : ( ( rule__XClosure__ExpressionAssignment_2 ) ) ;
     public final void rule__XClosure__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10149:1: ( ( ( rule__XClosure__ExpressionAssignment_2 ) ) )
-            // InternalSignalDSL.g:10150:1: ( ( rule__XClosure__ExpressionAssignment_2 ) )
+            // InternalSignalDSL.g:10177:1: ( ( ( rule__XClosure__ExpressionAssignment_2 ) ) )
+            // InternalSignalDSL.g:10178:1: ( ( rule__XClosure__ExpressionAssignment_2 ) )
             {
-            // InternalSignalDSL.g:10150:1: ( ( rule__XClosure__ExpressionAssignment_2 ) )
-            // InternalSignalDSL.g:10151:2: ( rule__XClosure__ExpressionAssignment_2 )
+            // InternalSignalDSL.g:10178:1: ( ( rule__XClosure__ExpressionAssignment_2 ) )
+            // InternalSignalDSL.g:10179:2: ( rule__XClosure__ExpressionAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getExpressionAssignment_2()); 
             }
-            // InternalSignalDSL.g:10152:2: ( rule__XClosure__ExpressionAssignment_2 )
-            // InternalSignalDSL.g:10152:3: rule__XClosure__ExpressionAssignment_2
+            // InternalSignalDSL.g:10180:2: ( rule__XClosure__ExpressionAssignment_2 )
+            // InternalSignalDSL.g:10180:3: rule__XClosure__ExpressionAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__ExpressionAssignment_2();
@@ -34390,14 +34434,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group__3"
-    // InternalSignalDSL.g:10160:1: rule__XClosure__Group__3 : rule__XClosure__Group__3__Impl ;
+    // InternalSignalDSL.g:10188:1: rule__XClosure__Group__3 : rule__XClosure__Group__3__Impl ;
     public final void rule__XClosure__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10164:1: ( rule__XClosure__Group__3__Impl )
-            // InternalSignalDSL.g:10165:2: rule__XClosure__Group__3__Impl
+            // InternalSignalDSL.g:10192:1: ( rule__XClosure__Group__3__Impl )
+            // InternalSignalDSL.g:10193:2: rule__XClosure__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group__3__Impl();
@@ -34423,22 +34467,22 @@
 
 
     // $ANTLR start "rule__XClosure__Group__3__Impl"
-    // InternalSignalDSL.g:10171:1: rule__XClosure__Group__3__Impl : ( ']' ) ;
+    // InternalSignalDSL.g:10199:1: rule__XClosure__Group__3__Impl : ( ']' ) ;
     public final void rule__XClosure__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10175:1: ( ( ']' ) )
-            // InternalSignalDSL.g:10176:1: ( ']' )
+            // InternalSignalDSL.g:10203:1: ( ( ']' ) )
+            // InternalSignalDSL.g:10204:1: ( ']' )
             {
-            // InternalSignalDSL.g:10176:1: ( ']' )
-            // InternalSignalDSL.g:10177:2: ']'
+            // InternalSignalDSL.g:10204:1: ( ']' )
+            // InternalSignalDSL.g:10205:2: ']'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); 
             }
-            match(input,77,FOLLOW_2); if (state.failed) return ;
+            match(input,74,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); 
             }
@@ -34464,14 +34508,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group_0__0"
-    // InternalSignalDSL.g:10187:1: rule__XClosure__Group_0__0 : rule__XClosure__Group_0__0__Impl ;
+    // InternalSignalDSL.g:10215:1: rule__XClosure__Group_0__0 : rule__XClosure__Group_0__0__Impl ;
     public final void rule__XClosure__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10191:1: ( rule__XClosure__Group_0__0__Impl )
-            // InternalSignalDSL.g:10192:2: rule__XClosure__Group_0__0__Impl
+            // InternalSignalDSL.g:10219:1: ( rule__XClosure__Group_0__0__Impl )
+            // InternalSignalDSL.g:10220:2: rule__XClosure__Group_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_0__0__Impl();
@@ -34497,23 +34541,23 @@
 
 
     // $ANTLR start "rule__XClosure__Group_0__0__Impl"
-    // InternalSignalDSL.g:10198:1: rule__XClosure__Group_0__0__Impl : ( ( rule__XClosure__Group_0_0__0 ) ) ;
+    // InternalSignalDSL.g:10226:1: rule__XClosure__Group_0__0__Impl : ( ( rule__XClosure__Group_0_0__0 ) ) ;
     public final void rule__XClosure__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10202:1: ( ( ( rule__XClosure__Group_0_0__0 ) ) )
-            // InternalSignalDSL.g:10203:1: ( ( rule__XClosure__Group_0_0__0 ) )
+            // InternalSignalDSL.g:10230:1: ( ( ( rule__XClosure__Group_0_0__0 ) ) )
+            // InternalSignalDSL.g:10231:1: ( ( rule__XClosure__Group_0_0__0 ) )
             {
-            // InternalSignalDSL.g:10203:1: ( ( rule__XClosure__Group_0_0__0 ) )
-            // InternalSignalDSL.g:10204:2: ( rule__XClosure__Group_0_0__0 )
+            // InternalSignalDSL.g:10231:1: ( ( rule__XClosure__Group_0_0__0 ) )
+            // InternalSignalDSL.g:10232:2: ( rule__XClosure__Group_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getGroup_0_0()); 
             }
-            // InternalSignalDSL.g:10205:2: ( rule__XClosure__Group_0_0__0 )
-            // InternalSignalDSL.g:10205:3: rule__XClosure__Group_0_0__0
+            // InternalSignalDSL.g:10233:2: ( rule__XClosure__Group_0_0__0 )
+            // InternalSignalDSL.g:10233:3: rule__XClosure__Group_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_0_0__0();
@@ -34548,14 +34592,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group_0_0__0"
-    // InternalSignalDSL.g:10214:1: rule__XClosure__Group_0_0__0 : rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1 ;
+    // InternalSignalDSL.g:10242:1: rule__XClosure__Group_0_0__0 : rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1 ;
     public final void rule__XClosure__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10218:1: ( rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1 )
-            // InternalSignalDSL.g:10219:2: rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1
+            // InternalSignalDSL.g:10246:1: ( rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1 )
+            // InternalSignalDSL.g:10247:2: rule__XClosure__Group_0_0__0__Impl rule__XClosure__Group_0_0__1
             {
             pushFollow(FOLLOW_39);
             rule__XClosure__Group_0_0__0__Impl();
@@ -34586,23 +34630,23 @@
 
 
     // $ANTLR start "rule__XClosure__Group_0_0__0__Impl"
-    // InternalSignalDSL.g:10226:1: rule__XClosure__Group_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:10254:1: rule__XClosure__Group_0_0__0__Impl : ( () ) ;
     public final void rule__XClosure__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10230:1: ( ( () ) )
-            // InternalSignalDSL.g:10231:1: ( () )
+            // InternalSignalDSL.g:10258:1: ( ( () ) )
+            // InternalSignalDSL.g:10259:1: ( () )
             {
-            // InternalSignalDSL.g:10231:1: ( () )
-            // InternalSignalDSL.g:10232:2: ()
+            // InternalSignalDSL.g:10259:1: ( () )
+            // InternalSignalDSL.g:10260:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getXClosureAction_0_0_0()); 
             }
-            // InternalSignalDSL.g:10233:2: ()
-            // InternalSignalDSL.g:10233:3: 
+            // InternalSignalDSL.g:10261:2: ()
+            // InternalSignalDSL.g:10261:3: 
             {
             }
 
@@ -34627,14 +34671,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group_0_0__1"
-    // InternalSignalDSL.g:10241:1: rule__XClosure__Group_0_0__1 : rule__XClosure__Group_0_0__1__Impl ;
+    // InternalSignalDSL.g:10269:1: rule__XClosure__Group_0_0__1 : rule__XClosure__Group_0_0__1__Impl ;
     public final void rule__XClosure__Group_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10245:1: ( rule__XClosure__Group_0_0__1__Impl )
-            // InternalSignalDSL.g:10246:2: rule__XClosure__Group_0_0__1__Impl
+            // InternalSignalDSL.g:10273:1: ( rule__XClosure__Group_0_0__1__Impl )
+            // InternalSignalDSL.g:10274:2: rule__XClosure__Group_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_0_0__1__Impl();
@@ -34660,22 +34704,22 @@
 
 
     // $ANTLR start "rule__XClosure__Group_0_0__1__Impl"
-    // InternalSignalDSL.g:10252:1: rule__XClosure__Group_0_0__1__Impl : ( '[' ) ;
+    // InternalSignalDSL.g:10280:1: rule__XClosure__Group_0_0__1__Impl : ( '[' ) ;
     public final void rule__XClosure__Group_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10256:1: ( ( '[' ) )
-            // InternalSignalDSL.g:10257:1: ( '[' )
+            // InternalSignalDSL.g:10284:1: ( ( '[' ) )
+            // InternalSignalDSL.g:10285:1: ( '[' )
             {
-            // InternalSignalDSL.g:10257:1: ( '[' )
-            // InternalSignalDSL.g:10258:2: '['
+            // InternalSignalDSL.g:10285:1: ( '[' )
+            // InternalSignalDSL.g:10286:2: '['
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); 
             }
-            match(input,79,FOLLOW_2); if (state.failed) return ;
+            match(input,76,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); 
             }
@@ -34701,14 +34745,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1__0"
-    // InternalSignalDSL.g:10268:1: rule__XClosure__Group_1__0 : rule__XClosure__Group_1__0__Impl ;
+    // InternalSignalDSL.g:10296:1: rule__XClosure__Group_1__0 : rule__XClosure__Group_1__0__Impl ;
     public final void rule__XClosure__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10272:1: ( rule__XClosure__Group_1__0__Impl )
-            // InternalSignalDSL.g:10273:2: rule__XClosure__Group_1__0__Impl
+            // InternalSignalDSL.g:10300:1: ( rule__XClosure__Group_1__0__Impl )
+            // InternalSignalDSL.g:10301:2: rule__XClosure__Group_1__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_1__0__Impl();
@@ -34734,23 +34778,23 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1__0__Impl"
-    // InternalSignalDSL.g:10279:1: rule__XClosure__Group_1__0__Impl : ( ( rule__XClosure__Group_1_0__0 ) ) ;
+    // InternalSignalDSL.g:10307:1: rule__XClosure__Group_1__0__Impl : ( ( rule__XClosure__Group_1_0__0 ) ) ;
     public final void rule__XClosure__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10283:1: ( ( ( rule__XClosure__Group_1_0__0 ) ) )
-            // InternalSignalDSL.g:10284:1: ( ( rule__XClosure__Group_1_0__0 ) )
+            // InternalSignalDSL.g:10311:1: ( ( ( rule__XClosure__Group_1_0__0 ) ) )
+            // InternalSignalDSL.g:10312:1: ( ( rule__XClosure__Group_1_0__0 ) )
             {
-            // InternalSignalDSL.g:10284:1: ( ( rule__XClosure__Group_1_0__0 ) )
-            // InternalSignalDSL.g:10285:2: ( rule__XClosure__Group_1_0__0 )
+            // InternalSignalDSL.g:10312:1: ( ( rule__XClosure__Group_1_0__0 ) )
+            // InternalSignalDSL.g:10313:2: ( rule__XClosure__Group_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getGroup_1_0()); 
             }
-            // InternalSignalDSL.g:10286:2: ( rule__XClosure__Group_1_0__0 )
-            // InternalSignalDSL.g:10286:3: rule__XClosure__Group_1_0__0
+            // InternalSignalDSL.g:10314:2: ( rule__XClosure__Group_1_0__0 )
+            // InternalSignalDSL.g:10314:3: rule__XClosure__Group_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_1_0__0();
@@ -34785,14 +34829,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0__0"
-    // InternalSignalDSL.g:10295:1: rule__XClosure__Group_1_0__0 : rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1 ;
+    // InternalSignalDSL.g:10323:1: rule__XClosure__Group_1_0__0 : rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1 ;
     public final void rule__XClosure__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10299:1: ( rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1 )
-            // InternalSignalDSL.g:10300:2: rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1
+            // InternalSignalDSL.g:10327:1: ( rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1 )
+            // InternalSignalDSL.g:10328:2: rule__XClosure__Group_1_0__0__Impl rule__XClosure__Group_1_0__1
             {
             pushFollow(FOLLOW_78);
             rule__XClosure__Group_1_0__0__Impl();
@@ -34823,31 +34867,31 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0__0__Impl"
-    // InternalSignalDSL.g:10307:1: rule__XClosure__Group_1_0__0__Impl : ( ( rule__XClosure__Group_1_0_0__0 )? ) ;
+    // InternalSignalDSL.g:10335:1: rule__XClosure__Group_1_0__0__Impl : ( ( rule__XClosure__Group_1_0_0__0 )? ) ;
     public final void rule__XClosure__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10311:1: ( ( ( rule__XClosure__Group_1_0_0__0 )? ) )
-            // InternalSignalDSL.g:10312:1: ( ( rule__XClosure__Group_1_0_0__0 )? )
+            // InternalSignalDSL.g:10339:1: ( ( ( rule__XClosure__Group_1_0_0__0 )? ) )
+            // InternalSignalDSL.g:10340:1: ( ( rule__XClosure__Group_1_0_0__0 )? )
             {
-            // InternalSignalDSL.g:10312:1: ( ( rule__XClosure__Group_1_0_0__0 )? )
-            // InternalSignalDSL.g:10313:2: ( rule__XClosure__Group_1_0_0__0 )?
+            // InternalSignalDSL.g:10340:1: ( ( rule__XClosure__Group_1_0_0__0 )? )
+            // InternalSignalDSL.g:10341:2: ( rule__XClosure__Group_1_0_0__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getGroup_1_0_0()); 
             }
-            // InternalSignalDSL.g:10314:2: ( rule__XClosure__Group_1_0_0__0 )?
-            int alt91=2;
-            int LA91_0 = input.LA(1);
+            // InternalSignalDSL.g:10342:2: ( rule__XClosure__Group_1_0_0__0 )?
+            int alt92=2;
+            int LA92_0 = input.LA(1);
 
-            if ( (LA91_0==RULE_ID||LA91_0==31||LA91_0==74) ) {
-                alt91=1;
+            if ( (LA92_0==RULE_ID||LA92_0==31||LA92_0==71) ) {
+                alt92=1;
             }
-            switch (alt91) {
+            switch (alt92) {
                 case 1 :
-                    // InternalSignalDSL.g:10314:3: rule__XClosure__Group_1_0_0__0
+                    // InternalSignalDSL.g:10342:3: rule__XClosure__Group_1_0_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XClosure__Group_1_0_0__0();
@@ -34885,14 +34929,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0__1"
-    // InternalSignalDSL.g:10322:1: rule__XClosure__Group_1_0__1 : rule__XClosure__Group_1_0__1__Impl ;
+    // InternalSignalDSL.g:10350:1: rule__XClosure__Group_1_0__1 : rule__XClosure__Group_1_0__1__Impl ;
     public final void rule__XClosure__Group_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10326:1: ( rule__XClosure__Group_1_0__1__Impl )
-            // InternalSignalDSL.g:10327:2: rule__XClosure__Group_1_0__1__Impl
+            // InternalSignalDSL.g:10354:1: ( rule__XClosure__Group_1_0__1__Impl )
+            // InternalSignalDSL.g:10355:2: rule__XClosure__Group_1_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_1_0__1__Impl();
@@ -34918,23 +34962,23 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0__1__Impl"
-    // InternalSignalDSL.g:10333:1: rule__XClosure__Group_1_0__1__Impl : ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) ;
+    // InternalSignalDSL.g:10361:1: rule__XClosure__Group_1_0__1__Impl : ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) ;
     public final void rule__XClosure__Group_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10337:1: ( ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) )
-            // InternalSignalDSL.g:10338:1: ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) )
+            // InternalSignalDSL.g:10365:1: ( ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) ) )
+            // InternalSignalDSL.g:10366:1: ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) )
             {
-            // InternalSignalDSL.g:10338:1: ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) )
-            // InternalSignalDSL.g:10339:2: ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 )
+            // InternalSignalDSL.g:10366:1: ( ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 ) )
+            // InternalSignalDSL.g:10367:2: ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1()); 
             }
-            // InternalSignalDSL.g:10340:2: ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 )
-            // InternalSignalDSL.g:10340:3: rule__XClosure__ExplicitSyntaxAssignment_1_0_1
+            // InternalSignalDSL.g:10368:2: ( rule__XClosure__ExplicitSyntaxAssignment_1_0_1 )
+            // InternalSignalDSL.g:10368:3: rule__XClosure__ExplicitSyntaxAssignment_1_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__ExplicitSyntaxAssignment_1_0_1();
@@ -34969,14 +35013,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0_0__0"
-    // InternalSignalDSL.g:10349:1: rule__XClosure__Group_1_0_0__0 : rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1 ;
+    // InternalSignalDSL.g:10377:1: rule__XClosure__Group_1_0_0__0 : rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1 ;
     public final void rule__XClosure__Group_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10353:1: ( rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1 )
-            // InternalSignalDSL.g:10354:2: rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1
+            // InternalSignalDSL.g:10381:1: ( rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1 )
+            // InternalSignalDSL.g:10382:2: rule__XClosure__Group_1_0_0__0__Impl rule__XClosure__Group_1_0_0__1
             {
             pushFollow(FOLLOW_33);
             rule__XClosure__Group_1_0_0__0__Impl();
@@ -35007,23 +35051,23 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0_0__0__Impl"
-    // InternalSignalDSL.g:10361:1: rule__XClosure__Group_1_0_0__0__Impl : ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) ;
+    // InternalSignalDSL.g:10389:1: rule__XClosure__Group_1_0_0__0__Impl : ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) ;
     public final void rule__XClosure__Group_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10365:1: ( ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) )
-            // InternalSignalDSL.g:10366:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) )
+            // InternalSignalDSL.g:10393:1: ( ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) ) )
+            // InternalSignalDSL.g:10394:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) )
             {
-            // InternalSignalDSL.g:10366:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) )
-            // InternalSignalDSL.g:10367:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 )
+            // InternalSignalDSL.g:10394:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 ) )
+            // InternalSignalDSL.g:10395:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0()); 
             }
-            // InternalSignalDSL.g:10368:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 )
-            // InternalSignalDSL.g:10368:3: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0
+            // InternalSignalDSL.g:10396:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 )
+            // InternalSignalDSL.g:10396:3: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0();
@@ -35058,14 +35102,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0_0__1"
-    // InternalSignalDSL.g:10376:1: rule__XClosure__Group_1_0_0__1 : rule__XClosure__Group_1_0_0__1__Impl ;
+    // InternalSignalDSL.g:10404:1: rule__XClosure__Group_1_0_0__1 : rule__XClosure__Group_1_0_0__1__Impl ;
     public final void rule__XClosure__Group_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10380:1: ( rule__XClosure__Group_1_0_0__1__Impl )
-            // InternalSignalDSL.g:10381:2: rule__XClosure__Group_1_0_0__1__Impl
+            // InternalSignalDSL.g:10408:1: ( rule__XClosure__Group_1_0_0__1__Impl )
+            // InternalSignalDSL.g:10409:2: rule__XClosure__Group_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_1_0_0__1__Impl();
@@ -35091,35 +35135,35 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0_0__1__Impl"
-    // InternalSignalDSL.g:10387:1: rule__XClosure__Group_1_0_0__1__Impl : ( ( rule__XClosure__Group_1_0_0_1__0 )* ) ;
+    // InternalSignalDSL.g:10415:1: rule__XClosure__Group_1_0_0__1__Impl : ( ( rule__XClosure__Group_1_0_0_1__0 )* ) ;
     public final void rule__XClosure__Group_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10391:1: ( ( ( rule__XClosure__Group_1_0_0_1__0 )* ) )
-            // InternalSignalDSL.g:10392:1: ( ( rule__XClosure__Group_1_0_0_1__0 )* )
+            // InternalSignalDSL.g:10419:1: ( ( ( rule__XClosure__Group_1_0_0_1__0 )* ) )
+            // InternalSignalDSL.g:10420:1: ( ( rule__XClosure__Group_1_0_0_1__0 )* )
             {
-            // InternalSignalDSL.g:10392:1: ( ( rule__XClosure__Group_1_0_0_1__0 )* )
-            // InternalSignalDSL.g:10393:2: ( rule__XClosure__Group_1_0_0_1__0 )*
+            // InternalSignalDSL.g:10420:1: ( ( rule__XClosure__Group_1_0_0_1__0 )* )
+            // InternalSignalDSL.g:10421:2: ( rule__XClosure__Group_1_0_0_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getGroup_1_0_0_1()); 
             }
-            // InternalSignalDSL.g:10394:2: ( rule__XClosure__Group_1_0_0_1__0 )*
-            loop92:
+            // InternalSignalDSL.g:10422:2: ( rule__XClosure__Group_1_0_0_1__0 )*
+            loop93:
             do {
-                int alt92=2;
-                int LA92_0 = input.LA(1);
+                int alt93=2;
+                int LA93_0 = input.LA(1);
 
-                if ( (LA92_0==76) ) {
-                    alt92=1;
+                if ( (LA93_0==73) ) {
+                    alt93=1;
                 }
 
 
-                switch (alt92) {
+                switch (alt93) {
             	case 1 :
-            	    // InternalSignalDSL.g:10394:3: rule__XClosure__Group_1_0_0_1__0
+            	    // InternalSignalDSL.g:10422:3: rule__XClosure__Group_1_0_0_1__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__XClosure__Group_1_0_0_1__0();
@@ -35131,7 +35175,7 @@
             	    break;
 
             	default :
-            	    break loop92;
+            	    break loop93;
                 }
             } while (true);
 
@@ -35160,14 +35204,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0_0_1__0"
-    // InternalSignalDSL.g:10403:1: rule__XClosure__Group_1_0_0_1__0 : rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1 ;
+    // InternalSignalDSL.g:10431:1: rule__XClosure__Group_1_0_0_1__0 : rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1 ;
     public final void rule__XClosure__Group_1_0_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10407:1: ( rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1 )
-            // InternalSignalDSL.g:10408:2: rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1
+            // InternalSignalDSL.g:10435:1: ( rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1 )
+            // InternalSignalDSL.g:10436:2: rule__XClosure__Group_1_0_0_1__0__Impl rule__XClosure__Group_1_0_0_1__1
             {
             pushFollow(FOLLOW_52);
             rule__XClosure__Group_1_0_0_1__0__Impl();
@@ -35198,22 +35242,22 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0_0_1__0__Impl"
-    // InternalSignalDSL.g:10415:1: rule__XClosure__Group_1_0_0_1__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:10443:1: rule__XClosure__Group_1_0_0_1__0__Impl : ( ',' ) ;
     public final void rule__XClosure__Group_1_0_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10419:1: ( ( ',' ) )
-            // InternalSignalDSL.g:10420:1: ( ',' )
+            // InternalSignalDSL.g:10447:1: ( ( ',' ) )
+            // InternalSignalDSL.g:10448:1: ( ',' )
             {
-            // InternalSignalDSL.g:10420:1: ( ',' )
-            // InternalSignalDSL.g:10421:2: ','
+            // InternalSignalDSL.g:10448:1: ( ',' )
+            // InternalSignalDSL.g:10449:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); 
             }
@@ -35239,14 +35283,14 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0_0_1__1"
-    // InternalSignalDSL.g:10430:1: rule__XClosure__Group_1_0_0_1__1 : rule__XClosure__Group_1_0_0_1__1__Impl ;
+    // InternalSignalDSL.g:10458:1: rule__XClosure__Group_1_0_0_1__1 : rule__XClosure__Group_1_0_0_1__1__Impl ;
     public final void rule__XClosure__Group_1_0_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10434:1: ( rule__XClosure__Group_1_0_0_1__1__Impl )
-            // InternalSignalDSL.g:10435:2: rule__XClosure__Group_1_0_0_1__1__Impl
+            // InternalSignalDSL.g:10462:1: ( rule__XClosure__Group_1_0_0_1__1__Impl )
+            // InternalSignalDSL.g:10463:2: rule__XClosure__Group_1_0_0_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__Group_1_0_0_1__1__Impl();
@@ -35272,23 +35316,23 @@
 
 
     // $ANTLR start "rule__XClosure__Group_1_0_0_1__1__Impl"
-    // InternalSignalDSL.g:10441:1: rule__XClosure__Group_1_0_0_1__1__Impl : ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) ;
+    // InternalSignalDSL.g:10469:1: rule__XClosure__Group_1_0_0_1__1__Impl : ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) ;
     public final void rule__XClosure__Group_1_0_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10445:1: ( ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) )
-            // InternalSignalDSL.g:10446:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) )
+            // InternalSignalDSL.g:10473:1: ( ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) ) )
+            // InternalSignalDSL.g:10474:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) )
             {
-            // InternalSignalDSL.g:10446:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) )
-            // InternalSignalDSL.g:10447:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 )
+            // InternalSignalDSL.g:10474:1: ( ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 ) )
+            // InternalSignalDSL.g:10475:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1()); 
             }
-            // InternalSignalDSL.g:10448:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 )
-            // InternalSignalDSL.g:10448:3: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1
+            // InternalSignalDSL.g:10476:2: ( rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 )
+            // InternalSignalDSL.g:10476:3: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1();
@@ -35323,14 +35367,14 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__Group__0"
-    // InternalSignalDSL.g:10457:1: rule__XExpressionInClosure__Group__0 : rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1 ;
+    // InternalSignalDSL.g:10485:1: rule__XExpressionInClosure__Group__0 : rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1 ;
     public final void rule__XExpressionInClosure__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10461:1: ( rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1 )
-            // InternalSignalDSL.g:10462:2: rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1
+            // InternalSignalDSL.g:10489:1: ( rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1 )
+            // InternalSignalDSL.g:10490:2: rule__XExpressionInClosure__Group__0__Impl rule__XExpressionInClosure__Group__1
             {
             pushFollow(FOLLOW_76);
             rule__XExpressionInClosure__Group__0__Impl();
@@ -35361,23 +35405,23 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__Group__0__Impl"
-    // InternalSignalDSL.g:10469:1: rule__XExpressionInClosure__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:10497:1: rule__XExpressionInClosure__Group__0__Impl : ( () ) ;
     public final void rule__XExpressionInClosure__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10473:1: ( ( () ) )
-            // InternalSignalDSL.g:10474:1: ( () )
+            // InternalSignalDSL.g:10501:1: ( ( () ) )
+            // InternalSignalDSL.g:10502:1: ( () )
             {
-            // InternalSignalDSL.g:10474:1: ( () )
-            // InternalSignalDSL.g:10475:2: ()
+            // InternalSignalDSL.g:10502:1: ( () )
+            // InternalSignalDSL.g:10503:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0()); 
             }
-            // InternalSignalDSL.g:10476:2: ()
-            // InternalSignalDSL.g:10476:3: 
+            // InternalSignalDSL.g:10504:2: ()
+            // InternalSignalDSL.g:10504:3: 
             {
             }
 
@@ -35402,14 +35446,14 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__Group__1"
-    // InternalSignalDSL.g:10484:1: rule__XExpressionInClosure__Group__1 : rule__XExpressionInClosure__Group__1__Impl ;
+    // InternalSignalDSL.g:10512:1: rule__XExpressionInClosure__Group__1 : rule__XExpressionInClosure__Group__1__Impl ;
     public final void rule__XExpressionInClosure__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10488:1: ( rule__XExpressionInClosure__Group__1__Impl )
-            // InternalSignalDSL.g:10489:2: rule__XExpressionInClosure__Group__1__Impl
+            // InternalSignalDSL.g:10516:1: ( rule__XExpressionInClosure__Group__1__Impl )
+            // InternalSignalDSL.g:10517:2: rule__XExpressionInClosure__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XExpressionInClosure__Group__1__Impl();
@@ -35435,35 +35479,35 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__Group__1__Impl"
-    // InternalSignalDSL.g:10495:1: rule__XExpressionInClosure__Group__1__Impl : ( ( rule__XExpressionInClosure__Group_1__0 )* ) ;
+    // InternalSignalDSL.g:10523:1: rule__XExpressionInClosure__Group__1__Impl : ( ( rule__XExpressionInClosure__Group_1__0 )* ) ;
     public final void rule__XExpressionInClosure__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10499:1: ( ( ( rule__XExpressionInClosure__Group_1__0 )* ) )
-            // InternalSignalDSL.g:10500:1: ( ( rule__XExpressionInClosure__Group_1__0 )* )
+            // InternalSignalDSL.g:10527:1: ( ( ( rule__XExpressionInClosure__Group_1__0 )* ) )
+            // InternalSignalDSL.g:10528:1: ( ( rule__XExpressionInClosure__Group_1__0 )* )
             {
-            // InternalSignalDSL.g:10500:1: ( ( rule__XExpressionInClosure__Group_1__0 )* )
-            // InternalSignalDSL.g:10501:2: ( rule__XExpressionInClosure__Group_1__0 )*
+            // InternalSignalDSL.g:10528:1: ( ( rule__XExpressionInClosure__Group_1__0 )* )
+            // InternalSignalDSL.g:10529:2: ( rule__XExpressionInClosure__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXExpressionInClosureAccess().getGroup_1()); 
             }
-            // InternalSignalDSL.g:10502:2: ( rule__XExpressionInClosure__Group_1__0 )*
-            loop93:
+            // InternalSignalDSL.g:10530:2: ( rule__XExpressionInClosure__Group_1__0 )*
+            loop94:
             do {
-                int alt93=2;
-                int LA93_0 = input.LA(1);
+                int alt94=2;
+                int LA94_0 = input.LA(1);
 
-                if ( ((LA93_0>=RULE_ID && LA93_0<=RULE_STRING)||LA93_0==27||(LA93_0>=34 && LA93_0<=35)||LA93_0==40||(LA93_0>=44 && LA93_0<=50)||LA93_0==64||LA93_0==68||LA93_0==74||(LA93_0>=78 && LA93_0<=79)||LA93_0==82||LA93_0==84||(LA93_0>=88 && LA93_0<=95)||LA93_0==97||(LA93_0>=105 && LA93_0<=106)) ) {
-                    alt93=1;
+                if ( ((LA94_0>=RULE_ID && LA94_0<=RULE_STRING)||LA94_0==27||(LA94_0>=34 && LA94_0<=35)||LA94_0==40||(LA94_0>=44 && LA94_0<=50)||LA94_0==60||LA94_0==64||LA94_0==71||(LA94_0>=75 && LA94_0<=76)||LA94_0==79||LA94_0==81||(LA94_0>=85 && LA94_0<=92)||LA94_0==94||(LA94_0>=102 && LA94_0<=103)) ) {
+                    alt94=1;
                 }
 
 
-                switch (alt93) {
+                switch (alt94) {
             	case 1 :
-            	    // InternalSignalDSL.g:10502:3: rule__XExpressionInClosure__Group_1__0
+            	    // InternalSignalDSL.g:10530:3: rule__XExpressionInClosure__Group_1__0
             	    {
             	    pushFollow(FOLLOW_79);
             	    rule__XExpressionInClosure__Group_1__0();
@@ -35475,7 +35519,7 @@
             	    break;
 
             	default :
-            	    break loop93;
+            	    break loop94;
                 }
             } while (true);
 
@@ -35504,14 +35548,14 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__Group_1__0"
-    // InternalSignalDSL.g:10511:1: rule__XExpressionInClosure__Group_1__0 : rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1 ;
+    // InternalSignalDSL.g:10539:1: rule__XExpressionInClosure__Group_1__0 : rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1 ;
     public final void rule__XExpressionInClosure__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10515:1: ( rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1 )
-            // InternalSignalDSL.g:10516:2: rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1
+            // InternalSignalDSL.g:10543:1: ( rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1 )
+            // InternalSignalDSL.g:10544:2: rule__XExpressionInClosure__Group_1__0__Impl rule__XExpressionInClosure__Group_1__1
             {
             pushFollow(FOLLOW_27);
             rule__XExpressionInClosure__Group_1__0__Impl();
@@ -35542,23 +35586,23 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__Group_1__0__Impl"
-    // InternalSignalDSL.g:10523:1: rule__XExpressionInClosure__Group_1__0__Impl : ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) ;
+    // InternalSignalDSL.g:10551:1: rule__XExpressionInClosure__Group_1__0__Impl : ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) ;
     public final void rule__XExpressionInClosure__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10527:1: ( ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) )
-            // InternalSignalDSL.g:10528:1: ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) )
+            // InternalSignalDSL.g:10555:1: ( ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) ) )
+            // InternalSignalDSL.g:10556:1: ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) )
             {
-            // InternalSignalDSL.g:10528:1: ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) )
-            // InternalSignalDSL.g:10529:2: ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 )
+            // InternalSignalDSL.g:10556:1: ( ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 ) )
+            // InternalSignalDSL.g:10557:2: ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0()); 
             }
-            // InternalSignalDSL.g:10530:2: ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 )
-            // InternalSignalDSL.g:10530:3: rule__XExpressionInClosure__ExpressionsAssignment_1_0
+            // InternalSignalDSL.g:10558:2: ( rule__XExpressionInClosure__ExpressionsAssignment_1_0 )
+            // InternalSignalDSL.g:10558:3: rule__XExpressionInClosure__ExpressionsAssignment_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XExpressionInClosure__ExpressionsAssignment_1_0();
@@ -35593,14 +35637,14 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__Group_1__1"
-    // InternalSignalDSL.g:10538:1: rule__XExpressionInClosure__Group_1__1 : rule__XExpressionInClosure__Group_1__1__Impl ;
+    // InternalSignalDSL.g:10566:1: rule__XExpressionInClosure__Group_1__1 : rule__XExpressionInClosure__Group_1__1__Impl ;
     public final void rule__XExpressionInClosure__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10542:1: ( rule__XExpressionInClosure__Group_1__1__Impl )
-            // InternalSignalDSL.g:10543:2: rule__XExpressionInClosure__Group_1__1__Impl
+            // InternalSignalDSL.g:10570:1: ( rule__XExpressionInClosure__Group_1__1__Impl )
+            // InternalSignalDSL.g:10571:2: rule__XExpressionInClosure__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XExpressionInClosure__Group_1__1__Impl();
@@ -35626,33 +35670,33 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__Group_1__1__Impl"
-    // InternalSignalDSL.g:10549:1: rule__XExpressionInClosure__Group_1__1__Impl : ( ( ';' )? ) ;
+    // InternalSignalDSL.g:10577:1: rule__XExpressionInClosure__Group_1__1__Impl : ( ( ';' )? ) ;
     public final void rule__XExpressionInClosure__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10553:1: ( ( ( ';' )? ) )
-            // InternalSignalDSL.g:10554:1: ( ( ';' )? )
+            // InternalSignalDSL.g:10581:1: ( ( ( ';' )? ) )
+            // InternalSignalDSL.g:10582:1: ( ( ';' )? )
             {
-            // InternalSignalDSL.g:10554:1: ( ( ';' )? )
-            // InternalSignalDSL.g:10555:2: ( ';' )?
+            // InternalSignalDSL.g:10582:1: ( ( ';' )? )
+            // InternalSignalDSL.g:10583:2: ( ';' )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); 
             }
-            // InternalSignalDSL.g:10556:2: ( ';' )?
-            int alt94=2;
-            int LA94_0 = input.LA(1);
+            // InternalSignalDSL.g:10584:2: ( ';' )?
+            int alt95=2;
+            int LA95_0 = input.LA(1);
 
-            if ( (LA94_0==72) ) {
-                alt94=1;
+            if ( (LA95_0==69) ) {
+                alt95=1;
             }
-            switch (alt94) {
+            switch (alt95) {
                 case 1 :
-                    // InternalSignalDSL.g:10556:3: ';'
+                    // InternalSignalDSL.g:10584:3: ';'
                     {
-                    match(input,72,FOLLOW_2); if (state.failed) return ;
+                    match(input,69,FOLLOW_2); if (state.failed) return ;
 
                     }
                     break;
@@ -35684,14 +35728,14 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group__0"
-    // InternalSignalDSL.g:10565:1: rule__XShortClosure__Group__0 : rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1 ;
+    // InternalSignalDSL.g:10593:1: rule__XShortClosure__Group__0 : rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1 ;
     public final void rule__XShortClosure__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10569:1: ( rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1 )
-            // InternalSignalDSL.g:10570:2: rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1
+            // InternalSignalDSL.g:10597:1: ( rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1 )
+            // InternalSignalDSL.g:10598:2: rule__XShortClosure__Group__0__Impl rule__XShortClosure__Group__1
             {
             pushFollow(FOLLOW_35);
             rule__XShortClosure__Group__0__Impl();
@@ -35722,23 +35766,23 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group__0__Impl"
-    // InternalSignalDSL.g:10577:1: rule__XShortClosure__Group__0__Impl : ( ( rule__XShortClosure__Group_0__0 ) ) ;
+    // InternalSignalDSL.g:10605:1: rule__XShortClosure__Group__0__Impl : ( ( rule__XShortClosure__Group_0__0 ) ) ;
     public final void rule__XShortClosure__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10581:1: ( ( ( rule__XShortClosure__Group_0__0 ) ) )
-            // InternalSignalDSL.g:10582:1: ( ( rule__XShortClosure__Group_0__0 ) )
+            // InternalSignalDSL.g:10609:1: ( ( ( rule__XShortClosure__Group_0__0 ) ) )
+            // InternalSignalDSL.g:10610:1: ( ( rule__XShortClosure__Group_0__0 ) )
             {
-            // InternalSignalDSL.g:10582:1: ( ( rule__XShortClosure__Group_0__0 ) )
-            // InternalSignalDSL.g:10583:2: ( rule__XShortClosure__Group_0__0 )
+            // InternalSignalDSL.g:10610:1: ( ( rule__XShortClosure__Group_0__0 ) )
+            // InternalSignalDSL.g:10611:2: ( rule__XShortClosure__Group_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getGroup_0()); 
             }
-            // InternalSignalDSL.g:10584:2: ( rule__XShortClosure__Group_0__0 )
-            // InternalSignalDSL.g:10584:3: rule__XShortClosure__Group_0__0
+            // InternalSignalDSL.g:10612:2: ( rule__XShortClosure__Group_0__0 )
+            // InternalSignalDSL.g:10612:3: rule__XShortClosure__Group_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__Group_0__0();
@@ -35773,14 +35817,14 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group__1"
-    // InternalSignalDSL.g:10592:1: rule__XShortClosure__Group__1 : rule__XShortClosure__Group__1__Impl ;
+    // InternalSignalDSL.g:10620:1: rule__XShortClosure__Group__1 : rule__XShortClosure__Group__1__Impl ;
     public final void rule__XShortClosure__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10596:1: ( rule__XShortClosure__Group__1__Impl )
-            // InternalSignalDSL.g:10597:2: rule__XShortClosure__Group__1__Impl
+            // InternalSignalDSL.g:10624:1: ( rule__XShortClosure__Group__1__Impl )
+            // InternalSignalDSL.g:10625:2: rule__XShortClosure__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__Group__1__Impl();
@@ -35806,23 +35850,23 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group__1__Impl"
-    // InternalSignalDSL.g:10603:1: rule__XShortClosure__Group__1__Impl : ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) ;
+    // InternalSignalDSL.g:10631:1: rule__XShortClosure__Group__1__Impl : ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) ;
     public final void rule__XShortClosure__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10607:1: ( ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) )
-            // InternalSignalDSL.g:10608:1: ( ( rule__XShortClosure__ExpressionAssignment_1 ) )
+            // InternalSignalDSL.g:10635:1: ( ( ( rule__XShortClosure__ExpressionAssignment_1 ) ) )
+            // InternalSignalDSL.g:10636:1: ( ( rule__XShortClosure__ExpressionAssignment_1 ) )
             {
-            // InternalSignalDSL.g:10608:1: ( ( rule__XShortClosure__ExpressionAssignment_1 ) )
-            // InternalSignalDSL.g:10609:2: ( rule__XShortClosure__ExpressionAssignment_1 )
+            // InternalSignalDSL.g:10636:1: ( ( rule__XShortClosure__ExpressionAssignment_1 ) )
+            // InternalSignalDSL.g:10637:2: ( rule__XShortClosure__ExpressionAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1()); 
             }
-            // InternalSignalDSL.g:10610:2: ( rule__XShortClosure__ExpressionAssignment_1 )
-            // InternalSignalDSL.g:10610:3: rule__XShortClosure__ExpressionAssignment_1
+            // InternalSignalDSL.g:10638:2: ( rule__XShortClosure__ExpressionAssignment_1 )
+            // InternalSignalDSL.g:10638:3: rule__XShortClosure__ExpressionAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__ExpressionAssignment_1();
@@ -35857,14 +35901,14 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0__0"
-    // InternalSignalDSL.g:10619:1: rule__XShortClosure__Group_0__0 : rule__XShortClosure__Group_0__0__Impl ;
+    // InternalSignalDSL.g:10647:1: rule__XShortClosure__Group_0__0 : rule__XShortClosure__Group_0__0__Impl ;
     public final void rule__XShortClosure__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10623:1: ( rule__XShortClosure__Group_0__0__Impl )
-            // InternalSignalDSL.g:10624:2: rule__XShortClosure__Group_0__0__Impl
+            // InternalSignalDSL.g:10651:1: ( rule__XShortClosure__Group_0__0__Impl )
+            // InternalSignalDSL.g:10652:2: rule__XShortClosure__Group_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__Group_0__0__Impl();
@@ -35890,23 +35934,23 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0__0__Impl"
-    // InternalSignalDSL.g:10630:1: rule__XShortClosure__Group_0__0__Impl : ( ( rule__XShortClosure__Group_0_0__0 ) ) ;
+    // InternalSignalDSL.g:10658:1: rule__XShortClosure__Group_0__0__Impl : ( ( rule__XShortClosure__Group_0_0__0 ) ) ;
     public final void rule__XShortClosure__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10634:1: ( ( ( rule__XShortClosure__Group_0_0__0 ) ) )
-            // InternalSignalDSL.g:10635:1: ( ( rule__XShortClosure__Group_0_0__0 ) )
+            // InternalSignalDSL.g:10662:1: ( ( ( rule__XShortClosure__Group_0_0__0 ) ) )
+            // InternalSignalDSL.g:10663:1: ( ( rule__XShortClosure__Group_0_0__0 ) )
             {
-            // InternalSignalDSL.g:10635:1: ( ( rule__XShortClosure__Group_0_0__0 ) )
-            // InternalSignalDSL.g:10636:2: ( rule__XShortClosure__Group_0_0__0 )
+            // InternalSignalDSL.g:10663:1: ( ( rule__XShortClosure__Group_0_0__0 ) )
+            // InternalSignalDSL.g:10664:2: ( rule__XShortClosure__Group_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getGroup_0_0()); 
             }
-            // InternalSignalDSL.g:10637:2: ( rule__XShortClosure__Group_0_0__0 )
-            // InternalSignalDSL.g:10637:3: rule__XShortClosure__Group_0_0__0
+            // InternalSignalDSL.g:10665:2: ( rule__XShortClosure__Group_0_0__0 )
+            // InternalSignalDSL.g:10665:3: rule__XShortClosure__Group_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__Group_0_0__0();
@@ -35941,14 +35985,14 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0__0"
-    // InternalSignalDSL.g:10646:1: rule__XShortClosure__Group_0_0__0 : rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1 ;
+    // InternalSignalDSL.g:10674:1: rule__XShortClosure__Group_0_0__0 : rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1 ;
     public final void rule__XShortClosure__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10650:1: ( rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1 )
-            // InternalSignalDSL.g:10651:2: rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1
+            // InternalSignalDSL.g:10678:1: ( rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1 )
+            // InternalSignalDSL.g:10679:2: rule__XShortClosure__Group_0_0__0__Impl rule__XShortClosure__Group_0_0__1
             {
             pushFollow(FOLLOW_78);
             rule__XShortClosure__Group_0_0__0__Impl();
@@ -35979,23 +36023,23 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0__0__Impl"
-    // InternalSignalDSL.g:10658:1: rule__XShortClosure__Group_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:10686:1: rule__XShortClosure__Group_0_0__0__Impl : ( () ) ;
     public final void rule__XShortClosure__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10662:1: ( ( () ) )
-            // InternalSignalDSL.g:10663:1: ( () )
+            // InternalSignalDSL.g:10690:1: ( ( () ) )
+            // InternalSignalDSL.g:10691:1: ( () )
             {
-            // InternalSignalDSL.g:10663:1: ( () )
-            // InternalSignalDSL.g:10664:2: ()
+            // InternalSignalDSL.g:10691:1: ( () )
+            // InternalSignalDSL.g:10692:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0()); 
             }
-            // InternalSignalDSL.g:10665:2: ()
-            // InternalSignalDSL.g:10665:3: 
+            // InternalSignalDSL.g:10693:2: ()
+            // InternalSignalDSL.g:10693:3: 
             {
             }
 
@@ -36020,14 +36064,14 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0__1"
-    // InternalSignalDSL.g:10673:1: rule__XShortClosure__Group_0_0__1 : rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2 ;
+    // InternalSignalDSL.g:10701:1: rule__XShortClosure__Group_0_0__1 : rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2 ;
     public final void rule__XShortClosure__Group_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10677:1: ( rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2 )
-            // InternalSignalDSL.g:10678:2: rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2
+            // InternalSignalDSL.g:10705:1: ( rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2 )
+            // InternalSignalDSL.g:10706:2: rule__XShortClosure__Group_0_0__1__Impl rule__XShortClosure__Group_0_0__2
             {
             pushFollow(FOLLOW_78);
             rule__XShortClosure__Group_0_0__1__Impl();
@@ -36058,31 +36102,31 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0__1__Impl"
-    // InternalSignalDSL.g:10685:1: rule__XShortClosure__Group_0_0__1__Impl : ( ( rule__XShortClosure__Group_0_0_1__0 )? ) ;
+    // InternalSignalDSL.g:10713:1: rule__XShortClosure__Group_0_0__1__Impl : ( ( rule__XShortClosure__Group_0_0_1__0 )? ) ;
     public final void rule__XShortClosure__Group_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10689:1: ( ( ( rule__XShortClosure__Group_0_0_1__0 )? ) )
-            // InternalSignalDSL.g:10690:1: ( ( rule__XShortClosure__Group_0_0_1__0 )? )
+            // InternalSignalDSL.g:10717:1: ( ( ( rule__XShortClosure__Group_0_0_1__0 )? ) )
+            // InternalSignalDSL.g:10718:1: ( ( rule__XShortClosure__Group_0_0_1__0 )? )
             {
-            // InternalSignalDSL.g:10690:1: ( ( rule__XShortClosure__Group_0_0_1__0 )? )
-            // InternalSignalDSL.g:10691:2: ( rule__XShortClosure__Group_0_0_1__0 )?
+            // InternalSignalDSL.g:10718:1: ( ( rule__XShortClosure__Group_0_0_1__0 )? )
+            // InternalSignalDSL.g:10719:2: ( rule__XShortClosure__Group_0_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getGroup_0_0_1()); 
             }
-            // InternalSignalDSL.g:10692:2: ( rule__XShortClosure__Group_0_0_1__0 )?
-            int alt95=2;
-            int LA95_0 = input.LA(1);
+            // InternalSignalDSL.g:10720:2: ( rule__XShortClosure__Group_0_0_1__0 )?
+            int alt96=2;
+            int LA96_0 = input.LA(1);
 
-            if ( (LA95_0==RULE_ID||LA95_0==31||LA95_0==74) ) {
-                alt95=1;
+            if ( (LA96_0==RULE_ID||LA96_0==31||LA96_0==71) ) {
+                alt96=1;
             }
-            switch (alt95) {
+            switch (alt96) {
                 case 1 :
-                    // InternalSignalDSL.g:10692:3: rule__XShortClosure__Group_0_0_1__0
+                    // InternalSignalDSL.g:10720:3: rule__XShortClosure__Group_0_0_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XShortClosure__Group_0_0_1__0();
@@ -36120,14 +36164,14 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0__2"
-    // InternalSignalDSL.g:10700:1: rule__XShortClosure__Group_0_0__2 : rule__XShortClosure__Group_0_0__2__Impl ;
+    // InternalSignalDSL.g:10728:1: rule__XShortClosure__Group_0_0__2 : rule__XShortClosure__Group_0_0__2__Impl ;
     public final void rule__XShortClosure__Group_0_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10704:1: ( rule__XShortClosure__Group_0_0__2__Impl )
-            // InternalSignalDSL.g:10705:2: rule__XShortClosure__Group_0_0__2__Impl
+            // InternalSignalDSL.g:10732:1: ( rule__XShortClosure__Group_0_0__2__Impl )
+            // InternalSignalDSL.g:10733:2: rule__XShortClosure__Group_0_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__Group_0_0__2__Impl();
@@ -36153,23 +36197,23 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0__2__Impl"
-    // InternalSignalDSL.g:10711:1: rule__XShortClosure__Group_0_0__2__Impl : ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) ;
+    // InternalSignalDSL.g:10739:1: rule__XShortClosure__Group_0_0__2__Impl : ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) ;
     public final void rule__XShortClosure__Group_0_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10715:1: ( ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) )
-            // InternalSignalDSL.g:10716:1: ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) )
+            // InternalSignalDSL.g:10743:1: ( ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) ) )
+            // InternalSignalDSL.g:10744:1: ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) )
             {
-            // InternalSignalDSL.g:10716:1: ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) )
-            // InternalSignalDSL.g:10717:2: ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 )
+            // InternalSignalDSL.g:10744:1: ( ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 ) )
+            // InternalSignalDSL.g:10745:2: ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2()); 
             }
-            // InternalSignalDSL.g:10718:2: ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 )
-            // InternalSignalDSL.g:10718:3: rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2
+            // InternalSignalDSL.g:10746:2: ( rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 )
+            // InternalSignalDSL.g:10746:3: rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2();
@@ -36204,14 +36248,14 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0_1__0"
-    // InternalSignalDSL.g:10727:1: rule__XShortClosure__Group_0_0_1__0 : rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1 ;
+    // InternalSignalDSL.g:10755:1: rule__XShortClosure__Group_0_0_1__0 : rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1 ;
     public final void rule__XShortClosure__Group_0_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10731:1: ( rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1 )
-            // InternalSignalDSL.g:10732:2: rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1
+            // InternalSignalDSL.g:10759:1: ( rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1 )
+            // InternalSignalDSL.g:10760:2: rule__XShortClosure__Group_0_0_1__0__Impl rule__XShortClosure__Group_0_0_1__1
             {
             pushFollow(FOLLOW_33);
             rule__XShortClosure__Group_0_0_1__0__Impl();
@@ -36242,23 +36286,23 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0_1__0__Impl"
-    // InternalSignalDSL.g:10739:1: rule__XShortClosure__Group_0_0_1__0__Impl : ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) ;
+    // InternalSignalDSL.g:10767:1: rule__XShortClosure__Group_0_0_1__0__Impl : ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) ;
     public final void rule__XShortClosure__Group_0_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10743:1: ( ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) )
-            // InternalSignalDSL.g:10744:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) )
+            // InternalSignalDSL.g:10771:1: ( ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) ) )
+            // InternalSignalDSL.g:10772:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) )
             {
-            // InternalSignalDSL.g:10744:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) )
-            // InternalSignalDSL.g:10745:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 )
+            // InternalSignalDSL.g:10772:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 ) )
+            // InternalSignalDSL.g:10773:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0()); 
             }
-            // InternalSignalDSL.g:10746:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 )
-            // InternalSignalDSL.g:10746:3: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0
+            // InternalSignalDSL.g:10774:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 )
+            // InternalSignalDSL.g:10774:3: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0();
@@ -36293,14 +36337,14 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0_1__1"
-    // InternalSignalDSL.g:10754:1: rule__XShortClosure__Group_0_0_1__1 : rule__XShortClosure__Group_0_0_1__1__Impl ;
+    // InternalSignalDSL.g:10782:1: rule__XShortClosure__Group_0_0_1__1 : rule__XShortClosure__Group_0_0_1__1__Impl ;
     public final void rule__XShortClosure__Group_0_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10758:1: ( rule__XShortClosure__Group_0_0_1__1__Impl )
-            // InternalSignalDSL.g:10759:2: rule__XShortClosure__Group_0_0_1__1__Impl
+            // InternalSignalDSL.g:10786:1: ( rule__XShortClosure__Group_0_0_1__1__Impl )
+            // InternalSignalDSL.g:10787:2: rule__XShortClosure__Group_0_0_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__Group_0_0_1__1__Impl();
@@ -36326,35 +36370,35 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0_1__1__Impl"
-    // InternalSignalDSL.g:10765:1: rule__XShortClosure__Group_0_0_1__1__Impl : ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) ;
+    // InternalSignalDSL.g:10793:1: rule__XShortClosure__Group_0_0_1__1__Impl : ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) ;
     public final void rule__XShortClosure__Group_0_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10769:1: ( ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) )
-            // InternalSignalDSL.g:10770:1: ( ( rule__XShortClosure__Group_0_0_1_1__0 )* )
+            // InternalSignalDSL.g:10797:1: ( ( ( rule__XShortClosure__Group_0_0_1_1__0 )* ) )
+            // InternalSignalDSL.g:10798:1: ( ( rule__XShortClosure__Group_0_0_1_1__0 )* )
             {
-            // InternalSignalDSL.g:10770:1: ( ( rule__XShortClosure__Group_0_0_1_1__0 )* )
-            // InternalSignalDSL.g:10771:2: ( rule__XShortClosure__Group_0_0_1_1__0 )*
+            // InternalSignalDSL.g:10798:1: ( ( rule__XShortClosure__Group_0_0_1_1__0 )* )
+            // InternalSignalDSL.g:10799:2: ( rule__XShortClosure__Group_0_0_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1()); 
             }
-            // InternalSignalDSL.g:10772:2: ( rule__XShortClosure__Group_0_0_1_1__0 )*
-            loop96:
+            // InternalSignalDSL.g:10800:2: ( rule__XShortClosure__Group_0_0_1_1__0 )*
+            loop97:
             do {
-                int alt96=2;
-                int LA96_0 = input.LA(1);
+                int alt97=2;
+                int LA97_0 = input.LA(1);
 
-                if ( (LA96_0==76) ) {
-                    alt96=1;
+                if ( (LA97_0==73) ) {
+                    alt97=1;
                 }
 
 
-                switch (alt96) {
+                switch (alt97) {
             	case 1 :
-            	    // InternalSignalDSL.g:10772:3: rule__XShortClosure__Group_0_0_1_1__0
+            	    // InternalSignalDSL.g:10800:3: rule__XShortClosure__Group_0_0_1_1__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__XShortClosure__Group_0_0_1_1__0();
@@ -36366,7 +36410,7 @@
             	    break;
 
             	default :
-            	    break loop96;
+            	    break loop97;
                 }
             } while (true);
 
@@ -36395,14 +36439,14 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__0"
-    // InternalSignalDSL.g:10781:1: rule__XShortClosure__Group_0_0_1_1__0 : rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1 ;
+    // InternalSignalDSL.g:10809:1: rule__XShortClosure__Group_0_0_1_1__0 : rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1 ;
     public final void rule__XShortClosure__Group_0_0_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10785:1: ( rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1 )
-            // InternalSignalDSL.g:10786:2: rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1
+            // InternalSignalDSL.g:10813:1: ( rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1 )
+            // InternalSignalDSL.g:10814:2: rule__XShortClosure__Group_0_0_1_1__0__Impl rule__XShortClosure__Group_0_0_1_1__1
             {
             pushFollow(FOLLOW_52);
             rule__XShortClosure__Group_0_0_1_1__0__Impl();
@@ -36433,22 +36477,22 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__0__Impl"
-    // InternalSignalDSL.g:10793:1: rule__XShortClosure__Group_0_0_1_1__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:10821:1: rule__XShortClosure__Group_0_0_1_1__0__Impl : ( ',' ) ;
     public final void rule__XShortClosure__Group_0_0_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10797:1: ( ( ',' ) )
-            // InternalSignalDSL.g:10798:1: ( ',' )
+            // InternalSignalDSL.g:10825:1: ( ( ',' ) )
+            // InternalSignalDSL.g:10826:1: ( ',' )
             {
-            // InternalSignalDSL.g:10798:1: ( ',' )
-            // InternalSignalDSL.g:10799:2: ','
+            // InternalSignalDSL.g:10826:1: ( ',' )
+            // InternalSignalDSL.g:10827:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); 
             }
@@ -36474,14 +36518,14 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__1"
-    // InternalSignalDSL.g:10808:1: rule__XShortClosure__Group_0_0_1_1__1 : rule__XShortClosure__Group_0_0_1_1__1__Impl ;
+    // InternalSignalDSL.g:10836:1: rule__XShortClosure__Group_0_0_1_1__1 : rule__XShortClosure__Group_0_0_1_1__1__Impl ;
     public final void rule__XShortClosure__Group_0_0_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10812:1: ( rule__XShortClosure__Group_0_0_1_1__1__Impl )
-            // InternalSignalDSL.g:10813:2: rule__XShortClosure__Group_0_0_1_1__1__Impl
+            // InternalSignalDSL.g:10840:1: ( rule__XShortClosure__Group_0_0_1_1__1__Impl )
+            // InternalSignalDSL.g:10841:2: rule__XShortClosure__Group_0_0_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__Group_0_0_1_1__1__Impl();
@@ -36507,23 +36551,23 @@
 
 
     // $ANTLR start "rule__XShortClosure__Group_0_0_1_1__1__Impl"
-    // InternalSignalDSL.g:10819:1: rule__XShortClosure__Group_0_0_1_1__1__Impl : ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) ;
+    // InternalSignalDSL.g:10847:1: rule__XShortClosure__Group_0_0_1_1__1__Impl : ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) ;
     public final void rule__XShortClosure__Group_0_0_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10823:1: ( ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) )
-            // InternalSignalDSL.g:10824:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) )
+            // InternalSignalDSL.g:10851:1: ( ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) ) )
+            // InternalSignalDSL.g:10852:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) )
             {
-            // InternalSignalDSL.g:10824:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) )
-            // InternalSignalDSL.g:10825:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 )
+            // InternalSignalDSL.g:10852:1: ( ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 ) )
+            // InternalSignalDSL.g:10853:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1()); 
             }
-            // InternalSignalDSL.g:10826:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 )
-            // InternalSignalDSL.g:10826:3: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1
+            // InternalSignalDSL.g:10854:2: ( rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 )
+            // InternalSignalDSL.g:10854:3: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1();
@@ -36558,14 +36602,14 @@
 
 
     // $ANTLR start "rule__XParenthesizedExpression__Group__0"
-    // InternalSignalDSL.g:10835:1: rule__XParenthesizedExpression__Group__0 : rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1 ;
+    // InternalSignalDSL.g:10863:1: rule__XParenthesizedExpression__Group__0 : rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1 ;
     public final void rule__XParenthesizedExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10839:1: ( rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1 )
-            // InternalSignalDSL.g:10840:2: rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1
+            // InternalSignalDSL.g:10867:1: ( rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1 )
+            // InternalSignalDSL.g:10868:2: rule__XParenthesizedExpression__Group__0__Impl rule__XParenthesizedExpression__Group__1
             {
             pushFollow(FOLLOW_35);
             rule__XParenthesizedExpression__Group__0__Impl();
@@ -36596,22 +36640,22 @@
 
 
     // $ANTLR start "rule__XParenthesizedExpression__Group__0__Impl"
-    // InternalSignalDSL.g:10847:1: rule__XParenthesizedExpression__Group__0__Impl : ( '(' ) ;
+    // InternalSignalDSL.g:10875:1: rule__XParenthesizedExpression__Group__0__Impl : ( '(' ) ;
     public final void rule__XParenthesizedExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10851:1: ( ( '(' ) )
-            // InternalSignalDSL.g:10852:1: ( '(' )
+            // InternalSignalDSL.g:10879:1: ( ( '(' ) )
+            // InternalSignalDSL.g:10880:1: ( '(' )
             {
-            // InternalSignalDSL.g:10852:1: ( '(' )
-            // InternalSignalDSL.g:10853:2: '('
+            // InternalSignalDSL.g:10880:1: ( '(' )
+            // InternalSignalDSL.g:10881:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); 
             }
-            match(input,74,FOLLOW_2); if (state.failed) return ;
+            match(input,71,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); 
             }
@@ -36637,14 +36681,14 @@
 
 
     // $ANTLR start "rule__XParenthesizedExpression__Group__1"
-    // InternalSignalDSL.g:10862:1: rule__XParenthesizedExpression__Group__1 : rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2 ;
+    // InternalSignalDSL.g:10890:1: rule__XParenthesizedExpression__Group__1 : rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2 ;
     public final void rule__XParenthesizedExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10866:1: ( rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2 )
-            // InternalSignalDSL.g:10867:2: rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2
+            // InternalSignalDSL.g:10894:1: ( rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2 )
+            // InternalSignalDSL.g:10895:2: rule__XParenthesizedExpression__Group__1__Impl rule__XParenthesizedExpression__Group__2
             {
             pushFollow(FOLLOW_80);
             rule__XParenthesizedExpression__Group__1__Impl();
@@ -36675,17 +36719,17 @@
 
 
     // $ANTLR start "rule__XParenthesizedExpression__Group__1__Impl"
-    // InternalSignalDSL.g:10874:1: rule__XParenthesizedExpression__Group__1__Impl : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:10902:1: rule__XParenthesizedExpression__Group__1__Impl : ( ruleXExpression ) ;
     public final void rule__XParenthesizedExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10878:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:10879:1: ( ruleXExpression )
+            // InternalSignalDSL.g:10906:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:10907:1: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:10879:1: ( ruleXExpression )
-            // InternalSignalDSL.g:10880:2: ruleXExpression
+            // InternalSignalDSL.g:10907:1: ( ruleXExpression )
+            // InternalSignalDSL.g:10908:2: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); 
@@ -36720,14 +36764,14 @@
 
 
     // $ANTLR start "rule__XParenthesizedExpression__Group__2"
-    // InternalSignalDSL.g:10889:1: rule__XParenthesizedExpression__Group__2 : rule__XParenthesizedExpression__Group__2__Impl ;
+    // InternalSignalDSL.g:10917:1: rule__XParenthesizedExpression__Group__2 : rule__XParenthesizedExpression__Group__2__Impl ;
     public final void rule__XParenthesizedExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10893:1: ( rule__XParenthesizedExpression__Group__2__Impl )
-            // InternalSignalDSL.g:10894:2: rule__XParenthesizedExpression__Group__2__Impl
+            // InternalSignalDSL.g:10921:1: ( rule__XParenthesizedExpression__Group__2__Impl )
+            // InternalSignalDSL.g:10922:2: rule__XParenthesizedExpression__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XParenthesizedExpression__Group__2__Impl();
@@ -36753,22 +36797,22 @@
 
 
     // $ANTLR start "rule__XParenthesizedExpression__Group__2__Impl"
-    // InternalSignalDSL.g:10900:1: rule__XParenthesizedExpression__Group__2__Impl : ( ')' ) ;
+    // InternalSignalDSL.g:10928:1: rule__XParenthesizedExpression__Group__2__Impl : ( ')' ) ;
     public final void rule__XParenthesizedExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10904:1: ( ( ')' ) )
-            // InternalSignalDSL.g:10905:1: ( ')' )
+            // InternalSignalDSL.g:10932:1: ( ( ')' ) )
+            // InternalSignalDSL.g:10933:1: ( ')' )
             {
-            // InternalSignalDSL.g:10905:1: ( ')' )
-            // InternalSignalDSL.g:10906:2: ')'
+            // InternalSignalDSL.g:10933:1: ( ')' )
+            // InternalSignalDSL.g:10934:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); 
             }
-            match(input,75,FOLLOW_2); if (state.failed) return ;
+            match(input,72,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); 
             }
@@ -36794,14 +36838,14 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__0"
-    // InternalSignalDSL.g:10916:1: rule__XIfExpression__Group__0 : rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1 ;
+    // InternalSignalDSL.g:10944:1: rule__XIfExpression__Group__0 : rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1 ;
     public final void rule__XIfExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10920:1: ( rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1 )
-            // InternalSignalDSL.g:10921:2: rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1
+            // InternalSignalDSL.g:10948:1: ( rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1 )
+            // InternalSignalDSL.g:10949:2: rule__XIfExpression__Group__0__Impl rule__XIfExpression__Group__1
             {
             pushFollow(FOLLOW_81);
             rule__XIfExpression__Group__0__Impl();
@@ -36832,23 +36876,23 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__0__Impl"
-    // InternalSignalDSL.g:10928:1: rule__XIfExpression__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:10956:1: rule__XIfExpression__Group__0__Impl : ( () ) ;
     public final void rule__XIfExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10932:1: ( ( () ) )
-            // InternalSignalDSL.g:10933:1: ( () )
+            // InternalSignalDSL.g:10960:1: ( ( () ) )
+            // InternalSignalDSL.g:10961:1: ( () )
             {
-            // InternalSignalDSL.g:10933:1: ( () )
-            // InternalSignalDSL.g:10934:2: ()
+            // InternalSignalDSL.g:10961:1: ( () )
+            // InternalSignalDSL.g:10962:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0()); 
             }
-            // InternalSignalDSL.g:10935:2: ()
-            // InternalSignalDSL.g:10935:3: 
+            // InternalSignalDSL.g:10963:2: ()
+            // InternalSignalDSL.g:10963:3: 
             {
             }
 
@@ -36873,14 +36917,14 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__1"
-    // InternalSignalDSL.g:10943:1: rule__XIfExpression__Group__1 : rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2 ;
+    // InternalSignalDSL.g:10971:1: rule__XIfExpression__Group__1 : rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2 ;
     public final void rule__XIfExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10947:1: ( rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2 )
-            // InternalSignalDSL.g:10948:2: rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2
+            // InternalSignalDSL.g:10975:1: ( rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2 )
+            // InternalSignalDSL.g:10976:2: rule__XIfExpression__Group__1__Impl rule__XIfExpression__Group__2
             {
             pushFollow(FOLLOW_31);
             rule__XIfExpression__Group__1__Impl();
@@ -36911,22 +36955,22 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__1__Impl"
-    // InternalSignalDSL.g:10955:1: rule__XIfExpression__Group__1__Impl : ( 'if' ) ;
+    // InternalSignalDSL.g:10983:1: rule__XIfExpression__Group__1__Impl : ( 'if' ) ;
     public final void rule__XIfExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10959:1: ( ( 'if' ) )
-            // InternalSignalDSL.g:10960:1: ( 'if' )
+            // InternalSignalDSL.g:10987:1: ( ( 'if' ) )
+            // InternalSignalDSL.g:10988:1: ( 'if' )
             {
-            // InternalSignalDSL.g:10960:1: ( 'if' )
-            // InternalSignalDSL.g:10961:2: 'if'
+            // InternalSignalDSL.g:10988:1: ( 'if' )
+            // InternalSignalDSL.g:10989:2: 'if'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); 
             }
-            match(input,82,FOLLOW_2); if (state.failed) return ;
+            match(input,79,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); 
             }
@@ -36952,14 +36996,14 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__2"
-    // InternalSignalDSL.g:10970:1: rule__XIfExpression__Group__2 : rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3 ;
+    // InternalSignalDSL.g:10998:1: rule__XIfExpression__Group__2 : rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3 ;
     public final void rule__XIfExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10974:1: ( rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3 )
-            // InternalSignalDSL.g:10975:2: rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3
+            // InternalSignalDSL.g:11002:1: ( rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3 )
+            // InternalSignalDSL.g:11003:2: rule__XIfExpression__Group__2__Impl rule__XIfExpression__Group__3
             {
             pushFollow(FOLLOW_35);
             rule__XIfExpression__Group__2__Impl();
@@ -36990,22 +37034,22 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__2__Impl"
-    // InternalSignalDSL.g:10982:1: rule__XIfExpression__Group__2__Impl : ( '(' ) ;
+    // InternalSignalDSL.g:11010:1: rule__XIfExpression__Group__2__Impl : ( '(' ) ;
     public final void rule__XIfExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:10986:1: ( ( '(' ) )
-            // InternalSignalDSL.g:10987:1: ( '(' )
+            // InternalSignalDSL.g:11014:1: ( ( '(' ) )
+            // InternalSignalDSL.g:11015:1: ( '(' )
             {
-            // InternalSignalDSL.g:10987:1: ( '(' )
-            // InternalSignalDSL.g:10988:2: '('
+            // InternalSignalDSL.g:11015:1: ( '(' )
+            // InternalSignalDSL.g:11016:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); 
             }
-            match(input,74,FOLLOW_2); if (state.failed) return ;
+            match(input,71,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); 
             }
@@ -37031,14 +37075,14 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__3"
-    // InternalSignalDSL.g:10997:1: rule__XIfExpression__Group__3 : rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4 ;
+    // InternalSignalDSL.g:11025:1: rule__XIfExpression__Group__3 : rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4 ;
     public final void rule__XIfExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11001:1: ( rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4 )
-            // InternalSignalDSL.g:11002:2: rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4
+            // InternalSignalDSL.g:11029:1: ( rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4 )
+            // InternalSignalDSL.g:11030:2: rule__XIfExpression__Group__3__Impl rule__XIfExpression__Group__4
             {
             pushFollow(FOLLOW_80);
             rule__XIfExpression__Group__3__Impl();
@@ -37069,23 +37113,23 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__3__Impl"
-    // InternalSignalDSL.g:11009:1: rule__XIfExpression__Group__3__Impl : ( ( rule__XIfExpression__IfAssignment_3 ) ) ;
+    // InternalSignalDSL.g:11037:1: rule__XIfExpression__Group__3__Impl : ( ( rule__XIfExpression__IfAssignment_3 ) ) ;
     public final void rule__XIfExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11013:1: ( ( ( rule__XIfExpression__IfAssignment_3 ) ) )
-            // InternalSignalDSL.g:11014:1: ( ( rule__XIfExpression__IfAssignment_3 ) )
+            // InternalSignalDSL.g:11041:1: ( ( ( rule__XIfExpression__IfAssignment_3 ) ) )
+            // InternalSignalDSL.g:11042:1: ( ( rule__XIfExpression__IfAssignment_3 ) )
             {
-            // InternalSignalDSL.g:11014:1: ( ( rule__XIfExpression__IfAssignment_3 ) )
-            // InternalSignalDSL.g:11015:2: ( rule__XIfExpression__IfAssignment_3 )
+            // InternalSignalDSL.g:11042:1: ( ( rule__XIfExpression__IfAssignment_3 ) )
+            // InternalSignalDSL.g:11043:2: ( rule__XIfExpression__IfAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getIfAssignment_3()); 
             }
-            // InternalSignalDSL.g:11016:2: ( rule__XIfExpression__IfAssignment_3 )
-            // InternalSignalDSL.g:11016:3: rule__XIfExpression__IfAssignment_3
+            // InternalSignalDSL.g:11044:2: ( rule__XIfExpression__IfAssignment_3 )
+            // InternalSignalDSL.g:11044:3: rule__XIfExpression__IfAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__XIfExpression__IfAssignment_3();
@@ -37120,14 +37164,14 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__4"
-    // InternalSignalDSL.g:11024:1: rule__XIfExpression__Group__4 : rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5 ;
+    // InternalSignalDSL.g:11052:1: rule__XIfExpression__Group__4 : rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5 ;
     public final void rule__XIfExpression__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11028:1: ( rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5 )
-            // InternalSignalDSL.g:11029:2: rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5
+            // InternalSignalDSL.g:11056:1: ( rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5 )
+            // InternalSignalDSL.g:11057:2: rule__XIfExpression__Group__4__Impl rule__XIfExpression__Group__5
             {
             pushFollow(FOLLOW_35);
             rule__XIfExpression__Group__4__Impl();
@@ -37158,22 +37202,22 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__4__Impl"
-    // InternalSignalDSL.g:11036:1: rule__XIfExpression__Group__4__Impl : ( ')' ) ;
+    // InternalSignalDSL.g:11064:1: rule__XIfExpression__Group__4__Impl : ( ')' ) ;
     public final void rule__XIfExpression__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11040:1: ( ( ')' ) )
-            // InternalSignalDSL.g:11041:1: ( ')' )
+            // InternalSignalDSL.g:11068:1: ( ( ')' ) )
+            // InternalSignalDSL.g:11069:1: ( ')' )
             {
-            // InternalSignalDSL.g:11041:1: ( ')' )
-            // InternalSignalDSL.g:11042:2: ')'
+            // InternalSignalDSL.g:11069:1: ( ')' )
+            // InternalSignalDSL.g:11070:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); 
             }
-            match(input,75,FOLLOW_2); if (state.failed) return ;
+            match(input,72,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); 
             }
@@ -37199,14 +37243,14 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__5"
-    // InternalSignalDSL.g:11051:1: rule__XIfExpression__Group__5 : rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6 ;
+    // InternalSignalDSL.g:11079:1: rule__XIfExpression__Group__5 : rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6 ;
     public final void rule__XIfExpression__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11055:1: ( rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6 )
-            // InternalSignalDSL.g:11056:2: rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6
+            // InternalSignalDSL.g:11083:1: ( rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6 )
+            // InternalSignalDSL.g:11084:2: rule__XIfExpression__Group__5__Impl rule__XIfExpression__Group__6
             {
             pushFollow(FOLLOW_82);
             rule__XIfExpression__Group__5__Impl();
@@ -37237,23 +37281,23 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__5__Impl"
-    // InternalSignalDSL.g:11063:1: rule__XIfExpression__Group__5__Impl : ( ( rule__XIfExpression__ThenAssignment_5 ) ) ;
+    // InternalSignalDSL.g:11091:1: rule__XIfExpression__Group__5__Impl : ( ( rule__XIfExpression__ThenAssignment_5 ) ) ;
     public final void rule__XIfExpression__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11067:1: ( ( ( rule__XIfExpression__ThenAssignment_5 ) ) )
-            // InternalSignalDSL.g:11068:1: ( ( rule__XIfExpression__ThenAssignment_5 ) )
+            // InternalSignalDSL.g:11095:1: ( ( ( rule__XIfExpression__ThenAssignment_5 ) ) )
+            // InternalSignalDSL.g:11096:1: ( ( rule__XIfExpression__ThenAssignment_5 ) )
             {
-            // InternalSignalDSL.g:11068:1: ( ( rule__XIfExpression__ThenAssignment_5 ) )
-            // InternalSignalDSL.g:11069:2: ( rule__XIfExpression__ThenAssignment_5 )
+            // InternalSignalDSL.g:11096:1: ( ( rule__XIfExpression__ThenAssignment_5 ) )
+            // InternalSignalDSL.g:11097:2: ( rule__XIfExpression__ThenAssignment_5 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getThenAssignment_5()); 
             }
-            // InternalSignalDSL.g:11070:2: ( rule__XIfExpression__ThenAssignment_5 )
-            // InternalSignalDSL.g:11070:3: rule__XIfExpression__ThenAssignment_5
+            // InternalSignalDSL.g:11098:2: ( rule__XIfExpression__ThenAssignment_5 )
+            // InternalSignalDSL.g:11098:3: rule__XIfExpression__ThenAssignment_5
             {
             pushFollow(FOLLOW_2);
             rule__XIfExpression__ThenAssignment_5();
@@ -37288,14 +37332,14 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__6"
-    // InternalSignalDSL.g:11078:1: rule__XIfExpression__Group__6 : rule__XIfExpression__Group__6__Impl ;
+    // InternalSignalDSL.g:11106:1: rule__XIfExpression__Group__6 : rule__XIfExpression__Group__6__Impl ;
     public final void rule__XIfExpression__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11082:1: ( rule__XIfExpression__Group__6__Impl )
-            // InternalSignalDSL.g:11083:2: rule__XIfExpression__Group__6__Impl
+            // InternalSignalDSL.g:11110:1: ( rule__XIfExpression__Group__6__Impl )
+            // InternalSignalDSL.g:11111:2: rule__XIfExpression__Group__6__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XIfExpression__Group__6__Impl();
@@ -37321,35 +37365,35 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group__6__Impl"
-    // InternalSignalDSL.g:11089:1: rule__XIfExpression__Group__6__Impl : ( ( rule__XIfExpression__Group_6__0 )? ) ;
+    // InternalSignalDSL.g:11117:1: rule__XIfExpression__Group__6__Impl : ( ( rule__XIfExpression__Group_6__0 )? ) ;
     public final void rule__XIfExpression__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11093:1: ( ( ( rule__XIfExpression__Group_6__0 )? ) )
-            // InternalSignalDSL.g:11094:1: ( ( rule__XIfExpression__Group_6__0 )? )
+            // InternalSignalDSL.g:11121:1: ( ( ( rule__XIfExpression__Group_6__0 )? ) )
+            // InternalSignalDSL.g:11122:1: ( ( rule__XIfExpression__Group_6__0 )? )
             {
-            // InternalSignalDSL.g:11094:1: ( ( rule__XIfExpression__Group_6__0 )? )
-            // InternalSignalDSL.g:11095:2: ( rule__XIfExpression__Group_6__0 )?
+            // InternalSignalDSL.g:11122:1: ( ( rule__XIfExpression__Group_6__0 )? )
+            // InternalSignalDSL.g:11123:2: ( rule__XIfExpression__Group_6__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getGroup_6()); 
             }
-            // InternalSignalDSL.g:11096:2: ( rule__XIfExpression__Group_6__0 )?
-            int alt97=2;
-            int LA97_0 = input.LA(1);
+            // InternalSignalDSL.g:11124:2: ( rule__XIfExpression__Group_6__0 )?
+            int alt98=2;
+            int LA98_0 = input.LA(1);
 
-            if ( (LA97_0==83) ) {
-                int LA97_1 = input.LA(2);
+            if ( (LA98_0==80) ) {
+                int LA98_1 = input.LA(2);
 
-                if ( (synpred145_InternalSignalDSL()) ) {
-                    alt97=1;
+                if ( (synpred142_InternalSignalDSL()) ) {
+                    alt98=1;
                 }
             }
-            switch (alt97) {
+            switch (alt98) {
                 case 1 :
-                    // InternalSignalDSL.g:11096:3: rule__XIfExpression__Group_6__0
+                    // InternalSignalDSL.g:11124:3: rule__XIfExpression__Group_6__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XIfExpression__Group_6__0();
@@ -37387,14 +37431,14 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group_6__0"
-    // InternalSignalDSL.g:11105:1: rule__XIfExpression__Group_6__0 : rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1 ;
+    // InternalSignalDSL.g:11133:1: rule__XIfExpression__Group_6__0 : rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1 ;
     public final void rule__XIfExpression__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11109:1: ( rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1 )
-            // InternalSignalDSL.g:11110:2: rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1
+            // InternalSignalDSL.g:11137:1: ( rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1 )
+            // InternalSignalDSL.g:11138:2: rule__XIfExpression__Group_6__0__Impl rule__XIfExpression__Group_6__1
             {
             pushFollow(FOLLOW_35);
             rule__XIfExpression__Group_6__0__Impl();
@@ -37425,25 +37469,25 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group_6__0__Impl"
-    // InternalSignalDSL.g:11117:1: rule__XIfExpression__Group_6__0__Impl : ( ( 'else' ) ) ;
+    // InternalSignalDSL.g:11145:1: rule__XIfExpression__Group_6__0__Impl : ( ( 'else' ) ) ;
     public final void rule__XIfExpression__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11121:1: ( ( ( 'else' ) ) )
-            // InternalSignalDSL.g:11122:1: ( ( 'else' ) )
+            // InternalSignalDSL.g:11149:1: ( ( ( 'else' ) ) )
+            // InternalSignalDSL.g:11150:1: ( ( 'else' ) )
             {
-            // InternalSignalDSL.g:11122:1: ( ( 'else' ) )
-            // InternalSignalDSL.g:11123:2: ( 'else' )
+            // InternalSignalDSL.g:11150:1: ( ( 'else' ) )
+            // InternalSignalDSL.g:11151:2: ( 'else' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); 
             }
-            // InternalSignalDSL.g:11124:2: ( 'else' )
-            // InternalSignalDSL.g:11124:3: 'else'
+            // InternalSignalDSL.g:11152:2: ( 'else' )
+            // InternalSignalDSL.g:11152:3: 'else'
             {
-            match(input,83,FOLLOW_2); if (state.failed) return ;
+            match(input,80,FOLLOW_2); if (state.failed) return ;
 
             }
 
@@ -37472,14 +37516,14 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group_6__1"
-    // InternalSignalDSL.g:11132:1: rule__XIfExpression__Group_6__1 : rule__XIfExpression__Group_6__1__Impl ;
+    // InternalSignalDSL.g:11160:1: rule__XIfExpression__Group_6__1 : rule__XIfExpression__Group_6__1__Impl ;
     public final void rule__XIfExpression__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11136:1: ( rule__XIfExpression__Group_6__1__Impl )
-            // InternalSignalDSL.g:11137:2: rule__XIfExpression__Group_6__1__Impl
+            // InternalSignalDSL.g:11164:1: ( rule__XIfExpression__Group_6__1__Impl )
+            // InternalSignalDSL.g:11165:2: rule__XIfExpression__Group_6__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XIfExpression__Group_6__1__Impl();
@@ -37505,23 +37549,23 @@
 
 
     // $ANTLR start "rule__XIfExpression__Group_6__1__Impl"
-    // InternalSignalDSL.g:11143:1: rule__XIfExpression__Group_6__1__Impl : ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) ;
+    // InternalSignalDSL.g:11171:1: rule__XIfExpression__Group_6__1__Impl : ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) ;
     public final void rule__XIfExpression__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11147:1: ( ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) )
-            // InternalSignalDSL.g:11148:1: ( ( rule__XIfExpression__ElseAssignment_6_1 ) )
+            // InternalSignalDSL.g:11175:1: ( ( ( rule__XIfExpression__ElseAssignment_6_1 ) ) )
+            // InternalSignalDSL.g:11176:1: ( ( rule__XIfExpression__ElseAssignment_6_1 ) )
             {
-            // InternalSignalDSL.g:11148:1: ( ( rule__XIfExpression__ElseAssignment_6_1 ) )
-            // InternalSignalDSL.g:11149:2: ( rule__XIfExpression__ElseAssignment_6_1 )
+            // InternalSignalDSL.g:11176:1: ( ( rule__XIfExpression__ElseAssignment_6_1 ) )
+            // InternalSignalDSL.g:11177:2: ( rule__XIfExpression__ElseAssignment_6_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1()); 
             }
-            // InternalSignalDSL.g:11150:2: ( rule__XIfExpression__ElseAssignment_6_1 )
-            // InternalSignalDSL.g:11150:3: rule__XIfExpression__ElseAssignment_6_1
+            // InternalSignalDSL.g:11178:2: ( rule__XIfExpression__ElseAssignment_6_1 )
+            // InternalSignalDSL.g:11178:3: rule__XIfExpression__ElseAssignment_6_1
             {
             pushFollow(FOLLOW_2);
             rule__XIfExpression__ElseAssignment_6_1();
@@ -37556,14 +37600,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__0"
-    // InternalSignalDSL.g:11159:1: rule__XSwitchExpression__Group__0 : rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1 ;
+    // InternalSignalDSL.g:11187:1: rule__XSwitchExpression__Group__0 : rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1 ;
     public final void rule__XSwitchExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11163:1: ( rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1 )
-            // InternalSignalDSL.g:11164:2: rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1
+            // InternalSignalDSL.g:11191:1: ( rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1 )
+            // InternalSignalDSL.g:11192:2: rule__XSwitchExpression__Group__0__Impl rule__XSwitchExpression__Group__1
             {
             pushFollow(FOLLOW_83);
             rule__XSwitchExpression__Group__0__Impl();
@@ -37594,23 +37638,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__0__Impl"
-    // InternalSignalDSL.g:11171:1: rule__XSwitchExpression__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:11199:1: rule__XSwitchExpression__Group__0__Impl : ( () ) ;
     public final void rule__XSwitchExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11175:1: ( ( () ) )
-            // InternalSignalDSL.g:11176:1: ( () )
+            // InternalSignalDSL.g:11203:1: ( ( () ) )
+            // InternalSignalDSL.g:11204:1: ( () )
             {
-            // InternalSignalDSL.g:11176:1: ( () )
-            // InternalSignalDSL.g:11177:2: ()
+            // InternalSignalDSL.g:11204:1: ( () )
+            // InternalSignalDSL.g:11205:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0()); 
             }
-            // InternalSignalDSL.g:11178:2: ()
-            // InternalSignalDSL.g:11178:3: 
+            // InternalSignalDSL.g:11206:2: ()
+            // InternalSignalDSL.g:11206:3: 
             {
             }
 
@@ -37635,14 +37679,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__1"
-    // InternalSignalDSL.g:11186:1: rule__XSwitchExpression__Group__1 : rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2 ;
+    // InternalSignalDSL.g:11214:1: rule__XSwitchExpression__Group__1 : rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2 ;
     public final void rule__XSwitchExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11190:1: ( rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2 )
-            // InternalSignalDSL.g:11191:2: rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2
+            // InternalSignalDSL.g:11218:1: ( rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2 )
+            // InternalSignalDSL.g:11219:2: rule__XSwitchExpression__Group__1__Impl rule__XSwitchExpression__Group__2
             {
             pushFollow(FOLLOW_84);
             rule__XSwitchExpression__Group__1__Impl();
@@ -37673,22 +37717,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__1__Impl"
-    // InternalSignalDSL.g:11198:1: rule__XSwitchExpression__Group__1__Impl : ( 'switch' ) ;
+    // InternalSignalDSL.g:11226:1: rule__XSwitchExpression__Group__1__Impl : ( 'switch' ) ;
     public final void rule__XSwitchExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11202:1: ( ( 'switch' ) )
-            // InternalSignalDSL.g:11203:1: ( 'switch' )
+            // InternalSignalDSL.g:11230:1: ( ( 'switch' ) )
+            // InternalSignalDSL.g:11231:1: ( 'switch' )
             {
-            // InternalSignalDSL.g:11203:1: ( 'switch' )
-            // InternalSignalDSL.g:11204:2: 'switch'
+            // InternalSignalDSL.g:11231:1: ( 'switch' )
+            // InternalSignalDSL.g:11232:2: 'switch'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); 
             }
-            match(input,84,FOLLOW_2); if (state.failed) return ;
+            match(input,81,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); 
             }
@@ -37714,14 +37758,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__2"
-    // InternalSignalDSL.g:11213:1: rule__XSwitchExpression__Group__2 : rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3 ;
+    // InternalSignalDSL.g:11241:1: rule__XSwitchExpression__Group__2 : rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3 ;
     public final void rule__XSwitchExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11217:1: ( rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3 )
-            // InternalSignalDSL.g:11218:2: rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3
+            // InternalSignalDSL.g:11245:1: ( rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3 )
+            // InternalSignalDSL.g:11246:2: rule__XSwitchExpression__Group__2__Impl rule__XSwitchExpression__Group__3
             {
             pushFollow(FOLLOW_8);
             rule__XSwitchExpression__Group__2__Impl();
@@ -37752,23 +37796,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__2__Impl"
-    // InternalSignalDSL.g:11225:1: rule__XSwitchExpression__Group__2__Impl : ( ( rule__XSwitchExpression__Alternatives_2 ) ) ;
+    // InternalSignalDSL.g:11253:1: rule__XSwitchExpression__Group__2__Impl : ( ( rule__XSwitchExpression__Alternatives_2 ) ) ;
     public final void rule__XSwitchExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11229:1: ( ( ( rule__XSwitchExpression__Alternatives_2 ) ) )
-            // InternalSignalDSL.g:11230:1: ( ( rule__XSwitchExpression__Alternatives_2 ) )
+            // InternalSignalDSL.g:11257:1: ( ( ( rule__XSwitchExpression__Alternatives_2 ) ) )
+            // InternalSignalDSL.g:11258:1: ( ( rule__XSwitchExpression__Alternatives_2 ) )
             {
-            // InternalSignalDSL.g:11230:1: ( ( rule__XSwitchExpression__Alternatives_2 ) )
-            // InternalSignalDSL.g:11231:2: ( rule__XSwitchExpression__Alternatives_2 )
+            // InternalSignalDSL.g:11258:1: ( ( rule__XSwitchExpression__Alternatives_2 ) )
+            // InternalSignalDSL.g:11259:2: ( rule__XSwitchExpression__Alternatives_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2()); 
             }
-            // InternalSignalDSL.g:11232:2: ( rule__XSwitchExpression__Alternatives_2 )
-            // InternalSignalDSL.g:11232:3: rule__XSwitchExpression__Alternatives_2
+            // InternalSignalDSL.g:11260:2: ( rule__XSwitchExpression__Alternatives_2 )
+            // InternalSignalDSL.g:11260:3: rule__XSwitchExpression__Alternatives_2
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Alternatives_2();
@@ -37803,14 +37847,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__3"
-    // InternalSignalDSL.g:11240:1: rule__XSwitchExpression__Group__3 : rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4 ;
+    // InternalSignalDSL.g:11268:1: rule__XSwitchExpression__Group__3 : rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4 ;
     public final void rule__XSwitchExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11244:1: ( rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4 )
-            // InternalSignalDSL.g:11245:2: rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4
+            // InternalSignalDSL.g:11272:1: ( rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4 )
+            // InternalSignalDSL.g:11273:2: rule__XSwitchExpression__Group__3__Impl rule__XSwitchExpression__Group__4
             {
             pushFollow(FOLLOW_85);
             rule__XSwitchExpression__Group__3__Impl();
@@ -37841,22 +37885,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__3__Impl"
-    // InternalSignalDSL.g:11252:1: rule__XSwitchExpression__Group__3__Impl : ( '{' ) ;
+    // InternalSignalDSL.g:11280:1: rule__XSwitchExpression__Group__3__Impl : ( '{' ) ;
     public final void rule__XSwitchExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11256:1: ( ( '{' ) )
-            // InternalSignalDSL.g:11257:1: ( '{' )
+            // InternalSignalDSL.g:11284:1: ( ( '{' ) )
+            // InternalSignalDSL.g:11285:1: ( '{' )
             {
-            // InternalSignalDSL.g:11257:1: ( '{' )
-            // InternalSignalDSL.g:11258:2: '{'
+            // InternalSignalDSL.g:11285:1: ( '{' )
+            // InternalSignalDSL.g:11286:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); 
             }
-            match(input,64,FOLLOW_2); if (state.failed) return ;
+            match(input,60,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); 
             }
@@ -37882,14 +37926,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__4"
-    // InternalSignalDSL.g:11267:1: rule__XSwitchExpression__Group__4 : rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5 ;
+    // InternalSignalDSL.g:11295:1: rule__XSwitchExpression__Group__4 : rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5 ;
     public final void rule__XSwitchExpression__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11271:1: ( rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5 )
-            // InternalSignalDSL.g:11272:2: rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5
+            // InternalSignalDSL.g:11299:1: ( rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5 )
+            // InternalSignalDSL.g:11300:2: rule__XSwitchExpression__Group__4__Impl rule__XSwitchExpression__Group__5
             {
             pushFollow(FOLLOW_85);
             rule__XSwitchExpression__Group__4__Impl();
@@ -37920,35 +37964,35 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__4__Impl"
-    // InternalSignalDSL.g:11279:1: rule__XSwitchExpression__Group__4__Impl : ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) ;
+    // InternalSignalDSL.g:11307:1: rule__XSwitchExpression__Group__4__Impl : ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) ;
     public final void rule__XSwitchExpression__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11283:1: ( ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) )
-            // InternalSignalDSL.g:11284:1: ( ( rule__XSwitchExpression__CasesAssignment_4 )* )
+            // InternalSignalDSL.g:11311:1: ( ( ( rule__XSwitchExpression__CasesAssignment_4 )* ) )
+            // InternalSignalDSL.g:11312:1: ( ( rule__XSwitchExpression__CasesAssignment_4 )* )
             {
-            // InternalSignalDSL.g:11284:1: ( ( rule__XSwitchExpression__CasesAssignment_4 )* )
-            // InternalSignalDSL.g:11285:2: ( rule__XSwitchExpression__CasesAssignment_4 )*
+            // InternalSignalDSL.g:11312:1: ( ( rule__XSwitchExpression__CasesAssignment_4 )* )
+            // InternalSignalDSL.g:11313:2: ( rule__XSwitchExpression__CasesAssignment_4 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4()); 
             }
-            // InternalSignalDSL.g:11286:2: ( rule__XSwitchExpression__CasesAssignment_4 )*
-            loop98:
+            // InternalSignalDSL.g:11314:2: ( rule__XSwitchExpression__CasesAssignment_4 )*
+            loop99:
             do {
-                int alt98=2;
-                int LA98_0 = input.LA(1);
+                int alt99=2;
+                int LA99_0 = input.LA(1);
 
-                if ( (LA98_0==RULE_ID||LA98_0==31||LA98_0==74||LA98_0==76||LA98_0==85||LA98_0==87) ) {
-                    alt98=1;
+                if ( (LA99_0==RULE_ID||LA99_0==31||LA99_0==71||LA99_0==73||LA99_0==82||LA99_0==84) ) {
+                    alt99=1;
                 }
 
 
-                switch (alt98) {
+                switch (alt99) {
             	case 1 :
-            	    // InternalSignalDSL.g:11286:3: rule__XSwitchExpression__CasesAssignment_4
+            	    // InternalSignalDSL.g:11314:3: rule__XSwitchExpression__CasesAssignment_4
             	    {
             	    pushFollow(FOLLOW_86);
             	    rule__XSwitchExpression__CasesAssignment_4();
@@ -37960,7 +38004,7 @@
             	    break;
 
             	default :
-            	    break loop98;
+            	    break loop99;
                 }
             } while (true);
 
@@ -37989,14 +38033,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__5"
-    // InternalSignalDSL.g:11294:1: rule__XSwitchExpression__Group__5 : rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6 ;
+    // InternalSignalDSL.g:11322:1: rule__XSwitchExpression__Group__5 : rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6 ;
     public final void rule__XSwitchExpression__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11298:1: ( rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6 )
-            // InternalSignalDSL.g:11299:2: rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6
+            // InternalSignalDSL.g:11326:1: ( rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6 )
+            // InternalSignalDSL.g:11327:2: rule__XSwitchExpression__Group__5__Impl rule__XSwitchExpression__Group__6
             {
             pushFollow(FOLLOW_85);
             rule__XSwitchExpression__Group__5__Impl();
@@ -38027,31 +38071,31 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__5__Impl"
-    // InternalSignalDSL.g:11306:1: rule__XSwitchExpression__Group__5__Impl : ( ( rule__XSwitchExpression__Group_5__0 )? ) ;
+    // InternalSignalDSL.g:11334:1: rule__XSwitchExpression__Group__5__Impl : ( ( rule__XSwitchExpression__Group_5__0 )? ) ;
     public final void rule__XSwitchExpression__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11310:1: ( ( ( rule__XSwitchExpression__Group_5__0 )? ) )
-            // InternalSignalDSL.g:11311:1: ( ( rule__XSwitchExpression__Group_5__0 )? )
+            // InternalSignalDSL.g:11338:1: ( ( ( rule__XSwitchExpression__Group_5__0 )? ) )
+            // InternalSignalDSL.g:11339:1: ( ( rule__XSwitchExpression__Group_5__0 )? )
             {
-            // InternalSignalDSL.g:11311:1: ( ( rule__XSwitchExpression__Group_5__0 )? )
-            // InternalSignalDSL.g:11312:2: ( rule__XSwitchExpression__Group_5__0 )?
+            // InternalSignalDSL.g:11339:1: ( ( rule__XSwitchExpression__Group_5__0 )? )
+            // InternalSignalDSL.g:11340:2: ( rule__XSwitchExpression__Group_5__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getGroup_5()); 
             }
-            // InternalSignalDSL.g:11313:2: ( rule__XSwitchExpression__Group_5__0 )?
-            int alt99=2;
-            int LA99_0 = input.LA(1);
+            // InternalSignalDSL.g:11341:2: ( rule__XSwitchExpression__Group_5__0 )?
+            int alt100=2;
+            int LA100_0 = input.LA(1);
 
-            if ( (LA99_0==86) ) {
-                alt99=1;
+            if ( (LA100_0==83) ) {
+                alt100=1;
             }
-            switch (alt99) {
+            switch (alt100) {
                 case 1 :
-                    // InternalSignalDSL.g:11313:3: rule__XSwitchExpression__Group_5__0
+                    // InternalSignalDSL.g:11341:3: rule__XSwitchExpression__Group_5__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XSwitchExpression__Group_5__0();
@@ -38089,14 +38133,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__6"
-    // InternalSignalDSL.g:11321:1: rule__XSwitchExpression__Group__6 : rule__XSwitchExpression__Group__6__Impl ;
+    // InternalSignalDSL.g:11349:1: rule__XSwitchExpression__Group__6 : rule__XSwitchExpression__Group__6__Impl ;
     public final void rule__XSwitchExpression__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11325:1: ( rule__XSwitchExpression__Group__6__Impl )
-            // InternalSignalDSL.g:11326:2: rule__XSwitchExpression__Group__6__Impl
+            // InternalSignalDSL.g:11353:1: ( rule__XSwitchExpression__Group__6__Impl )
+            // InternalSignalDSL.g:11354:2: rule__XSwitchExpression__Group__6__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group__6__Impl();
@@ -38122,22 +38166,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group__6__Impl"
-    // InternalSignalDSL.g:11332:1: rule__XSwitchExpression__Group__6__Impl : ( '}' ) ;
+    // InternalSignalDSL.g:11360:1: rule__XSwitchExpression__Group__6__Impl : ( '}' ) ;
     public final void rule__XSwitchExpression__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11336:1: ( ( '}' ) )
-            // InternalSignalDSL.g:11337:1: ( '}' )
+            // InternalSignalDSL.g:11364:1: ( ( '}' ) )
+            // InternalSignalDSL.g:11365:1: ( '}' )
             {
-            // InternalSignalDSL.g:11337:1: ( '}' )
-            // InternalSignalDSL.g:11338:2: '}'
+            // InternalSignalDSL.g:11365:1: ( '}' )
+            // InternalSignalDSL.g:11366:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); 
             }
-            match(input,65,FOLLOW_2); if (state.failed) return ;
+            match(input,61,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); 
             }
@@ -38163,14 +38207,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0__0"
-    // InternalSignalDSL.g:11348:1: rule__XSwitchExpression__Group_2_0__0 : rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1 ;
+    // InternalSignalDSL.g:11376:1: rule__XSwitchExpression__Group_2_0__0 : rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1 ;
     public final void rule__XSwitchExpression__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11352:1: ( rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1 )
-            // InternalSignalDSL.g:11353:2: rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1
+            // InternalSignalDSL.g:11380:1: ( rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1 )
+            // InternalSignalDSL.g:11381:2: rule__XSwitchExpression__Group_2_0__0__Impl rule__XSwitchExpression__Group_2_0__1
             {
             pushFollow(FOLLOW_35);
             rule__XSwitchExpression__Group_2_0__0__Impl();
@@ -38201,23 +38245,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0__0__Impl"
-    // InternalSignalDSL.g:11360:1: rule__XSwitchExpression__Group_2_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) ;
+    // InternalSignalDSL.g:11388:1: rule__XSwitchExpression__Group_2_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) ;
     public final void rule__XSwitchExpression__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11364:1: ( ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) )
-            // InternalSignalDSL.g:11365:1: ( ( rule__XSwitchExpression__Group_2_0_0__0 ) )
+            // InternalSignalDSL.g:11392:1: ( ( ( rule__XSwitchExpression__Group_2_0_0__0 ) ) )
+            // InternalSignalDSL.g:11393:1: ( ( rule__XSwitchExpression__Group_2_0_0__0 ) )
             {
-            // InternalSignalDSL.g:11365:1: ( ( rule__XSwitchExpression__Group_2_0_0__0 ) )
-            // InternalSignalDSL.g:11366:2: ( rule__XSwitchExpression__Group_2_0_0__0 )
+            // InternalSignalDSL.g:11393:1: ( ( rule__XSwitchExpression__Group_2_0_0__0 ) )
+            // InternalSignalDSL.g:11394:2: ( rule__XSwitchExpression__Group_2_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0()); 
             }
-            // InternalSignalDSL.g:11367:2: ( rule__XSwitchExpression__Group_2_0_0__0 )
-            // InternalSignalDSL.g:11367:3: rule__XSwitchExpression__Group_2_0_0__0
+            // InternalSignalDSL.g:11395:2: ( rule__XSwitchExpression__Group_2_0_0__0 )
+            // InternalSignalDSL.g:11395:3: rule__XSwitchExpression__Group_2_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_0_0__0();
@@ -38252,14 +38296,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0__1"
-    // InternalSignalDSL.g:11375:1: rule__XSwitchExpression__Group_2_0__1 : rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2 ;
+    // InternalSignalDSL.g:11403:1: rule__XSwitchExpression__Group_2_0__1 : rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2 ;
     public final void rule__XSwitchExpression__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11379:1: ( rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2 )
-            // InternalSignalDSL.g:11380:2: rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2
+            // InternalSignalDSL.g:11407:1: ( rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2 )
+            // InternalSignalDSL.g:11408:2: rule__XSwitchExpression__Group_2_0__1__Impl rule__XSwitchExpression__Group_2_0__2
             {
             pushFollow(FOLLOW_80);
             rule__XSwitchExpression__Group_2_0__1__Impl();
@@ -38290,23 +38334,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0__1__Impl"
-    // InternalSignalDSL.g:11387:1: rule__XSwitchExpression__Group_2_0__1__Impl : ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) ;
+    // InternalSignalDSL.g:11415:1: rule__XSwitchExpression__Group_2_0__1__Impl : ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) ;
     public final void rule__XSwitchExpression__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11391:1: ( ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) )
-            // InternalSignalDSL.g:11392:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) )
+            // InternalSignalDSL.g:11419:1: ( ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) ) )
+            // InternalSignalDSL.g:11420:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) )
             {
-            // InternalSignalDSL.g:11392:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) )
-            // InternalSignalDSL.g:11393:2: ( rule__XSwitchExpression__SwitchAssignment_2_0_1 )
+            // InternalSignalDSL.g:11420:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_0_1 ) )
+            // InternalSignalDSL.g:11421:2: ( rule__XSwitchExpression__SwitchAssignment_2_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1()); 
             }
-            // InternalSignalDSL.g:11394:2: ( rule__XSwitchExpression__SwitchAssignment_2_0_1 )
-            // InternalSignalDSL.g:11394:3: rule__XSwitchExpression__SwitchAssignment_2_0_1
+            // InternalSignalDSL.g:11422:2: ( rule__XSwitchExpression__SwitchAssignment_2_0_1 )
+            // InternalSignalDSL.g:11422:3: rule__XSwitchExpression__SwitchAssignment_2_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__SwitchAssignment_2_0_1();
@@ -38341,14 +38385,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0__2"
-    // InternalSignalDSL.g:11402:1: rule__XSwitchExpression__Group_2_0__2 : rule__XSwitchExpression__Group_2_0__2__Impl ;
+    // InternalSignalDSL.g:11430:1: rule__XSwitchExpression__Group_2_0__2 : rule__XSwitchExpression__Group_2_0__2__Impl ;
     public final void rule__XSwitchExpression__Group_2_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11406:1: ( rule__XSwitchExpression__Group_2_0__2__Impl )
-            // InternalSignalDSL.g:11407:2: rule__XSwitchExpression__Group_2_0__2__Impl
+            // InternalSignalDSL.g:11434:1: ( rule__XSwitchExpression__Group_2_0__2__Impl )
+            // InternalSignalDSL.g:11435:2: rule__XSwitchExpression__Group_2_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_0__2__Impl();
@@ -38374,22 +38418,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0__2__Impl"
-    // InternalSignalDSL.g:11413:1: rule__XSwitchExpression__Group_2_0__2__Impl : ( ')' ) ;
+    // InternalSignalDSL.g:11441:1: rule__XSwitchExpression__Group_2_0__2__Impl : ( ')' ) ;
     public final void rule__XSwitchExpression__Group_2_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11417:1: ( ( ')' ) )
-            // InternalSignalDSL.g:11418:1: ( ')' )
+            // InternalSignalDSL.g:11445:1: ( ( ')' ) )
+            // InternalSignalDSL.g:11446:1: ( ')' )
             {
-            // InternalSignalDSL.g:11418:1: ( ')' )
-            // InternalSignalDSL.g:11419:2: ')'
+            // InternalSignalDSL.g:11446:1: ( ')' )
+            // InternalSignalDSL.g:11447:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); 
             }
-            match(input,75,FOLLOW_2); if (state.failed) return ;
+            match(input,72,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); 
             }
@@ -38415,14 +38459,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0_0__0"
-    // InternalSignalDSL.g:11429:1: rule__XSwitchExpression__Group_2_0_0__0 : rule__XSwitchExpression__Group_2_0_0__0__Impl ;
+    // InternalSignalDSL.g:11457:1: rule__XSwitchExpression__Group_2_0_0__0 : rule__XSwitchExpression__Group_2_0_0__0__Impl ;
     public final void rule__XSwitchExpression__Group_2_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11433:1: ( rule__XSwitchExpression__Group_2_0_0__0__Impl )
-            // InternalSignalDSL.g:11434:2: rule__XSwitchExpression__Group_2_0_0__0__Impl
+            // InternalSignalDSL.g:11461:1: ( rule__XSwitchExpression__Group_2_0_0__0__Impl )
+            // InternalSignalDSL.g:11462:2: rule__XSwitchExpression__Group_2_0_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_0_0__0__Impl();
@@ -38448,23 +38492,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0_0__0__Impl"
-    // InternalSignalDSL.g:11440:1: rule__XSwitchExpression__Group_2_0_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) ;
+    // InternalSignalDSL.g:11468:1: rule__XSwitchExpression__Group_2_0_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) ;
     public final void rule__XSwitchExpression__Group_2_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11444:1: ( ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) )
-            // InternalSignalDSL.g:11445:1: ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) )
+            // InternalSignalDSL.g:11472:1: ( ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) ) )
+            // InternalSignalDSL.g:11473:1: ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) )
             {
-            // InternalSignalDSL.g:11445:1: ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) )
-            // InternalSignalDSL.g:11446:2: ( rule__XSwitchExpression__Group_2_0_0_0__0 )
+            // InternalSignalDSL.g:11473:1: ( ( rule__XSwitchExpression__Group_2_0_0_0__0 ) )
+            // InternalSignalDSL.g:11474:2: ( rule__XSwitchExpression__Group_2_0_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0()); 
             }
-            // InternalSignalDSL.g:11447:2: ( rule__XSwitchExpression__Group_2_0_0_0__0 )
-            // InternalSignalDSL.g:11447:3: rule__XSwitchExpression__Group_2_0_0_0__0
+            // InternalSignalDSL.g:11475:2: ( rule__XSwitchExpression__Group_2_0_0_0__0 )
+            // InternalSignalDSL.g:11475:3: rule__XSwitchExpression__Group_2_0_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_0_0_0__0();
@@ -38499,14 +38543,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__0"
-    // InternalSignalDSL.g:11456:1: rule__XSwitchExpression__Group_2_0_0_0__0 : rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1 ;
+    // InternalSignalDSL.g:11484:1: rule__XSwitchExpression__Group_2_0_0_0__0 : rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1 ;
     public final void rule__XSwitchExpression__Group_2_0_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11460:1: ( rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1 )
-            // InternalSignalDSL.g:11461:2: rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1
+            // InternalSignalDSL.g:11488:1: ( rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1 )
+            // InternalSignalDSL.g:11489:2: rule__XSwitchExpression__Group_2_0_0_0__0__Impl rule__XSwitchExpression__Group_2_0_0_0__1
             {
             pushFollow(FOLLOW_52);
             rule__XSwitchExpression__Group_2_0_0_0__0__Impl();
@@ -38537,22 +38581,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__0__Impl"
-    // InternalSignalDSL.g:11468:1: rule__XSwitchExpression__Group_2_0_0_0__0__Impl : ( '(' ) ;
+    // InternalSignalDSL.g:11496:1: rule__XSwitchExpression__Group_2_0_0_0__0__Impl : ( '(' ) ;
     public final void rule__XSwitchExpression__Group_2_0_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11472:1: ( ( '(' ) )
-            // InternalSignalDSL.g:11473:1: ( '(' )
+            // InternalSignalDSL.g:11500:1: ( ( '(' ) )
+            // InternalSignalDSL.g:11501:1: ( '(' )
             {
-            // InternalSignalDSL.g:11473:1: ( '(' )
-            // InternalSignalDSL.g:11474:2: '('
+            // InternalSignalDSL.g:11501:1: ( '(' )
+            // InternalSignalDSL.g:11502:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); 
             }
-            match(input,74,FOLLOW_2); if (state.failed) return ;
+            match(input,71,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); 
             }
@@ -38578,14 +38622,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__1"
-    // InternalSignalDSL.g:11483:1: rule__XSwitchExpression__Group_2_0_0_0__1 : rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2 ;
+    // InternalSignalDSL.g:11511:1: rule__XSwitchExpression__Group_2_0_0_0__1 : rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2 ;
     public final void rule__XSwitchExpression__Group_2_0_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11487:1: ( rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2 )
-            // InternalSignalDSL.g:11488:2: rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2
+            // InternalSignalDSL.g:11515:1: ( rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2 )
+            // InternalSignalDSL.g:11516:2: rule__XSwitchExpression__Group_2_0_0_0__1__Impl rule__XSwitchExpression__Group_2_0_0_0__2
             {
             pushFollow(FOLLOW_87);
             rule__XSwitchExpression__Group_2_0_0_0__1__Impl();
@@ -38616,23 +38660,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__1__Impl"
-    // InternalSignalDSL.g:11495:1: rule__XSwitchExpression__Group_2_0_0_0__1__Impl : ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) ;
+    // InternalSignalDSL.g:11523:1: rule__XSwitchExpression__Group_2_0_0_0__1__Impl : ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) ;
     public final void rule__XSwitchExpression__Group_2_0_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11499:1: ( ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) )
-            // InternalSignalDSL.g:11500:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) )
+            // InternalSignalDSL.g:11527:1: ( ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) ) )
+            // InternalSignalDSL.g:11528:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) )
             {
-            // InternalSignalDSL.g:11500:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) )
-            // InternalSignalDSL.g:11501:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 )
+            // InternalSignalDSL.g:11528:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 ) )
+            // InternalSignalDSL.g:11529:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1()); 
             }
-            // InternalSignalDSL.g:11502:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 )
-            // InternalSignalDSL.g:11502:3: rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1
+            // InternalSignalDSL.g:11530:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 )
+            // InternalSignalDSL.g:11530:3: rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1();
@@ -38667,14 +38711,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__2"
-    // InternalSignalDSL.g:11510:1: rule__XSwitchExpression__Group_2_0_0_0__2 : rule__XSwitchExpression__Group_2_0_0_0__2__Impl ;
+    // InternalSignalDSL.g:11538:1: rule__XSwitchExpression__Group_2_0_0_0__2 : rule__XSwitchExpression__Group_2_0_0_0__2__Impl ;
     public final void rule__XSwitchExpression__Group_2_0_0_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11514:1: ( rule__XSwitchExpression__Group_2_0_0_0__2__Impl )
-            // InternalSignalDSL.g:11515:2: rule__XSwitchExpression__Group_2_0_0_0__2__Impl
+            // InternalSignalDSL.g:11542:1: ( rule__XSwitchExpression__Group_2_0_0_0__2__Impl )
+            // InternalSignalDSL.g:11543:2: rule__XSwitchExpression__Group_2_0_0_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_0_0_0__2__Impl();
@@ -38700,22 +38744,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_0_0_0__2__Impl"
-    // InternalSignalDSL.g:11521:1: rule__XSwitchExpression__Group_2_0_0_0__2__Impl : ( ':' ) ;
+    // InternalSignalDSL.g:11549:1: rule__XSwitchExpression__Group_2_0_0_0__2__Impl : ( ':' ) ;
     public final void rule__XSwitchExpression__Group_2_0_0_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11525:1: ( ( ':' ) )
-            // InternalSignalDSL.g:11526:1: ( ':' )
+            // InternalSignalDSL.g:11553:1: ( ( ':' ) )
+            // InternalSignalDSL.g:11554:1: ( ':' )
             {
-            // InternalSignalDSL.g:11526:1: ( ':' )
-            // InternalSignalDSL.g:11527:2: ':'
+            // InternalSignalDSL.g:11554:1: ( ':' )
+            // InternalSignalDSL.g:11555:2: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); 
             }
-            match(input,85,FOLLOW_2); if (state.failed) return ;
+            match(input,82,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); 
             }
@@ -38741,14 +38785,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1__0"
-    // InternalSignalDSL.g:11537:1: rule__XSwitchExpression__Group_2_1__0 : rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1 ;
+    // InternalSignalDSL.g:11565:1: rule__XSwitchExpression__Group_2_1__0 : rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1 ;
     public final void rule__XSwitchExpression__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11541:1: ( rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1 )
-            // InternalSignalDSL.g:11542:2: rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1
+            // InternalSignalDSL.g:11569:1: ( rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1 )
+            // InternalSignalDSL.g:11570:2: rule__XSwitchExpression__Group_2_1__0__Impl rule__XSwitchExpression__Group_2_1__1
             {
             pushFollow(FOLLOW_84);
             rule__XSwitchExpression__Group_2_1__0__Impl();
@@ -38779,27 +38823,27 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1__0__Impl"
-    // InternalSignalDSL.g:11549:1: rule__XSwitchExpression__Group_2_1__0__Impl : ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) ;
+    // InternalSignalDSL.g:11577:1: rule__XSwitchExpression__Group_2_1__0__Impl : ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) ;
     public final void rule__XSwitchExpression__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11553:1: ( ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) )
-            // InternalSignalDSL.g:11554:1: ( ( rule__XSwitchExpression__Group_2_1_0__0 )? )
+            // InternalSignalDSL.g:11581:1: ( ( ( rule__XSwitchExpression__Group_2_1_0__0 )? ) )
+            // InternalSignalDSL.g:11582:1: ( ( rule__XSwitchExpression__Group_2_1_0__0 )? )
             {
-            // InternalSignalDSL.g:11554:1: ( ( rule__XSwitchExpression__Group_2_1_0__0 )? )
-            // InternalSignalDSL.g:11555:2: ( rule__XSwitchExpression__Group_2_1_0__0 )?
+            // InternalSignalDSL.g:11582:1: ( ( rule__XSwitchExpression__Group_2_1_0__0 )? )
+            // InternalSignalDSL.g:11583:2: ( rule__XSwitchExpression__Group_2_1_0__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0()); 
             }
-            // InternalSignalDSL.g:11556:2: ( rule__XSwitchExpression__Group_2_1_0__0 )?
-            int alt100=2;
-            alt100 = dfa100.predict(input);
-            switch (alt100) {
+            // InternalSignalDSL.g:11584:2: ( rule__XSwitchExpression__Group_2_1_0__0 )?
+            int alt101=2;
+            alt101 = dfa101.predict(input);
+            switch (alt101) {
                 case 1 :
-                    // InternalSignalDSL.g:11556:3: rule__XSwitchExpression__Group_2_1_0__0
+                    // InternalSignalDSL.g:11584:3: rule__XSwitchExpression__Group_2_1_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XSwitchExpression__Group_2_1_0__0();
@@ -38837,14 +38881,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1__1"
-    // InternalSignalDSL.g:11564:1: rule__XSwitchExpression__Group_2_1__1 : rule__XSwitchExpression__Group_2_1__1__Impl ;
+    // InternalSignalDSL.g:11592:1: rule__XSwitchExpression__Group_2_1__1 : rule__XSwitchExpression__Group_2_1__1__Impl ;
     public final void rule__XSwitchExpression__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11568:1: ( rule__XSwitchExpression__Group_2_1__1__Impl )
-            // InternalSignalDSL.g:11569:2: rule__XSwitchExpression__Group_2_1__1__Impl
+            // InternalSignalDSL.g:11596:1: ( rule__XSwitchExpression__Group_2_1__1__Impl )
+            // InternalSignalDSL.g:11597:2: rule__XSwitchExpression__Group_2_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_1__1__Impl();
@@ -38870,23 +38914,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1__1__Impl"
-    // InternalSignalDSL.g:11575:1: rule__XSwitchExpression__Group_2_1__1__Impl : ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) ;
+    // InternalSignalDSL.g:11603:1: rule__XSwitchExpression__Group_2_1__1__Impl : ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) ;
     public final void rule__XSwitchExpression__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11579:1: ( ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) )
-            // InternalSignalDSL.g:11580:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) )
+            // InternalSignalDSL.g:11607:1: ( ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) ) )
+            // InternalSignalDSL.g:11608:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) )
             {
-            // InternalSignalDSL.g:11580:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) )
-            // InternalSignalDSL.g:11581:2: ( rule__XSwitchExpression__SwitchAssignment_2_1_1 )
+            // InternalSignalDSL.g:11608:1: ( ( rule__XSwitchExpression__SwitchAssignment_2_1_1 ) )
+            // InternalSignalDSL.g:11609:2: ( rule__XSwitchExpression__SwitchAssignment_2_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1()); 
             }
-            // InternalSignalDSL.g:11582:2: ( rule__XSwitchExpression__SwitchAssignment_2_1_1 )
-            // InternalSignalDSL.g:11582:3: rule__XSwitchExpression__SwitchAssignment_2_1_1
+            // InternalSignalDSL.g:11610:2: ( rule__XSwitchExpression__SwitchAssignment_2_1_1 )
+            // InternalSignalDSL.g:11610:3: rule__XSwitchExpression__SwitchAssignment_2_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__SwitchAssignment_2_1_1();
@@ -38921,14 +38965,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1_0__0"
-    // InternalSignalDSL.g:11591:1: rule__XSwitchExpression__Group_2_1_0__0 : rule__XSwitchExpression__Group_2_1_0__0__Impl ;
+    // InternalSignalDSL.g:11619:1: rule__XSwitchExpression__Group_2_1_0__0 : rule__XSwitchExpression__Group_2_1_0__0__Impl ;
     public final void rule__XSwitchExpression__Group_2_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11595:1: ( rule__XSwitchExpression__Group_2_1_0__0__Impl )
-            // InternalSignalDSL.g:11596:2: rule__XSwitchExpression__Group_2_1_0__0__Impl
+            // InternalSignalDSL.g:11623:1: ( rule__XSwitchExpression__Group_2_1_0__0__Impl )
+            // InternalSignalDSL.g:11624:2: rule__XSwitchExpression__Group_2_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_1_0__0__Impl();
@@ -38954,23 +38998,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1_0__0__Impl"
-    // InternalSignalDSL.g:11602:1: rule__XSwitchExpression__Group_2_1_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) ;
+    // InternalSignalDSL.g:11630:1: rule__XSwitchExpression__Group_2_1_0__0__Impl : ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) ;
     public final void rule__XSwitchExpression__Group_2_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11606:1: ( ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) )
-            // InternalSignalDSL.g:11607:1: ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) )
+            // InternalSignalDSL.g:11634:1: ( ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) ) )
+            // InternalSignalDSL.g:11635:1: ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) )
             {
-            // InternalSignalDSL.g:11607:1: ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) )
-            // InternalSignalDSL.g:11608:2: ( rule__XSwitchExpression__Group_2_1_0_0__0 )
+            // InternalSignalDSL.g:11635:1: ( ( rule__XSwitchExpression__Group_2_1_0_0__0 ) )
+            // InternalSignalDSL.g:11636:2: ( rule__XSwitchExpression__Group_2_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0()); 
             }
-            // InternalSignalDSL.g:11609:2: ( rule__XSwitchExpression__Group_2_1_0_0__0 )
-            // InternalSignalDSL.g:11609:3: rule__XSwitchExpression__Group_2_1_0_0__0
+            // InternalSignalDSL.g:11637:2: ( rule__XSwitchExpression__Group_2_1_0_0__0 )
+            // InternalSignalDSL.g:11637:3: rule__XSwitchExpression__Group_2_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_1_0_0__0();
@@ -39005,14 +39049,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__0"
-    // InternalSignalDSL.g:11618:1: rule__XSwitchExpression__Group_2_1_0_0__0 : rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1 ;
+    // InternalSignalDSL.g:11646:1: rule__XSwitchExpression__Group_2_1_0_0__0 : rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1 ;
     public final void rule__XSwitchExpression__Group_2_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11622:1: ( rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1 )
-            // InternalSignalDSL.g:11623:2: rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1
+            // InternalSignalDSL.g:11650:1: ( rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1 )
+            // InternalSignalDSL.g:11651:2: rule__XSwitchExpression__Group_2_1_0_0__0__Impl rule__XSwitchExpression__Group_2_1_0_0__1
             {
             pushFollow(FOLLOW_87);
             rule__XSwitchExpression__Group_2_1_0_0__0__Impl();
@@ -39043,23 +39087,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__0__Impl"
-    // InternalSignalDSL.g:11630:1: rule__XSwitchExpression__Group_2_1_0_0__0__Impl : ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) ;
+    // InternalSignalDSL.g:11658:1: rule__XSwitchExpression__Group_2_1_0_0__0__Impl : ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) ;
     public final void rule__XSwitchExpression__Group_2_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11634:1: ( ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) )
-            // InternalSignalDSL.g:11635:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) )
+            // InternalSignalDSL.g:11662:1: ( ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) ) )
+            // InternalSignalDSL.g:11663:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) )
             {
-            // InternalSignalDSL.g:11635:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) )
-            // InternalSignalDSL.g:11636:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 )
+            // InternalSignalDSL.g:11663:1: ( ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 ) )
+            // InternalSignalDSL.g:11664:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0()); 
             }
-            // InternalSignalDSL.g:11637:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 )
-            // InternalSignalDSL.g:11637:3: rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0
+            // InternalSignalDSL.g:11665:2: ( rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 )
+            // InternalSignalDSL.g:11665:3: rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0();
@@ -39094,14 +39138,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__1"
-    // InternalSignalDSL.g:11645:1: rule__XSwitchExpression__Group_2_1_0_0__1 : rule__XSwitchExpression__Group_2_1_0_0__1__Impl ;
+    // InternalSignalDSL.g:11673:1: rule__XSwitchExpression__Group_2_1_0_0__1 : rule__XSwitchExpression__Group_2_1_0_0__1__Impl ;
     public final void rule__XSwitchExpression__Group_2_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11649:1: ( rule__XSwitchExpression__Group_2_1_0_0__1__Impl )
-            // InternalSignalDSL.g:11650:2: rule__XSwitchExpression__Group_2_1_0_0__1__Impl
+            // InternalSignalDSL.g:11677:1: ( rule__XSwitchExpression__Group_2_1_0_0__1__Impl )
+            // InternalSignalDSL.g:11678:2: rule__XSwitchExpression__Group_2_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_2_1_0_0__1__Impl();
@@ -39127,22 +39171,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_2_1_0_0__1__Impl"
-    // InternalSignalDSL.g:11656:1: rule__XSwitchExpression__Group_2_1_0_0__1__Impl : ( ':' ) ;
+    // InternalSignalDSL.g:11684:1: rule__XSwitchExpression__Group_2_1_0_0__1__Impl : ( ':' ) ;
     public final void rule__XSwitchExpression__Group_2_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11660:1: ( ( ':' ) )
-            // InternalSignalDSL.g:11661:1: ( ':' )
+            // InternalSignalDSL.g:11688:1: ( ( ':' ) )
+            // InternalSignalDSL.g:11689:1: ( ':' )
             {
-            // InternalSignalDSL.g:11661:1: ( ':' )
-            // InternalSignalDSL.g:11662:2: ':'
+            // InternalSignalDSL.g:11689:1: ( ':' )
+            // InternalSignalDSL.g:11690:2: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); 
             }
-            match(input,85,FOLLOW_2); if (state.failed) return ;
+            match(input,82,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); 
             }
@@ -39168,14 +39212,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_5__0"
-    // InternalSignalDSL.g:11672:1: rule__XSwitchExpression__Group_5__0 : rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1 ;
+    // InternalSignalDSL.g:11700:1: rule__XSwitchExpression__Group_5__0 : rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1 ;
     public final void rule__XSwitchExpression__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11676:1: ( rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1 )
-            // InternalSignalDSL.g:11677:2: rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1
+            // InternalSignalDSL.g:11704:1: ( rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1 )
+            // InternalSignalDSL.g:11705:2: rule__XSwitchExpression__Group_5__0__Impl rule__XSwitchExpression__Group_5__1
             {
             pushFollow(FOLLOW_87);
             rule__XSwitchExpression__Group_5__0__Impl();
@@ -39206,22 +39250,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_5__0__Impl"
-    // InternalSignalDSL.g:11684:1: rule__XSwitchExpression__Group_5__0__Impl : ( 'default' ) ;
+    // InternalSignalDSL.g:11712:1: rule__XSwitchExpression__Group_5__0__Impl : ( 'default' ) ;
     public final void rule__XSwitchExpression__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11688:1: ( ( 'default' ) )
-            // InternalSignalDSL.g:11689:1: ( 'default' )
+            // InternalSignalDSL.g:11716:1: ( ( 'default' ) )
+            // InternalSignalDSL.g:11717:1: ( 'default' )
             {
-            // InternalSignalDSL.g:11689:1: ( 'default' )
-            // InternalSignalDSL.g:11690:2: 'default'
+            // InternalSignalDSL.g:11717:1: ( 'default' )
+            // InternalSignalDSL.g:11718:2: 'default'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); 
             }
-            match(input,86,FOLLOW_2); if (state.failed) return ;
+            match(input,83,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); 
             }
@@ -39247,14 +39291,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_5__1"
-    // InternalSignalDSL.g:11699:1: rule__XSwitchExpression__Group_5__1 : rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2 ;
+    // InternalSignalDSL.g:11727:1: rule__XSwitchExpression__Group_5__1 : rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2 ;
     public final void rule__XSwitchExpression__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11703:1: ( rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2 )
-            // InternalSignalDSL.g:11704:2: rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2
+            // InternalSignalDSL.g:11731:1: ( rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2 )
+            // InternalSignalDSL.g:11732:2: rule__XSwitchExpression__Group_5__1__Impl rule__XSwitchExpression__Group_5__2
             {
             pushFollow(FOLLOW_35);
             rule__XSwitchExpression__Group_5__1__Impl();
@@ -39285,22 +39329,22 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_5__1__Impl"
-    // InternalSignalDSL.g:11711:1: rule__XSwitchExpression__Group_5__1__Impl : ( ':' ) ;
+    // InternalSignalDSL.g:11739:1: rule__XSwitchExpression__Group_5__1__Impl : ( ':' ) ;
     public final void rule__XSwitchExpression__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11715:1: ( ( ':' ) )
-            // InternalSignalDSL.g:11716:1: ( ':' )
+            // InternalSignalDSL.g:11743:1: ( ( ':' ) )
+            // InternalSignalDSL.g:11744:1: ( ':' )
             {
-            // InternalSignalDSL.g:11716:1: ( ':' )
-            // InternalSignalDSL.g:11717:2: ':'
+            // InternalSignalDSL.g:11744:1: ( ':' )
+            // InternalSignalDSL.g:11745:2: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); 
             }
-            match(input,85,FOLLOW_2); if (state.failed) return ;
+            match(input,82,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); 
             }
@@ -39326,14 +39370,14 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_5__2"
-    // InternalSignalDSL.g:11726:1: rule__XSwitchExpression__Group_5__2 : rule__XSwitchExpression__Group_5__2__Impl ;
+    // InternalSignalDSL.g:11754:1: rule__XSwitchExpression__Group_5__2 : rule__XSwitchExpression__Group_5__2__Impl ;
     public final void rule__XSwitchExpression__Group_5__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11730:1: ( rule__XSwitchExpression__Group_5__2__Impl )
-            // InternalSignalDSL.g:11731:2: rule__XSwitchExpression__Group_5__2__Impl
+            // InternalSignalDSL.g:11758:1: ( rule__XSwitchExpression__Group_5__2__Impl )
+            // InternalSignalDSL.g:11759:2: rule__XSwitchExpression__Group_5__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__Group_5__2__Impl();
@@ -39359,23 +39403,23 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__Group_5__2__Impl"
-    // InternalSignalDSL.g:11737:1: rule__XSwitchExpression__Group_5__2__Impl : ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) ;
+    // InternalSignalDSL.g:11765:1: rule__XSwitchExpression__Group_5__2__Impl : ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) ;
     public final void rule__XSwitchExpression__Group_5__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11741:1: ( ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) )
-            // InternalSignalDSL.g:11742:1: ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) )
+            // InternalSignalDSL.g:11769:1: ( ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) ) )
+            // InternalSignalDSL.g:11770:1: ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) )
             {
-            // InternalSignalDSL.g:11742:1: ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) )
-            // InternalSignalDSL.g:11743:2: ( rule__XSwitchExpression__DefaultAssignment_5_2 )
+            // InternalSignalDSL.g:11770:1: ( ( rule__XSwitchExpression__DefaultAssignment_5_2 ) )
+            // InternalSignalDSL.g:11771:2: ( rule__XSwitchExpression__DefaultAssignment_5_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2()); 
             }
-            // InternalSignalDSL.g:11744:2: ( rule__XSwitchExpression__DefaultAssignment_5_2 )
-            // InternalSignalDSL.g:11744:3: rule__XSwitchExpression__DefaultAssignment_5_2
+            // InternalSignalDSL.g:11772:2: ( rule__XSwitchExpression__DefaultAssignment_5_2 )
+            // InternalSignalDSL.g:11772:3: rule__XSwitchExpression__DefaultAssignment_5_2
             {
             pushFollow(FOLLOW_2);
             rule__XSwitchExpression__DefaultAssignment_5_2();
@@ -39410,14 +39454,14 @@
 
 
     // $ANTLR start "rule__XCasePart__Group__0"
-    // InternalSignalDSL.g:11753:1: rule__XCasePart__Group__0 : rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1 ;
+    // InternalSignalDSL.g:11781:1: rule__XCasePart__Group__0 : rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1 ;
     public final void rule__XCasePart__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11757:1: ( rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1 )
-            // InternalSignalDSL.g:11758:2: rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1
+            // InternalSignalDSL.g:11785:1: ( rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1 )
+            // InternalSignalDSL.g:11786:2: rule__XCasePart__Group__0__Impl rule__XCasePart__Group__1
             {
             pushFollow(FOLLOW_88);
             rule__XCasePart__Group__0__Impl();
@@ -39448,23 +39492,23 @@
 
 
     // $ANTLR start "rule__XCasePart__Group__0__Impl"
-    // InternalSignalDSL.g:11765:1: rule__XCasePart__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:11793:1: rule__XCasePart__Group__0__Impl : ( () ) ;
     public final void rule__XCasePart__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11769:1: ( ( () ) )
-            // InternalSignalDSL.g:11770:1: ( () )
+            // InternalSignalDSL.g:11797:1: ( ( () ) )
+            // InternalSignalDSL.g:11798:1: ( () )
             {
-            // InternalSignalDSL.g:11770:1: ( () )
-            // InternalSignalDSL.g:11771:2: ()
+            // InternalSignalDSL.g:11798:1: ( () )
+            // InternalSignalDSL.g:11799:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getXCasePartAction_0()); 
             }
-            // InternalSignalDSL.g:11772:2: ()
-            // InternalSignalDSL.g:11772:3: 
+            // InternalSignalDSL.g:11800:2: ()
+            // InternalSignalDSL.g:11800:3: 
             {
             }
 
@@ -39489,14 +39533,14 @@
 
 
     // $ANTLR start "rule__XCasePart__Group__1"
-    // InternalSignalDSL.g:11780:1: rule__XCasePart__Group__1 : rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2 ;
+    // InternalSignalDSL.g:11808:1: rule__XCasePart__Group__1 : rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2 ;
     public final void rule__XCasePart__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11784:1: ( rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2 )
-            // InternalSignalDSL.g:11785:2: rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2
+            // InternalSignalDSL.g:11812:1: ( rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2 )
+            // InternalSignalDSL.g:11813:2: rule__XCasePart__Group__1__Impl rule__XCasePart__Group__2
             {
             pushFollow(FOLLOW_88);
             rule__XCasePart__Group__1__Impl();
@@ -39527,31 +39571,31 @@
 
 
     // $ANTLR start "rule__XCasePart__Group__1__Impl"
-    // InternalSignalDSL.g:11792:1: rule__XCasePart__Group__1__Impl : ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) ;
+    // InternalSignalDSL.g:11820:1: rule__XCasePart__Group__1__Impl : ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) ;
     public final void rule__XCasePart__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11796:1: ( ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) )
-            // InternalSignalDSL.g:11797:1: ( ( rule__XCasePart__TypeGuardAssignment_1 )? )
+            // InternalSignalDSL.g:11824:1: ( ( ( rule__XCasePart__TypeGuardAssignment_1 )? ) )
+            // InternalSignalDSL.g:11825:1: ( ( rule__XCasePart__TypeGuardAssignment_1 )? )
             {
-            // InternalSignalDSL.g:11797:1: ( ( rule__XCasePart__TypeGuardAssignment_1 )? )
-            // InternalSignalDSL.g:11798:2: ( rule__XCasePart__TypeGuardAssignment_1 )?
+            // InternalSignalDSL.g:11825:1: ( ( rule__XCasePart__TypeGuardAssignment_1 )? )
+            // InternalSignalDSL.g:11826:2: ( rule__XCasePart__TypeGuardAssignment_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1()); 
             }
-            // InternalSignalDSL.g:11799:2: ( rule__XCasePart__TypeGuardAssignment_1 )?
-            int alt101=2;
-            int LA101_0 = input.LA(1);
+            // InternalSignalDSL.g:11827:2: ( rule__XCasePart__TypeGuardAssignment_1 )?
+            int alt102=2;
+            int LA102_0 = input.LA(1);
 
-            if ( (LA101_0==RULE_ID||LA101_0==31||LA101_0==74) ) {
-                alt101=1;
+            if ( (LA102_0==RULE_ID||LA102_0==31||LA102_0==71) ) {
+                alt102=1;
             }
-            switch (alt101) {
+            switch (alt102) {
                 case 1 :
-                    // InternalSignalDSL.g:11799:3: rule__XCasePart__TypeGuardAssignment_1
+                    // InternalSignalDSL.g:11827:3: rule__XCasePart__TypeGuardAssignment_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XCasePart__TypeGuardAssignment_1();
@@ -39589,14 +39633,14 @@
 
 
     // $ANTLR start "rule__XCasePart__Group__2"
-    // InternalSignalDSL.g:11807:1: rule__XCasePart__Group__2 : rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3 ;
+    // InternalSignalDSL.g:11835:1: rule__XCasePart__Group__2 : rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3 ;
     public final void rule__XCasePart__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11811:1: ( rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3 )
-            // InternalSignalDSL.g:11812:2: rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3
+            // InternalSignalDSL.g:11839:1: ( rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3 )
+            // InternalSignalDSL.g:11840:2: rule__XCasePart__Group__2__Impl rule__XCasePart__Group__3
             {
             pushFollow(FOLLOW_88);
             rule__XCasePart__Group__2__Impl();
@@ -39627,31 +39671,31 @@
 
 
     // $ANTLR start "rule__XCasePart__Group__2__Impl"
-    // InternalSignalDSL.g:11819:1: rule__XCasePart__Group__2__Impl : ( ( rule__XCasePart__Group_2__0 )? ) ;
+    // InternalSignalDSL.g:11847:1: rule__XCasePart__Group__2__Impl : ( ( rule__XCasePart__Group_2__0 )? ) ;
     public final void rule__XCasePart__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11823:1: ( ( ( rule__XCasePart__Group_2__0 )? ) )
-            // InternalSignalDSL.g:11824:1: ( ( rule__XCasePart__Group_2__0 )? )
+            // InternalSignalDSL.g:11851:1: ( ( ( rule__XCasePart__Group_2__0 )? ) )
+            // InternalSignalDSL.g:11852:1: ( ( rule__XCasePart__Group_2__0 )? )
             {
-            // InternalSignalDSL.g:11824:1: ( ( rule__XCasePart__Group_2__0 )? )
-            // InternalSignalDSL.g:11825:2: ( rule__XCasePart__Group_2__0 )?
+            // InternalSignalDSL.g:11852:1: ( ( rule__XCasePart__Group_2__0 )? )
+            // InternalSignalDSL.g:11853:2: ( rule__XCasePart__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getGroup_2()); 
             }
-            // InternalSignalDSL.g:11826:2: ( rule__XCasePart__Group_2__0 )?
-            int alt102=2;
-            int LA102_0 = input.LA(1);
+            // InternalSignalDSL.g:11854:2: ( rule__XCasePart__Group_2__0 )?
+            int alt103=2;
+            int LA103_0 = input.LA(1);
 
-            if ( (LA102_0==87) ) {
-                alt102=1;
+            if ( (LA103_0==84) ) {
+                alt103=1;
             }
-            switch (alt102) {
+            switch (alt103) {
                 case 1 :
-                    // InternalSignalDSL.g:11826:3: rule__XCasePart__Group_2__0
+                    // InternalSignalDSL.g:11854:3: rule__XCasePart__Group_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XCasePart__Group_2__0();
@@ -39689,14 +39733,14 @@
 
 
     // $ANTLR start "rule__XCasePart__Group__3"
-    // InternalSignalDSL.g:11834:1: rule__XCasePart__Group__3 : rule__XCasePart__Group__3__Impl ;
+    // InternalSignalDSL.g:11862:1: rule__XCasePart__Group__3 : rule__XCasePart__Group__3__Impl ;
     public final void rule__XCasePart__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11838:1: ( rule__XCasePart__Group__3__Impl )
-            // InternalSignalDSL.g:11839:2: rule__XCasePart__Group__3__Impl
+            // InternalSignalDSL.g:11866:1: ( rule__XCasePart__Group__3__Impl )
+            // InternalSignalDSL.g:11867:2: rule__XCasePart__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XCasePart__Group__3__Impl();
@@ -39722,23 +39766,23 @@
 
 
     // $ANTLR start "rule__XCasePart__Group__3__Impl"
-    // InternalSignalDSL.g:11845:1: rule__XCasePart__Group__3__Impl : ( ( rule__XCasePart__Alternatives_3 ) ) ;
+    // InternalSignalDSL.g:11873:1: rule__XCasePart__Group__3__Impl : ( ( rule__XCasePart__Alternatives_3 ) ) ;
     public final void rule__XCasePart__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11849:1: ( ( ( rule__XCasePart__Alternatives_3 ) ) )
-            // InternalSignalDSL.g:11850:1: ( ( rule__XCasePart__Alternatives_3 ) )
+            // InternalSignalDSL.g:11877:1: ( ( ( rule__XCasePart__Alternatives_3 ) ) )
+            // InternalSignalDSL.g:11878:1: ( ( rule__XCasePart__Alternatives_3 ) )
             {
-            // InternalSignalDSL.g:11850:1: ( ( rule__XCasePart__Alternatives_3 ) )
-            // InternalSignalDSL.g:11851:2: ( rule__XCasePart__Alternatives_3 )
+            // InternalSignalDSL.g:11878:1: ( ( rule__XCasePart__Alternatives_3 ) )
+            // InternalSignalDSL.g:11879:2: ( rule__XCasePart__Alternatives_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getAlternatives_3()); 
             }
-            // InternalSignalDSL.g:11852:2: ( rule__XCasePart__Alternatives_3 )
-            // InternalSignalDSL.g:11852:3: rule__XCasePart__Alternatives_3
+            // InternalSignalDSL.g:11880:2: ( rule__XCasePart__Alternatives_3 )
+            // InternalSignalDSL.g:11880:3: rule__XCasePart__Alternatives_3
             {
             pushFollow(FOLLOW_2);
             rule__XCasePart__Alternatives_3();
@@ -39773,14 +39817,14 @@
 
 
     // $ANTLR start "rule__XCasePart__Group_2__0"
-    // InternalSignalDSL.g:11861:1: rule__XCasePart__Group_2__0 : rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1 ;
+    // InternalSignalDSL.g:11889:1: rule__XCasePart__Group_2__0 : rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1 ;
     public final void rule__XCasePart__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11865:1: ( rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1 )
-            // InternalSignalDSL.g:11866:2: rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1
+            // InternalSignalDSL.g:11893:1: ( rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1 )
+            // InternalSignalDSL.g:11894:2: rule__XCasePart__Group_2__0__Impl rule__XCasePart__Group_2__1
             {
             pushFollow(FOLLOW_35);
             rule__XCasePart__Group_2__0__Impl();
@@ -39811,22 +39855,22 @@
 
 
     // $ANTLR start "rule__XCasePart__Group_2__0__Impl"
-    // InternalSignalDSL.g:11873:1: rule__XCasePart__Group_2__0__Impl : ( 'case' ) ;
+    // InternalSignalDSL.g:11901:1: rule__XCasePart__Group_2__0__Impl : ( 'case' ) ;
     public final void rule__XCasePart__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11877:1: ( ( 'case' ) )
-            // InternalSignalDSL.g:11878:1: ( 'case' )
+            // InternalSignalDSL.g:11905:1: ( ( 'case' ) )
+            // InternalSignalDSL.g:11906:1: ( 'case' )
             {
-            // InternalSignalDSL.g:11878:1: ( 'case' )
-            // InternalSignalDSL.g:11879:2: 'case'
+            // InternalSignalDSL.g:11906:1: ( 'case' )
+            // InternalSignalDSL.g:11907:2: 'case'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); 
             }
-            match(input,87,FOLLOW_2); if (state.failed) return ;
+            match(input,84,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); 
             }
@@ -39852,14 +39896,14 @@
 
 
     // $ANTLR start "rule__XCasePart__Group_2__1"
-    // InternalSignalDSL.g:11888:1: rule__XCasePart__Group_2__1 : rule__XCasePart__Group_2__1__Impl ;
+    // InternalSignalDSL.g:11916:1: rule__XCasePart__Group_2__1 : rule__XCasePart__Group_2__1__Impl ;
     public final void rule__XCasePart__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11892:1: ( rule__XCasePart__Group_2__1__Impl )
-            // InternalSignalDSL.g:11893:2: rule__XCasePart__Group_2__1__Impl
+            // InternalSignalDSL.g:11920:1: ( rule__XCasePart__Group_2__1__Impl )
+            // InternalSignalDSL.g:11921:2: rule__XCasePart__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XCasePart__Group_2__1__Impl();
@@ -39885,23 +39929,23 @@
 
 
     // $ANTLR start "rule__XCasePart__Group_2__1__Impl"
-    // InternalSignalDSL.g:11899:1: rule__XCasePart__Group_2__1__Impl : ( ( rule__XCasePart__CaseAssignment_2_1 ) ) ;
+    // InternalSignalDSL.g:11927:1: rule__XCasePart__Group_2__1__Impl : ( ( rule__XCasePart__CaseAssignment_2_1 ) ) ;
     public final void rule__XCasePart__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11903:1: ( ( ( rule__XCasePart__CaseAssignment_2_1 ) ) )
-            // InternalSignalDSL.g:11904:1: ( ( rule__XCasePart__CaseAssignment_2_1 ) )
+            // InternalSignalDSL.g:11931:1: ( ( ( rule__XCasePart__CaseAssignment_2_1 ) ) )
+            // InternalSignalDSL.g:11932:1: ( ( rule__XCasePart__CaseAssignment_2_1 ) )
             {
-            // InternalSignalDSL.g:11904:1: ( ( rule__XCasePart__CaseAssignment_2_1 ) )
-            // InternalSignalDSL.g:11905:2: ( rule__XCasePart__CaseAssignment_2_1 )
+            // InternalSignalDSL.g:11932:1: ( ( rule__XCasePart__CaseAssignment_2_1 ) )
+            // InternalSignalDSL.g:11933:2: ( rule__XCasePart__CaseAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1()); 
             }
-            // InternalSignalDSL.g:11906:2: ( rule__XCasePart__CaseAssignment_2_1 )
-            // InternalSignalDSL.g:11906:3: rule__XCasePart__CaseAssignment_2_1
+            // InternalSignalDSL.g:11934:2: ( rule__XCasePart__CaseAssignment_2_1 )
+            // InternalSignalDSL.g:11934:3: rule__XCasePart__CaseAssignment_2_1
             {
             pushFollow(FOLLOW_2);
             rule__XCasePart__CaseAssignment_2_1();
@@ -39936,14 +39980,14 @@
 
 
     // $ANTLR start "rule__XCasePart__Group_3_0__0"
-    // InternalSignalDSL.g:11915:1: rule__XCasePart__Group_3_0__0 : rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1 ;
+    // InternalSignalDSL.g:11943:1: rule__XCasePart__Group_3_0__0 : rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1 ;
     public final void rule__XCasePart__Group_3_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11919:1: ( rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1 )
-            // InternalSignalDSL.g:11920:2: rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1
+            // InternalSignalDSL.g:11947:1: ( rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1 )
+            // InternalSignalDSL.g:11948:2: rule__XCasePart__Group_3_0__0__Impl rule__XCasePart__Group_3_0__1
             {
             pushFollow(FOLLOW_35);
             rule__XCasePart__Group_3_0__0__Impl();
@@ -39974,22 +40018,22 @@
 
 
     // $ANTLR start "rule__XCasePart__Group_3_0__0__Impl"
-    // InternalSignalDSL.g:11927:1: rule__XCasePart__Group_3_0__0__Impl : ( ':' ) ;
+    // InternalSignalDSL.g:11955:1: rule__XCasePart__Group_3_0__0__Impl : ( ':' ) ;
     public final void rule__XCasePart__Group_3_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11931:1: ( ( ':' ) )
-            // InternalSignalDSL.g:11932:1: ( ':' )
+            // InternalSignalDSL.g:11959:1: ( ( ':' ) )
+            // InternalSignalDSL.g:11960:1: ( ':' )
             {
-            // InternalSignalDSL.g:11932:1: ( ':' )
-            // InternalSignalDSL.g:11933:2: ':'
+            // InternalSignalDSL.g:11960:1: ( ':' )
+            // InternalSignalDSL.g:11961:2: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); 
             }
-            match(input,85,FOLLOW_2); if (state.failed) return ;
+            match(input,82,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); 
             }
@@ -40015,14 +40059,14 @@
 
 
     // $ANTLR start "rule__XCasePart__Group_3_0__1"
-    // InternalSignalDSL.g:11942:1: rule__XCasePart__Group_3_0__1 : rule__XCasePart__Group_3_0__1__Impl ;
+    // InternalSignalDSL.g:11970:1: rule__XCasePart__Group_3_0__1 : rule__XCasePart__Group_3_0__1__Impl ;
     public final void rule__XCasePart__Group_3_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11946:1: ( rule__XCasePart__Group_3_0__1__Impl )
-            // InternalSignalDSL.g:11947:2: rule__XCasePart__Group_3_0__1__Impl
+            // InternalSignalDSL.g:11974:1: ( rule__XCasePart__Group_3_0__1__Impl )
+            // InternalSignalDSL.g:11975:2: rule__XCasePart__Group_3_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XCasePart__Group_3_0__1__Impl();
@@ -40048,23 +40092,23 @@
 
 
     // $ANTLR start "rule__XCasePart__Group_3_0__1__Impl"
-    // InternalSignalDSL.g:11953:1: rule__XCasePart__Group_3_0__1__Impl : ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) ;
+    // InternalSignalDSL.g:11981:1: rule__XCasePart__Group_3_0__1__Impl : ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) ;
     public final void rule__XCasePart__Group_3_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11957:1: ( ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) )
-            // InternalSignalDSL.g:11958:1: ( ( rule__XCasePart__ThenAssignment_3_0_1 ) )
+            // InternalSignalDSL.g:11985:1: ( ( ( rule__XCasePart__ThenAssignment_3_0_1 ) ) )
+            // InternalSignalDSL.g:11986:1: ( ( rule__XCasePart__ThenAssignment_3_0_1 ) )
             {
-            // InternalSignalDSL.g:11958:1: ( ( rule__XCasePart__ThenAssignment_3_0_1 ) )
-            // InternalSignalDSL.g:11959:2: ( rule__XCasePart__ThenAssignment_3_0_1 )
+            // InternalSignalDSL.g:11986:1: ( ( rule__XCasePart__ThenAssignment_3_0_1 ) )
+            // InternalSignalDSL.g:11987:2: ( rule__XCasePart__ThenAssignment_3_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1()); 
             }
-            // InternalSignalDSL.g:11960:2: ( rule__XCasePart__ThenAssignment_3_0_1 )
-            // InternalSignalDSL.g:11960:3: rule__XCasePart__ThenAssignment_3_0_1
+            // InternalSignalDSL.g:11988:2: ( rule__XCasePart__ThenAssignment_3_0_1 )
+            // InternalSignalDSL.g:11988:3: rule__XCasePart__ThenAssignment_3_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XCasePart__ThenAssignment_3_0_1();
@@ -40099,14 +40143,14 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group__0"
-    // InternalSignalDSL.g:11969:1: rule__XForLoopExpression__Group__0 : rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1 ;
+    // InternalSignalDSL.g:11997:1: rule__XForLoopExpression__Group__0 : rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1 ;
     public final void rule__XForLoopExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11973:1: ( rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1 )
-            // InternalSignalDSL.g:11974:2: rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1
+            // InternalSignalDSL.g:12001:1: ( rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1 )
+            // InternalSignalDSL.g:12002:2: rule__XForLoopExpression__Group__0__Impl rule__XForLoopExpression__Group__1
             {
             pushFollow(FOLLOW_35);
             rule__XForLoopExpression__Group__0__Impl();
@@ -40137,23 +40181,23 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group__0__Impl"
-    // InternalSignalDSL.g:11981:1: rule__XForLoopExpression__Group__0__Impl : ( ( rule__XForLoopExpression__Group_0__0 ) ) ;
+    // InternalSignalDSL.g:12009:1: rule__XForLoopExpression__Group__0__Impl : ( ( rule__XForLoopExpression__Group_0__0 ) ) ;
     public final void rule__XForLoopExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:11985:1: ( ( ( rule__XForLoopExpression__Group_0__0 ) ) )
-            // InternalSignalDSL.g:11986:1: ( ( rule__XForLoopExpression__Group_0__0 ) )
+            // InternalSignalDSL.g:12013:1: ( ( ( rule__XForLoopExpression__Group_0__0 ) ) )
+            // InternalSignalDSL.g:12014:1: ( ( rule__XForLoopExpression__Group_0__0 ) )
             {
-            // InternalSignalDSL.g:11986:1: ( ( rule__XForLoopExpression__Group_0__0 ) )
-            // InternalSignalDSL.g:11987:2: ( rule__XForLoopExpression__Group_0__0 )
+            // InternalSignalDSL.g:12014:1: ( ( rule__XForLoopExpression__Group_0__0 ) )
+            // InternalSignalDSL.g:12015:2: ( rule__XForLoopExpression__Group_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getGroup_0()); 
             }
-            // InternalSignalDSL.g:11988:2: ( rule__XForLoopExpression__Group_0__0 )
-            // InternalSignalDSL.g:11988:3: rule__XForLoopExpression__Group_0__0
+            // InternalSignalDSL.g:12016:2: ( rule__XForLoopExpression__Group_0__0 )
+            // InternalSignalDSL.g:12016:3: rule__XForLoopExpression__Group_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XForLoopExpression__Group_0__0();
@@ -40188,14 +40232,14 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group__1"
-    // InternalSignalDSL.g:11996:1: rule__XForLoopExpression__Group__1 : rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2 ;
+    // InternalSignalDSL.g:12024:1: rule__XForLoopExpression__Group__1 : rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2 ;
     public final void rule__XForLoopExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12000:1: ( rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2 )
-            // InternalSignalDSL.g:12001:2: rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2
+            // InternalSignalDSL.g:12028:1: ( rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2 )
+            // InternalSignalDSL.g:12029:2: rule__XForLoopExpression__Group__1__Impl rule__XForLoopExpression__Group__2
             {
             pushFollow(FOLLOW_80);
             rule__XForLoopExpression__Group__1__Impl();
@@ -40226,23 +40270,23 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group__1__Impl"
-    // InternalSignalDSL.g:12008:1: rule__XForLoopExpression__Group__1__Impl : ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) ;
+    // InternalSignalDSL.g:12036:1: rule__XForLoopExpression__Group__1__Impl : ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) ;
     public final void rule__XForLoopExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12012:1: ( ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) )
-            // InternalSignalDSL.g:12013:1: ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) )
+            // InternalSignalDSL.g:12040:1: ( ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) ) )
+            // InternalSignalDSL.g:12041:1: ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) )
             {
-            // InternalSignalDSL.g:12013:1: ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) )
-            // InternalSignalDSL.g:12014:2: ( rule__XForLoopExpression__ForExpressionAssignment_1 )
+            // InternalSignalDSL.g:12041:1: ( ( rule__XForLoopExpression__ForExpressionAssignment_1 ) )
+            // InternalSignalDSL.g:12042:2: ( rule__XForLoopExpression__ForExpressionAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1()); 
             }
-            // InternalSignalDSL.g:12015:2: ( rule__XForLoopExpression__ForExpressionAssignment_1 )
-            // InternalSignalDSL.g:12015:3: rule__XForLoopExpression__ForExpressionAssignment_1
+            // InternalSignalDSL.g:12043:2: ( rule__XForLoopExpression__ForExpressionAssignment_1 )
+            // InternalSignalDSL.g:12043:3: rule__XForLoopExpression__ForExpressionAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__XForLoopExpression__ForExpressionAssignment_1();
@@ -40277,14 +40321,14 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group__2"
-    // InternalSignalDSL.g:12023:1: rule__XForLoopExpression__Group__2 : rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3 ;
+    // InternalSignalDSL.g:12051:1: rule__XForLoopExpression__Group__2 : rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3 ;
     public final void rule__XForLoopExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12027:1: ( rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3 )
-            // InternalSignalDSL.g:12028:2: rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3
+            // InternalSignalDSL.g:12055:1: ( rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3 )
+            // InternalSignalDSL.g:12056:2: rule__XForLoopExpression__Group__2__Impl rule__XForLoopExpression__Group__3
             {
             pushFollow(FOLLOW_35);
             rule__XForLoopExpression__Group__2__Impl();
@@ -40315,22 +40359,22 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group__2__Impl"
-    // InternalSignalDSL.g:12035:1: rule__XForLoopExpression__Group__2__Impl : ( ')' ) ;
+    // InternalSignalDSL.g:12063:1: rule__XForLoopExpression__Group__2__Impl : ( ')' ) ;
     public final void rule__XForLoopExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12039:1: ( ( ')' ) )
-            // InternalSignalDSL.g:12040:1: ( ')' )
+            // InternalSignalDSL.g:12067:1: ( ( ')' ) )
+            // InternalSignalDSL.g:12068:1: ( ')' )
             {
-            // InternalSignalDSL.g:12040:1: ( ')' )
-            // InternalSignalDSL.g:12041:2: ')'
+            // InternalSignalDSL.g:12068:1: ( ')' )
+            // InternalSignalDSL.g:12069:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); 
             }
-            match(input,75,FOLLOW_2); if (state.failed) return ;
+            match(input,72,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); 
             }
@@ -40356,14 +40400,14 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group__3"
-    // InternalSignalDSL.g:12050:1: rule__XForLoopExpression__Group__3 : rule__XForLoopExpression__Group__3__Impl ;
+    // InternalSignalDSL.g:12078:1: rule__XForLoopExpression__Group__3 : rule__XForLoopExpression__Group__3__Impl ;
     public final void rule__XForLoopExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12054:1: ( rule__XForLoopExpression__Group__3__Impl )
-            // InternalSignalDSL.g:12055:2: rule__XForLoopExpression__Group__3__Impl
+            // InternalSignalDSL.g:12082:1: ( rule__XForLoopExpression__Group__3__Impl )
+            // InternalSignalDSL.g:12083:2: rule__XForLoopExpression__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XForLoopExpression__Group__3__Impl();
@@ -40389,23 +40433,23 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group__3__Impl"
-    // InternalSignalDSL.g:12061:1: rule__XForLoopExpression__Group__3__Impl : ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) ;
+    // InternalSignalDSL.g:12089:1: rule__XForLoopExpression__Group__3__Impl : ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) ;
     public final void rule__XForLoopExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12065:1: ( ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) )
-            // InternalSignalDSL.g:12066:1: ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) )
+            // InternalSignalDSL.g:12093:1: ( ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) ) )
+            // InternalSignalDSL.g:12094:1: ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) )
             {
-            // InternalSignalDSL.g:12066:1: ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) )
-            // InternalSignalDSL.g:12067:2: ( rule__XForLoopExpression__EachExpressionAssignment_3 )
+            // InternalSignalDSL.g:12094:1: ( ( rule__XForLoopExpression__EachExpressionAssignment_3 ) )
+            // InternalSignalDSL.g:12095:2: ( rule__XForLoopExpression__EachExpressionAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3()); 
             }
-            // InternalSignalDSL.g:12068:2: ( rule__XForLoopExpression__EachExpressionAssignment_3 )
-            // InternalSignalDSL.g:12068:3: rule__XForLoopExpression__EachExpressionAssignment_3
+            // InternalSignalDSL.g:12096:2: ( rule__XForLoopExpression__EachExpressionAssignment_3 )
+            // InternalSignalDSL.g:12096:3: rule__XForLoopExpression__EachExpressionAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__XForLoopExpression__EachExpressionAssignment_3();
@@ -40440,14 +40484,14 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0__0"
-    // InternalSignalDSL.g:12077:1: rule__XForLoopExpression__Group_0__0 : rule__XForLoopExpression__Group_0__0__Impl ;
+    // InternalSignalDSL.g:12105:1: rule__XForLoopExpression__Group_0__0 : rule__XForLoopExpression__Group_0__0__Impl ;
     public final void rule__XForLoopExpression__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12081:1: ( rule__XForLoopExpression__Group_0__0__Impl )
-            // InternalSignalDSL.g:12082:2: rule__XForLoopExpression__Group_0__0__Impl
+            // InternalSignalDSL.g:12109:1: ( rule__XForLoopExpression__Group_0__0__Impl )
+            // InternalSignalDSL.g:12110:2: rule__XForLoopExpression__Group_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XForLoopExpression__Group_0__0__Impl();
@@ -40473,23 +40517,23 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0__0__Impl"
-    // InternalSignalDSL.g:12088:1: rule__XForLoopExpression__Group_0__0__Impl : ( ( rule__XForLoopExpression__Group_0_0__0 ) ) ;
+    // InternalSignalDSL.g:12116:1: rule__XForLoopExpression__Group_0__0__Impl : ( ( rule__XForLoopExpression__Group_0_0__0 ) ) ;
     public final void rule__XForLoopExpression__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12092:1: ( ( ( rule__XForLoopExpression__Group_0_0__0 ) ) )
-            // InternalSignalDSL.g:12093:1: ( ( rule__XForLoopExpression__Group_0_0__0 ) )
+            // InternalSignalDSL.g:12120:1: ( ( ( rule__XForLoopExpression__Group_0_0__0 ) ) )
+            // InternalSignalDSL.g:12121:1: ( ( rule__XForLoopExpression__Group_0_0__0 ) )
             {
-            // InternalSignalDSL.g:12093:1: ( ( rule__XForLoopExpression__Group_0_0__0 ) )
-            // InternalSignalDSL.g:12094:2: ( rule__XForLoopExpression__Group_0_0__0 )
+            // InternalSignalDSL.g:12121:1: ( ( rule__XForLoopExpression__Group_0_0__0 ) )
+            // InternalSignalDSL.g:12122:2: ( rule__XForLoopExpression__Group_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0()); 
             }
-            // InternalSignalDSL.g:12095:2: ( rule__XForLoopExpression__Group_0_0__0 )
-            // InternalSignalDSL.g:12095:3: rule__XForLoopExpression__Group_0_0__0
+            // InternalSignalDSL.g:12123:2: ( rule__XForLoopExpression__Group_0_0__0 )
+            // InternalSignalDSL.g:12123:3: rule__XForLoopExpression__Group_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XForLoopExpression__Group_0_0__0();
@@ -40524,14 +40568,14 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__0"
-    // InternalSignalDSL.g:12104:1: rule__XForLoopExpression__Group_0_0__0 : rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1 ;
+    // InternalSignalDSL.g:12132:1: rule__XForLoopExpression__Group_0_0__0 : rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1 ;
     public final void rule__XForLoopExpression__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12108:1: ( rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1 )
-            // InternalSignalDSL.g:12109:2: rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1
+            // InternalSignalDSL.g:12136:1: ( rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1 )
+            // InternalSignalDSL.g:12137:2: rule__XForLoopExpression__Group_0_0__0__Impl rule__XForLoopExpression__Group_0_0__1
             {
             pushFollow(FOLLOW_14);
             rule__XForLoopExpression__Group_0_0__0__Impl();
@@ -40562,23 +40606,23 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__0__Impl"
-    // InternalSignalDSL.g:12116:1: rule__XForLoopExpression__Group_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:12144:1: rule__XForLoopExpression__Group_0_0__0__Impl : ( () ) ;
     public final void rule__XForLoopExpression__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12120:1: ( ( () ) )
-            // InternalSignalDSL.g:12121:1: ( () )
+            // InternalSignalDSL.g:12148:1: ( ( () ) )
+            // InternalSignalDSL.g:12149:1: ( () )
             {
-            // InternalSignalDSL.g:12121:1: ( () )
-            // InternalSignalDSL.g:12122:2: ()
+            // InternalSignalDSL.g:12149:1: ( () )
+            // InternalSignalDSL.g:12150:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0()); 
             }
-            // InternalSignalDSL.g:12123:2: ()
-            // InternalSignalDSL.g:12123:3: 
+            // InternalSignalDSL.g:12151:2: ()
+            // InternalSignalDSL.g:12151:3: 
             {
             }
 
@@ -40603,14 +40647,14 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__1"
-    // InternalSignalDSL.g:12131:1: rule__XForLoopExpression__Group_0_0__1 : rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2 ;
+    // InternalSignalDSL.g:12159:1: rule__XForLoopExpression__Group_0_0__1 : rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2 ;
     public final void rule__XForLoopExpression__Group_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12135:1: ( rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2 )
-            // InternalSignalDSL.g:12136:2: rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2
+            // InternalSignalDSL.g:12163:1: ( rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2 )
+            // InternalSignalDSL.g:12164:2: rule__XForLoopExpression__Group_0_0__1__Impl rule__XForLoopExpression__Group_0_0__2
             {
             pushFollow(FOLLOW_31);
             rule__XForLoopExpression__Group_0_0__1__Impl();
@@ -40641,22 +40685,22 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__1__Impl"
-    // InternalSignalDSL.g:12143:1: rule__XForLoopExpression__Group_0_0__1__Impl : ( 'for' ) ;
+    // InternalSignalDSL.g:12171:1: rule__XForLoopExpression__Group_0_0__1__Impl : ( 'for' ) ;
     public final void rule__XForLoopExpression__Group_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12147:1: ( ( 'for' ) )
-            // InternalSignalDSL.g:12148:1: ( 'for' )
+            // InternalSignalDSL.g:12175:1: ( ( 'for' ) )
+            // InternalSignalDSL.g:12176:1: ( 'for' )
             {
-            // InternalSignalDSL.g:12148:1: ( 'for' )
-            // InternalSignalDSL.g:12149:2: 'for'
+            // InternalSignalDSL.g:12176:1: ( 'for' )
+            // InternalSignalDSL.g:12177:2: 'for'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); 
             }
-            match(input,68,FOLLOW_2); if (state.failed) return ;
+            match(input,64,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); 
             }
@@ -40682,14 +40726,14 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__2"
-    // InternalSignalDSL.g:12158:1: rule__XForLoopExpression__Group_0_0__2 : rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3 ;
+    // InternalSignalDSL.g:12186:1: rule__XForLoopExpression__Group_0_0__2 : rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3 ;
     public final void rule__XForLoopExpression__Group_0_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12162:1: ( rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3 )
-            // InternalSignalDSL.g:12163:2: rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3
+            // InternalSignalDSL.g:12190:1: ( rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3 )
+            // InternalSignalDSL.g:12191:2: rule__XForLoopExpression__Group_0_0__2__Impl rule__XForLoopExpression__Group_0_0__3
             {
             pushFollow(FOLLOW_52);
             rule__XForLoopExpression__Group_0_0__2__Impl();
@@ -40720,22 +40764,22 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__2__Impl"
-    // InternalSignalDSL.g:12170:1: rule__XForLoopExpression__Group_0_0__2__Impl : ( '(' ) ;
+    // InternalSignalDSL.g:12198:1: rule__XForLoopExpression__Group_0_0__2__Impl : ( '(' ) ;
     public final void rule__XForLoopExpression__Group_0_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12174:1: ( ( '(' ) )
-            // InternalSignalDSL.g:12175:1: ( '(' )
+            // InternalSignalDSL.g:12202:1: ( ( '(' ) )
+            // InternalSignalDSL.g:12203:1: ( '(' )
             {
-            // InternalSignalDSL.g:12175:1: ( '(' )
-            // InternalSignalDSL.g:12176:2: '('
+            // InternalSignalDSL.g:12203:1: ( '(' )
+            // InternalSignalDSL.g:12204:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); 
             }
-            match(input,74,FOLLOW_2); if (state.failed) return ;
+            match(input,71,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); 
             }
@@ -40761,14 +40805,14 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__3"
-    // InternalSignalDSL.g:12185:1: rule__XForLoopExpression__Group_0_0__3 : rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4 ;
+    // InternalSignalDSL.g:12213:1: rule__XForLoopExpression__Group_0_0__3 : rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4 ;
     public final void rule__XForLoopExpression__Group_0_0__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12189:1: ( rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4 )
-            // InternalSignalDSL.g:12190:2: rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4
+            // InternalSignalDSL.g:12217:1: ( rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4 )
+            // InternalSignalDSL.g:12218:2: rule__XForLoopExpression__Group_0_0__3__Impl rule__XForLoopExpression__Group_0_0__4
             {
             pushFollow(FOLLOW_87);
             rule__XForLoopExpression__Group_0_0__3__Impl();
@@ -40799,23 +40843,23 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__3__Impl"
-    // InternalSignalDSL.g:12197:1: rule__XForLoopExpression__Group_0_0__3__Impl : ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) ;
+    // InternalSignalDSL.g:12225:1: rule__XForLoopExpression__Group_0_0__3__Impl : ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) ;
     public final void rule__XForLoopExpression__Group_0_0__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12201:1: ( ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) )
-            // InternalSignalDSL.g:12202:1: ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) )
+            // InternalSignalDSL.g:12229:1: ( ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) ) )
+            // InternalSignalDSL.g:12230:1: ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) )
             {
-            // InternalSignalDSL.g:12202:1: ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) )
-            // InternalSignalDSL.g:12203:2: ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 )
+            // InternalSignalDSL.g:12230:1: ( ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 ) )
+            // InternalSignalDSL.g:12231:2: ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3()); 
             }
-            // InternalSignalDSL.g:12204:2: ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 )
-            // InternalSignalDSL.g:12204:3: rule__XForLoopExpression__DeclaredParamAssignment_0_0_3
+            // InternalSignalDSL.g:12232:2: ( rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 )
+            // InternalSignalDSL.g:12232:3: rule__XForLoopExpression__DeclaredParamAssignment_0_0_3
             {
             pushFollow(FOLLOW_2);
             rule__XForLoopExpression__DeclaredParamAssignment_0_0_3();
@@ -40850,14 +40894,14 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__4"
-    // InternalSignalDSL.g:12212:1: rule__XForLoopExpression__Group_0_0__4 : rule__XForLoopExpression__Group_0_0__4__Impl ;
+    // InternalSignalDSL.g:12240:1: rule__XForLoopExpression__Group_0_0__4 : rule__XForLoopExpression__Group_0_0__4__Impl ;
     public final void rule__XForLoopExpression__Group_0_0__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12216:1: ( rule__XForLoopExpression__Group_0_0__4__Impl )
-            // InternalSignalDSL.g:12217:2: rule__XForLoopExpression__Group_0_0__4__Impl
+            // InternalSignalDSL.g:12244:1: ( rule__XForLoopExpression__Group_0_0__4__Impl )
+            // InternalSignalDSL.g:12245:2: rule__XForLoopExpression__Group_0_0__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XForLoopExpression__Group_0_0__4__Impl();
@@ -40883,22 +40927,22 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__Group_0_0__4__Impl"
-    // InternalSignalDSL.g:12223:1: rule__XForLoopExpression__Group_0_0__4__Impl : ( ':' ) ;
+    // InternalSignalDSL.g:12251:1: rule__XForLoopExpression__Group_0_0__4__Impl : ( ':' ) ;
     public final void rule__XForLoopExpression__Group_0_0__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12227:1: ( ( ':' ) )
-            // InternalSignalDSL.g:12228:1: ( ':' )
+            // InternalSignalDSL.g:12255:1: ( ( ':' ) )
+            // InternalSignalDSL.g:12256:1: ( ':' )
             {
-            // InternalSignalDSL.g:12228:1: ( ':' )
-            // InternalSignalDSL.g:12229:2: ':'
+            // InternalSignalDSL.g:12256:1: ( ':' )
+            // InternalSignalDSL.g:12257:2: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); 
             }
-            match(input,85,FOLLOW_2); if (state.failed) return ;
+            match(input,82,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); 
             }
@@ -40924,14 +40968,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__0"
-    // InternalSignalDSL.g:12239:1: rule__XBasicForLoopExpression__Group__0 : rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1 ;
+    // InternalSignalDSL.g:12267:1: rule__XBasicForLoopExpression__Group__0 : rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1 ;
     public final void rule__XBasicForLoopExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12243:1: ( rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1 )
-            // InternalSignalDSL.g:12244:2: rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1
+            // InternalSignalDSL.g:12271:1: ( rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1 )
+            // InternalSignalDSL.g:12272:2: rule__XBasicForLoopExpression__Group__0__Impl rule__XBasicForLoopExpression__Group__1
             {
             pushFollow(FOLLOW_14);
             rule__XBasicForLoopExpression__Group__0__Impl();
@@ -40962,23 +41006,23 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__0__Impl"
-    // InternalSignalDSL.g:12251:1: rule__XBasicForLoopExpression__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:12279:1: rule__XBasicForLoopExpression__Group__0__Impl : ( () ) ;
     public final void rule__XBasicForLoopExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12255:1: ( ( () ) )
-            // InternalSignalDSL.g:12256:1: ( () )
+            // InternalSignalDSL.g:12283:1: ( ( () ) )
+            // InternalSignalDSL.g:12284:1: ( () )
             {
-            // InternalSignalDSL.g:12256:1: ( () )
-            // InternalSignalDSL.g:12257:2: ()
+            // InternalSignalDSL.g:12284:1: ( () )
+            // InternalSignalDSL.g:12285:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0()); 
             }
-            // InternalSignalDSL.g:12258:2: ()
-            // InternalSignalDSL.g:12258:3: 
+            // InternalSignalDSL.g:12286:2: ()
+            // InternalSignalDSL.g:12286:3: 
             {
             }
 
@@ -41003,14 +41047,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__1"
-    // InternalSignalDSL.g:12266:1: rule__XBasicForLoopExpression__Group__1 : rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2 ;
+    // InternalSignalDSL.g:12294:1: rule__XBasicForLoopExpression__Group__1 : rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2 ;
     public final void rule__XBasicForLoopExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12270:1: ( rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2 )
-            // InternalSignalDSL.g:12271:2: rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2
+            // InternalSignalDSL.g:12298:1: ( rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2 )
+            // InternalSignalDSL.g:12299:2: rule__XBasicForLoopExpression__Group__1__Impl rule__XBasicForLoopExpression__Group__2
             {
             pushFollow(FOLLOW_31);
             rule__XBasicForLoopExpression__Group__1__Impl();
@@ -41041,22 +41085,22 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__1__Impl"
-    // InternalSignalDSL.g:12278:1: rule__XBasicForLoopExpression__Group__1__Impl : ( 'for' ) ;
+    // InternalSignalDSL.g:12306:1: rule__XBasicForLoopExpression__Group__1__Impl : ( 'for' ) ;
     public final void rule__XBasicForLoopExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12282:1: ( ( 'for' ) )
-            // InternalSignalDSL.g:12283:1: ( 'for' )
+            // InternalSignalDSL.g:12310:1: ( ( 'for' ) )
+            // InternalSignalDSL.g:12311:1: ( 'for' )
             {
-            // InternalSignalDSL.g:12283:1: ( 'for' )
-            // InternalSignalDSL.g:12284:2: 'for'
+            // InternalSignalDSL.g:12311:1: ( 'for' )
+            // InternalSignalDSL.g:12312:2: 'for'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); 
             }
-            match(input,68,FOLLOW_2); if (state.failed) return ;
+            match(input,64,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); 
             }
@@ -41082,14 +41126,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__2"
-    // InternalSignalDSL.g:12293:1: rule__XBasicForLoopExpression__Group__2 : rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3 ;
+    // InternalSignalDSL.g:12321:1: rule__XBasicForLoopExpression__Group__2 : rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3 ;
     public final void rule__XBasicForLoopExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12297:1: ( rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3 )
-            // InternalSignalDSL.g:12298:2: rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3
+            // InternalSignalDSL.g:12325:1: ( rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3 )
+            // InternalSignalDSL.g:12326:2: rule__XBasicForLoopExpression__Group__2__Impl rule__XBasicForLoopExpression__Group__3
             {
             pushFollow(FOLLOW_89);
             rule__XBasicForLoopExpression__Group__2__Impl();
@@ -41120,22 +41164,22 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__2__Impl"
-    // InternalSignalDSL.g:12305:1: rule__XBasicForLoopExpression__Group__2__Impl : ( '(' ) ;
+    // InternalSignalDSL.g:12333:1: rule__XBasicForLoopExpression__Group__2__Impl : ( '(' ) ;
     public final void rule__XBasicForLoopExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12309:1: ( ( '(' ) )
-            // InternalSignalDSL.g:12310:1: ( '(' )
+            // InternalSignalDSL.g:12337:1: ( ( '(' ) )
+            // InternalSignalDSL.g:12338:1: ( '(' )
             {
-            // InternalSignalDSL.g:12310:1: ( '(' )
-            // InternalSignalDSL.g:12311:2: '('
+            // InternalSignalDSL.g:12338:1: ( '(' )
+            // InternalSignalDSL.g:12339:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); 
             }
-            match(input,74,FOLLOW_2); if (state.failed) return ;
+            match(input,71,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); 
             }
@@ -41161,14 +41205,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__3"
-    // InternalSignalDSL.g:12320:1: rule__XBasicForLoopExpression__Group__3 : rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4 ;
+    // InternalSignalDSL.g:12348:1: rule__XBasicForLoopExpression__Group__3 : rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4 ;
     public final void rule__XBasicForLoopExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12324:1: ( rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4 )
-            // InternalSignalDSL.g:12325:2: rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4
+            // InternalSignalDSL.g:12352:1: ( rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4 )
+            // InternalSignalDSL.g:12353:2: rule__XBasicForLoopExpression__Group__3__Impl rule__XBasicForLoopExpression__Group__4
             {
             pushFollow(FOLLOW_89);
             rule__XBasicForLoopExpression__Group__3__Impl();
@@ -41199,31 +41243,31 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__3__Impl"
-    // InternalSignalDSL.g:12332:1: rule__XBasicForLoopExpression__Group__3__Impl : ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) ;
+    // InternalSignalDSL.g:12360:1: rule__XBasicForLoopExpression__Group__3__Impl : ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) ;
     public final void rule__XBasicForLoopExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12336:1: ( ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) )
-            // InternalSignalDSL.g:12337:1: ( ( rule__XBasicForLoopExpression__Group_3__0 )? )
+            // InternalSignalDSL.g:12364:1: ( ( ( rule__XBasicForLoopExpression__Group_3__0 )? ) )
+            // InternalSignalDSL.g:12365:1: ( ( rule__XBasicForLoopExpression__Group_3__0 )? )
             {
-            // InternalSignalDSL.g:12337:1: ( ( rule__XBasicForLoopExpression__Group_3__0 )? )
-            // InternalSignalDSL.g:12338:2: ( rule__XBasicForLoopExpression__Group_3__0 )?
+            // InternalSignalDSL.g:12365:1: ( ( rule__XBasicForLoopExpression__Group_3__0 )? )
+            // InternalSignalDSL.g:12366:2: ( rule__XBasicForLoopExpression__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3()); 
             }
-            // InternalSignalDSL.g:12339:2: ( rule__XBasicForLoopExpression__Group_3__0 )?
-            int alt103=2;
-            int LA103_0 = input.LA(1);
+            // InternalSignalDSL.g:12367:2: ( rule__XBasicForLoopExpression__Group_3__0 )?
+            int alt104=2;
+            int LA104_0 = input.LA(1);
 
-            if ( ((LA103_0>=RULE_ID && LA103_0<=RULE_STRING)||LA103_0==27||(LA103_0>=34 && LA103_0<=35)||LA103_0==40||(LA103_0>=44 && LA103_0<=50)||LA103_0==64||LA103_0==68||LA103_0==74||(LA103_0>=78 && LA103_0<=79)||LA103_0==82||LA103_0==84||(LA103_0>=88 && LA103_0<=95)||LA103_0==97||(LA103_0>=105 && LA103_0<=106)) ) {
-                alt103=1;
+            if ( ((LA104_0>=RULE_ID && LA104_0<=RULE_STRING)||LA104_0==27||(LA104_0>=34 && LA104_0<=35)||LA104_0==40||(LA104_0>=44 && LA104_0<=50)||LA104_0==60||LA104_0==64||LA104_0==71||(LA104_0>=75 && LA104_0<=76)||LA104_0==79||LA104_0==81||(LA104_0>=85 && LA104_0<=92)||LA104_0==94||(LA104_0>=102 && LA104_0<=103)) ) {
+                alt104=1;
             }
-            switch (alt103) {
+            switch (alt104) {
                 case 1 :
-                    // InternalSignalDSL.g:12339:3: rule__XBasicForLoopExpression__Group_3__0
+                    // InternalSignalDSL.g:12367:3: rule__XBasicForLoopExpression__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XBasicForLoopExpression__Group_3__0();
@@ -41261,14 +41305,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__4"
-    // InternalSignalDSL.g:12347:1: rule__XBasicForLoopExpression__Group__4 : rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5 ;
+    // InternalSignalDSL.g:12375:1: rule__XBasicForLoopExpression__Group__4 : rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5 ;
     public final void rule__XBasicForLoopExpression__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12351:1: ( rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5 )
-            // InternalSignalDSL.g:12352:2: rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5
+            // InternalSignalDSL.g:12379:1: ( rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5 )
+            // InternalSignalDSL.g:12380:2: rule__XBasicForLoopExpression__Group__4__Impl rule__XBasicForLoopExpression__Group__5
             {
             pushFollow(FOLLOW_90);
             rule__XBasicForLoopExpression__Group__4__Impl();
@@ -41299,22 +41343,22 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__4__Impl"
-    // InternalSignalDSL.g:12359:1: rule__XBasicForLoopExpression__Group__4__Impl : ( ';' ) ;
+    // InternalSignalDSL.g:12387:1: rule__XBasicForLoopExpression__Group__4__Impl : ( ';' ) ;
     public final void rule__XBasicForLoopExpression__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12363:1: ( ( ';' ) )
-            // InternalSignalDSL.g:12364:1: ( ';' )
+            // InternalSignalDSL.g:12391:1: ( ( ';' ) )
+            // InternalSignalDSL.g:12392:1: ( ';' )
             {
-            // InternalSignalDSL.g:12364:1: ( ';' )
-            // InternalSignalDSL.g:12365:2: ';'
+            // InternalSignalDSL.g:12392:1: ( ';' )
+            // InternalSignalDSL.g:12393:2: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); 
             }
-            match(input,72,FOLLOW_2); if (state.failed) return ;
+            match(input,69,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); 
             }
@@ -41340,14 +41384,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__5"
-    // InternalSignalDSL.g:12374:1: rule__XBasicForLoopExpression__Group__5 : rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6 ;
+    // InternalSignalDSL.g:12402:1: rule__XBasicForLoopExpression__Group__5 : rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6 ;
     public final void rule__XBasicForLoopExpression__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12378:1: ( rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6 )
-            // InternalSignalDSL.g:12379:2: rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6
+            // InternalSignalDSL.g:12406:1: ( rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6 )
+            // InternalSignalDSL.g:12407:2: rule__XBasicForLoopExpression__Group__5__Impl rule__XBasicForLoopExpression__Group__6
             {
             pushFollow(FOLLOW_90);
             rule__XBasicForLoopExpression__Group__5__Impl();
@@ -41378,31 +41422,31 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__5__Impl"
-    // InternalSignalDSL.g:12386:1: rule__XBasicForLoopExpression__Group__5__Impl : ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) ;
+    // InternalSignalDSL.g:12414:1: rule__XBasicForLoopExpression__Group__5__Impl : ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) ;
     public final void rule__XBasicForLoopExpression__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12390:1: ( ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) )
-            // InternalSignalDSL.g:12391:1: ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? )
+            // InternalSignalDSL.g:12418:1: ( ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? ) )
+            // InternalSignalDSL.g:12419:1: ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? )
             {
-            // InternalSignalDSL.g:12391:1: ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? )
-            // InternalSignalDSL.g:12392:2: ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )?
+            // InternalSignalDSL.g:12419:1: ( ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )? )
+            // InternalSignalDSL.g:12420:2: ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5()); 
             }
-            // InternalSignalDSL.g:12393:2: ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )?
-            int alt104=2;
-            int LA104_0 = input.LA(1);
+            // InternalSignalDSL.g:12421:2: ( rule__XBasicForLoopExpression__ExpressionAssignment_5 )?
+            int alt105=2;
+            int LA105_0 = input.LA(1);
 
-            if ( ((LA104_0>=RULE_ID && LA104_0<=RULE_STRING)||LA104_0==27||(LA104_0>=34 && LA104_0<=35)||LA104_0==40||(LA104_0>=45 && LA104_0<=50)||LA104_0==64||LA104_0==68||LA104_0==74||(LA104_0>=78 && LA104_0<=79)||LA104_0==82||LA104_0==84||(LA104_0>=88 && LA104_0<=95)||LA104_0==97||LA104_0==106) ) {
-                alt104=1;
+            if ( ((LA105_0>=RULE_ID && LA105_0<=RULE_STRING)||LA105_0==27||(LA105_0>=34 && LA105_0<=35)||LA105_0==40||(LA105_0>=45 && LA105_0<=50)||LA105_0==60||LA105_0==64||LA105_0==71||(LA105_0>=75 && LA105_0<=76)||LA105_0==79||LA105_0==81||(LA105_0>=85 && LA105_0<=92)||LA105_0==94||LA105_0==103) ) {
+                alt105=1;
             }
-            switch (alt104) {
+            switch (alt105) {
                 case 1 :
-                    // InternalSignalDSL.g:12393:3: rule__XBasicForLoopExpression__ExpressionAssignment_5
+                    // InternalSignalDSL.g:12421:3: rule__XBasicForLoopExpression__ExpressionAssignment_5
                     {
                     pushFollow(FOLLOW_2);
                     rule__XBasicForLoopExpression__ExpressionAssignment_5();
@@ -41440,14 +41484,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__6"
-    // InternalSignalDSL.g:12401:1: rule__XBasicForLoopExpression__Group__6 : rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7 ;
+    // InternalSignalDSL.g:12429:1: rule__XBasicForLoopExpression__Group__6 : rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7 ;
     public final void rule__XBasicForLoopExpression__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12405:1: ( rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7 )
-            // InternalSignalDSL.g:12406:2: rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7
+            // InternalSignalDSL.g:12433:1: ( rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7 )
+            // InternalSignalDSL.g:12434:2: rule__XBasicForLoopExpression__Group__6__Impl rule__XBasicForLoopExpression__Group__7
             {
             pushFollow(FOLLOW_32);
             rule__XBasicForLoopExpression__Group__6__Impl();
@@ -41478,22 +41522,22 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__6__Impl"
-    // InternalSignalDSL.g:12413:1: rule__XBasicForLoopExpression__Group__6__Impl : ( ';' ) ;
+    // InternalSignalDSL.g:12441:1: rule__XBasicForLoopExpression__Group__6__Impl : ( ';' ) ;
     public final void rule__XBasicForLoopExpression__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12417:1: ( ( ';' ) )
-            // InternalSignalDSL.g:12418:1: ( ';' )
+            // InternalSignalDSL.g:12445:1: ( ( ';' ) )
+            // InternalSignalDSL.g:12446:1: ( ';' )
             {
-            // InternalSignalDSL.g:12418:1: ( ';' )
-            // InternalSignalDSL.g:12419:2: ';'
+            // InternalSignalDSL.g:12446:1: ( ';' )
+            // InternalSignalDSL.g:12447:2: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); 
             }
-            match(input,72,FOLLOW_2); if (state.failed) return ;
+            match(input,69,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); 
             }
@@ -41519,14 +41563,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__7"
-    // InternalSignalDSL.g:12428:1: rule__XBasicForLoopExpression__Group__7 : rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8 ;
+    // InternalSignalDSL.g:12456:1: rule__XBasicForLoopExpression__Group__7 : rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8 ;
     public final void rule__XBasicForLoopExpression__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12432:1: ( rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8 )
-            // InternalSignalDSL.g:12433:2: rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8
+            // InternalSignalDSL.g:12460:1: ( rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8 )
+            // InternalSignalDSL.g:12461:2: rule__XBasicForLoopExpression__Group__7__Impl rule__XBasicForLoopExpression__Group__8
             {
             pushFollow(FOLLOW_32);
             rule__XBasicForLoopExpression__Group__7__Impl();
@@ -41557,31 +41601,31 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__7__Impl"
-    // InternalSignalDSL.g:12440:1: rule__XBasicForLoopExpression__Group__7__Impl : ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) ;
+    // InternalSignalDSL.g:12468:1: rule__XBasicForLoopExpression__Group__7__Impl : ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) ;
     public final void rule__XBasicForLoopExpression__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12444:1: ( ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) )
-            // InternalSignalDSL.g:12445:1: ( ( rule__XBasicForLoopExpression__Group_7__0 )? )
+            // InternalSignalDSL.g:12472:1: ( ( ( rule__XBasicForLoopExpression__Group_7__0 )? ) )
+            // InternalSignalDSL.g:12473:1: ( ( rule__XBasicForLoopExpression__Group_7__0 )? )
             {
-            // InternalSignalDSL.g:12445:1: ( ( rule__XBasicForLoopExpression__Group_7__0 )? )
-            // InternalSignalDSL.g:12446:2: ( rule__XBasicForLoopExpression__Group_7__0 )?
+            // InternalSignalDSL.g:12473:1: ( ( rule__XBasicForLoopExpression__Group_7__0 )? )
+            // InternalSignalDSL.g:12474:2: ( rule__XBasicForLoopExpression__Group_7__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7()); 
             }
-            // InternalSignalDSL.g:12447:2: ( rule__XBasicForLoopExpression__Group_7__0 )?
-            int alt105=2;
-            int LA105_0 = input.LA(1);
+            // InternalSignalDSL.g:12475:2: ( rule__XBasicForLoopExpression__Group_7__0 )?
+            int alt106=2;
+            int LA106_0 = input.LA(1);
 
-            if ( ((LA105_0>=RULE_ID && LA105_0<=RULE_STRING)||LA105_0==27||(LA105_0>=34 && LA105_0<=35)||LA105_0==40||(LA105_0>=45 && LA105_0<=50)||LA105_0==64||LA105_0==68||LA105_0==74||(LA105_0>=78 && LA105_0<=79)||LA105_0==82||LA105_0==84||(LA105_0>=88 && LA105_0<=95)||LA105_0==97||LA105_0==106) ) {
-                alt105=1;
+            if ( ((LA106_0>=RULE_ID && LA106_0<=RULE_STRING)||LA106_0==27||(LA106_0>=34 && LA106_0<=35)||LA106_0==40||(LA106_0>=45 && LA106_0<=50)||LA106_0==60||LA106_0==64||LA106_0==71||(LA106_0>=75 && LA106_0<=76)||LA106_0==79||LA106_0==81||(LA106_0>=85 && LA106_0<=92)||LA106_0==94||LA106_0==103) ) {
+                alt106=1;
             }
-            switch (alt105) {
+            switch (alt106) {
                 case 1 :
-                    // InternalSignalDSL.g:12447:3: rule__XBasicForLoopExpression__Group_7__0
+                    // InternalSignalDSL.g:12475:3: rule__XBasicForLoopExpression__Group_7__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XBasicForLoopExpression__Group_7__0();
@@ -41619,14 +41663,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__8"
-    // InternalSignalDSL.g:12455:1: rule__XBasicForLoopExpression__Group__8 : rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9 ;
+    // InternalSignalDSL.g:12483:1: rule__XBasicForLoopExpression__Group__8 : rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9 ;
     public final void rule__XBasicForLoopExpression__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12459:1: ( rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9 )
-            // InternalSignalDSL.g:12460:2: rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9
+            // InternalSignalDSL.g:12487:1: ( rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9 )
+            // InternalSignalDSL.g:12488:2: rule__XBasicForLoopExpression__Group__8__Impl rule__XBasicForLoopExpression__Group__9
             {
             pushFollow(FOLLOW_35);
             rule__XBasicForLoopExpression__Group__8__Impl();
@@ -41657,22 +41701,22 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__8__Impl"
-    // InternalSignalDSL.g:12467:1: rule__XBasicForLoopExpression__Group__8__Impl : ( ')' ) ;
+    // InternalSignalDSL.g:12495:1: rule__XBasicForLoopExpression__Group__8__Impl : ( ')' ) ;
     public final void rule__XBasicForLoopExpression__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12471:1: ( ( ')' ) )
-            // InternalSignalDSL.g:12472:1: ( ')' )
+            // InternalSignalDSL.g:12499:1: ( ( ')' ) )
+            // InternalSignalDSL.g:12500:1: ( ')' )
             {
-            // InternalSignalDSL.g:12472:1: ( ')' )
-            // InternalSignalDSL.g:12473:2: ')'
+            // InternalSignalDSL.g:12500:1: ( ')' )
+            // InternalSignalDSL.g:12501:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); 
             }
-            match(input,75,FOLLOW_2); if (state.failed) return ;
+            match(input,72,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); 
             }
@@ -41698,14 +41742,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__9"
-    // InternalSignalDSL.g:12482:1: rule__XBasicForLoopExpression__Group__9 : rule__XBasicForLoopExpression__Group__9__Impl ;
+    // InternalSignalDSL.g:12510:1: rule__XBasicForLoopExpression__Group__9 : rule__XBasicForLoopExpression__Group__9__Impl ;
     public final void rule__XBasicForLoopExpression__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12486:1: ( rule__XBasicForLoopExpression__Group__9__Impl )
-            // InternalSignalDSL.g:12487:2: rule__XBasicForLoopExpression__Group__9__Impl
+            // InternalSignalDSL.g:12514:1: ( rule__XBasicForLoopExpression__Group__9__Impl )
+            // InternalSignalDSL.g:12515:2: rule__XBasicForLoopExpression__Group__9__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__Group__9__Impl();
@@ -41731,23 +41775,23 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group__9__Impl"
-    // InternalSignalDSL.g:12493:1: rule__XBasicForLoopExpression__Group__9__Impl : ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) ;
+    // InternalSignalDSL.g:12521:1: rule__XBasicForLoopExpression__Group__9__Impl : ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) ;
     public final void rule__XBasicForLoopExpression__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12497:1: ( ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) )
-            // InternalSignalDSL.g:12498:1: ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) )
+            // InternalSignalDSL.g:12525:1: ( ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) ) )
+            // InternalSignalDSL.g:12526:1: ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) )
             {
-            // InternalSignalDSL.g:12498:1: ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) )
-            // InternalSignalDSL.g:12499:2: ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 )
+            // InternalSignalDSL.g:12526:1: ( ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 ) )
+            // InternalSignalDSL.g:12527:2: ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9()); 
             }
-            // InternalSignalDSL.g:12500:2: ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 )
-            // InternalSignalDSL.g:12500:3: rule__XBasicForLoopExpression__EachExpressionAssignment_9
+            // InternalSignalDSL.g:12528:2: ( rule__XBasicForLoopExpression__EachExpressionAssignment_9 )
+            // InternalSignalDSL.g:12528:3: rule__XBasicForLoopExpression__EachExpressionAssignment_9
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__EachExpressionAssignment_9();
@@ -41782,14 +41826,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_3__0"
-    // InternalSignalDSL.g:12509:1: rule__XBasicForLoopExpression__Group_3__0 : rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1 ;
+    // InternalSignalDSL.g:12537:1: rule__XBasicForLoopExpression__Group_3__0 : rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1 ;
     public final void rule__XBasicForLoopExpression__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12513:1: ( rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1 )
-            // InternalSignalDSL.g:12514:2: rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1
+            // InternalSignalDSL.g:12541:1: ( rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1 )
+            // InternalSignalDSL.g:12542:2: rule__XBasicForLoopExpression__Group_3__0__Impl rule__XBasicForLoopExpression__Group_3__1
             {
             pushFollow(FOLLOW_33);
             rule__XBasicForLoopExpression__Group_3__0__Impl();
@@ -41820,23 +41864,23 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_3__0__Impl"
-    // InternalSignalDSL.g:12521:1: rule__XBasicForLoopExpression__Group_3__0__Impl : ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) ;
+    // InternalSignalDSL.g:12549:1: rule__XBasicForLoopExpression__Group_3__0__Impl : ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) ;
     public final void rule__XBasicForLoopExpression__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12525:1: ( ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) )
-            // InternalSignalDSL.g:12526:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) )
+            // InternalSignalDSL.g:12553:1: ( ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) ) )
+            // InternalSignalDSL.g:12554:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) )
             {
-            // InternalSignalDSL.g:12526:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) )
-            // InternalSignalDSL.g:12527:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 )
+            // InternalSignalDSL.g:12554:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 ) )
+            // InternalSignalDSL.g:12555:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0()); 
             }
-            // InternalSignalDSL.g:12528:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 )
-            // InternalSignalDSL.g:12528:3: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0
+            // InternalSignalDSL.g:12556:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 )
+            // InternalSignalDSL.g:12556:3: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0();
@@ -41871,14 +41915,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_3__1"
-    // InternalSignalDSL.g:12536:1: rule__XBasicForLoopExpression__Group_3__1 : rule__XBasicForLoopExpression__Group_3__1__Impl ;
+    // InternalSignalDSL.g:12564:1: rule__XBasicForLoopExpression__Group_3__1 : rule__XBasicForLoopExpression__Group_3__1__Impl ;
     public final void rule__XBasicForLoopExpression__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12540:1: ( rule__XBasicForLoopExpression__Group_3__1__Impl )
-            // InternalSignalDSL.g:12541:2: rule__XBasicForLoopExpression__Group_3__1__Impl
+            // InternalSignalDSL.g:12568:1: ( rule__XBasicForLoopExpression__Group_3__1__Impl )
+            // InternalSignalDSL.g:12569:2: rule__XBasicForLoopExpression__Group_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__Group_3__1__Impl();
@@ -41904,35 +41948,35 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_3__1__Impl"
-    // InternalSignalDSL.g:12547:1: rule__XBasicForLoopExpression__Group_3__1__Impl : ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) ;
+    // InternalSignalDSL.g:12575:1: rule__XBasicForLoopExpression__Group_3__1__Impl : ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) ;
     public final void rule__XBasicForLoopExpression__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12551:1: ( ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) )
-            // InternalSignalDSL.g:12552:1: ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* )
+            // InternalSignalDSL.g:12579:1: ( ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* ) )
+            // InternalSignalDSL.g:12580:1: ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* )
             {
-            // InternalSignalDSL.g:12552:1: ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* )
-            // InternalSignalDSL.g:12553:2: ( rule__XBasicForLoopExpression__Group_3_1__0 )*
+            // InternalSignalDSL.g:12580:1: ( ( rule__XBasicForLoopExpression__Group_3_1__0 )* )
+            // InternalSignalDSL.g:12581:2: ( rule__XBasicForLoopExpression__Group_3_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1()); 
             }
-            // InternalSignalDSL.g:12554:2: ( rule__XBasicForLoopExpression__Group_3_1__0 )*
-            loop106:
+            // InternalSignalDSL.g:12582:2: ( rule__XBasicForLoopExpression__Group_3_1__0 )*
+            loop107:
             do {
-                int alt106=2;
-                int LA106_0 = input.LA(1);
+                int alt107=2;
+                int LA107_0 = input.LA(1);
 
-                if ( (LA106_0==76) ) {
-                    alt106=1;
+                if ( (LA107_0==73) ) {
+                    alt107=1;
                 }
 
 
-                switch (alt106) {
+                switch (alt107) {
             	case 1 :
-            	    // InternalSignalDSL.g:12554:3: rule__XBasicForLoopExpression__Group_3_1__0
+            	    // InternalSignalDSL.g:12582:3: rule__XBasicForLoopExpression__Group_3_1__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__XBasicForLoopExpression__Group_3_1__0();
@@ -41944,7 +41988,7 @@
             	    break;
 
             	default :
-            	    break loop106;
+            	    break loop107;
                 }
             } while (true);
 
@@ -41973,14 +42017,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__0"
-    // InternalSignalDSL.g:12563:1: rule__XBasicForLoopExpression__Group_3_1__0 : rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1 ;
+    // InternalSignalDSL.g:12591:1: rule__XBasicForLoopExpression__Group_3_1__0 : rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1 ;
     public final void rule__XBasicForLoopExpression__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12567:1: ( rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1 )
-            // InternalSignalDSL.g:12568:2: rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1
+            // InternalSignalDSL.g:12595:1: ( rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1 )
+            // InternalSignalDSL.g:12596:2: rule__XBasicForLoopExpression__Group_3_1__0__Impl rule__XBasicForLoopExpression__Group_3_1__1
             {
             pushFollow(FOLLOW_91);
             rule__XBasicForLoopExpression__Group_3_1__0__Impl();
@@ -42011,22 +42055,22 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__0__Impl"
-    // InternalSignalDSL.g:12575:1: rule__XBasicForLoopExpression__Group_3_1__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:12603:1: rule__XBasicForLoopExpression__Group_3_1__0__Impl : ( ',' ) ;
     public final void rule__XBasicForLoopExpression__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12579:1: ( ( ',' ) )
-            // InternalSignalDSL.g:12580:1: ( ',' )
+            // InternalSignalDSL.g:12607:1: ( ( ',' ) )
+            // InternalSignalDSL.g:12608:1: ( ',' )
             {
-            // InternalSignalDSL.g:12580:1: ( ',' )
-            // InternalSignalDSL.g:12581:2: ','
+            // InternalSignalDSL.g:12608:1: ( ',' )
+            // InternalSignalDSL.g:12609:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); 
             }
@@ -42052,14 +42096,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__1"
-    // InternalSignalDSL.g:12590:1: rule__XBasicForLoopExpression__Group_3_1__1 : rule__XBasicForLoopExpression__Group_3_1__1__Impl ;
+    // InternalSignalDSL.g:12618:1: rule__XBasicForLoopExpression__Group_3_1__1 : rule__XBasicForLoopExpression__Group_3_1__1__Impl ;
     public final void rule__XBasicForLoopExpression__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12594:1: ( rule__XBasicForLoopExpression__Group_3_1__1__Impl )
-            // InternalSignalDSL.g:12595:2: rule__XBasicForLoopExpression__Group_3_1__1__Impl
+            // InternalSignalDSL.g:12622:1: ( rule__XBasicForLoopExpression__Group_3_1__1__Impl )
+            // InternalSignalDSL.g:12623:2: rule__XBasicForLoopExpression__Group_3_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__Group_3_1__1__Impl();
@@ -42085,23 +42129,23 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_3_1__1__Impl"
-    // InternalSignalDSL.g:12601:1: rule__XBasicForLoopExpression__Group_3_1__1__Impl : ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) ;
+    // InternalSignalDSL.g:12629:1: rule__XBasicForLoopExpression__Group_3_1__1__Impl : ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) ;
     public final void rule__XBasicForLoopExpression__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12605:1: ( ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) )
-            // InternalSignalDSL.g:12606:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) )
+            // InternalSignalDSL.g:12633:1: ( ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) ) )
+            // InternalSignalDSL.g:12634:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) )
             {
-            // InternalSignalDSL.g:12606:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) )
-            // InternalSignalDSL.g:12607:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 )
+            // InternalSignalDSL.g:12634:1: ( ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 ) )
+            // InternalSignalDSL.g:12635:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1()); 
             }
-            // InternalSignalDSL.g:12608:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 )
-            // InternalSignalDSL.g:12608:3: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1
+            // InternalSignalDSL.g:12636:2: ( rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 )
+            // InternalSignalDSL.g:12636:3: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1();
@@ -42136,14 +42180,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_7__0"
-    // InternalSignalDSL.g:12617:1: rule__XBasicForLoopExpression__Group_7__0 : rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1 ;
+    // InternalSignalDSL.g:12645:1: rule__XBasicForLoopExpression__Group_7__0 : rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1 ;
     public final void rule__XBasicForLoopExpression__Group_7__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12621:1: ( rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1 )
-            // InternalSignalDSL.g:12622:2: rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1
+            // InternalSignalDSL.g:12649:1: ( rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1 )
+            // InternalSignalDSL.g:12650:2: rule__XBasicForLoopExpression__Group_7__0__Impl rule__XBasicForLoopExpression__Group_7__1
             {
             pushFollow(FOLLOW_33);
             rule__XBasicForLoopExpression__Group_7__0__Impl();
@@ -42174,23 +42218,23 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_7__0__Impl"
-    // InternalSignalDSL.g:12629:1: rule__XBasicForLoopExpression__Group_7__0__Impl : ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) ;
+    // InternalSignalDSL.g:12657:1: rule__XBasicForLoopExpression__Group_7__0__Impl : ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) ;
     public final void rule__XBasicForLoopExpression__Group_7__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12633:1: ( ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) )
-            // InternalSignalDSL.g:12634:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) )
+            // InternalSignalDSL.g:12661:1: ( ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) ) )
+            // InternalSignalDSL.g:12662:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) )
             {
-            // InternalSignalDSL.g:12634:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) )
-            // InternalSignalDSL.g:12635:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 )
+            // InternalSignalDSL.g:12662:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 ) )
+            // InternalSignalDSL.g:12663:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0()); 
             }
-            // InternalSignalDSL.g:12636:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 )
-            // InternalSignalDSL.g:12636:3: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0
+            // InternalSignalDSL.g:12664:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 )
+            // InternalSignalDSL.g:12664:3: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0();
@@ -42225,14 +42269,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_7__1"
-    // InternalSignalDSL.g:12644:1: rule__XBasicForLoopExpression__Group_7__1 : rule__XBasicForLoopExpression__Group_7__1__Impl ;
+    // InternalSignalDSL.g:12672:1: rule__XBasicForLoopExpression__Group_7__1 : rule__XBasicForLoopExpression__Group_7__1__Impl ;
     public final void rule__XBasicForLoopExpression__Group_7__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12648:1: ( rule__XBasicForLoopExpression__Group_7__1__Impl )
-            // InternalSignalDSL.g:12649:2: rule__XBasicForLoopExpression__Group_7__1__Impl
+            // InternalSignalDSL.g:12676:1: ( rule__XBasicForLoopExpression__Group_7__1__Impl )
+            // InternalSignalDSL.g:12677:2: rule__XBasicForLoopExpression__Group_7__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__Group_7__1__Impl();
@@ -42258,35 +42302,35 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_7__1__Impl"
-    // InternalSignalDSL.g:12655:1: rule__XBasicForLoopExpression__Group_7__1__Impl : ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) ;
+    // InternalSignalDSL.g:12683:1: rule__XBasicForLoopExpression__Group_7__1__Impl : ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) ;
     public final void rule__XBasicForLoopExpression__Group_7__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12659:1: ( ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) )
-            // InternalSignalDSL.g:12660:1: ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* )
+            // InternalSignalDSL.g:12687:1: ( ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* ) )
+            // InternalSignalDSL.g:12688:1: ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* )
             {
-            // InternalSignalDSL.g:12660:1: ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* )
-            // InternalSignalDSL.g:12661:2: ( rule__XBasicForLoopExpression__Group_7_1__0 )*
+            // InternalSignalDSL.g:12688:1: ( ( rule__XBasicForLoopExpression__Group_7_1__0 )* )
+            // InternalSignalDSL.g:12689:2: ( rule__XBasicForLoopExpression__Group_7_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1()); 
             }
-            // InternalSignalDSL.g:12662:2: ( rule__XBasicForLoopExpression__Group_7_1__0 )*
-            loop107:
+            // InternalSignalDSL.g:12690:2: ( rule__XBasicForLoopExpression__Group_7_1__0 )*
+            loop108:
             do {
-                int alt107=2;
-                int LA107_0 = input.LA(1);
+                int alt108=2;
+                int LA108_0 = input.LA(1);
 
-                if ( (LA107_0==76) ) {
-                    alt107=1;
+                if ( (LA108_0==73) ) {
+                    alt108=1;
                 }
 
 
-                switch (alt107) {
+                switch (alt108) {
             	case 1 :
-            	    // InternalSignalDSL.g:12662:3: rule__XBasicForLoopExpression__Group_7_1__0
+            	    // InternalSignalDSL.g:12690:3: rule__XBasicForLoopExpression__Group_7_1__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__XBasicForLoopExpression__Group_7_1__0();
@@ -42298,7 +42342,7 @@
             	    break;
 
             	default :
-            	    break loop107;
+            	    break loop108;
                 }
             } while (true);
 
@@ -42327,14 +42371,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__0"
-    // InternalSignalDSL.g:12671:1: rule__XBasicForLoopExpression__Group_7_1__0 : rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1 ;
+    // InternalSignalDSL.g:12699:1: rule__XBasicForLoopExpression__Group_7_1__0 : rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1 ;
     public final void rule__XBasicForLoopExpression__Group_7_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12675:1: ( rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1 )
-            // InternalSignalDSL.g:12676:2: rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1
+            // InternalSignalDSL.g:12703:1: ( rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1 )
+            // InternalSignalDSL.g:12704:2: rule__XBasicForLoopExpression__Group_7_1__0__Impl rule__XBasicForLoopExpression__Group_7_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XBasicForLoopExpression__Group_7_1__0__Impl();
@@ -42365,22 +42409,22 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__0__Impl"
-    // InternalSignalDSL.g:12683:1: rule__XBasicForLoopExpression__Group_7_1__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:12711:1: rule__XBasicForLoopExpression__Group_7_1__0__Impl : ( ',' ) ;
     public final void rule__XBasicForLoopExpression__Group_7_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12687:1: ( ( ',' ) )
-            // InternalSignalDSL.g:12688:1: ( ',' )
+            // InternalSignalDSL.g:12715:1: ( ( ',' ) )
+            // InternalSignalDSL.g:12716:1: ( ',' )
             {
-            // InternalSignalDSL.g:12688:1: ( ',' )
-            // InternalSignalDSL.g:12689:2: ','
+            // InternalSignalDSL.g:12716:1: ( ',' )
+            // InternalSignalDSL.g:12717:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); 
             }
@@ -42406,14 +42450,14 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__1"
-    // InternalSignalDSL.g:12698:1: rule__XBasicForLoopExpression__Group_7_1__1 : rule__XBasicForLoopExpression__Group_7_1__1__Impl ;
+    // InternalSignalDSL.g:12726:1: rule__XBasicForLoopExpression__Group_7_1__1 : rule__XBasicForLoopExpression__Group_7_1__1__Impl ;
     public final void rule__XBasicForLoopExpression__Group_7_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12702:1: ( rule__XBasicForLoopExpression__Group_7_1__1__Impl )
-            // InternalSignalDSL.g:12703:2: rule__XBasicForLoopExpression__Group_7_1__1__Impl
+            // InternalSignalDSL.g:12730:1: ( rule__XBasicForLoopExpression__Group_7_1__1__Impl )
+            // InternalSignalDSL.g:12731:2: rule__XBasicForLoopExpression__Group_7_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__Group_7_1__1__Impl();
@@ -42439,23 +42483,23 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__Group_7_1__1__Impl"
-    // InternalSignalDSL.g:12709:1: rule__XBasicForLoopExpression__Group_7_1__1__Impl : ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) ;
+    // InternalSignalDSL.g:12737:1: rule__XBasicForLoopExpression__Group_7_1__1__Impl : ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) ;
     public final void rule__XBasicForLoopExpression__Group_7_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12713:1: ( ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) )
-            // InternalSignalDSL.g:12714:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) )
+            // InternalSignalDSL.g:12741:1: ( ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) ) )
+            // InternalSignalDSL.g:12742:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) )
             {
-            // InternalSignalDSL.g:12714:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) )
-            // InternalSignalDSL.g:12715:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 )
+            // InternalSignalDSL.g:12742:1: ( ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 ) )
+            // InternalSignalDSL.g:12743:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1()); 
             }
-            // InternalSignalDSL.g:12716:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 )
-            // InternalSignalDSL.g:12716:3: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1
+            // InternalSignalDSL.g:12744:2: ( rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 )
+            // InternalSignalDSL.g:12744:3: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1();
@@ -42490,14 +42534,14 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__0"
-    // InternalSignalDSL.g:12725:1: rule__XWhileExpression__Group__0 : rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1 ;
+    // InternalSignalDSL.g:12753:1: rule__XWhileExpression__Group__0 : rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1 ;
     public final void rule__XWhileExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12729:1: ( rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1 )
-            // InternalSignalDSL.g:12730:2: rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1
+            // InternalSignalDSL.g:12757:1: ( rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1 )
+            // InternalSignalDSL.g:12758:2: rule__XWhileExpression__Group__0__Impl rule__XWhileExpression__Group__1
             {
             pushFollow(FOLLOW_92);
             rule__XWhileExpression__Group__0__Impl();
@@ -42528,23 +42572,23 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__0__Impl"
-    // InternalSignalDSL.g:12737:1: rule__XWhileExpression__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:12765:1: rule__XWhileExpression__Group__0__Impl : ( () ) ;
     public final void rule__XWhileExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12741:1: ( ( () ) )
-            // InternalSignalDSL.g:12742:1: ( () )
+            // InternalSignalDSL.g:12769:1: ( ( () ) )
+            // InternalSignalDSL.g:12770:1: ( () )
             {
-            // InternalSignalDSL.g:12742:1: ( () )
-            // InternalSignalDSL.g:12743:2: ()
+            // InternalSignalDSL.g:12770:1: ( () )
+            // InternalSignalDSL.g:12771:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0()); 
             }
-            // InternalSignalDSL.g:12744:2: ()
-            // InternalSignalDSL.g:12744:3: 
+            // InternalSignalDSL.g:12772:2: ()
+            // InternalSignalDSL.g:12772:3: 
             {
             }
 
@@ -42569,14 +42613,14 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__1"
-    // InternalSignalDSL.g:12752:1: rule__XWhileExpression__Group__1 : rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2 ;
+    // InternalSignalDSL.g:12780:1: rule__XWhileExpression__Group__1 : rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2 ;
     public final void rule__XWhileExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12756:1: ( rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2 )
-            // InternalSignalDSL.g:12757:2: rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2
+            // InternalSignalDSL.g:12784:1: ( rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2 )
+            // InternalSignalDSL.g:12785:2: rule__XWhileExpression__Group__1__Impl rule__XWhileExpression__Group__2
             {
             pushFollow(FOLLOW_31);
             rule__XWhileExpression__Group__1__Impl();
@@ -42607,22 +42651,22 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__1__Impl"
-    // InternalSignalDSL.g:12764:1: rule__XWhileExpression__Group__1__Impl : ( 'while' ) ;
+    // InternalSignalDSL.g:12792:1: rule__XWhileExpression__Group__1__Impl : ( 'while' ) ;
     public final void rule__XWhileExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12768:1: ( ( 'while' ) )
-            // InternalSignalDSL.g:12769:1: ( 'while' )
+            // InternalSignalDSL.g:12796:1: ( ( 'while' ) )
+            // InternalSignalDSL.g:12797:1: ( 'while' )
             {
-            // InternalSignalDSL.g:12769:1: ( 'while' )
-            // InternalSignalDSL.g:12770:2: 'while'
+            // InternalSignalDSL.g:12797:1: ( 'while' )
+            // InternalSignalDSL.g:12798:2: 'while'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); 
             }
-            match(input,88,FOLLOW_2); if (state.failed) return ;
+            match(input,85,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); 
             }
@@ -42648,14 +42692,14 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__2"
-    // InternalSignalDSL.g:12779:1: rule__XWhileExpression__Group__2 : rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3 ;
+    // InternalSignalDSL.g:12807:1: rule__XWhileExpression__Group__2 : rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3 ;
     public final void rule__XWhileExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12783:1: ( rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3 )
-            // InternalSignalDSL.g:12784:2: rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3
+            // InternalSignalDSL.g:12811:1: ( rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3 )
+            // InternalSignalDSL.g:12812:2: rule__XWhileExpression__Group__2__Impl rule__XWhileExpression__Group__3
             {
             pushFollow(FOLLOW_35);
             rule__XWhileExpression__Group__2__Impl();
@@ -42686,22 +42730,22 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__2__Impl"
-    // InternalSignalDSL.g:12791:1: rule__XWhileExpression__Group__2__Impl : ( '(' ) ;
+    // InternalSignalDSL.g:12819:1: rule__XWhileExpression__Group__2__Impl : ( '(' ) ;
     public final void rule__XWhileExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12795:1: ( ( '(' ) )
-            // InternalSignalDSL.g:12796:1: ( '(' )
+            // InternalSignalDSL.g:12823:1: ( ( '(' ) )
+            // InternalSignalDSL.g:12824:1: ( '(' )
             {
-            // InternalSignalDSL.g:12796:1: ( '(' )
-            // InternalSignalDSL.g:12797:2: '('
+            // InternalSignalDSL.g:12824:1: ( '(' )
+            // InternalSignalDSL.g:12825:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); 
             }
-            match(input,74,FOLLOW_2); if (state.failed) return ;
+            match(input,71,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); 
             }
@@ -42727,14 +42771,14 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__3"
-    // InternalSignalDSL.g:12806:1: rule__XWhileExpression__Group__3 : rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4 ;
+    // InternalSignalDSL.g:12834:1: rule__XWhileExpression__Group__3 : rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4 ;
     public final void rule__XWhileExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12810:1: ( rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4 )
-            // InternalSignalDSL.g:12811:2: rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4
+            // InternalSignalDSL.g:12838:1: ( rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4 )
+            // InternalSignalDSL.g:12839:2: rule__XWhileExpression__Group__3__Impl rule__XWhileExpression__Group__4
             {
             pushFollow(FOLLOW_80);
             rule__XWhileExpression__Group__3__Impl();
@@ -42765,23 +42809,23 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__3__Impl"
-    // InternalSignalDSL.g:12818:1: rule__XWhileExpression__Group__3__Impl : ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) ;
+    // InternalSignalDSL.g:12846:1: rule__XWhileExpression__Group__3__Impl : ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) ;
     public final void rule__XWhileExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12822:1: ( ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) )
-            // InternalSignalDSL.g:12823:1: ( ( rule__XWhileExpression__PredicateAssignment_3 ) )
+            // InternalSignalDSL.g:12850:1: ( ( ( rule__XWhileExpression__PredicateAssignment_3 ) ) )
+            // InternalSignalDSL.g:12851:1: ( ( rule__XWhileExpression__PredicateAssignment_3 ) )
             {
-            // InternalSignalDSL.g:12823:1: ( ( rule__XWhileExpression__PredicateAssignment_3 ) )
-            // InternalSignalDSL.g:12824:2: ( rule__XWhileExpression__PredicateAssignment_3 )
+            // InternalSignalDSL.g:12851:1: ( ( rule__XWhileExpression__PredicateAssignment_3 ) )
+            // InternalSignalDSL.g:12852:2: ( rule__XWhileExpression__PredicateAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3()); 
             }
-            // InternalSignalDSL.g:12825:2: ( rule__XWhileExpression__PredicateAssignment_3 )
-            // InternalSignalDSL.g:12825:3: rule__XWhileExpression__PredicateAssignment_3
+            // InternalSignalDSL.g:12853:2: ( rule__XWhileExpression__PredicateAssignment_3 )
+            // InternalSignalDSL.g:12853:3: rule__XWhileExpression__PredicateAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__XWhileExpression__PredicateAssignment_3();
@@ -42816,14 +42860,14 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__4"
-    // InternalSignalDSL.g:12833:1: rule__XWhileExpression__Group__4 : rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5 ;
+    // InternalSignalDSL.g:12861:1: rule__XWhileExpression__Group__4 : rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5 ;
     public final void rule__XWhileExpression__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12837:1: ( rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5 )
-            // InternalSignalDSL.g:12838:2: rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5
+            // InternalSignalDSL.g:12865:1: ( rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5 )
+            // InternalSignalDSL.g:12866:2: rule__XWhileExpression__Group__4__Impl rule__XWhileExpression__Group__5
             {
             pushFollow(FOLLOW_35);
             rule__XWhileExpression__Group__4__Impl();
@@ -42854,22 +42898,22 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__4__Impl"
-    // InternalSignalDSL.g:12845:1: rule__XWhileExpression__Group__4__Impl : ( ')' ) ;
+    // InternalSignalDSL.g:12873:1: rule__XWhileExpression__Group__4__Impl : ( ')' ) ;
     public final void rule__XWhileExpression__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12849:1: ( ( ')' ) )
-            // InternalSignalDSL.g:12850:1: ( ')' )
+            // InternalSignalDSL.g:12877:1: ( ( ')' ) )
+            // InternalSignalDSL.g:12878:1: ( ')' )
             {
-            // InternalSignalDSL.g:12850:1: ( ')' )
-            // InternalSignalDSL.g:12851:2: ')'
+            // InternalSignalDSL.g:12878:1: ( ')' )
+            // InternalSignalDSL.g:12879:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); 
             }
-            match(input,75,FOLLOW_2); if (state.failed) return ;
+            match(input,72,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); 
             }
@@ -42895,14 +42939,14 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__5"
-    // InternalSignalDSL.g:12860:1: rule__XWhileExpression__Group__5 : rule__XWhileExpression__Group__5__Impl ;
+    // InternalSignalDSL.g:12888:1: rule__XWhileExpression__Group__5 : rule__XWhileExpression__Group__5__Impl ;
     public final void rule__XWhileExpression__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12864:1: ( rule__XWhileExpression__Group__5__Impl )
-            // InternalSignalDSL.g:12865:2: rule__XWhileExpression__Group__5__Impl
+            // InternalSignalDSL.g:12892:1: ( rule__XWhileExpression__Group__5__Impl )
+            // InternalSignalDSL.g:12893:2: rule__XWhileExpression__Group__5__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XWhileExpression__Group__5__Impl();
@@ -42928,23 +42972,23 @@
 
 
     // $ANTLR start "rule__XWhileExpression__Group__5__Impl"
-    // InternalSignalDSL.g:12871:1: rule__XWhileExpression__Group__5__Impl : ( ( rule__XWhileExpression__BodyAssignment_5 ) ) ;
+    // InternalSignalDSL.g:12899:1: rule__XWhileExpression__Group__5__Impl : ( ( rule__XWhileExpression__BodyAssignment_5 ) ) ;
     public final void rule__XWhileExpression__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12875:1: ( ( ( rule__XWhileExpression__BodyAssignment_5 ) ) )
-            // InternalSignalDSL.g:12876:1: ( ( rule__XWhileExpression__BodyAssignment_5 ) )
+            // InternalSignalDSL.g:12903:1: ( ( ( rule__XWhileExpression__BodyAssignment_5 ) ) )
+            // InternalSignalDSL.g:12904:1: ( ( rule__XWhileExpression__BodyAssignment_5 ) )
             {
-            // InternalSignalDSL.g:12876:1: ( ( rule__XWhileExpression__BodyAssignment_5 ) )
-            // InternalSignalDSL.g:12877:2: ( rule__XWhileExpression__BodyAssignment_5 )
+            // InternalSignalDSL.g:12904:1: ( ( rule__XWhileExpression__BodyAssignment_5 ) )
+            // InternalSignalDSL.g:12905:2: ( rule__XWhileExpression__BodyAssignment_5 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5()); 
             }
-            // InternalSignalDSL.g:12878:2: ( rule__XWhileExpression__BodyAssignment_5 )
-            // InternalSignalDSL.g:12878:3: rule__XWhileExpression__BodyAssignment_5
+            // InternalSignalDSL.g:12906:2: ( rule__XWhileExpression__BodyAssignment_5 )
+            // InternalSignalDSL.g:12906:3: rule__XWhileExpression__BodyAssignment_5
             {
             pushFollow(FOLLOW_2);
             rule__XWhileExpression__BodyAssignment_5();
@@ -42979,14 +43023,14 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__0"
-    // InternalSignalDSL.g:12887:1: rule__XDoWhileExpression__Group__0 : rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1 ;
+    // InternalSignalDSL.g:12915:1: rule__XDoWhileExpression__Group__0 : rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1 ;
     public final void rule__XDoWhileExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12891:1: ( rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1 )
-            // InternalSignalDSL.g:12892:2: rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1
+            // InternalSignalDSL.g:12919:1: ( rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1 )
+            // InternalSignalDSL.g:12920:2: rule__XDoWhileExpression__Group__0__Impl rule__XDoWhileExpression__Group__1
             {
             pushFollow(FOLLOW_93);
             rule__XDoWhileExpression__Group__0__Impl();
@@ -43017,23 +43061,23 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__0__Impl"
-    // InternalSignalDSL.g:12899:1: rule__XDoWhileExpression__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:12927:1: rule__XDoWhileExpression__Group__0__Impl : ( () ) ;
     public final void rule__XDoWhileExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12903:1: ( ( () ) )
-            // InternalSignalDSL.g:12904:1: ( () )
+            // InternalSignalDSL.g:12931:1: ( ( () ) )
+            // InternalSignalDSL.g:12932:1: ( () )
             {
-            // InternalSignalDSL.g:12904:1: ( () )
-            // InternalSignalDSL.g:12905:2: ()
+            // InternalSignalDSL.g:12932:1: ( () )
+            // InternalSignalDSL.g:12933:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0()); 
             }
-            // InternalSignalDSL.g:12906:2: ()
-            // InternalSignalDSL.g:12906:3: 
+            // InternalSignalDSL.g:12934:2: ()
+            // InternalSignalDSL.g:12934:3: 
             {
             }
 
@@ -43058,14 +43102,14 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__1"
-    // InternalSignalDSL.g:12914:1: rule__XDoWhileExpression__Group__1 : rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2 ;
+    // InternalSignalDSL.g:12942:1: rule__XDoWhileExpression__Group__1 : rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2 ;
     public final void rule__XDoWhileExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12918:1: ( rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2 )
-            // InternalSignalDSL.g:12919:2: rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2
+            // InternalSignalDSL.g:12946:1: ( rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2 )
+            // InternalSignalDSL.g:12947:2: rule__XDoWhileExpression__Group__1__Impl rule__XDoWhileExpression__Group__2
             {
             pushFollow(FOLLOW_35);
             rule__XDoWhileExpression__Group__1__Impl();
@@ -43096,22 +43140,22 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__1__Impl"
-    // InternalSignalDSL.g:12926:1: rule__XDoWhileExpression__Group__1__Impl : ( 'do' ) ;
+    // InternalSignalDSL.g:12954:1: rule__XDoWhileExpression__Group__1__Impl : ( 'do' ) ;
     public final void rule__XDoWhileExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12930:1: ( ( 'do' ) )
-            // InternalSignalDSL.g:12931:1: ( 'do' )
+            // InternalSignalDSL.g:12958:1: ( ( 'do' ) )
+            // InternalSignalDSL.g:12959:1: ( 'do' )
             {
-            // InternalSignalDSL.g:12931:1: ( 'do' )
-            // InternalSignalDSL.g:12932:2: 'do'
+            // InternalSignalDSL.g:12959:1: ( 'do' )
+            // InternalSignalDSL.g:12960:2: 'do'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); 
             }
-            match(input,89,FOLLOW_2); if (state.failed) return ;
+            match(input,86,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); 
             }
@@ -43137,14 +43181,14 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__2"
-    // InternalSignalDSL.g:12941:1: rule__XDoWhileExpression__Group__2 : rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3 ;
+    // InternalSignalDSL.g:12969:1: rule__XDoWhileExpression__Group__2 : rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3 ;
     public final void rule__XDoWhileExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12945:1: ( rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3 )
-            // InternalSignalDSL.g:12946:2: rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3
+            // InternalSignalDSL.g:12973:1: ( rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3 )
+            // InternalSignalDSL.g:12974:2: rule__XDoWhileExpression__Group__2__Impl rule__XDoWhileExpression__Group__3
             {
             pushFollow(FOLLOW_92);
             rule__XDoWhileExpression__Group__2__Impl();
@@ -43175,23 +43219,23 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__2__Impl"
-    // InternalSignalDSL.g:12953:1: rule__XDoWhileExpression__Group__2__Impl : ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) ;
+    // InternalSignalDSL.g:12981:1: rule__XDoWhileExpression__Group__2__Impl : ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) ;
     public final void rule__XDoWhileExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12957:1: ( ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) )
-            // InternalSignalDSL.g:12958:1: ( ( rule__XDoWhileExpression__BodyAssignment_2 ) )
+            // InternalSignalDSL.g:12985:1: ( ( ( rule__XDoWhileExpression__BodyAssignment_2 ) ) )
+            // InternalSignalDSL.g:12986:1: ( ( rule__XDoWhileExpression__BodyAssignment_2 ) )
             {
-            // InternalSignalDSL.g:12958:1: ( ( rule__XDoWhileExpression__BodyAssignment_2 ) )
-            // InternalSignalDSL.g:12959:2: ( rule__XDoWhileExpression__BodyAssignment_2 )
+            // InternalSignalDSL.g:12986:1: ( ( rule__XDoWhileExpression__BodyAssignment_2 ) )
+            // InternalSignalDSL.g:12987:2: ( rule__XDoWhileExpression__BodyAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2()); 
             }
-            // InternalSignalDSL.g:12960:2: ( rule__XDoWhileExpression__BodyAssignment_2 )
-            // InternalSignalDSL.g:12960:3: rule__XDoWhileExpression__BodyAssignment_2
+            // InternalSignalDSL.g:12988:2: ( rule__XDoWhileExpression__BodyAssignment_2 )
+            // InternalSignalDSL.g:12988:3: rule__XDoWhileExpression__BodyAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XDoWhileExpression__BodyAssignment_2();
@@ -43226,14 +43270,14 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__3"
-    // InternalSignalDSL.g:12968:1: rule__XDoWhileExpression__Group__3 : rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4 ;
+    // InternalSignalDSL.g:12996:1: rule__XDoWhileExpression__Group__3 : rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4 ;
     public final void rule__XDoWhileExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12972:1: ( rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4 )
-            // InternalSignalDSL.g:12973:2: rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4
+            // InternalSignalDSL.g:13000:1: ( rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4 )
+            // InternalSignalDSL.g:13001:2: rule__XDoWhileExpression__Group__3__Impl rule__XDoWhileExpression__Group__4
             {
             pushFollow(FOLLOW_31);
             rule__XDoWhileExpression__Group__3__Impl();
@@ -43264,22 +43308,22 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__3__Impl"
-    // InternalSignalDSL.g:12980:1: rule__XDoWhileExpression__Group__3__Impl : ( 'while' ) ;
+    // InternalSignalDSL.g:13008:1: rule__XDoWhileExpression__Group__3__Impl : ( 'while' ) ;
     public final void rule__XDoWhileExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12984:1: ( ( 'while' ) )
-            // InternalSignalDSL.g:12985:1: ( 'while' )
+            // InternalSignalDSL.g:13012:1: ( ( 'while' ) )
+            // InternalSignalDSL.g:13013:1: ( 'while' )
             {
-            // InternalSignalDSL.g:12985:1: ( 'while' )
-            // InternalSignalDSL.g:12986:2: 'while'
+            // InternalSignalDSL.g:13013:1: ( 'while' )
+            // InternalSignalDSL.g:13014:2: 'while'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); 
             }
-            match(input,88,FOLLOW_2); if (state.failed) return ;
+            match(input,85,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); 
             }
@@ -43305,14 +43349,14 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__4"
-    // InternalSignalDSL.g:12995:1: rule__XDoWhileExpression__Group__4 : rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5 ;
+    // InternalSignalDSL.g:13023:1: rule__XDoWhileExpression__Group__4 : rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5 ;
     public final void rule__XDoWhileExpression__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:12999:1: ( rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5 )
-            // InternalSignalDSL.g:13000:2: rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5
+            // InternalSignalDSL.g:13027:1: ( rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5 )
+            // InternalSignalDSL.g:13028:2: rule__XDoWhileExpression__Group__4__Impl rule__XDoWhileExpression__Group__5
             {
             pushFollow(FOLLOW_35);
             rule__XDoWhileExpression__Group__4__Impl();
@@ -43343,22 +43387,22 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__4__Impl"
-    // InternalSignalDSL.g:13007:1: rule__XDoWhileExpression__Group__4__Impl : ( '(' ) ;
+    // InternalSignalDSL.g:13035:1: rule__XDoWhileExpression__Group__4__Impl : ( '(' ) ;
     public final void rule__XDoWhileExpression__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13011:1: ( ( '(' ) )
-            // InternalSignalDSL.g:13012:1: ( '(' )
+            // InternalSignalDSL.g:13039:1: ( ( '(' ) )
+            // InternalSignalDSL.g:13040:1: ( '(' )
             {
-            // InternalSignalDSL.g:13012:1: ( '(' )
-            // InternalSignalDSL.g:13013:2: '('
+            // InternalSignalDSL.g:13040:1: ( '(' )
+            // InternalSignalDSL.g:13041:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); 
             }
-            match(input,74,FOLLOW_2); if (state.failed) return ;
+            match(input,71,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); 
             }
@@ -43384,14 +43428,14 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__5"
-    // InternalSignalDSL.g:13022:1: rule__XDoWhileExpression__Group__5 : rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6 ;
+    // InternalSignalDSL.g:13050:1: rule__XDoWhileExpression__Group__5 : rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6 ;
     public final void rule__XDoWhileExpression__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13026:1: ( rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6 )
-            // InternalSignalDSL.g:13027:2: rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6
+            // InternalSignalDSL.g:13054:1: ( rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6 )
+            // InternalSignalDSL.g:13055:2: rule__XDoWhileExpression__Group__5__Impl rule__XDoWhileExpression__Group__6
             {
             pushFollow(FOLLOW_80);
             rule__XDoWhileExpression__Group__5__Impl();
@@ -43422,23 +43466,23 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__5__Impl"
-    // InternalSignalDSL.g:13034:1: rule__XDoWhileExpression__Group__5__Impl : ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) ;
+    // InternalSignalDSL.g:13062:1: rule__XDoWhileExpression__Group__5__Impl : ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) ;
     public final void rule__XDoWhileExpression__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13038:1: ( ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) )
-            // InternalSignalDSL.g:13039:1: ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) )
+            // InternalSignalDSL.g:13066:1: ( ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) ) )
+            // InternalSignalDSL.g:13067:1: ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) )
             {
-            // InternalSignalDSL.g:13039:1: ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) )
-            // InternalSignalDSL.g:13040:2: ( rule__XDoWhileExpression__PredicateAssignment_5 )
+            // InternalSignalDSL.g:13067:1: ( ( rule__XDoWhileExpression__PredicateAssignment_5 ) )
+            // InternalSignalDSL.g:13068:2: ( rule__XDoWhileExpression__PredicateAssignment_5 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5()); 
             }
-            // InternalSignalDSL.g:13041:2: ( rule__XDoWhileExpression__PredicateAssignment_5 )
-            // InternalSignalDSL.g:13041:3: rule__XDoWhileExpression__PredicateAssignment_5
+            // InternalSignalDSL.g:13069:2: ( rule__XDoWhileExpression__PredicateAssignment_5 )
+            // InternalSignalDSL.g:13069:3: rule__XDoWhileExpression__PredicateAssignment_5
             {
             pushFollow(FOLLOW_2);
             rule__XDoWhileExpression__PredicateAssignment_5();
@@ -43473,14 +43517,14 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__6"
-    // InternalSignalDSL.g:13049:1: rule__XDoWhileExpression__Group__6 : rule__XDoWhileExpression__Group__6__Impl ;
+    // InternalSignalDSL.g:13077:1: rule__XDoWhileExpression__Group__6 : rule__XDoWhileExpression__Group__6__Impl ;
     public final void rule__XDoWhileExpression__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13053:1: ( rule__XDoWhileExpression__Group__6__Impl )
-            // InternalSignalDSL.g:13054:2: rule__XDoWhileExpression__Group__6__Impl
+            // InternalSignalDSL.g:13081:1: ( rule__XDoWhileExpression__Group__6__Impl )
+            // InternalSignalDSL.g:13082:2: rule__XDoWhileExpression__Group__6__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XDoWhileExpression__Group__6__Impl();
@@ -43506,22 +43550,22 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__Group__6__Impl"
-    // InternalSignalDSL.g:13060:1: rule__XDoWhileExpression__Group__6__Impl : ( ')' ) ;
+    // InternalSignalDSL.g:13088:1: rule__XDoWhileExpression__Group__6__Impl : ( ')' ) ;
     public final void rule__XDoWhileExpression__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13064:1: ( ( ')' ) )
-            // InternalSignalDSL.g:13065:1: ( ')' )
+            // InternalSignalDSL.g:13092:1: ( ( ')' ) )
+            // InternalSignalDSL.g:13093:1: ( ')' )
             {
-            // InternalSignalDSL.g:13065:1: ( ')' )
-            // InternalSignalDSL.g:13066:2: ')'
+            // InternalSignalDSL.g:13093:1: ( ')' )
+            // InternalSignalDSL.g:13094:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); 
             }
-            match(input,75,FOLLOW_2); if (state.failed) return ;
+            match(input,72,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); 
             }
@@ -43547,14 +43591,14 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group__0"
-    // InternalSignalDSL.g:13076:1: rule__XBlockExpression__Group__0 : rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1 ;
+    // InternalSignalDSL.g:13104:1: rule__XBlockExpression__Group__0 : rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1 ;
     public final void rule__XBlockExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13080:1: ( rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1 )
-            // InternalSignalDSL.g:13081:2: rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1
+            // InternalSignalDSL.g:13108:1: ( rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1 )
+            // InternalSignalDSL.g:13109:2: rule__XBlockExpression__Group__0__Impl rule__XBlockExpression__Group__1
             {
             pushFollow(FOLLOW_8);
             rule__XBlockExpression__Group__0__Impl();
@@ -43585,23 +43629,23 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group__0__Impl"
-    // InternalSignalDSL.g:13088:1: rule__XBlockExpression__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:13116:1: rule__XBlockExpression__Group__0__Impl : ( () ) ;
     public final void rule__XBlockExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13092:1: ( ( () ) )
-            // InternalSignalDSL.g:13093:1: ( () )
+            // InternalSignalDSL.g:13120:1: ( ( () ) )
+            // InternalSignalDSL.g:13121:1: ( () )
             {
-            // InternalSignalDSL.g:13093:1: ( () )
-            // InternalSignalDSL.g:13094:2: ()
+            // InternalSignalDSL.g:13121:1: ( () )
+            // InternalSignalDSL.g:13122:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0()); 
             }
-            // InternalSignalDSL.g:13095:2: ()
-            // InternalSignalDSL.g:13095:3: 
+            // InternalSignalDSL.g:13123:2: ()
+            // InternalSignalDSL.g:13123:3: 
             {
             }
 
@@ -43626,14 +43670,14 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group__1"
-    // InternalSignalDSL.g:13103:1: rule__XBlockExpression__Group__1 : rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2 ;
+    // InternalSignalDSL.g:13131:1: rule__XBlockExpression__Group__1 : rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2 ;
     public final void rule__XBlockExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13107:1: ( rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2 )
-            // InternalSignalDSL.g:13108:2: rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2
+            // InternalSignalDSL.g:13135:1: ( rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2 )
+            // InternalSignalDSL.g:13136:2: rule__XBlockExpression__Group__1__Impl rule__XBlockExpression__Group__2
             {
             pushFollow(FOLLOW_94);
             rule__XBlockExpression__Group__1__Impl();
@@ -43664,22 +43708,22 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group__1__Impl"
-    // InternalSignalDSL.g:13115:1: rule__XBlockExpression__Group__1__Impl : ( '{' ) ;
+    // InternalSignalDSL.g:13143:1: rule__XBlockExpression__Group__1__Impl : ( '{' ) ;
     public final void rule__XBlockExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13119:1: ( ( '{' ) )
-            // InternalSignalDSL.g:13120:1: ( '{' )
+            // InternalSignalDSL.g:13147:1: ( ( '{' ) )
+            // InternalSignalDSL.g:13148:1: ( '{' )
             {
-            // InternalSignalDSL.g:13120:1: ( '{' )
-            // InternalSignalDSL.g:13121:2: '{'
+            // InternalSignalDSL.g:13148:1: ( '{' )
+            // InternalSignalDSL.g:13149:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); 
             }
-            match(input,64,FOLLOW_2); if (state.failed) return ;
+            match(input,60,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); 
             }
@@ -43705,14 +43749,14 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group__2"
-    // InternalSignalDSL.g:13130:1: rule__XBlockExpression__Group__2 : rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3 ;
+    // InternalSignalDSL.g:13158:1: rule__XBlockExpression__Group__2 : rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3 ;
     public final void rule__XBlockExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13134:1: ( rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3 )
-            // InternalSignalDSL.g:13135:2: rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3
+            // InternalSignalDSL.g:13162:1: ( rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3 )
+            // InternalSignalDSL.g:13163:2: rule__XBlockExpression__Group__2__Impl rule__XBlockExpression__Group__3
             {
             pushFollow(FOLLOW_94);
             rule__XBlockExpression__Group__2__Impl();
@@ -43743,35 +43787,35 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group__2__Impl"
-    // InternalSignalDSL.g:13142:1: rule__XBlockExpression__Group__2__Impl : ( ( rule__XBlockExpression__Group_2__0 )* ) ;
+    // InternalSignalDSL.g:13170:1: rule__XBlockExpression__Group__2__Impl : ( ( rule__XBlockExpression__Group_2__0 )* ) ;
     public final void rule__XBlockExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13146:1: ( ( ( rule__XBlockExpression__Group_2__0 )* ) )
-            // InternalSignalDSL.g:13147:1: ( ( rule__XBlockExpression__Group_2__0 )* )
+            // InternalSignalDSL.g:13174:1: ( ( ( rule__XBlockExpression__Group_2__0 )* ) )
+            // InternalSignalDSL.g:13175:1: ( ( rule__XBlockExpression__Group_2__0 )* )
             {
-            // InternalSignalDSL.g:13147:1: ( ( rule__XBlockExpression__Group_2__0 )* )
-            // InternalSignalDSL.g:13148:2: ( rule__XBlockExpression__Group_2__0 )*
+            // InternalSignalDSL.g:13175:1: ( ( rule__XBlockExpression__Group_2__0 )* )
+            // InternalSignalDSL.g:13176:2: ( rule__XBlockExpression__Group_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBlockExpressionAccess().getGroup_2()); 
             }
-            // InternalSignalDSL.g:13149:2: ( rule__XBlockExpression__Group_2__0 )*
-            loop108:
+            // InternalSignalDSL.g:13177:2: ( rule__XBlockExpression__Group_2__0 )*
+            loop109:
             do {
-                int alt108=2;
-                int LA108_0 = input.LA(1);
+                int alt109=2;
+                int LA109_0 = input.LA(1);
 
-                if ( ((LA108_0>=RULE_ID && LA108_0<=RULE_STRING)||LA108_0==27||(LA108_0>=34 && LA108_0<=35)||LA108_0==40||(LA108_0>=44 && LA108_0<=50)||LA108_0==64||LA108_0==68||LA108_0==74||(LA108_0>=78 && LA108_0<=79)||LA108_0==82||LA108_0==84||(LA108_0>=88 && LA108_0<=95)||LA108_0==97||(LA108_0>=105 && LA108_0<=106)) ) {
-                    alt108=1;
+                if ( ((LA109_0>=RULE_ID && LA109_0<=RULE_STRING)||LA109_0==27||(LA109_0>=34 && LA109_0<=35)||LA109_0==40||(LA109_0>=44 && LA109_0<=50)||LA109_0==60||LA109_0==64||LA109_0==71||(LA109_0>=75 && LA109_0<=76)||LA109_0==79||LA109_0==81||(LA109_0>=85 && LA109_0<=92)||LA109_0==94||(LA109_0>=102 && LA109_0<=103)) ) {
+                    alt109=1;
                 }
 
 
-                switch (alt108) {
+                switch (alt109) {
             	case 1 :
-            	    // InternalSignalDSL.g:13149:3: rule__XBlockExpression__Group_2__0
+            	    // InternalSignalDSL.g:13177:3: rule__XBlockExpression__Group_2__0
             	    {
             	    pushFollow(FOLLOW_79);
             	    rule__XBlockExpression__Group_2__0();
@@ -43783,7 +43827,7 @@
             	    break;
 
             	default :
-            	    break loop108;
+            	    break loop109;
                 }
             } while (true);
 
@@ -43812,14 +43856,14 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group__3"
-    // InternalSignalDSL.g:13157:1: rule__XBlockExpression__Group__3 : rule__XBlockExpression__Group__3__Impl ;
+    // InternalSignalDSL.g:13185:1: rule__XBlockExpression__Group__3 : rule__XBlockExpression__Group__3__Impl ;
     public final void rule__XBlockExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13161:1: ( rule__XBlockExpression__Group__3__Impl )
-            // InternalSignalDSL.g:13162:2: rule__XBlockExpression__Group__3__Impl
+            // InternalSignalDSL.g:13189:1: ( rule__XBlockExpression__Group__3__Impl )
+            // InternalSignalDSL.g:13190:2: rule__XBlockExpression__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XBlockExpression__Group__3__Impl();
@@ -43845,22 +43889,22 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group__3__Impl"
-    // InternalSignalDSL.g:13168:1: rule__XBlockExpression__Group__3__Impl : ( '}' ) ;
+    // InternalSignalDSL.g:13196:1: rule__XBlockExpression__Group__3__Impl : ( '}' ) ;
     public final void rule__XBlockExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13172:1: ( ( '}' ) )
-            // InternalSignalDSL.g:13173:1: ( '}' )
+            // InternalSignalDSL.g:13200:1: ( ( '}' ) )
+            // InternalSignalDSL.g:13201:1: ( '}' )
             {
-            // InternalSignalDSL.g:13173:1: ( '}' )
-            // InternalSignalDSL.g:13174:2: '}'
+            // InternalSignalDSL.g:13201:1: ( '}' )
+            // InternalSignalDSL.g:13202:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); 
             }
-            match(input,65,FOLLOW_2); if (state.failed) return ;
+            match(input,61,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); 
             }
@@ -43886,14 +43930,14 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group_2__0"
-    // InternalSignalDSL.g:13184:1: rule__XBlockExpression__Group_2__0 : rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1 ;
+    // InternalSignalDSL.g:13212:1: rule__XBlockExpression__Group_2__0 : rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1 ;
     public final void rule__XBlockExpression__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13188:1: ( rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1 )
-            // InternalSignalDSL.g:13189:2: rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1
+            // InternalSignalDSL.g:13216:1: ( rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1 )
+            // InternalSignalDSL.g:13217:2: rule__XBlockExpression__Group_2__0__Impl rule__XBlockExpression__Group_2__1
             {
             pushFollow(FOLLOW_27);
             rule__XBlockExpression__Group_2__0__Impl();
@@ -43924,23 +43968,23 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group_2__0__Impl"
-    // InternalSignalDSL.g:13196:1: rule__XBlockExpression__Group_2__0__Impl : ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) ;
+    // InternalSignalDSL.g:13224:1: rule__XBlockExpression__Group_2__0__Impl : ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) ;
     public final void rule__XBlockExpression__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13200:1: ( ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) )
-            // InternalSignalDSL.g:13201:1: ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) )
+            // InternalSignalDSL.g:13228:1: ( ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) ) )
+            // InternalSignalDSL.g:13229:1: ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) )
             {
-            // InternalSignalDSL.g:13201:1: ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) )
-            // InternalSignalDSL.g:13202:2: ( rule__XBlockExpression__ExpressionsAssignment_2_0 )
+            // InternalSignalDSL.g:13229:1: ( ( rule__XBlockExpression__ExpressionsAssignment_2_0 ) )
+            // InternalSignalDSL.g:13230:2: ( rule__XBlockExpression__ExpressionsAssignment_2_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0()); 
             }
-            // InternalSignalDSL.g:13203:2: ( rule__XBlockExpression__ExpressionsAssignment_2_0 )
-            // InternalSignalDSL.g:13203:3: rule__XBlockExpression__ExpressionsAssignment_2_0
+            // InternalSignalDSL.g:13231:2: ( rule__XBlockExpression__ExpressionsAssignment_2_0 )
+            // InternalSignalDSL.g:13231:3: rule__XBlockExpression__ExpressionsAssignment_2_0
             {
             pushFollow(FOLLOW_2);
             rule__XBlockExpression__ExpressionsAssignment_2_0();
@@ -43975,14 +44019,14 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group_2__1"
-    // InternalSignalDSL.g:13211:1: rule__XBlockExpression__Group_2__1 : rule__XBlockExpression__Group_2__1__Impl ;
+    // InternalSignalDSL.g:13239:1: rule__XBlockExpression__Group_2__1 : rule__XBlockExpression__Group_2__1__Impl ;
     public final void rule__XBlockExpression__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13215:1: ( rule__XBlockExpression__Group_2__1__Impl )
-            // InternalSignalDSL.g:13216:2: rule__XBlockExpression__Group_2__1__Impl
+            // InternalSignalDSL.g:13243:1: ( rule__XBlockExpression__Group_2__1__Impl )
+            // InternalSignalDSL.g:13244:2: rule__XBlockExpression__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XBlockExpression__Group_2__1__Impl();
@@ -44008,33 +44052,33 @@
 
 
     // $ANTLR start "rule__XBlockExpression__Group_2__1__Impl"
-    // InternalSignalDSL.g:13222:1: rule__XBlockExpression__Group_2__1__Impl : ( ( ';' )? ) ;
+    // InternalSignalDSL.g:13250:1: rule__XBlockExpression__Group_2__1__Impl : ( ( ';' )? ) ;
     public final void rule__XBlockExpression__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13226:1: ( ( ( ';' )? ) )
-            // InternalSignalDSL.g:13227:1: ( ( ';' )? )
+            // InternalSignalDSL.g:13254:1: ( ( ( ';' )? ) )
+            // InternalSignalDSL.g:13255:1: ( ( ';' )? )
             {
-            // InternalSignalDSL.g:13227:1: ( ( ';' )? )
-            // InternalSignalDSL.g:13228:2: ( ';' )?
+            // InternalSignalDSL.g:13255:1: ( ( ';' )? )
+            // InternalSignalDSL.g:13256:2: ( ';' )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); 
             }
-            // InternalSignalDSL.g:13229:2: ( ';' )?
-            int alt109=2;
-            int LA109_0 = input.LA(1);
+            // InternalSignalDSL.g:13257:2: ( ';' )?
+            int alt110=2;
+            int LA110_0 = input.LA(1);
 
-            if ( (LA109_0==72) ) {
-                alt109=1;
+            if ( (LA110_0==69) ) {
+                alt110=1;
             }
-            switch (alt109) {
+            switch (alt110) {
                 case 1 :
-                    // InternalSignalDSL.g:13229:3: ';'
+                    // InternalSignalDSL.g:13257:3: ';'
                     {
-                    match(input,72,FOLLOW_2); if (state.failed) return ;
+                    match(input,69,FOLLOW_2); if (state.failed) return ;
 
                     }
                     break;
@@ -44066,14 +44110,14 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group__0"
-    // InternalSignalDSL.g:13238:1: rule__XVariableDeclaration__Group__0 : rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1 ;
+    // InternalSignalDSL.g:13266:1: rule__XVariableDeclaration__Group__0 : rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1 ;
     public final void rule__XVariableDeclaration__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13242:1: ( rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1 )
-            // InternalSignalDSL.g:13243:2: rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1
+            // InternalSignalDSL.g:13270:1: ( rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1 )
+            // InternalSignalDSL.g:13271:2: rule__XVariableDeclaration__Group__0__Impl rule__XVariableDeclaration__Group__1
             {
             pushFollow(FOLLOW_95);
             rule__XVariableDeclaration__Group__0__Impl();
@@ -44104,23 +44148,23 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group__0__Impl"
-    // InternalSignalDSL.g:13250:1: rule__XVariableDeclaration__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:13278:1: rule__XVariableDeclaration__Group__0__Impl : ( () ) ;
     public final void rule__XVariableDeclaration__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13254:1: ( ( () ) )
-            // InternalSignalDSL.g:13255:1: ( () )
+            // InternalSignalDSL.g:13282:1: ( ( () ) )
+            // InternalSignalDSL.g:13283:1: ( () )
             {
-            // InternalSignalDSL.g:13255:1: ( () )
-            // InternalSignalDSL.g:13256:2: ()
+            // InternalSignalDSL.g:13283:1: ( () )
+            // InternalSignalDSL.g:13284:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0()); 
             }
-            // InternalSignalDSL.g:13257:2: ()
-            // InternalSignalDSL.g:13257:3: 
+            // InternalSignalDSL.g:13285:2: ()
+            // InternalSignalDSL.g:13285:3: 
             {
             }
 
@@ -44145,14 +44189,14 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group__1"
-    // InternalSignalDSL.g:13265:1: rule__XVariableDeclaration__Group__1 : rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2 ;
+    // InternalSignalDSL.g:13293:1: rule__XVariableDeclaration__Group__1 : rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2 ;
     public final void rule__XVariableDeclaration__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13269:1: ( rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2 )
-            // InternalSignalDSL.g:13270:2: rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2
+            // InternalSignalDSL.g:13297:1: ( rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2 )
+            // InternalSignalDSL.g:13298:2: rule__XVariableDeclaration__Group__1__Impl rule__XVariableDeclaration__Group__2
             {
             pushFollow(FOLLOW_52);
             rule__XVariableDeclaration__Group__1__Impl();
@@ -44183,23 +44227,23 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group__1__Impl"
-    // InternalSignalDSL.g:13277:1: rule__XVariableDeclaration__Group__1__Impl : ( ( rule__XVariableDeclaration__Alternatives_1 ) ) ;
+    // InternalSignalDSL.g:13305:1: rule__XVariableDeclaration__Group__1__Impl : ( ( rule__XVariableDeclaration__Alternatives_1 ) ) ;
     public final void rule__XVariableDeclaration__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13281:1: ( ( ( rule__XVariableDeclaration__Alternatives_1 ) ) )
-            // InternalSignalDSL.g:13282:1: ( ( rule__XVariableDeclaration__Alternatives_1 ) )
+            // InternalSignalDSL.g:13309:1: ( ( ( rule__XVariableDeclaration__Alternatives_1 ) ) )
+            // InternalSignalDSL.g:13310:1: ( ( rule__XVariableDeclaration__Alternatives_1 ) )
             {
-            // InternalSignalDSL.g:13282:1: ( ( rule__XVariableDeclaration__Alternatives_1 ) )
-            // InternalSignalDSL.g:13283:2: ( rule__XVariableDeclaration__Alternatives_1 )
+            // InternalSignalDSL.g:13310:1: ( ( rule__XVariableDeclaration__Alternatives_1 ) )
+            // InternalSignalDSL.g:13311:2: ( rule__XVariableDeclaration__Alternatives_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1()); 
             }
-            // InternalSignalDSL.g:13284:2: ( rule__XVariableDeclaration__Alternatives_1 )
-            // InternalSignalDSL.g:13284:3: rule__XVariableDeclaration__Alternatives_1
+            // InternalSignalDSL.g:13312:2: ( rule__XVariableDeclaration__Alternatives_1 )
+            // InternalSignalDSL.g:13312:3: rule__XVariableDeclaration__Alternatives_1
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__Alternatives_1();
@@ -44234,14 +44278,14 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group__2"
-    // InternalSignalDSL.g:13292:1: rule__XVariableDeclaration__Group__2 : rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3 ;
+    // InternalSignalDSL.g:13320:1: rule__XVariableDeclaration__Group__2 : rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3 ;
     public final void rule__XVariableDeclaration__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13296:1: ( rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3 )
-            // InternalSignalDSL.g:13297:2: rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3
+            // InternalSignalDSL.g:13324:1: ( rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3 )
+            // InternalSignalDSL.g:13325:2: rule__XVariableDeclaration__Group__2__Impl rule__XVariableDeclaration__Group__3
             {
             pushFollow(FOLLOW_36);
             rule__XVariableDeclaration__Group__2__Impl();
@@ -44272,23 +44316,23 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group__2__Impl"
-    // InternalSignalDSL.g:13304:1: rule__XVariableDeclaration__Group__2__Impl : ( ( rule__XVariableDeclaration__Alternatives_2 ) ) ;
+    // InternalSignalDSL.g:13332:1: rule__XVariableDeclaration__Group__2__Impl : ( ( rule__XVariableDeclaration__Alternatives_2 ) ) ;
     public final void rule__XVariableDeclaration__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13308:1: ( ( ( rule__XVariableDeclaration__Alternatives_2 ) ) )
-            // InternalSignalDSL.g:13309:1: ( ( rule__XVariableDeclaration__Alternatives_2 ) )
+            // InternalSignalDSL.g:13336:1: ( ( ( rule__XVariableDeclaration__Alternatives_2 ) ) )
+            // InternalSignalDSL.g:13337:1: ( ( rule__XVariableDeclaration__Alternatives_2 ) )
             {
-            // InternalSignalDSL.g:13309:1: ( ( rule__XVariableDeclaration__Alternatives_2 ) )
-            // InternalSignalDSL.g:13310:2: ( rule__XVariableDeclaration__Alternatives_2 )
+            // InternalSignalDSL.g:13337:1: ( ( rule__XVariableDeclaration__Alternatives_2 ) )
+            // InternalSignalDSL.g:13338:2: ( rule__XVariableDeclaration__Alternatives_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2()); 
             }
-            // InternalSignalDSL.g:13311:2: ( rule__XVariableDeclaration__Alternatives_2 )
-            // InternalSignalDSL.g:13311:3: rule__XVariableDeclaration__Alternatives_2
+            // InternalSignalDSL.g:13339:2: ( rule__XVariableDeclaration__Alternatives_2 )
+            // InternalSignalDSL.g:13339:3: rule__XVariableDeclaration__Alternatives_2
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__Alternatives_2();
@@ -44323,14 +44367,14 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group__3"
-    // InternalSignalDSL.g:13319:1: rule__XVariableDeclaration__Group__3 : rule__XVariableDeclaration__Group__3__Impl ;
+    // InternalSignalDSL.g:13347:1: rule__XVariableDeclaration__Group__3 : rule__XVariableDeclaration__Group__3__Impl ;
     public final void rule__XVariableDeclaration__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13323:1: ( rule__XVariableDeclaration__Group__3__Impl )
-            // InternalSignalDSL.g:13324:2: rule__XVariableDeclaration__Group__3__Impl
+            // InternalSignalDSL.g:13351:1: ( rule__XVariableDeclaration__Group__3__Impl )
+            // InternalSignalDSL.g:13352:2: rule__XVariableDeclaration__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__Group__3__Impl();
@@ -44356,31 +44400,31 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group__3__Impl"
-    // InternalSignalDSL.g:13330:1: rule__XVariableDeclaration__Group__3__Impl : ( ( rule__XVariableDeclaration__Group_3__0 )? ) ;
+    // InternalSignalDSL.g:13358:1: rule__XVariableDeclaration__Group__3__Impl : ( ( rule__XVariableDeclaration__Group_3__0 )? ) ;
     public final void rule__XVariableDeclaration__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13334:1: ( ( ( rule__XVariableDeclaration__Group_3__0 )? ) )
-            // InternalSignalDSL.g:13335:1: ( ( rule__XVariableDeclaration__Group_3__0 )? )
+            // InternalSignalDSL.g:13362:1: ( ( ( rule__XVariableDeclaration__Group_3__0 )? ) )
+            // InternalSignalDSL.g:13363:1: ( ( rule__XVariableDeclaration__Group_3__0 )? )
             {
-            // InternalSignalDSL.g:13335:1: ( ( rule__XVariableDeclaration__Group_3__0 )? )
-            // InternalSignalDSL.g:13336:2: ( rule__XVariableDeclaration__Group_3__0 )?
+            // InternalSignalDSL.g:13363:1: ( ( rule__XVariableDeclaration__Group_3__0 )? )
+            // InternalSignalDSL.g:13364:2: ( rule__XVariableDeclaration__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getGroup_3()); 
             }
-            // InternalSignalDSL.g:13337:2: ( rule__XVariableDeclaration__Group_3__0 )?
-            int alt110=2;
-            int LA110_0 = input.LA(1);
+            // InternalSignalDSL.g:13365:2: ( rule__XVariableDeclaration__Group_3__0 )?
+            int alt111=2;
+            int LA111_0 = input.LA(1);
 
-            if ( (LA110_0==13) ) {
-                alt110=1;
+            if ( (LA111_0==13) ) {
+                alt111=1;
             }
-            switch (alt110) {
+            switch (alt111) {
                 case 1 :
-                    // InternalSignalDSL.g:13337:3: rule__XVariableDeclaration__Group_3__0
+                    // InternalSignalDSL.g:13365:3: rule__XVariableDeclaration__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XVariableDeclaration__Group_3__0();
@@ -44418,14 +44462,14 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_2_0__0"
-    // InternalSignalDSL.g:13346:1: rule__XVariableDeclaration__Group_2_0__0 : rule__XVariableDeclaration__Group_2_0__0__Impl ;
+    // InternalSignalDSL.g:13374:1: rule__XVariableDeclaration__Group_2_0__0 : rule__XVariableDeclaration__Group_2_0__0__Impl ;
     public final void rule__XVariableDeclaration__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13350:1: ( rule__XVariableDeclaration__Group_2_0__0__Impl )
-            // InternalSignalDSL.g:13351:2: rule__XVariableDeclaration__Group_2_0__0__Impl
+            // InternalSignalDSL.g:13378:1: ( rule__XVariableDeclaration__Group_2_0__0__Impl )
+            // InternalSignalDSL.g:13379:2: rule__XVariableDeclaration__Group_2_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__Group_2_0__0__Impl();
@@ -44451,23 +44495,23 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_2_0__0__Impl"
-    // InternalSignalDSL.g:13357:1: rule__XVariableDeclaration__Group_2_0__0__Impl : ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) ;
+    // InternalSignalDSL.g:13385:1: rule__XVariableDeclaration__Group_2_0__0__Impl : ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) ;
     public final void rule__XVariableDeclaration__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13361:1: ( ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) )
-            // InternalSignalDSL.g:13362:1: ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) )
+            // InternalSignalDSL.g:13389:1: ( ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) ) )
+            // InternalSignalDSL.g:13390:1: ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) )
             {
-            // InternalSignalDSL.g:13362:1: ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) )
-            // InternalSignalDSL.g:13363:2: ( rule__XVariableDeclaration__Group_2_0_0__0 )
+            // InternalSignalDSL.g:13390:1: ( ( rule__XVariableDeclaration__Group_2_0_0__0 ) )
+            // InternalSignalDSL.g:13391:2: ( rule__XVariableDeclaration__Group_2_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0()); 
             }
-            // InternalSignalDSL.g:13364:2: ( rule__XVariableDeclaration__Group_2_0_0__0 )
-            // InternalSignalDSL.g:13364:3: rule__XVariableDeclaration__Group_2_0_0__0
+            // InternalSignalDSL.g:13392:2: ( rule__XVariableDeclaration__Group_2_0_0__0 )
+            // InternalSignalDSL.g:13392:3: rule__XVariableDeclaration__Group_2_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__Group_2_0_0__0();
@@ -44502,14 +44546,14 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__0"
-    // InternalSignalDSL.g:13373:1: rule__XVariableDeclaration__Group_2_0_0__0 : rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1 ;
+    // InternalSignalDSL.g:13401:1: rule__XVariableDeclaration__Group_2_0_0__0 : rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1 ;
     public final void rule__XVariableDeclaration__Group_2_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13377:1: ( rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1 )
-            // InternalSignalDSL.g:13378:2: rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1
+            // InternalSignalDSL.g:13405:1: ( rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1 )
+            // InternalSignalDSL.g:13406:2: rule__XVariableDeclaration__Group_2_0_0__0__Impl rule__XVariableDeclaration__Group_2_0_0__1
             {
             pushFollow(FOLLOW_7);
             rule__XVariableDeclaration__Group_2_0_0__0__Impl();
@@ -44540,23 +44584,23 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__0__Impl"
-    // InternalSignalDSL.g:13385:1: rule__XVariableDeclaration__Group_2_0_0__0__Impl : ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) ;
+    // InternalSignalDSL.g:13413:1: rule__XVariableDeclaration__Group_2_0_0__0__Impl : ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) ;
     public final void rule__XVariableDeclaration__Group_2_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13389:1: ( ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) )
-            // InternalSignalDSL.g:13390:1: ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) )
+            // InternalSignalDSL.g:13417:1: ( ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) ) )
+            // InternalSignalDSL.g:13418:1: ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) )
             {
-            // InternalSignalDSL.g:13390:1: ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) )
-            // InternalSignalDSL.g:13391:2: ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 )
+            // InternalSignalDSL.g:13418:1: ( ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 ) )
+            // InternalSignalDSL.g:13419:2: ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0()); 
             }
-            // InternalSignalDSL.g:13392:2: ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 )
-            // InternalSignalDSL.g:13392:3: rule__XVariableDeclaration__TypeAssignment_2_0_0_0
+            // InternalSignalDSL.g:13420:2: ( rule__XVariableDeclaration__TypeAssignment_2_0_0_0 )
+            // InternalSignalDSL.g:13420:3: rule__XVariableDeclaration__TypeAssignment_2_0_0_0
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__TypeAssignment_2_0_0_0();
@@ -44591,14 +44635,14 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__1"
-    // InternalSignalDSL.g:13400:1: rule__XVariableDeclaration__Group_2_0_0__1 : rule__XVariableDeclaration__Group_2_0_0__1__Impl ;
+    // InternalSignalDSL.g:13428:1: rule__XVariableDeclaration__Group_2_0_0__1 : rule__XVariableDeclaration__Group_2_0_0__1__Impl ;
     public final void rule__XVariableDeclaration__Group_2_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13404:1: ( rule__XVariableDeclaration__Group_2_0_0__1__Impl )
-            // InternalSignalDSL.g:13405:2: rule__XVariableDeclaration__Group_2_0_0__1__Impl
+            // InternalSignalDSL.g:13432:1: ( rule__XVariableDeclaration__Group_2_0_0__1__Impl )
+            // InternalSignalDSL.g:13433:2: rule__XVariableDeclaration__Group_2_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__Group_2_0_0__1__Impl();
@@ -44624,23 +44668,23 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_2_0_0__1__Impl"
-    // InternalSignalDSL.g:13411:1: rule__XVariableDeclaration__Group_2_0_0__1__Impl : ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) ;
+    // InternalSignalDSL.g:13439:1: rule__XVariableDeclaration__Group_2_0_0__1__Impl : ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) ;
     public final void rule__XVariableDeclaration__Group_2_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13415:1: ( ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) )
-            // InternalSignalDSL.g:13416:1: ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) )
+            // InternalSignalDSL.g:13443:1: ( ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) ) )
+            // InternalSignalDSL.g:13444:1: ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) )
             {
-            // InternalSignalDSL.g:13416:1: ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) )
-            // InternalSignalDSL.g:13417:2: ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 )
+            // InternalSignalDSL.g:13444:1: ( ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 ) )
+            // InternalSignalDSL.g:13445:2: ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1()); 
             }
-            // InternalSignalDSL.g:13418:2: ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 )
-            // InternalSignalDSL.g:13418:3: rule__XVariableDeclaration__NameAssignment_2_0_0_1
+            // InternalSignalDSL.g:13446:2: ( rule__XVariableDeclaration__NameAssignment_2_0_0_1 )
+            // InternalSignalDSL.g:13446:3: rule__XVariableDeclaration__NameAssignment_2_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__NameAssignment_2_0_0_1();
@@ -44675,14 +44719,14 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_3__0"
-    // InternalSignalDSL.g:13427:1: rule__XVariableDeclaration__Group_3__0 : rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1 ;
+    // InternalSignalDSL.g:13455:1: rule__XVariableDeclaration__Group_3__0 : rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1 ;
     public final void rule__XVariableDeclaration__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13431:1: ( rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1 )
-            // InternalSignalDSL.g:13432:2: rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1
+            // InternalSignalDSL.g:13459:1: ( rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1 )
+            // InternalSignalDSL.g:13460:2: rule__XVariableDeclaration__Group_3__0__Impl rule__XVariableDeclaration__Group_3__1
             {
             pushFollow(FOLLOW_35);
             rule__XVariableDeclaration__Group_3__0__Impl();
@@ -44713,17 +44757,17 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_3__0__Impl"
-    // InternalSignalDSL.g:13439:1: rule__XVariableDeclaration__Group_3__0__Impl : ( '=' ) ;
+    // InternalSignalDSL.g:13467:1: rule__XVariableDeclaration__Group_3__0__Impl : ( '=' ) ;
     public final void rule__XVariableDeclaration__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13443:1: ( ( '=' ) )
-            // InternalSignalDSL.g:13444:1: ( '=' )
+            // InternalSignalDSL.g:13471:1: ( ( '=' ) )
+            // InternalSignalDSL.g:13472:1: ( '=' )
             {
-            // InternalSignalDSL.g:13444:1: ( '=' )
-            // InternalSignalDSL.g:13445:2: '='
+            // InternalSignalDSL.g:13472:1: ( '=' )
+            // InternalSignalDSL.g:13473:2: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); 
@@ -44754,14 +44798,14 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_3__1"
-    // InternalSignalDSL.g:13454:1: rule__XVariableDeclaration__Group_3__1 : rule__XVariableDeclaration__Group_3__1__Impl ;
+    // InternalSignalDSL.g:13482:1: rule__XVariableDeclaration__Group_3__1 : rule__XVariableDeclaration__Group_3__1__Impl ;
     public final void rule__XVariableDeclaration__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13458:1: ( rule__XVariableDeclaration__Group_3__1__Impl )
-            // InternalSignalDSL.g:13459:2: rule__XVariableDeclaration__Group_3__1__Impl
+            // InternalSignalDSL.g:13486:1: ( rule__XVariableDeclaration__Group_3__1__Impl )
+            // InternalSignalDSL.g:13487:2: rule__XVariableDeclaration__Group_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__Group_3__1__Impl();
@@ -44787,23 +44831,23 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__Group_3__1__Impl"
-    // InternalSignalDSL.g:13465:1: rule__XVariableDeclaration__Group_3__1__Impl : ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) ;
+    // InternalSignalDSL.g:13493:1: rule__XVariableDeclaration__Group_3__1__Impl : ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) ;
     public final void rule__XVariableDeclaration__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13469:1: ( ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) )
-            // InternalSignalDSL.g:13470:1: ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) )
+            // InternalSignalDSL.g:13497:1: ( ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) ) )
+            // InternalSignalDSL.g:13498:1: ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) )
             {
-            // InternalSignalDSL.g:13470:1: ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) )
-            // InternalSignalDSL.g:13471:2: ( rule__XVariableDeclaration__RightAssignment_3_1 )
+            // InternalSignalDSL.g:13498:1: ( ( rule__XVariableDeclaration__RightAssignment_3_1 ) )
+            // InternalSignalDSL.g:13499:2: ( rule__XVariableDeclaration__RightAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1()); 
             }
-            // InternalSignalDSL.g:13472:2: ( rule__XVariableDeclaration__RightAssignment_3_1 )
-            // InternalSignalDSL.g:13472:3: rule__XVariableDeclaration__RightAssignment_3_1
+            // InternalSignalDSL.g:13500:2: ( rule__XVariableDeclaration__RightAssignment_3_1 )
+            // InternalSignalDSL.g:13500:3: rule__XVariableDeclaration__RightAssignment_3_1
             {
             pushFollow(FOLLOW_2);
             rule__XVariableDeclaration__RightAssignment_3_1();
@@ -44838,14 +44882,14 @@
 
 
     // $ANTLR start "rule__JvmFormalParameter__Group__0"
-    // InternalSignalDSL.g:13481:1: rule__JvmFormalParameter__Group__0 : rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1 ;
+    // InternalSignalDSL.g:13509:1: rule__JvmFormalParameter__Group__0 : rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1 ;
     public final void rule__JvmFormalParameter__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13485:1: ( rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1 )
-            // InternalSignalDSL.g:13486:2: rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1
+            // InternalSignalDSL.g:13513:1: ( rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1 )
+            // InternalSignalDSL.g:13514:2: rule__JvmFormalParameter__Group__0__Impl rule__JvmFormalParameter__Group__1
             {
             pushFollow(FOLLOW_52);
             rule__JvmFormalParameter__Group__0__Impl();
@@ -44876,38 +44920,38 @@
 
 
     // $ANTLR start "rule__JvmFormalParameter__Group__0__Impl"
-    // InternalSignalDSL.g:13493:1: rule__JvmFormalParameter__Group__0__Impl : ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) ;
+    // InternalSignalDSL.g:13521:1: rule__JvmFormalParameter__Group__0__Impl : ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) ;
     public final void rule__JvmFormalParameter__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13497:1: ( ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) )
-            // InternalSignalDSL.g:13498:1: ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? )
+            // InternalSignalDSL.g:13525:1: ( ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) )
+            // InternalSignalDSL.g:13526:1: ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? )
             {
-            // InternalSignalDSL.g:13498:1: ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? )
-            // InternalSignalDSL.g:13499:2: ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )?
+            // InternalSignalDSL.g:13526:1: ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? )
+            // InternalSignalDSL.g:13527:2: ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0()); 
             }
-            // InternalSignalDSL.g:13500:2: ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )?
-            int alt111=2;
-            int LA111_0 = input.LA(1);
+            // InternalSignalDSL.g:13528:2: ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )?
+            int alt112=2;
+            int LA112_0 = input.LA(1);
 
-            if ( (LA111_0==RULE_ID) ) {
-                int LA111_1 = input.LA(2);
+            if ( (LA112_0==RULE_ID) ) {
+                int LA112_1 = input.LA(2);
 
-                if ( (LA111_1==RULE_ID||LA111_1==27||LA111_1==43||LA111_1==79) ) {
-                    alt111=1;
+                if ( (LA112_1==RULE_ID||LA112_1==27||LA112_1==43||LA112_1==76) ) {
+                    alt112=1;
                 }
             }
-            else if ( (LA111_0==31||LA111_0==74) ) {
-                alt111=1;
+            else if ( (LA112_0==31||LA112_0==71) ) {
+                alt112=1;
             }
-            switch (alt111) {
+            switch (alt112) {
                 case 1 :
-                    // InternalSignalDSL.g:13500:3: rule__JvmFormalParameter__ParameterTypeAssignment_0
+                    // InternalSignalDSL.g:13528:3: rule__JvmFormalParameter__ParameterTypeAssignment_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__JvmFormalParameter__ParameterTypeAssignment_0();
@@ -44945,14 +44989,14 @@
 
 
     // $ANTLR start "rule__JvmFormalParameter__Group__1"
-    // InternalSignalDSL.g:13508:1: rule__JvmFormalParameter__Group__1 : rule__JvmFormalParameter__Group__1__Impl ;
+    // InternalSignalDSL.g:13536:1: rule__JvmFormalParameter__Group__1 : rule__JvmFormalParameter__Group__1__Impl ;
     public final void rule__JvmFormalParameter__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13512:1: ( rule__JvmFormalParameter__Group__1__Impl )
-            // InternalSignalDSL.g:13513:2: rule__JvmFormalParameter__Group__1__Impl
+            // InternalSignalDSL.g:13540:1: ( rule__JvmFormalParameter__Group__1__Impl )
+            // InternalSignalDSL.g:13541:2: rule__JvmFormalParameter__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmFormalParameter__Group__1__Impl();
@@ -44978,23 +45022,23 @@
 
 
     // $ANTLR start "rule__JvmFormalParameter__Group__1__Impl"
-    // InternalSignalDSL.g:13519:1: rule__JvmFormalParameter__Group__1__Impl : ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) ;
+    // InternalSignalDSL.g:13547:1: rule__JvmFormalParameter__Group__1__Impl : ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) ;
     public final void rule__JvmFormalParameter__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13523:1: ( ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) )
-            // InternalSignalDSL.g:13524:1: ( ( rule__JvmFormalParameter__NameAssignment_1 ) )
+            // InternalSignalDSL.g:13551:1: ( ( ( rule__JvmFormalParameter__NameAssignment_1 ) ) )
+            // InternalSignalDSL.g:13552:1: ( ( rule__JvmFormalParameter__NameAssignment_1 ) )
             {
-            // InternalSignalDSL.g:13524:1: ( ( rule__JvmFormalParameter__NameAssignment_1 ) )
-            // InternalSignalDSL.g:13525:2: ( rule__JvmFormalParameter__NameAssignment_1 )
+            // InternalSignalDSL.g:13552:1: ( ( rule__JvmFormalParameter__NameAssignment_1 ) )
+            // InternalSignalDSL.g:13553:2: ( rule__JvmFormalParameter__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1()); 
             }
-            // InternalSignalDSL.g:13526:2: ( rule__JvmFormalParameter__NameAssignment_1 )
-            // InternalSignalDSL.g:13526:3: rule__JvmFormalParameter__NameAssignment_1
+            // InternalSignalDSL.g:13554:2: ( rule__JvmFormalParameter__NameAssignment_1 )
+            // InternalSignalDSL.g:13554:3: rule__JvmFormalParameter__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmFormalParameter__NameAssignment_1();
@@ -45029,14 +45073,14 @@
 
 
     // $ANTLR start "rule__FullJvmFormalParameter__Group__0"
-    // InternalSignalDSL.g:13535:1: rule__FullJvmFormalParameter__Group__0 : rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1 ;
+    // InternalSignalDSL.g:13563:1: rule__FullJvmFormalParameter__Group__0 : rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1 ;
     public final void rule__FullJvmFormalParameter__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13539:1: ( rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1 )
-            // InternalSignalDSL.g:13540:2: rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1
+            // InternalSignalDSL.g:13567:1: ( rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1 )
+            // InternalSignalDSL.g:13568:2: rule__FullJvmFormalParameter__Group__0__Impl rule__FullJvmFormalParameter__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__FullJvmFormalParameter__Group__0__Impl();
@@ -45067,23 +45111,23 @@
 
 
     // $ANTLR start "rule__FullJvmFormalParameter__Group__0__Impl"
-    // InternalSignalDSL.g:13547:1: rule__FullJvmFormalParameter__Group__0__Impl : ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) ;
+    // InternalSignalDSL.g:13575:1: rule__FullJvmFormalParameter__Group__0__Impl : ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) ;
     public final void rule__FullJvmFormalParameter__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13551:1: ( ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) )
-            // InternalSignalDSL.g:13552:1: ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) )
+            // InternalSignalDSL.g:13579:1: ( ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) ) )
+            // InternalSignalDSL.g:13580:1: ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) )
             {
-            // InternalSignalDSL.g:13552:1: ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) )
-            // InternalSignalDSL.g:13553:2: ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 )
+            // InternalSignalDSL.g:13580:1: ( ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 ) )
+            // InternalSignalDSL.g:13581:2: ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0()); 
             }
-            // InternalSignalDSL.g:13554:2: ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 )
-            // InternalSignalDSL.g:13554:3: rule__FullJvmFormalParameter__ParameterTypeAssignment_0
+            // InternalSignalDSL.g:13582:2: ( rule__FullJvmFormalParameter__ParameterTypeAssignment_0 )
+            // InternalSignalDSL.g:13582:3: rule__FullJvmFormalParameter__ParameterTypeAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__FullJvmFormalParameter__ParameterTypeAssignment_0();
@@ -45118,14 +45162,14 @@
 
 
     // $ANTLR start "rule__FullJvmFormalParameter__Group__1"
-    // InternalSignalDSL.g:13562:1: rule__FullJvmFormalParameter__Group__1 : rule__FullJvmFormalParameter__Group__1__Impl ;
+    // InternalSignalDSL.g:13590:1: rule__FullJvmFormalParameter__Group__1 : rule__FullJvmFormalParameter__Group__1__Impl ;
     public final void rule__FullJvmFormalParameter__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13566:1: ( rule__FullJvmFormalParameter__Group__1__Impl )
-            // InternalSignalDSL.g:13567:2: rule__FullJvmFormalParameter__Group__1__Impl
+            // InternalSignalDSL.g:13594:1: ( rule__FullJvmFormalParameter__Group__1__Impl )
+            // InternalSignalDSL.g:13595:2: rule__FullJvmFormalParameter__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__FullJvmFormalParameter__Group__1__Impl();
@@ -45151,23 +45195,23 @@
 
 
     // $ANTLR start "rule__FullJvmFormalParameter__Group__1__Impl"
-    // InternalSignalDSL.g:13573:1: rule__FullJvmFormalParameter__Group__1__Impl : ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) ;
+    // InternalSignalDSL.g:13601:1: rule__FullJvmFormalParameter__Group__1__Impl : ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) ;
     public final void rule__FullJvmFormalParameter__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13577:1: ( ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) )
-            // InternalSignalDSL.g:13578:1: ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) )
+            // InternalSignalDSL.g:13605:1: ( ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) ) )
+            // InternalSignalDSL.g:13606:1: ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) )
             {
-            // InternalSignalDSL.g:13578:1: ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) )
-            // InternalSignalDSL.g:13579:2: ( rule__FullJvmFormalParameter__NameAssignment_1 )
+            // InternalSignalDSL.g:13606:1: ( ( rule__FullJvmFormalParameter__NameAssignment_1 ) )
+            // InternalSignalDSL.g:13607:2: ( rule__FullJvmFormalParameter__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1()); 
             }
-            // InternalSignalDSL.g:13580:2: ( rule__FullJvmFormalParameter__NameAssignment_1 )
-            // InternalSignalDSL.g:13580:3: rule__FullJvmFormalParameter__NameAssignment_1
+            // InternalSignalDSL.g:13608:2: ( rule__FullJvmFormalParameter__NameAssignment_1 )
+            // InternalSignalDSL.g:13608:3: rule__FullJvmFormalParameter__NameAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__FullJvmFormalParameter__NameAssignment_1();
@@ -45202,14 +45246,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__0"
-    // InternalSignalDSL.g:13589:1: rule__XFeatureCall__Group__0 : rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1 ;
+    // InternalSignalDSL.g:13617:1: rule__XFeatureCall__Group__0 : rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1 ;
     public final void rule__XFeatureCall__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13593:1: ( rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1 )
-            // InternalSignalDSL.g:13594:2: rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1
+            // InternalSignalDSL.g:13621:1: ( rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1 )
+            // InternalSignalDSL.g:13622:2: rule__XFeatureCall__Group__0__Impl rule__XFeatureCall__Group__1
             {
             pushFollow(FOLLOW_70);
             rule__XFeatureCall__Group__0__Impl();
@@ -45240,23 +45284,23 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__0__Impl"
-    // InternalSignalDSL.g:13601:1: rule__XFeatureCall__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:13629:1: rule__XFeatureCall__Group__0__Impl : ( () ) ;
     public final void rule__XFeatureCall__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13605:1: ( ( () ) )
-            // InternalSignalDSL.g:13606:1: ( () )
+            // InternalSignalDSL.g:13633:1: ( ( () ) )
+            // InternalSignalDSL.g:13634:1: ( () )
             {
-            // InternalSignalDSL.g:13606:1: ( () )
-            // InternalSignalDSL.g:13607:2: ()
+            // InternalSignalDSL.g:13634:1: ( () )
+            // InternalSignalDSL.g:13635:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0()); 
             }
-            // InternalSignalDSL.g:13608:2: ()
-            // InternalSignalDSL.g:13608:3: 
+            // InternalSignalDSL.g:13636:2: ()
+            // InternalSignalDSL.g:13636:3: 
             {
             }
 
@@ -45281,14 +45325,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__1"
-    // InternalSignalDSL.g:13616:1: rule__XFeatureCall__Group__1 : rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2 ;
+    // InternalSignalDSL.g:13644:1: rule__XFeatureCall__Group__1 : rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2 ;
     public final void rule__XFeatureCall__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13620:1: ( rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2 )
-            // InternalSignalDSL.g:13621:2: rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2
+            // InternalSignalDSL.g:13648:1: ( rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2 )
+            // InternalSignalDSL.g:13649:2: rule__XFeatureCall__Group__1__Impl rule__XFeatureCall__Group__2
             {
             pushFollow(FOLLOW_70);
             rule__XFeatureCall__Group__1__Impl();
@@ -45319,31 +45363,31 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__1__Impl"
-    // InternalSignalDSL.g:13628:1: rule__XFeatureCall__Group__1__Impl : ( ( rule__XFeatureCall__Group_1__0 )? ) ;
+    // InternalSignalDSL.g:13656:1: rule__XFeatureCall__Group__1__Impl : ( ( rule__XFeatureCall__Group_1__0 )? ) ;
     public final void rule__XFeatureCall__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13632:1: ( ( ( rule__XFeatureCall__Group_1__0 )? ) )
-            // InternalSignalDSL.g:13633:1: ( ( rule__XFeatureCall__Group_1__0 )? )
+            // InternalSignalDSL.g:13660:1: ( ( ( rule__XFeatureCall__Group_1__0 )? ) )
+            // InternalSignalDSL.g:13661:1: ( ( rule__XFeatureCall__Group_1__0 )? )
             {
-            // InternalSignalDSL.g:13633:1: ( ( rule__XFeatureCall__Group_1__0 )? )
-            // InternalSignalDSL.g:13634:2: ( rule__XFeatureCall__Group_1__0 )?
+            // InternalSignalDSL.g:13661:1: ( ( rule__XFeatureCall__Group_1__0 )? )
+            // InternalSignalDSL.g:13662:2: ( rule__XFeatureCall__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getGroup_1()); 
             }
-            // InternalSignalDSL.g:13635:2: ( rule__XFeatureCall__Group_1__0 )?
-            int alt112=2;
-            int LA112_0 = input.LA(1);
+            // InternalSignalDSL.g:13663:2: ( rule__XFeatureCall__Group_1__0 )?
+            int alt113=2;
+            int LA113_0 = input.LA(1);
 
-            if ( (LA112_0==27) ) {
-                alt112=1;
+            if ( (LA113_0==27) ) {
+                alt113=1;
             }
-            switch (alt112) {
+            switch (alt113) {
                 case 1 :
-                    // InternalSignalDSL.g:13635:3: rule__XFeatureCall__Group_1__0
+                    // InternalSignalDSL.g:13663:3: rule__XFeatureCall__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XFeatureCall__Group_1__0();
@@ -45381,14 +45425,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__2"
-    // InternalSignalDSL.g:13643:1: rule__XFeatureCall__Group__2 : rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3 ;
+    // InternalSignalDSL.g:13671:1: rule__XFeatureCall__Group__2 : rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3 ;
     public final void rule__XFeatureCall__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13647:1: ( rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3 )
-            // InternalSignalDSL.g:13648:2: rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3
+            // InternalSignalDSL.g:13675:1: ( rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3 )
+            // InternalSignalDSL.g:13676:2: rule__XFeatureCall__Group__2__Impl rule__XFeatureCall__Group__3
             {
             pushFollow(FOLLOW_71);
             rule__XFeatureCall__Group__2__Impl();
@@ -45419,23 +45463,23 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__2__Impl"
-    // InternalSignalDSL.g:13655:1: rule__XFeatureCall__Group__2__Impl : ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) ;
+    // InternalSignalDSL.g:13683:1: rule__XFeatureCall__Group__2__Impl : ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) ;
     public final void rule__XFeatureCall__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13659:1: ( ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) )
-            // InternalSignalDSL.g:13660:1: ( ( rule__XFeatureCall__FeatureAssignment_2 ) )
+            // InternalSignalDSL.g:13687:1: ( ( ( rule__XFeatureCall__FeatureAssignment_2 ) ) )
+            // InternalSignalDSL.g:13688:1: ( ( rule__XFeatureCall__FeatureAssignment_2 ) )
             {
-            // InternalSignalDSL.g:13660:1: ( ( rule__XFeatureCall__FeatureAssignment_2 ) )
-            // InternalSignalDSL.g:13661:2: ( rule__XFeatureCall__FeatureAssignment_2 )
+            // InternalSignalDSL.g:13688:1: ( ( rule__XFeatureCall__FeatureAssignment_2 ) )
+            // InternalSignalDSL.g:13689:2: ( rule__XFeatureCall__FeatureAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2()); 
             }
-            // InternalSignalDSL.g:13662:2: ( rule__XFeatureCall__FeatureAssignment_2 )
-            // InternalSignalDSL.g:13662:3: rule__XFeatureCall__FeatureAssignment_2
+            // InternalSignalDSL.g:13690:2: ( rule__XFeatureCall__FeatureAssignment_2 )
+            // InternalSignalDSL.g:13690:3: rule__XFeatureCall__FeatureAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__FeatureAssignment_2();
@@ -45470,14 +45514,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__3"
-    // InternalSignalDSL.g:13670:1: rule__XFeatureCall__Group__3 : rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4 ;
+    // InternalSignalDSL.g:13698:1: rule__XFeatureCall__Group__3 : rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4 ;
     public final void rule__XFeatureCall__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13674:1: ( rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4 )
-            // InternalSignalDSL.g:13675:2: rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4
+            // InternalSignalDSL.g:13702:1: ( rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4 )
+            // InternalSignalDSL.g:13703:2: rule__XFeatureCall__Group__3__Impl rule__XFeatureCall__Group__4
             {
             pushFollow(FOLLOW_71);
             rule__XFeatureCall__Group__3__Impl();
@@ -45508,27 +45552,27 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__3__Impl"
-    // InternalSignalDSL.g:13682:1: rule__XFeatureCall__Group__3__Impl : ( ( rule__XFeatureCall__Group_3__0 )? ) ;
+    // InternalSignalDSL.g:13710:1: rule__XFeatureCall__Group__3__Impl : ( ( rule__XFeatureCall__Group_3__0 )? ) ;
     public final void rule__XFeatureCall__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13686:1: ( ( ( rule__XFeatureCall__Group_3__0 )? ) )
-            // InternalSignalDSL.g:13687:1: ( ( rule__XFeatureCall__Group_3__0 )? )
+            // InternalSignalDSL.g:13714:1: ( ( ( rule__XFeatureCall__Group_3__0 )? ) )
+            // InternalSignalDSL.g:13715:1: ( ( rule__XFeatureCall__Group_3__0 )? )
             {
-            // InternalSignalDSL.g:13687:1: ( ( rule__XFeatureCall__Group_3__0 )? )
-            // InternalSignalDSL.g:13688:2: ( rule__XFeatureCall__Group_3__0 )?
+            // InternalSignalDSL.g:13715:1: ( ( rule__XFeatureCall__Group_3__0 )? )
+            // InternalSignalDSL.g:13716:2: ( rule__XFeatureCall__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getGroup_3()); 
             }
-            // InternalSignalDSL.g:13689:2: ( rule__XFeatureCall__Group_3__0 )?
-            int alt113=2;
-            alt113 = dfa113.predict(input);
-            switch (alt113) {
+            // InternalSignalDSL.g:13717:2: ( rule__XFeatureCall__Group_3__0 )?
+            int alt114=2;
+            alt114 = dfa114.predict(input);
+            switch (alt114) {
                 case 1 :
-                    // InternalSignalDSL.g:13689:3: rule__XFeatureCall__Group_3__0
+                    // InternalSignalDSL.g:13717:3: rule__XFeatureCall__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XFeatureCall__Group_3__0();
@@ -45566,14 +45610,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__4"
-    // InternalSignalDSL.g:13697:1: rule__XFeatureCall__Group__4 : rule__XFeatureCall__Group__4__Impl ;
+    // InternalSignalDSL.g:13725:1: rule__XFeatureCall__Group__4 : rule__XFeatureCall__Group__4__Impl ;
     public final void rule__XFeatureCall__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13701:1: ( rule__XFeatureCall__Group__4__Impl )
-            // InternalSignalDSL.g:13702:2: rule__XFeatureCall__Group__4__Impl
+            // InternalSignalDSL.g:13729:1: ( rule__XFeatureCall__Group__4__Impl )
+            // InternalSignalDSL.g:13730:2: rule__XFeatureCall__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__Group__4__Impl();
@@ -45599,27 +45643,27 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group__4__Impl"
-    // InternalSignalDSL.g:13708:1: rule__XFeatureCall__Group__4__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) ;
+    // InternalSignalDSL.g:13736:1: rule__XFeatureCall__Group__4__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) ;
     public final void rule__XFeatureCall__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13712:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) )
-            // InternalSignalDSL.g:13713:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? )
+            // InternalSignalDSL.g:13740:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? ) )
+            // InternalSignalDSL.g:13741:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? )
             {
-            // InternalSignalDSL.g:13713:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? )
-            // InternalSignalDSL.g:13714:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )?
+            // InternalSignalDSL.g:13741:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )? )
+            // InternalSignalDSL.g:13742:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4()); 
             }
-            // InternalSignalDSL.g:13715:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )?
-            int alt114=2;
-            alt114 = dfa114.predict(input);
-            switch (alt114) {
+            // InternalSignalDSL.g:13743:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )?
+            int alt115=2;
+            alt115 = dfa115.predict(input);
+            switch (alt115) {
                 case 1 :
-                    // InternalSignalDSL.g:13715:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_4
+                    // InternalSignalDSL.g:13743:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_4
                     {
                     pushFollow(FOLLOW_2);
                     rule__XFeatureCall__FeatureCallArgumentsAssignment_4();
@@ -45657,14 +45701,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1__0"
-    // InternalSignalDSL.g:13724:1: rule__XFeatureCall__Group_1__0 : rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1 ;
+    // InternalSignalDSL.g:13752:1: rule__XFeatureCall__Group_1__0 : rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1 ;
     public final void rule__XFeatureCall__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13728:1: ( rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1 )
-            // InternalSignalDSL.g:13729:2: rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1
+            // InternalSignalDSL.g:13756:1: ( rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1 )
+            // InternalSignalDSL.g:13757:2: rule__XFeatureCall__Group_1__0__Impl rule__XFeatureCall__Group_1__1
             {
             pushFollow(FOLLOW_72);
             rule__XFeatureCall__Group_1__0__Impl();
@@ -45695,17 +45739,17 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1__0__Impl"
-    // InternalSignalDSL.g:13736:1: rule__XFeatureCall__Group_1__0__Impl : ( '<' ) ;
+    // InternalSignalDSL.g:13764:1: rule__XFeatureCall__Group_1__0__Impl : ( '<' ) ;
     public final void rule__XFeatureCall__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13740:1: ( ( '<' ) )
-            // InternalSignalDSL.g:13741:1: ( '<' )
+            // InternalSignalDSL.g:13768:1: ( ( '<' ) )
+            // InternalSignalDSL.g:13769:1: ( '<' )
             {
-            // InternalSignalDSL.g:13741:1: ( '<' )
-            // InternalSignalDSL.g:13742:2: '<'
+            // InternalSignalDSL.g:13769:1: ( '<' )
+            // InternalSignalDSL.g:13770:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); 
@@ -45736,14 +45780,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1__1"
-    // InternalSignalDSL.g:13751:1: rule__XFeatureCall__Group_1__1 : rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2 ;
+    // InternalSignalDSL.g:13779:1: rule__XFeatureCall__Group_1__1 : rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2 ;
     public final void rule__XFeatureCall__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13755:1: ( rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2 )
-            // InternalSignalDSL.g:13756:2: rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2
+            // InternalSignalDSL.g:13783:1: ( rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2 )
+            // InternalSignalDSL.g:13784:2: rule__XFeatureCall__Group_1__1__Impl rule__XFeatureCall__Group_1__2
             {
             pushFollow(FOLLOW_73);
             rule__XFeatureCall__Group_1__1__Impl();
@@ -45774,23 +45818,23 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1__1__Impl"
-    // InternalSignalDSL.g:13763:1: rule__XFeatureCall__Group_1__1__Impl : ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) ;
+    // InternalSignalDSL.g:13791:1: rule__XFeatureCall__Group_1__1__Impl : ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) ;
     public final void rule__XFeatureCall__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13767:1: ( ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) )
-            // InternalSignalDSL.g:13768:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) )
+            // InternalSignalDSL.g:13795:1: ( ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) ) )
+            // InternalSignalDSL.g:13796:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) )
             {
-            // InternalSignalDSL.g:13768:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) )
-            // InternalSignalDSL.g:13769:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 )
+            // InternalSignalDSL.g:13796:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 ) )
+            // InternalSignalDSL.g:13797:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1()); 
             }
-            // InternalSignalDSL.g:13770:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 )
-            // InternalSignalDSL.g:13770:3: rule__XFeatureCall__TypeArgumentsAssignment_1_1
+            // InternalSignalDSL.g:13798:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_1 )
+            // InternalSignalDSL.g:13798:3: rule__XFeatureCall__TypeArgumentsAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__TypeArgumentsAssignment_1_1();
@@ -45825,14 +45869,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1__2"
-    // InternalSignalDSL.g:13778:1: rule__XFeatureCall__Group_1__2 : rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3 ;
+    // InternalSignalDSL.g:13806:1: rule__XFeatureCall__Group_1__2 : rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3 ;
     public final void rule__XFeatureCall__Group_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13782:1: ( rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3 )
-            // InternalSignalDSL.g:13783:2: rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3
+            // InternalSignalDSL.g:13810:1: ( rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3 )
+            // InternalSignalDSL.g:13811:2: rule__XFeatureCall__Group_1__2__Impl rule__XFeatureCall__Group_1__3
             {
             pushFollow(FOLLOW_73);
             rule__XFeatureCall__Group_1__2__Impl();
@@ -45863,35 +45907,35 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1__2__Impl"
-    // InternalSignalDSL.g:13790:1: rule__XFeatureCall__Group_1__2__Impl : ( ( rule__XFeatureCall__Group_1_2__0 )* ) ;
+    // InternalSignalDSL.g:13818:1: rule__XFeatureCall__Group_1__2__Impl : ( ( rule__XFeatureCall__Group_1_2__0 )* ) ;
     public final void rule__XFeatureCall__Group_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13794:1: ( ( ( rule__XFeatureCall__Group_1_2__0 )* ) )
-            // InternalSignalDSL.g:13795:1: ( ( rule__XFeatureCall__Group_1_2__0 )* )
+            // InternalSignalDSL.g:13822:1: ( ( ( rule__XFeatureCall__Group_1_2__0 )* ) )
+            // InternalSignalDSL.g:13823:1: ( ( rule__XFeatureCall__Group_1_2__0 )* )
             {
-            // InternalSignalDSL.g:13795:1: ( ( rule__XFeatureCall__Group_1_2__0 )* )
-            // InternalSignalDSL.g:13796:2: ( rule__XFeatureCall__Group_1_2__0 )*
+            // InternalSignalDSL.g:13823:1: ( ( rule__XFeatureCall__Group_1_2__0 )* )
+            // InternalSignalDSL.g:13824:2: ( rule__XFeatureCall__Group_1_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getGroup_1_2()); 
             }
-            // InternalSignalDSL.g:13797:2: ( rule__XFeatureCall__Group_1_2__0 )*
-            loop115:
+            // InternalSignalDSL.g:13825:2: ( rule__XFeatureCall__Group_1_2__0 )*
+            loop116:
             do {
-                int alt115=2;
-                int LA115_0 = input.LA(1);
+                int alt116=2;
+                int LA116_0 = input.LA(1);
 
-                if ( (LA115_0==76) ) {
-                    alt115=1;
+                if ( (LA116_0==73) ) {
+                    alt116=1;
                 }
 
 
-                switch (alt115) {
+                switch (alt116) {
             	case 1 :
-            	    // InternalSignalDSL.g:13797:3: rule__XFeatureCall__Group_1_2__0
+            	    // InternalSignalDSL.g:13825:3: rule__XFeatureCall__Group_1_2__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__XFeatureCall__Group_1_2__0();
@@ -45903,7 +45947,7 @@
             	    break;
 
             	default :
-            	    break loop115;
+            	    break loop116;
                 }
             } while (true);
 
@@ -45932,14 +45976,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1__3"
-    // InternalSignalDSL.g:13805:1: rule__XFeatureCall__Group_1__3 : rule__XFeatureCall__Group_1__3__Impl ;
+    // InternalSignalDSL.g:13833:1: rule__XFeatureCall__Group_1__3 : rule__XFeatureCall__Group_1__3__Impl ;
     public final void rule__XFeatureCall__Group_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13809:1: ( rule__XFeatureCall__Group_1__3__Impl )
-            // InternalSignalDSL.g:13810:2: rule__XFeatureCall__Group_1__3__Impl
+            // InternalSignalDSL.g:13837:1: ( rule__XFeatureCall__Group_1__3__Impl )
+            // InternalSignalDSL.g:13838:2: rule__XFeatureCall__Group_1__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__Group_1__3__Impl();
@@ -45965,17 +46009,17 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1__3__Impl"
-    // InternalSignalDSL.g:13816:1: rule__XFeatureCall__Group_1__3__Impl : ( '>' ) ;
+    // InternalSignalDSL.g:13844:1: rule__XFeatureCall__Group_1__3__Impl : ( '>' ) ;
     public final void rule__XFeatureCall__Group_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13820:1: ( ( '>' ) )
-            // InternalSignalDSL.g:13821:1: ( '>' )
+            // InternalSignalDSL.g:13848:1: ( ( '>' ) )
+            // InternalSignalDSL.g:13849:1: ( '>' )
             {
-            // InternalSignalDSL.g:13821:1: ( '>' )
-            // InternalSignalDSL.g:13822:2: '>'
+            // InternalSignalDSL.g:13849:1: ( '>' )
+            // InternalSignalDSL.g:13850:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); 
@@ -46006,14 +46050,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1_2__0"
-    // InternalSignalDSL.g:13832:1: rule__XFeatureCall__Group_1_2__0 : rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1 ;
+    // InternalSignalDSL.g:13860:1: rule__XFeatureCall__Group_1_2__0 : rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1 ;
     public final void rule__XFeatureCall__Group_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13836:1: ( rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1 )
-            // InternalSignalDSL.g:13837:2: rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1
+            // InternalSignalDSL.g:13864:1: ( rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1 )
+            // InternalSignalDSL.g:13865:2: rule__XFeatureCall__Group_1_2__0__Impl rule__XFeatureCall__Group_1_2__1
             {
             pushFollow(FOLLOW_72);
             rule__XFeatureCall__Group_1_2__0__Impl();
@@ -46044,22 +46088,22 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1_2__0__Impl"
-    // InternalSignalDSL.g:13844:1: rule__XFeatureCall__Group_1_2__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:13872:1: rule__XFeatureCall__Group_1_2__0__Impl : ( ',' ) ;
     public final void rule__XFeatureCall__Group_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13848:1: ( ( ',' ) )
-            // InternalSignalDSL.g:13849:1: ( ',' )
+            // InternalSignalDSL.g:13876:1: ( ( ',' ) )
+            // InternalSignalDSL.g:13877:1: ( ',' )
             {
-            // InternalSignalDSL.g:13849:1: ( ',' )
-            // InternalSignalDSL.g:13850:2: ','
+            // InternalSignalDSL.g:13877:1: ( ',' )
+            // InternalSignalDSL.g:13878:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); 
             }
@@ -46085,14 +46129,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1_2__1"
-    // InternalSignalDSL.g:13859:1: rule__XFeatureCall__Group_1_2__1 : rule__XFeatureCall__Group_1_2__1__Impl ;
+    // InternalSignalDSL.g:13887:1: rule__XFeatureCall__Group_1_2__1 : rule__XFeatureCall__Group_1_2__1__Impl ;
     public final void rule__XFeatureCall__Group_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13863:1: ( rule__XFeatureCall__Group_1_2__1__Impl )
-            // InternalSignalDSL.g:13864:2: rule__XFeatureCall__Group_1_2__1__Impl
+            // InternalSignalDSL.g:13891:1: ( rule__XFeatureCall__Group_1_2__1__Impl )
+            // InternalSignalDSL.g:13892:2: rule__XFeatureCall__Group_1_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__Group_1_2__1__Impl();
@@ -46118,23 +46162,23 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_1_2__1__Impl"
-    // InternalSignalDSL.g:13870:1: rule__XFeatureCall__Group_1_2__1__Impl : ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) ;
+    // InternalSignalDSL.g:13898:1: rule__XFeatureCall__Group_1_2__1__Impl : ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) ;
     public final void rule__XFeatureCall__Group_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13874:1: ( ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) )
-            // InternalSignalDSL.g:13875:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) )
+            // InternalSignalDSL.g:13902:1: ( ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) ) )
+            // InternalSignalDSL.g:13903:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) )
             {
-            // InternalSignalDSL.g:13875:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) )
-            // InternalSignalDSL.g:13876:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 )
+            // InternalSignalDSL.g:13903:1: ( ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 ) )
+            // InternalSignalDSL.g:13904:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1()); 
             }
-            // InternalSignalDSL.g:13877:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 )
-            // InternalSignalDSL.g:13877:3: rule__XFeatureCall__TypeArgumentsAssignment_1_2_1
+            // InternalSignalDSL.g:13905:2: ( rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 )
+            // InternalSignalDSL.g:13905:3: rule__XFeatureCall__TypeArgumentsAssignment_1_2_1
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__TypeArgumentsAssignment_1_2_1();
@@ -46169,14 +46213,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3__0"
-    // InternalSignalDSL.g:13886:1: rule__XFeatureCall__Group_3__0 : rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1 ;
+    // InternalSignalDSL.g:13914:1: rule__XFeatureCall__Group_3__0 : rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1 ;
     public final void rule__XFeatureCall__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13890:1: ( rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1 )
-            // InternalSignalDSL.g:13891:2: rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1
+            // InternalSignalDSL.g:13918:1: ( rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1 )
+            // InternalSignalDSL.g:13919:2: rule__XFeatureCall__Group_3__0__Impl rule__XFeatureCall__Group_3__1
             {
             pushFollow(FOLLOW_74);
             rule__XFeatureCall__Group_3__0__Impl();
@@ -46207,23 +46251,23 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3__0__Impl"
-    // InternalSignalDSL.g:13898:1: rule__XFeatureCall__Group_3__0__Impl : ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) ;
+    // InternalSignalDSL.g:13926:1: rule__XFeatureCall__Group_3__0__Impl : ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) ;
     public final void rule__XFeatureCall__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13902:1: ( ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) )
-            // InternalSignalDSL.g:13903:1: ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) )
+            // InternalSignalDSL.g:13930:1: ( ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) ) )
+            // InternalSignalDSL.g:13931:1: ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) )
             {
-            // InternalSignalDSL.g:13903:1: ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) )
-            // InternalSignalDSL.g:13904:2: ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 )
+            // InternalSignalDSL.g:13931:1: ( ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 ) )
+            // InternalSignalDSL.g:13932:2: ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0()); 
             }
-            // InternalSignalDSL.g:13905:2: ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 )
-            // InternalSignalDSL.g:13905:3: rule__XFeatureCall__ExplicitOperationCallAssignment_3_0
+            // InternalSignalDSL.g:13933:2: ( rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 )
+            // InternalSignalDSL.g:13933:3: rule__XFeatureCall__ExplicitOperationCallAssignment_3_0
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__ExplicitOperationCallAssignment_3_0();
@@ -46258,14 +46302,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3__1"
-    // InternalSignalDSL.g:13913:1: rule__XFeatureCall__Group_3__1 : rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2 ;
+    // InternalSignalDSL.g:13941:1: rule__XFeatureCall__Group_3__1 : rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2 ;
     public final void rule__XFeatureCall__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13917:1: ( rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2 )
-            // InternalSignalDSL.g:13918:2: rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2
+            // InternalSignalDSL.g:13945:1: ( rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2 )
+            // InternalSignalDSL.g:13946:2: rule__XFeatureCall__Group_3__1__Impl rule__XFeatureCall__Group_3__2
             {
             pushFollow(FOLLOW_74);
             rule__XFeatureCall__Group_3__1__Impl();
@@ -46296,31 +46340,31 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3__1__Impl"
-    // InternalSignalDSL.g:13925:1: rule__XFeatureCall__Group_3__1__Impl : ( ( rule__XFeatureCall__Alternatives_3_1 )? ) ;
+    // InternalSignalDSL.g:13953:1: rule__XFeatureCall__Group_3__1__Impl : ( ( rule__XFeatureCall__Alternatives_3_1 )? ) ;
     public final void rule__XFeatureCall__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13929:1: ( ( ( rule__XFeatureCall__Alternatives_3_1 )? ) )
-            // InternalSignalDSL.g:13930:1: ( ( rule__XFeatureCall__Alternatives_3_1 )? )
+            // InternalSignalDSL.g:13957:1: ( ( ( rule__XFeatureCall__Alternatives_3_1 )? ) )
+            // InternalSignalDSL.g:13958:1: ( ( rule__XFeatureCall__Alternatives_3_1 )? )
             {
-            // InternalSignalDSL.g:13930:1: ( ( rule__XFeatureCall__Alternatives_3_1 )? )
-            // InternalSignalDSL.g:13931:2: ( rule__XFeatureCall__Alternatives_3_1 )?
+            // InternalSignalDSL.g:13958:1: ( ( rule__XFeatureCall__Alternatives_3_1 )? )
+            // InternalSignalDSL.g:13959:2: ( rule__XFeatureCall__Alternatives_3_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1()); 
             }
-            // InternalSignalDSL.g:13932:2: ( rule__XFeatureCall__Alternatives_3_1 )?
-            int alt116=2;
-            int LA116_0 = input.LA(1);
+            // InternalSignalDSL.g:13960:2: ( rule__XFeatureCall__Alternatives_3_1 )?
+            int alt117=2;
+            int LA117_0 = input.LA(1);
 
-            if ( ((LA116_0>=RULE_ID && LA116_0<=RULE_STRING)||LA116_0==27||LA116_0==31||(LA116_0>=34 && LA116_0<=35)||LA116_0==40||(LA116_0>=45 && LA116_0<=50)||LA116_0==64||LA116_0==68||LA116_0==74||(LA116_0>=78 && LA116_0<=79)||LA116_0==82||LA116_0==84||(LA116_0>=88 && LA116_0<=95)||LA116_0==97||LA116_0==104||LA116_0==106) ) {
-                alt116=1;
+            if ( ((LA117_0>=RULE_ID && LA117_0<=RULE_STRING)||LA117_0==27||LA117_0==31||(LA117_0>=34 && LA117_0<=35)||LA117_0==40||(LA117_0>=45 && LA117_0<=50)||LA117_0==60||LA117_0==64||LA117_0==71||(LA117_0>=75 && LA117_0<=76)||LA117_0==79||LA117_0==81||(LA117_0>=85 && LA117_0<=92)||LA117_0==94||LA117_0==101||LA117_0==103) ) {
+                alt117=1;
             }
-            switch (alt116) {
+            switch (alt117) {
                 case 1 :
-                    // InternalSignalDSL.g:13932:3: rule__XFeatureCall__Alternatives_3_1
+                    // InternalSignalDSL.g:13960:3: rule__XFeatureCall__Alternatives_3_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XFeatureCall__Alternatives_3_1();
@@ -46358,14 +46402,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3__2"
-    // InternalSignalDSL.g:13940:1: rule__XFeatureCall__Group_3__2 : rule__XFeatureCall__Group_3__2__Impl ;
+    // InternalSignalDSL.g:13968:1: rule__XFeatureCall__Group_3__2 : rule__XFeatureCall__Group_3__2__Impl ;
     public final void rule__XFeatureCall__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13944:1: ( rule__XFeatureCall__Group_3__2__Impl )
-            // InternalSignalDSL.g:13945:2: rule__XFeatureCall__Group_3__2__Impl
+            // InternalSignalDSL.g:13972:1: ( rule__XFeatureCall__Group_3__2__Impl )
+            // InternalSignalDSL.g:13973:2: rule__XFeatureCall__Group_3__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__Group_3__2__Impl();
@@ -46391,22 +46435,22 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3__2__Impl"
-    // InternalSignalDSL.g:13951:1: rule__XFeatureCall__Group_3__2__Impl : ( ')' ) ;
+    // InternalSignalDSL.g:13979:1: rule__XFeatureCall__Group_3__2__Impl : ( ')' ) ;
     public final void rule__XFeatureCall__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13955:1: ( ( ')' ) )
-            // InternalSignalDSL.g:13956:1: ( ')' )
+            // InternalSignalDSL.g:13983:1: ( ( ')' ) )
+            // InternalSignalDSL.g:13984:1: ( ')' )
             {
-            // InternalSignalDSL.g:13956:1: ( ')' )
-            // InternalSignalDSL.g:13957:2: ')'
+            // InternalSignalDSL.g:13984:1: ( ')' )
+            // InternalSignalDSL.g:13985:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); 
             }
-            match(input,75,FOLLOW_2); if (state.failed) return ;
+            match(input,72,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); 
             }
@@ -46432,14 +46476,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3_1_1__0"
-    // InternalSignalDSL.g:13967:1: rule__XFeatureCall__Group_3_1_1__0 : rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1 ;
+    // InternalSignalDSL.g:13995:1: rule__XFeatureCall__Group_3_1_1__0 : rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1 ;
     public final void rule__XFeatureCall__Group_3_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13971:1: ( rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1 )
-            // InternalSignalDSL.g:13972:2: rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1
+            // InternalSignalDSL.g:13999:1: ( rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1 )
+            // InternalSignalDSL.g:14000:2: rule__XFeatureCall__Group_3_1_1__0__Impl rule__XFeatureCall__Group_3_1_1__1
             {
             pushFollow(FOLLOW_33);
             rule__XFeatureCall__Group_3_1_1__0__Impl();
@@ -46470,23 +46514,23 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3_1_1__0__Impl"
-    // InternalSignalDSL.g:13979:1: rule__XFeatureCall__Group_3_1_1__0__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) ;
+    // InternalSignalDSL.g:14007:1: rule__XFeatureCall__Group_3_1_1__0__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) ;
     public final void rule__XFeatureCall__Group_3_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13983:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) )
-            // InternalSignalDSL.g:13984:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) )
+            // InternalSignalDSL.g:14011:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) ) )
+            // InternalSignalDSL.g:14012:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) )
             {
-            // InternalSignalDSL.g:13984:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) )
-            // InternalSignalDSL.g:13985:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 )
+            // InternalSignalDSL.g:14012:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 ) )
+            // InternalSignalDSL.g:14013:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0()); 
             }
-            // InternalSignalDSL.g:13986:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 )
-            // InternalSignalDSL.g:13986:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0
+            // InternalSignalDSL.g:14014:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 )
+            // InternalSignalDSL.g:14014:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0();
@@ -46521,14 +46565,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3_1_1__1"
-    // InternalSignalDSL.g:13994:1: rule__XFeatureCall__Group_3_1_1__1 : rule__XFeatureCall__Group_3_1_1__1__Impl ;
+    // InternalSignalDSL.g:14022:1: rule__XFeatureCall__Group_3_1_1__1 : rule__XFeatureCall__Group_3_1_1__1__Impl ;
     public final void rule__XFeatureCall__Group_3_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:13998:1: ( rule__XFeatureCall__Group_3_1_1__1__Impl )
-            // InternalSignalDSL.g:13999:2: rule__XFeatureCall__Group_3_1_1__1__Impl
+            // InternalSignalDSL.g:14026:1: ( rule__XFeatureCall__Group_3_1_1__1__Impl )
+            // InternalSignalDSL.g:14027:2: rule__XFeatureCall__Group_3_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__Group_3_1_1__1__Impl();
@@ -46554,35 +46598,35 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3_1_1__1__Impl"
-    // InternalSignalDSL.g:14005:1: rule__XFeatureCall__Group_3_1_1__1__Impl : ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) ;
+    // InternalSignalDSL.g:14033:1: rule__XFeatureCall__Group_3_1_1__1__Impl : ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) ;
     public final void rule__XFeatureCall__Group_3_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14009:1: ( ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) )
-            // InternalSignalDSL.g:14010:1: ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* )
+            // InternalSignalDSL.g:14037:1: ( ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* ) )
+            // InternalSignalDSL.g:14038:1: ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* )
             {
-            // InternalSignalDSL.g:14010:1: ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* )
-            // InternalSignalDSL.g:14011:2: ( rule__XFeatureCall__Group_3_1_1_1__0 )*
+            // InternalSignalDSL.g:14038:1: ( ( rule__XFeatureCall__Group_3_1_1_1__0 )* )
+            // InternalSignalDSL.g:14039:2: ( rule__XFeatureCall__Group_3_1_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1()); 
             }
-            // InternalSignalDSL.g:14012:2: ( rule__XFeatureCall__Group_3_1_1_1__0 )*
-            loop117:
+            // InternalSignalDSL.g:14040:2: ( rule__XFeatureCall__Group_3_1_1_1__0 )*
+            loop118:
             do {
-                int alt117=2;
-                int LA117_0 = input.LA(1);
+                int alt118=2;
+                int LA118_0 = input.LA(1);
 
-                if ( (LA117_0==76) ) {
-                    alt117=1;
+                if ( (LA118_0==73) ) {
+                    alt118=1;
                 }
 
 
-                switch (alt117) {
+                switch (alt118) {
             	case 1 :
-            	    // InternalSignalDSL.g:14012:3: rule__XFeatureCall__Group_3_1_1_1__0
+            	    // InternalSignalDSL.g:14040:3: rule__XFeatureCall__Group_3_1_1_1__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__XFeatureCall__Group_3_1_1_1__0();
@@ -46594,7 +46638,7 @@
             	    break;
 
             	default :
-            	    break loop117;
+            	    break loop118;
                 }
             } while (true);
 
@@ -46623,14 +46667,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__0"
-    // InternalSignalDSL.g:14021:1: rule__XFeatureCall__Group_3_1_1_1__0 : rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1 ;
+    // InternalSignalDSL.g:14049:1: rule__XFeatureCall__Group_3_1_1_1__0 : rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1 ;
     public final void rule__XFeatureCall__Group_3_1_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14025:1: ( rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1 )
-            // InternalSignalDSL.g:14026:2: rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1
+            // InternalSignalDSL.g:14053:1: ( rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1 )
+            // InternalSignalDSL.g:14054:2: rule__XFeatureCall__Group_3_1_1_1__0__Impl rule__XFeatureCall__Group_3_1_1_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XFeatureCall__Group_3_1_1_1__0__Impl();
@@ -46661,22 +46705,22 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__0__Impl"
-    // InternalSignalDSL.g:14033:1: rule__XFeatureCall__Group_3_1_1_1__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:14061:1: rule__XFeatureCall__Group_3_1_1_1__0__Impl : ( ',' ) ;
     public final void rule__XFeatureCall__Group_3_1_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14037:1: ( ( ',' ) )
-            // InternalSignalDSL.g:14038:1: ( ',' )
+            // InternalSignalDSL.g:14065:1: ( ( ',' ) )
+            // InternalSignalDSL.g:14066:1: ( ',' )
             {
-            // InternalSignalDSL.g:14038:1: ( ',' )
-            // InternalSignalDSL.g:14039:2: ','
+            // InternalSignalDSL.g:14066:1: ( ',' )
+            // InternalSignalDSL.g:14067:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); 
             }
@@ -46702,14 +46746,14 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__1"
-    // InternalSignalDSL.g:14048:1: rule__XFeatureCall__Group_3_1_1_1__1 : rule__XFeatureCall__Group_3_1_1_1__1__Impl ;
+    // InternalSignalDSL.g:14076:1: rule__XFeatureCall__Group_3_1_1_1__1 : rule__XFeatureCall__Group_3_1_1_1__1__Impl ;
     public final void rule__XFeatureCall__Group_3_1_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14052:1: ( rule__XFeatureCall__Group_3_1_1_1__1__Impl )
-            // InternalSignalDSL.g:14053:2: rule__XFeatureCall__Group_3_1_1_1__1__Impl
+            // InternalSignalDSL.g:14080:1: ( rule__XFeatureCall__Group_3_1_1_1__1__Impl )
+            // InternalSignalDSL.g:14081:2: rule__XFeatureCall__Group_3_1_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__Group_3_1_1_1__1__Impl();
@@ -46735,23 +46779,23 @@
 
 
     // $ANTLR start "rule__XFeatureCall__Group_3_1_1_1__1__Impl"
-    // InternalSignalDSL.g:14059:1: rule__XFeatureCall__Group_3_1_1_1__1__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) ;
+    // InternalSignalDSL.g:14087:1: rule__XFeatureCall__Group_3_1_1_1__1__Impl : ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) ;
     public final void rule__XFeatureCall__Group_3_1_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14063:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) )
-            // InternalSignalDSL.g:14064:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) )
+            // InternalSignalDSL.g:14091:1: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) ) )
+            // InternalSignalDSL.g:14092:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) )
             {
-            // InternalSignalDSL.g:14064:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) )
-            // InternalSignalDSL.g:14065:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 )
+            // InternalSignalDSL.g:14092:1: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 ) )
+            // InternalSignalDSL.g:14093:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1()); 
             }
-            // InternalSignalDSL.g:14066:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 )
-            // InternalSignalDSL.g:14066:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1
+            // InternalSignalDSL.g:14094:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 )
+            // InternalSignalDSL.g:14094:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1();
@@ -46786,14 +46830,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__0"
-    // InternalSignalDSL.g:14075:1: rule__XConstructorCall__Group__0 : rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1 ;
+    // InternalSignalDSL.g:14103:1: rule__XConstructorCall__Group__0 : rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1 ;
     public final void rule__XConstructorCall__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14079:1: ( rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1 )
-            // InternalSignalDSL.g:14080:2: rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1
+            // InternalSignalDSL.g:14107:1: ( rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1 )
+            // InternalSignalDSL.g:14108:2: rule__XConstructorCall__Group__0__Impl rule__XConstructorCall__Group__1
             {
             pushFollow(FOLLOW_96);
             rule__XConstructorCall__Group__0__Impl();
@@ -46824,23 +46868,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__0__Impl"
-    // InternalSignalDSL.g:14087:1: rule__XConstructorCall__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:14115:1: rule__XConstructorCall__Group__0__Impl : ( () ) ;
     public final void rule__XConstructorCall__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14091:1: ( ( () ) )
-            // InternalSignalDSL.g:14092:1: ( () )
+            // InternalSignalDSL.g:14119:1: ( ( () ) )
+            // InternalSignalDSL.g:14120:1: ( () )
             {
-            // InternalSignalDSL.g:14092:1: ( () )
-            // InternalSignalDSL.g:14093:2: ()
+            // InternalSignalDSL.g:14120:1: ( () )
+            // InternalSignalDSL.g:14121:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0()); 
             }
-            // InternalSignalDSL.g:14094:2: ()
-            // InternalSignalDSL.g:14094:3: 
+            // InternalSignalDSL.g:14122:2: ()
+            // InternalSignalDSL.g:14122:3: 
             {
             }
 
@@ -46865,14 +46909,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__1"
-    // InternalSignalDSL.g:14102:1: rule__XConstructorCall__Group__1 : rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2 ;
+    // InternalSignalDSL.g:14130:1: rule__XConstructorCall__Group__1 : rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2 ;
     public final void rule__XConstructorCall__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14106:1: ( rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2 )
-            // InternalSignalDSL.g:14107:2: rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2
+            // InternalSignalDSL.g:14134:1: ( rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2 )
+            // InternalSignalDSL.g:14135:2: rule__XConstructorCall__Group__1__Impl rule__XConstructorCall__Group__2
             {
             pushFollow(FOLLOW_7);
             rule__XConstructorCall__Group__1__Impl();
@@ -46903,22 +46947,22 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__1__Impl"
-    // InternalSignalDSL.g:14114:1: rule__XConstructorCall__Group__1__Impl : ( 'new' ) ;
+    // InternalSignalDSL.g:14142:1: rule__XConstructorCall__Group__1__Impl : ( 'new' ) ;
     public final void rule__XConstructorCall__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14118:1: ( ( 'new' ) )
-            // InternalSignalDSL.g:14119:1: ( 'new' )
+            // InternalSignalDSL.g:14146:1: ( ( 'new' ) )
+            // InternalSignalDSL.g:14147:1: ( 'new' )
             {
-            // InternalSignalDSL.g:14119:1: ( 'new' )
-            // InternalSignalDSL.g:14120:2: 'new'
+            // InternalSignalDSL.g:14147:1: ( 'new' )
+            // InternalSignalDSL.g:14148:2: 'new'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); 
             }
-            match(input,90,FOLLOW_2); if (state.failed) return ;
+            match(input,87,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); 
             }
@@ -46944,14 +46988,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__2"
-    // InternalSignalDSL.g:14129:1: rule__XConstructorCall__Group__2 : rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3 ;
+    // InternalSignalDSL.g:14157:1: rule__XConstructorCall__Group__2 : rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3 ;
     public final void rule__XConstructorCall__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14133:1: ( rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3 )
-            // InternalSignalDSL.g:14134:2: rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3
+            // InternalSignalDSL.g:14161:1: ( rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3 )
+            // InternalSignalDSL.g:14162:2: rule__XConstructorCall__Group__2__Impl rule__XConstructorCall__Group__3
             {
             pushFollow(FOLLOW_97);
             rule__XConstructorCall__Group__2__Impl();
@@ -46982,23 +47026,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__2__Impl"
-    // InternalSignalDSL.g:14141:1: rule__XConstructorCall__Group__2__Impl : ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) ;
+    // InternalSignalDSL.g:14169:1: rule__XConstructorCall__Group__2__Impl : ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) ;
     public final void rule__XConstructorCall__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14145:1: ( ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) )
-            // InternalSignalDSL.g:14146:1: ( ( rule__XConstructorCall__ConstructorAssignment_2 ) )
+            // InternalSignalDSL.g:14173:1: ( ( ( rule__XConstructorCall__ConstructorAssignment_2 ) ) )
+            // InternalSignalDSL.g:14174:1: ( ( rule__XConstructorCall__ConstructorAssignment_2 ) )
             {
-            // InternalSignalDSL.g:14146:1: ( ( rule__XConstructorCall__ConstructorAssignment_2 ) )
-            // InternalSignalDSL.g:14147:2: ( rule__XConstructorCall__ConstructorAssignment_2 )
+            // InternalSignalDSL.g:14174:1: ( ( rule__XConstructorCall__ConstructorAssignment_2 ) )
+            // InternalSignalDSL.g:14175:2: ( rule__XConstructorCall__ConstructorAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2()); 
             }
-            // InternalSignalDSL.g:14148:2: ( rule__XConstructorCall__ConstructorAssignment_2 )
-            // InternalSignalDSL.g:14148:3: rule__XConstructorCall__ConstructorAssignment_2
+            // InternalSignalDSL.g:14176:2: ( rule__XConstructorCall__ConstructorAssignment_2 )
+            // InternalSignalDSL.g:14176:3: rule__XConstructorCall__ConstructorAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__ConstructorAssignment_2();
@@ -47033,14 +47077,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__3"
-    // InternalSignalDSL.g:14156:1: rule__XConstructorCall__Group__3 : rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4 ;
+    // InternalSignalDSL.g:14184:1: rule__XConstructorCall__Group__3 : rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4 ;
     public final void rule__XConstructorCall__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14160:1: ( rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4 )
-            // InternalSignalDSL.g:14161:2: rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4
+            // InternalSignalDSL.g:14188:1: ( rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4 )
+            // InternalSignalDSL.g:14189:2: rule__XConstructorCall__Group__3__Impl rule__XConstructorCall__Group__4
             {
             pushFollow(FOLLOW_97);
             rule__XConstructorCall__Group__3__Impl();
@@ -47071,27 +47115,27 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__3__Impl"
-    // InternalSignalDSL.g:14168:1: rule__XConstructorCall__Group__3__Impl : ( ( rule__XConstructorCall__Group_3__0 )? ) ;
+    // InternalSignalDSL.g:14196:1: rule__XConstructorCall__Group__3__Impl : ( ( rule__XConstructorCall__Group_3__0 )? ) ;
     public final void rule__XConstructorCall__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14172:1: ( ( ( rule__XConstructorCall__Group_3__0 )? ) )
-            // InternalSignalDSL.g:14173:1: ( ( rule__XConstructorCall__Group_3__0 )? )
+            // InternalSignalDSL.g:14200:1: ( ( ( rule__XConstructorCall__Group_3__0 )? ) )
+            // InternalSignalDSL.g:14201:1: ( ( rule__XConstructorCall__Group_3__0 )? )
             {
-            // InternalSignalDSL.g:14173:1: ( ( rule__XConstructorCall__Group_3__0 )? )
-            // InternalSignalDSL.g:14174:2: ( rule__XConstructorCall__Group_3__0 )?
+            // InternalSignalDSL.g:14201:1: ( ( rule__XConstructorCall__Group_3__0 )? )
+            // InternalSignalDSL.g:14202:2: ( rule__XConstructorCall__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getGroup_3()); 
             }
-            // InternalSignalDSL.g:14175:2: ( rule__XConstructorCall__Group_3__0 )?
-            int alt118=2;
-            alt118 = dfa118.predict(input);
-            switch (alt118) {
+            // InternalSignalDSL.g:14203:2: ( rule__XConstructorCall__Group_3__0 )?
+            int alt119=2;
+            alt119 = dfa119.predict(input);
+            switch (alt119) {
                 case 1 :
-                    // InternalSignalDSL.g:14175:3: rule__XConstructorCall__Group_3__0
+                    // InternalSignalDSL.g:14203:3: rule__XConstructorCall__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XConstructorCall__Group_3__0();
@@ -47129,14 +47173,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__4"
-    // InternalSignalDSL.g:14183:1: rule__XConstructorCall__Group__4 : rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5 ;
+    // InternalSignalDSL.g:14211:1: rule__XConstructorCall__Group__4 : rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5 ;
     public final void rule__XConstructorCall__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14187:1: ( rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5 )
-            // InternalSignalDSL.g:14188:2: rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5
+            // InternalSignalDSL.g:14215:1: ( rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5 )
+            // InternalSignalDSL.g:14216:2: rule__XConstructorCall__Group__4__Impl rule__XConstructorCall__Group__5
             {
             pushFollow(FOLLOW_97);
             rule__XConstructorCall__Group__4__Impl();
@@ -47167,27 +47211,27 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__4__Impl"
-    // InternalSignalDSL.g:14195:1: rule__XConstructorCall__Group__4__Impl : ( ( rule__XConstructorCall__Group_4__0 )? ) ;
+    // InternalSignalDSL.g:14223:1: rule__XConstructorCall__Group__4__Impl : ( ( rule__XConstructorCall__Group_4__0 )? ) ;
     public final void rule__XConstructorCall__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14199:1: ( ( ( rule__XConstructorCall__Group_4__0 )? ) )
-            // InternalSignalDSL.g:14200:1: ( ( rule__XConstructorCall__Group_4__0 )? )
+            // InternalSignalDSL.g:14227:1: ( ( ( rule__XConstructorCall__Group_4__0 )? ) )
+            // InternalSignalDSL.g:14228:1: ( ( rule__XConstructorCall__Group_4__0 )? )
             {
-            // InternalSignalDSL.g:14200:1: ( ( rule__XConstructorCall__Group_4__0 )? )
-            // InternalSignalDSL.g:14201:2: ( rule__XConstructorCall__Group_4__0 )?
+            // InternalSignalDSL.g:14228:1: ( ( rule__XConstructorCall__Group_4__0 )? )
+            // InternalSignalDSL.g:14229:2: ( rule__XConstructorCall__Group_4__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getGroup_4()); 
             }
-            // InternalSignalDSL.g:14202:2: ( rule__XConstructorCall__Group_4__0 )?
-            int alt119=2;
-            alt119 = dfa119.predict(input);
-            switch (alt119) {
+            // InternalSignalDSL.g:14230:2: ( rule__XConstructorCall__Group_4__0 )?
+            int alt120=2;
+            alt120 = dfa120.predict(input);
+            switch (alt120) {
                 case 1 :
-                    // InternalSignalDSL.g:14202:3: rule__XConstructorCall__Group_4__0
+                    // InternalSignalDSL.g:14230:3: rule__XConstructorCall__Group_4__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XConstructorCall__Group_4__0();
@@ -47225,14 +47269,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__5"
-    // InternalSignalDSL.g:14210:1: rule__XConstructorCall__Group__5 : rule__XConstructorCall__Group__5__Impl ;
+    // InternalSignalDSL.g:14238:1: rule__XConstructorCall__Group__5 : rule__XConstructorCall__Group__5__Impl ;
     public final void rule__XConstructorCall__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14214:1: ( rule__XConstructorCall__Group__5__Impl )
-            // InternalSignalDSL.g:14215:2: rule__XConstructorCall__Group__5__Impl
+            // InternalSignalDSL.g:14242:1: ( rule__XConstructorCall__Group__5__Impl )
+            // InternalSignalDSL.g:14243:2: rule__XConstructorCall__Group__5__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__Group__5__Impl();
@@ -47258,27 +47302,27 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group__5__Impl"
-    // InternalSignalDSL.g:14221:1: rule__XConstructorCall__Group__5__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) ;
+    // InternalSignalDSL.g:14249:1: rule__XConstructorCall__Group__5__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) ;
     public final void rule__XConstructorCall__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14225:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) )
-            // InternalSignalDSL.g:14226:1: ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? )
+            // InternalSignalDSL.g:14253:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? ) )
+            // InternalSignalDSL.g:14254:1: ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? )
             {
-            // InternalSignalDSL.g:14226:1: ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? )
-            // InternalSignalDSL.g:14227:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )?
+            // InternalSignalDSL.g:14254:1: ( ( rule__XConstructorCall__ArgumentsAssignment_5 )? )
+            // InternalSignalDSL.g:14255:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5()); 
             }
-            // InternalSignalDSL.g:14228:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )?
-            int alt120=2;
-            alt120 = dfa120.predict(input);
-            switch (alt120) {
+            // InternalSignalDSL.g:14256:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )?
+            int alt121=2;
+            alt121 = dfa121.predict(input);
+            switch (alt121) {
                 case 1 :
-                    // InternalSignalDSL.g:14228:3: rule__XConstructorCall__ArgumentsAssignment_5
+                    // InternalSignalDSL.g:14256:3: rule__XConstructorCall__ArgumentsAssignment_5
                     {
                     pushFollow(FOLLOW_2);
                     rule__XConstructorCall__ArgumentsAssignment_5();
@@ -47316,14 +47360,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3__0"
-    // InternalSignalDSL.g:14237:1: rule__XConstructorCall__Group_3__0 : rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1 ;
+    // InternalSignalDSL.g:14265:1: rule__XConstructorCall__Group_3__0 : rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1 ;
     public final void rule__XConstructorCall__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14241:1: ( rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1 )
-            // InternalSignalDSL.g:14242:2: rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1
+            // InternalSignalDSL.g:14269:1: ( rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1 )
+            // InternalSignalDSL.g:14270:2: rule__XConstructorCall__Group_3__0__Impl rule__XConstructorCall__Group_3__1
             {
             pushFollow(FOLLOW_72);
             rule__XConstructorCall__Group_3__0__Impl();
@@ -47354,23 +47398,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3__0__Impl"
-    // InternalSignalDSL.g:14249:1: rule__XConstructorCall__Group_3__0__Impl : ( ( '<' ) ) ;
+    // InternalSignalDSL.g:14277:1: rule__XConstructorCall__Group_3__0__Impl : ( ( '<' ) ) ;
     public final void rule__XConstructorCall__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14253:1: ( ( ( '<' ) ) )
-            // InternalSignalDSL.g:14254:1: ( ( '<' ) )
+            // InternalSignalDSL.g:14281:1: ( ( ( '<' ) ) )
+            // InternalSignalDSL.g:14282:1: ( ( '<' ) )
             {
-            // InternalSignalDSL.g:14254:1: ( ( '<' ) )
-            // InternalSignalDSL.g:14255:2: ( '<' )
+            // InternalSignalDSL.g:14282:1: ( ( '<' ) )
+            // InternalSignalDSL.g:14283:2: ( '<' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); 
             }
-            // InternalSignalDSL.g:14256:2: ( '<' )
-            // InternalSignalDSL.g:14256:3: '<'
+            // InternalSignalDSL.g:14284:2: ( '<' )
+            // InternalSignalDSL.g:14284:3: '<'
             {
             match(input,27,FOLLOW_2); if (state.failed) return ;
 
@@ -47401,14 +47445,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3__1"
-    // InternalSignalDSL.g:14264:1: rule__XConstructorCall__Group_3__1 : rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2 ;
+    // InternalSignalDSL.g:14292:1: rule__XConstructorCall__Group_3__1 : rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2 ;
     public final void rule__XConstructorCall__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14268:1: ( rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2 )
-            // InternalSignalDSL.g:14269:2: rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2
+            // InternalSignalDSL.g:14296:1: ( rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2 )
+            // InternalSignalDSL.g:14297:2: rule__XConstructorCall__Group_3__1__Impl rule__XConstructorCall__Group_3__2
             {
             pushFollow(FOLLOW_73);
             rule__XConstructorCall__Group_3__1__Impl();
@@ -47439,23 +47483,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3__1__Impl"
-    // InternalSignalDSL.g:14276:1: rule__XConstructorCall__Group_3__1__Impl : ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) ;
+    // InternalSignalDSL.g:14304:1: rule__XConstructorCall__Group_3__1__Impl : ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) ;
     public final void rule__XConstructorCall__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14280:1: ( ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) )
-            // InternalSignalDSL.g:14281:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) )
+            // InternalSignalDSL.g:14308:1: ( ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) ) )
+            // InternalSignalDSL.g:14309:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) )
             {
-            // InternalSignalDSL.g:14281:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) )
-            // InternalSignalDSL.g:14282:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 )
+            // InternalSignalDSL.g:14309:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 ) )
+            // InternalSignalDSL.g:14310:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1()); 
             }
-            // InternalSignalDSL.g:14283:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 )
-            // InternalSignalDSL.g:14283:3: rule__XConstructorCall__TypeArgumentsAssignment_3_1
+            // InternalSignalDSL.g:14311:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_1 )
+            // InternalSignalDSL.g:14311:3: rule__XConstructorCall__TypeArgumentsAssignment_3_1
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__TypeArgumentsAssignment_3_1();
@@ -47490,14 +47534,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3__2"
-    // InternalSignalDSL.g:14291:1: rule__XConstructorCall__Group_3__2 : rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3 ;
+    // InternalSignalDSL.g:14319:1: rule__XConstructorCall__Group_3__2 : rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3 ;
     public final void rule__XConstructorCall__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14295:1: ( rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3 )
-            // InternalSignalDSL.g:14296:2: rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3
+            // InternalSignalDSL.g:14323:1: ( rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3 )
+            // InternalSignalDSL.g:14324:2: rule__XConstructorCall__Group_3__2__Impl rule__XConstructorCall__Group_3__3
             {
             pushFollow(FOLLOW_73);
             rule__XConstructorCall__Group_3__2__Impl();
@@ -47528,35 +47572,35 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3__2__Impl"
-    // InternalSignalDSL.g:14303:1: rule__XConstructorCall__Group_3__2__Impl : ( ( rule__XConstructorCall__Group_3_2__0 )* ) ;
+    // InternalSignalDSL.g:14331:1: rule__XConstructorCall__Group_3__2__Impl : ( ( rule__XConstructorCall__Group_3_2__0 )* ) ;
     public final void rule__XConstructorCall__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14307:1: ( ( ( rule__XConstructorCall__Group_3_2__0 )* ) )
-            // InternalSignalDSL.g:14308:1: ( ( rule__XConstructorCall__Group_3_2__0 )* )
+            // InternalSignalDSL.g:14335:1: ( ( ( rule__XConstructorCall__Group_3_2__0 )* ) )
+            // InternalSignalDSL.g:14336:1: ( ( rule__XConstructorCall__Group_3_2__0 )* )
             {
-            // InternalSignalDSL.g:14308:1: ( ( rule__XConstructorCall__Group_3_2__0 )* )
-            // InternalSignalDSL.g:14309:2: ( rule__XConstructorCall__Group_3_2__0 )*
+            // InternalSignalDSL.g:14336:1: ( ( rule__XConstructorCall__Group_3_2__0 )* )
+            // InternalSignalDSL.g:14337:2: ( rule__XConstructorCall__Group_3_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getGroup_3_2()); 
             }
-            // InternalSignalDSL.g:14310:2: ( rule__XConstructorCall__Group_3_2__0 )*
-            loop121:
+            // InternalSignalDSL.g:14338:2: ( rule__XConstructorCall__Group_3_2__0 )*
+            loop122:
             do {
-                int alt121=2;
-                int LA121_0 = input.LA(1);
+                int alt122=2;
+                int LA122_0 = input.LA(1);
 
-                if ( (LA121_0==76) ) {
-                    alt121=1;
+                if ( (LA122_0==73) ) {
+                    alt122=1;
                 }
 
 
-                switch (alt121) {
+                switch (alt122) {
             	case 1 :
-            	    // InternalSignalDSL.g:14310:3: rule__XConstructorCall__Group_3_2__0
+            	    // InternalSignalDSL.g:14338:3: rule__XConstructorCall__Group_3_2__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__XConstructorCall__Group_3_2__0();
@@ -47568,7 +47612,7 @@
             	    break;
 
             	default :
-            	    break loop121;
+            	    break loop122;
                 }
             } while (true);
 
@@ -47597,14 +47641,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3__3"
-    // InternalSignalDSL.g:14318:1: rule__XConstructorCall__Group_3__3 : rule__XConstructorCall__Group_3__3__Impl ;
+    // InternalSignalDSL.g:14346:1: rule__XConstructorCall__Group_3__3 : rule__XConstructorCall__Group_3__3__Impl ;
     public final void rule__XConstructorCall__Group_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14322:1: ( rule__XConstructorCall__Group_3__3__Impl )
-            // InternalSignalDSL.g:14323:2: rule__XConstructorCall__Group_3__3__Impl
+            // InternalSignalDSL.g:14350:1: ( rule__XConstructorCall__Group_3__3__Impl )
+            // InternalSignalDSL.g:14351:2: rule__XConstructorCall__Group_3__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__Group_3__3__Impl();
@@ -47630,17 +47674,17 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3__3__Impl"
-    // InternalSignalDSL.g:14329:1: rule__XConstructorCall__Group_3__3__Impl : ( '>' ) ;
+    // InternalSignalDSL.g:14357:1: rule__XConstructorCall__Group_3__3__Impl : ( '>' ) ;
     public final void rule__XConstructorCall__Group_3__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14333:1: ( ( '>' ) )
-            // InternalSignalDSL.g:14334:1: ( '>' )
+            // InternalSignalDSL.g:14361:1: ( ( '>' ) )
+            // InternalSignalDSL.g:14362:1: ( '>' )
             {
-            // InternalSignalDSL.g:14334:1: ( '>' )
-            // InternalSignalDSL.g:14335:2: '>'
+            // InternalSignalDSL.g:14362:1: ( '>' )
+            // InternalSignalDSL.g:14363:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); 
@@ -47671,14 +47715,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3_2__0"
-    // InternalSignalDSL.g:14345:1: rule__XConstructorCall__Group_3_2__0 : rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1 ;
+    // InternalSignalDSL.g:14373:1: rule__XConstructorCall__Group_3_2__0 : rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1 ;
     public final void rule__XConstructorCall__Group_3_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14349:1: ( rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1 )
-            // InternalSignalDSL.g:14350:2: rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1
+            // InternalSignalDSL.g:14377:1: ( rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1 )
+            // InternalSignalDSL.g:14378:2: rule__XConstructorCall__Group_3_2__0__Impl rule__XConstructorCall__Group_3_2__1
             {
             pushFollow(FOLLOW_72);
             rule__XConstructorCall__Group_3_2__0__Impl();
@@ -47709,22 +47753,22 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3_2__0__Impl"
-    // InternalSignalDSL.g:14357:1: rule__XConstructorCall__Group_3_2__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:14385:1: rule__XConstructorCall__Group_3_2__0__Impl : ( ',' ) ;
     public final void rule__XConstructorCall__Group_3_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14361:1: ( ( ',' ) )
-            // InternalSignalDSL.g:14362:1: ( ',' )
+            // InternalSignalDSL.g:14389:1: ( ( ',' ) )
+            // InternalSignalDSL.g:14390:1: ( ',' )
             {
-            // InternalSignalDSL.g:14362:1: ( ',' )
-            // InternalSignalDSL.g:14363:2: ','
+            // InternalSignalDSL.g:14390:1: ( ',' )
+            // InternalSignalDSL.g:14391:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); 
             }
@@ -47750,14 +47794,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3_2__1"
-    // InternalSignalDSL.g:14372:1: rule__XConstructorCall__Group_3_2__1 : rule__XConstructorCall__Group_3_2__1__Impl ;
+    // InternalSignalDSL.g:14400:1: rule__XConstructorCall__Group_3_2__1 : rule__XConstructorCall__Group_3_2__1__Impl ;
     public final void rule__XConstructorCall__Group_3_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14376:1: ( rule__XConstructorCall__Group_3_2__1__Impl )
-            // InternalSignalDSL.g:14377:2: rule__XConstructorCall__Group_3_2__1__Impl
+            // InternalSignalDSL.g:14404:1: ( rule__XConstructorCall__Group_3_2__1__Impl )
+            // InternalSignalDSL.g:14405:2: rule__XConstructorCall__Group_3_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__Group_3_2__1__Impl();
@@ -47783,23 +47827,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_3_2__1__Impl"
-    // InternalSignalDSL.g:14383:1: rule__XConstructorCall__Group_3_2__1__Impl : ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) ;
+    // InternalSignalDSL.g:14411:1: rule__XConstructorCall__Group_3_2__1__Impl : ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) ;
     public final void rule__XConstructorCall__Group_3_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14387:1: ( ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) )
-            // InternalSignalDSL.g:14388:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) )
+            // InternalSignalDSL.g:14415:1: ( ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) ) )
+            // InternalSignalDSL.g:14416:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) )
             {
-            // InternalSignalDSL.g:14388:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) )
-            // InternalSignalDSL.g:14389:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 )
+            // InternalSignalDSL.g:14416:1: ( ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 ) )
+            // InternalSignalDSL.g:14417:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1()); 
             }
-            // InternalSignalDSL.g:14390:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 )
-            // InternalSignalDSL.g:14390:3: rule__XConstructorCall__TypeArgumentsAssignment_3_2_1
+            // InternalSignalDSL.g:14418:2: ( rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 )
+            // InternalSignalDSL.g:14418:3: rule__XConstructorCall__TypeArgumentsAssignment_3_2_1
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__TypeArgumentsAssignment_3_2_1();
@@ -47834,14 +47878,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4__0"
-    // InternalSignalDSL.g:14399:1: rule__XConstructorCall__Group_4__0 : rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1 ;
+    // InternalSignalDSL.g:14427:1: rule__XConstructorCall__Group_4__0 : rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1 ;
     public final void rule__XConstructorCall__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14403:1: ( rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1 )
-            // InternalSignalDSL.g:14404:2: rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1
+            // InternalSignalDSL.g:14431:1: ( rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1 )
+            // InternalSignalDSL.g:14432:2: rule__XConstructorCall__Group_4__0__Impl rule__XConstructorCall__Group_4__1
             {
             pushFollow(FOLLOW_74);
             rule__XConstructorCall__Group_4__0__Impl();
@@ -47872,23 +47916,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4__0__Impl"
-    // InternalSignalDSL.g:14411:1: rule__XConstructorCall__Group_4__0__Impl : ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) ;
+    // InternalSignalDSL.g:14439:1: rule__XConstructorCall__Group_4__0__Impl : ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) ;
     public final void rule__XConstructorCall__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14415:1: ( ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) )
-            // InternalSignalDSL.g:14416:1: ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) )
+            // InternalSignalDSL.g:14443:1: ( ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) ) )
+            // InternalSignalDSL.g:14444:1: ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) )
             {
-            // InternalSignalDSL.g:14416:1: ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) )
-            // InternalSignalDSL.g:14417:2: ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 )
+            // InternalSignalDSL.g:14444:1: ( ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 ) )
+            // InternalSignalDSL.g:14445:2: ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0()); 
             }
-            // InternalSignalDSL.g:14418:2: ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 )
-            // InternalSignalDSL.g:14418:3: rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0
+            // InternalSignalDSL.g:14446:2: ( rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 )
+            // InternalSignalDSL.g:14446:3: rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0();
@@ -47923,14 +47967,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4__1"
-    // InternalSignalDSL.g:14426:1: rule__XConstructorCall__Group_4__1 : rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2 ;
+    // InternalSignalDSL.g:14454:1: rule__XConstructorCall__Group_4__1 : rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2 ;
     public final void rule__XConstructorCall__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14430:1: ( rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2 )
-            // InternalSignalDSL.g:14431:2: rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2
+            // InternalSignalDSL.g:14458:1: ( rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2 )
+            // InternalSignalDSL.g:14459:2: rule__XConstructorCall__Group_4__1__Impl rule__XConstructorCall__Group_4__2
             {
             pushFollow(FOLLOW_74);
             rule__XConstructorCall__Group_4__1__Impl();
@@ -47961,31 +48005,31 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4__1__Impl"
-    // InternalSignalDSL.g:14438:1: rule__XConstructorCall__Group_4__1__Impl : ( ( rule__XConstructorCall__Alternatives_4_1 )? ) ;
+    // InternalSignalDSL.g:14466:1: rule__XConstructorCall__Group_4__1__Impl : ( ( rule__XConstructorCall__Alternatives_4_1 )? ) ;
     public final void rule__XConstructorCall__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14442:1: ( ( ( rule__XConstructorCall__Alternatives_4_1 )? ) )
-            // InternalSignalDSL.g:14443:1: ( ( rule__XConstructorCall__Alternatives_4_1 )? )
+            // InternalSignalDSL.g:14470:1: ( ( ( rule__XConstructorCall__Alternatives_4_1 )? ) )
+            // InternalSignalDSL.g:14471:1: ( ( rule__XConstructorCall__Alternatives_4_1 )? )
             {
-            // InternalSignalDSL.g:14443:1: ( ( rule__XConstructorCall__Alternatives_4_1 )? )
-            // InternalSignalDSL.g:14444:2: ( rule__XConstructorCall__Alternatives_4_1 )?
+            // InternalSignalDSL.g:14471:1: ( ( rule__XConstructorCall__Alternatives_4_1 )? )
+            // InternalSignalDSL.g:14472:2: ( rule__XConstructorCall__Alternatives_4_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1()); 
             }
-            // InternalSignalDSL.g:14445:2: ( rule__XConstructorCall__Alternatives_4_1 )?
-            int alt122=2;
-            int LA122_0 = input.LA(1);
+            // InternalSignalDSL.g:14473:2: ( rule__XConstructorCall__Alternatives_4_1 )?
+            int alt123=2;
+            int LA123_0 = input.LA(1);
 
-            if ( ((LA122_0>=RULE_ID && LA122_0<=RULE_STRING)||LA122_0==27||LA122_0==31||(LA122_0>=34 && LA122_0<=35)||LA122_0==40||(LA122_0>=45 && LA122_0<=50)||LA122_0==64||LA122_0==68||LA122_0==74||(LA122_0>=78 && LA122_0<=79)||LA122_0==82||LA122_0==84||(LA122_0>=88 && LA122_0<=95)||LA122_0==97||LA122_0==104||LA122_0==106) ) {
-                alt122=1;
+            if ( ((LA123_0>=RULE_ID && LA123_0<=RULE_STRING)||LA123_0==27||LA123_0==31||(LA123_0>=34 && LA123_0<=35)||LA123_0==40||(LA123_0>=45 && LA123_0<=50)||LA123_0==60||LA123_0==64||LA123_0==71||(LA123_0>=75 && LA123_0<=76)||LA123_0==79||LA123_0==81||(LA123_0>=85 && LA123_0<=92)||LA123_0==94||LA123_0==101||LA123_0==103) ) {
+                alt123=1;
             }
-            switch (alt122) {
+            switch (alt123) {
                 case 1 :
-                    // InternalSignalDSL.g:14445:3: rule__XConstructorCall__Alternatives_4_1
+                    // InternalSignalDSL.g:14473:3: rule__XConstructorCall__Alternatives_4_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XConstructorCall__Alternatives_4_1();
@@ -48023,14 +48067,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4__2"
-    // InternalSignalDSL.g:14453:1: rule__XConstructorCall__Group_4__2 : rule__XConstructorCall__Group_4__2__Impl ;
+    // InternalSignalDSL.g:14481:1: rule__XConstructorCall__Group_4__2 : rule__XConstructorCall__Group_4__2__Impl ;
     public final void rule__XConstructorCall__Group_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14457:1: ( rule__XConstructorCall__Group_4__2__Impl )
-            // InternalSignalDSL.g:14458:2: rule__XConstructorCall__Group_4__2__Impl
+            // InternalSignalDSL.g:14485:1: ( rule__XConstructorCall__Group_4__2__Impl )
+            // InternalSignalDSL.g:14486:2: rule__XConstructorCall__Group_4__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__Group_4__2__Impl();
@@ -48056,22 +48100,22 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4__2__Impl"
-    // InternalSignalDSL.g:14464:1: rule__XConstructorCall__Group_4__2__Impl : ( ')' ) ;
+    // InternalSignalDSL.g:14492:1: rule__XConstructorCall__Group_4__2__Impl : ( ')' ) ;
     public final void rule__XConstructorCall__Group_4__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14468:1: ( ( ')' ) )
-            // InternalSignalDSL.g:14469:1: ( ')' )
+            // InternalSignalDSL.g:14496:1: ( ( ')' ) )
+            // InternalSignalDSL.g:14497:1: ( ')' )
             {
-            // InternalSignalDSL.g:14469:1: ( ')' )
-            // InternalSignalDSL.g:14470:2: ')'
+            // InternalSignalDSL.g:14497:1: ( ')' )
+            // InternalSignalDSL.g:14498:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); 
             }
-            match(input,75,FOLLOW_2); if (state.failed) return ;
+            match(input,72,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); 
             }
@@ -48097,14 +48141,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4_1_1__0"
-    // InternalSignalDSL.g:14480:1: rule__XConstructorCall__Group_4_1_1__0 : rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1 ;
+    // InternalSignalDSL.g:14508:1: rule__XConstructorCall__Group_4_1_1__0 : rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1 ;
     public final void rule__XConstructorCall__Group_4_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14484:1: ( rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1 )
-            // InternalSignalDSL.g:14485:2: rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1
+            // InternalSignalDSL.g:14512:1: ( rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1 )
+            // InternalSignalDSL.g:14513:2: rule__XConstructorCall__Group_4_1_1__0__Impl rule__XConstructorCall__Group_4_1_1__1
             {
             pushFollow(FOLLOW_33);
             rule__XConstructorCall__Group_4_1_1__0__Impl();
@@ -48135,23 +48179,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4_1_1__0__Impl"
-    // InternalSignalDSL.g:14492:1: rule__XConstructorCall__Group_4_1_1__0__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) ;
+    // InternalSignalDSL.g:14520:1: rule__XConstructorCall__Group_4_1_1__0__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) ;
     public final void rule__XConstructorCall__Group_4_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14496:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) )
-            // InternalSignalDSL.g:14497:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) )
+            // InternalSignalDSL.g:14524:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) ) )
+            // InternalSignalDSL.g:14525:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) )
             {
-            // InternalSignalDSL.g:14497:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) )
-            // InternalSignalDSL.g:14498:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 )
+            // InternalSignalDSL.g:14525:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 ) )
+            // InternalSignalDSL.g:14526:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0()); 
             }
-            // InternalSignalDSL.g:14499:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 )
-            // InternalSignalDSL.g:14499:3: rule__XConstructorCall__ArgumentsAssignment_4_1_1_0
+            // InternalSignalDSL.g:14527:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 )
+            // InternalSignalDSL.g:14527:3: rule__XConstructorCall__ArgumentsAssignment_4_1_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__ArgumentsAssignment_4_1_1_0();
@@ -48186,14 +48230,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4_1_1__1"
-    // InternalSignalDSL.g:14507:1: rule__XConstructorCall__Group_4_1_1__1 : rule__XConstructorCall__Group_4_1_1__1__Impl ;
+    // InternalSignalDSL.g:14535:1: rule__XConstructorCall__Group_4_1_1__1 : rule__XConstructorCall__Group_4_1_1__1__Impl ;
     public final void rule__XConstructorCall__Group_4_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14511:1: ( rule__XConstructorCall__Group_4_1_1__1__Impl )
-            // InternalSignalDSL.g:14512:2: rule__XConstructorCall__Group_4_1_1__1__Impl
+            // InternalSignalDSL.g:14539:1: ( rule__XConstructorCall__Group_4_1_1__1__Impl )
+            // InternalSignalDSL.g:14540:2: rule__XConstructorCall__Group_4_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__Group_4_1_1__1__Impl();
@@ -48219,35 +48263,35 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4_1_1__1__Impl"
-    // InternalSignalDSL.g:14518:1: rule__XConstructorCall__Group_4_1_1__1__Impl : ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) ;
+    // InternalSignalDSL.g:14546:1: rule__XConstructorCall__Group_4_1_1__1__Impl : ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) ;
     public final void rule__XConstructorCall__Group_4_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14522:1: ( ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) )
-            // InternalSignalDSL.g:14523:1: ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* )
+            // InternalSignalDSL.g:14550:1: ( ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* ) )
+            // InternalSignalDSL.g:14551:1: ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* )
             {
-            // InternalSignalDSL.g:14523:1: ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* )
-            // InternalSignalDSL.g:14524:2: ( rule__XConstructorCall__Group_4_1_1_1__0 )*
+            // InternalSignalDSL.g:14551:1: ( ( rule__XConstructorCall__Group_4_1_1_1__0 )* )
+            // InternalSignalDSL.g:14552:2: ( rule__XConstructorCall__Group_4_1_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1()); 
             }
-            // InternalSignalDSL.g:14525:2: ( rule__XConstructorCall__Group_4_1_1_1__0 )*
-            loop123:
+            // InternalSignalDSL.g:14553:2: ( rule__XConstructorCall__Group_4_1_1_1__0 )*
+            loop124:
             do {
-                int alt123=2;
-                int LA123_0 = input.LA(1);
+                int alt124=2;
+                int LA124_0 = input.LA(1);
 
-                if ( (LA123_0==76) ) {
-                    alt123=1;
+                if ( (LA124_0==73) ) {
+                    alt124=1;
                 }
 
 
-                switch (alt123) {
+                switch (alt124) {
             	case 1 :
-            	    // InternalSignalDSL.g:14525:3: rule__XConstructorCall__Group_4_1_1_1__0
+            	    // InternalSignalDSL.g:14553:3: rule__XConstructorCall__Group_4_1_1_1__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__XConstructorCall__Group_4_1_1_1__0();
@@ -48259,7 +48303,7 @@
             	    break;
 
             	default :
-            	    break loop123;
+            	    break loop124;
                 }
             } while (true);
 
@@ -48288,14 +48332,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__0"
-    // InternalSignalDSL.g:14534:1: rule__XConstructorCall__Group_4_1_1_1__0 : rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1 ;
+    // InternalSignalDSL.g:14562:1: rule__XConstructorCall__Group_4_1_1_1__0 : rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1 ;
     public final void rule__XConstructorCall__Group_4_1_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14538:1: ( rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1 )
-            // InternalSignalDSL.g:14539:2: rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1
+            // InternalSignalDSL.g:14566:1: ( rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1 )
+            // InternalSignalDSL.g:14567:2: rule__XConstructorCall__Group_4_1_1_1__0__Impl rule__XConstructorCall__Group_4_1_1_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XConstructorCall__Group_4_1_1_1__0__Impl();
@@ -48326,22 +48370,22 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__0__Impl"
-    // InternalSignalDSL.g:14546:1: rule__XConstructorCall__Group_4_1_1_1__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:14574:1: rule__XConstructorCall__Group_4_1_1_1__0__Impl : ( ',' ) ;
     public final void rule__XConstructorCall__Group_4_1_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14550:1: ( ( ',' ) )
-            // InternalSignalDSL.g:14551:1: ( ',' )
+            // InternalSignalDSL.g:14578:1: ( ( ',' ) )
+            // InternalSignalDSL.g:14579:1: ( ',' )
             {
-            // InternalSignalDSL.g:14551:1: ( ',' )
-            // InternalSignalDSL.g:14552:2: ','
+            // InternalSignalDSL.g:14579:1: ( ',' )
+            // InternalSignalDSL.g:14580:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); 
             }
@@ -48367,14 +48411,14 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__1"
-    // InternalSignalDSL.g:14561:1: rule__XConstructorCall__Group_4_1_1_1__1 : rule__XConstructorCall__Group_4_1_1_1__1__Impl ;
+    // InternalSignalDSL.g:14589:1: rule__XConstructorCall__Group_4_1_1_1__1 : rule__XConstructorCall__Group_4_1_1_1__1__Impl ;
     public final void rule__XConstructorCall__Group_4_1_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14565:1: ( rule__XConstructorCall__Group_4_1_1_1__1__Impl )
-            // InternalSignalDSL.g:14566:2: rule__XConstructorCall__Group_4_1_1_1__1__Impl
+            // InternalSignalDSL.g:14593:1: ( rule__XConstructorCall__Group_4_1_1_1__1__Impl )
+            // InternalSignalDSL.g:14594:2: rule__XConstructorCall__Group_4_1_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__Group_4_1_1_1__1__Impl();
@@ -48400,23 +48444,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__Group_4_1_1_1__1__Impl"
-    // InternalSignalDSL.g:14572:1: rule__XConstructorCall__Group_4_1_1_1__1__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) ;
+    // InternalSignalDSL.g:14600:1: rule__XConstructorCall__Group_4_1_1_1__1__Impl : ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) ;
     public final void rule__XConstructorCall__Group_4_1_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14576:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) )
-            // InternalSignalDSL.g:14577:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) )
+            // InternalSignalDSL.g:14604:1: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) ) )
+            // InternalSignalDSL.g:14605:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) )
             {
-            // InternalSignalDSL.g:14577:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) )
-            // InternalSignalDSL.g:14578:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 )
+            // InternalSignalDSL.g:14605:1: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 ) )
+            // InternalSignalDSL.g:14606:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1()); 
             }
-            // InternalSignalDSL.g:14579:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 )
-            // InternalSignalDSL.g:14579:3: rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1
+            // InternalSignalDSL.g:14607:2: ( rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 )
+            // InternalSignalDSL.g:14607:3: rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1();
@@ -48451,14 +48495,14 @@
 
 
     // $ANTLR start "rule__XBooleanLiteral__Group__0"
-    // InternalSignalDSL.g:14588:1: rule__XBooleanLiteral__Group__0 : rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1 ;
+    // InternalSignalDSL.g:14616:1: rule__XBooleanLiteral__Group__0 : rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1 ;
     public final void rule__XBooleanLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14592:1: ( rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1 )
-            // InternalSignalDSL.g:14593:2: rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1
+            // InternalSignalDSL.g:14620:1: ( rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1 )
+            // InternalSignalDSL.g:14621:2: rule__XBooleanLiteral__Group__0__Impl rule__XBooleanLiteral__Group__1
             {
             pushFollow(FOLLOW_98);
             rule__XBooleanLiteral__Group__0__Impl();
@@ -48489,23 +48533,23 @@
 
 
     // $ANTLR start "rule__XBooleanLiteral__Group__0__Impl"
-    // InternalSignalDSL.g:14600:1: rule__XBooleanLiteral__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:14628:1: rule__XBooleanLiteral__Group__0__Impl : ( () ) ;
     public final void rule__XBooleanLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14604:1: ( ( () ) )
-            // InternalSignalDSL.g:14605:1: ( () )
+            // InternalSignalDSL.g:14632:1: ( ( () ) )
+            // InternalSignalDSL.g:14633:1: ( () )
             {
-            // InternalSignalDSL.g:14605:1: ( () )
-            // InternalSignalDSL.g:14606:2: ()
+            // InternalSignalDSL.g:14633:1: ( () )
+            // InternalSignalDSL.g:14634:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0()); 
             }
-            // InternalSignalDSL.g:14607:2: ()
-            // InternalSignalDSL.g:14607:3: 
+            // InternalSignalDSL.g:14635:2: ()
+            // InternalSignalDSL.g:14635:3: 
             {
             }
 
@@ -48530,14 +48574,14 @@
 
 
     // $ANTLR start "rule__XBooleanLiteral__Group__1"
-    // InternalSignalDSL.g:14615:1: rule__XBooleanLiteral__Group__1 : rule__XBooleanLiteral__Group__1__Impl ;
+    // InternalSignalDSL.g:14643:1: rule__XBooleanLiteral__Group__1 : rule__XBooleanLiteral__Group__1__Impl ;
     public final void rule__XBooleanLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14619:1: ( rule__XBooleanLiteral__Group__1__Impl )
-            // InternalSignalDSL.g:14620:2: rule__XBooleanLiteral__Group__1__Impl
+            // InternalSignalDSL.g:14647:1: ( rule__XBooleanLiteral__Group__1__Impl )
+            // InternalSignalDSL.g:14648:2: rule__XBooleanLiteral__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XBooleanLiteral__Group__1__Impl();
@@ -48563,23 +48607,23 @@
 
 
     // $ANTLR start "rule__XBooleanLiteral__Group__1__Impl"
-    // InternalSignalDSL.g:14626:1: rule__XBooleanLiteral__Group__1__Impl : ( ( rule__XBooleanLiteral__Alternatives_1 ) ) ;
+    // InternalSignalDSL.g:14654:1: rule__XBooleanLiteral__Group__1__Impl : ( ( rule__XBooleanLiteral__Alternatives_1 ) ) ;
     public final void rule__XBooleanLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14630:1: ( ( ( rule__XBooleanLiteral__Alternatives_1 ) ) )
-            // InternalSignalDSL.g:14631:1: ( ( rule__XBooleanLiteral__Alternatives_1 ) )
+            // InternalSignalDSL.g:14658:1: ( ( ( rule__XBooleanLiteral__Alternatives_1 ) ) )
+            // InternalSignalDSL.g:14659:1: ( ( rule__XBooleanLiteral__Alternatives_1 ) )
             {
-            // InternalSignalDSL.g:14631:1: ( ( rule__XBooleanLiteral__Alternatives_1 ) )
-            // InternalSignalDSL.g:14632:2: ( rule__XBooleanLiteral__Alternatives_1 )
+            // InternalSignalDSL.g:14659:1: ( ( rule__XBooleanLiteral__Alternatives_1 ) )
+            // InternalSignalDSL.g:14660:2: ( rule__XBooleanLiteral__Alternatives_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1()); 
             }
-            // InternalSignalDSL.g:14633:2: ( rule__XBooleanLiteral__Alternatives_1 )
-            // InternalSignalDSL.g:14633:3: rule__XBooleanLiteral__Alternatives_1
+            // InternalSignalDSL.g:14661:2: ( rule__XBooleanLiteral__Alternatives_1 )
+            // InternalSignalDSL.g:14661:3: rule__XBooleanLiteral__Alternatives_1
             {
             pushFollow(FOLLOW_2);
             rule__XBooleanLiteral__Alternatives_1();
@@ -48614,14 +48658,14 @@
 
 
     // $ANTLR start "rule__XNullLiteral__Group__0"
-    // InternalSignalDSL.g:14642:1: rule__XNullLiteral__Group__0 : rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1 ;
+    // InternalSignalDSL.g:14670:1: rule__XNullLiteral__Group__0 : rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1 ;
     public final void rule__XNullLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14646:1: ( rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1 )
-            // InternalSignalDSL.g:14647:2: rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1
+            // InternalSignalDSL.g:14674:1: ( rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1 )
+            // InternalSignalDSL.g:14675:2: rule__XNullLiteral__Group__0__Impl rule__XNullLiteral__Group__1
             {
             pushFollow(FOLLOW_99);
             rule__XNullLiteral__Group__0__Impl();
@@ -48652,23 +48696,23 @@
 
 
     // $ANTLR start "rule__XNullLiteral__Group__0__Impl"
-    // InternalSignalDSL.g:14654:1: rule__XNullLiteral__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:14682:1: rule__XNullLiteral__Group__0__Impl : ( () ) ;
     public final void rule__XNullLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14658:1: ( ( () ) )
-            // InternalSignalDSL.g:14659:1: ( () )
+            // InternalSignalDSL.g:14686:1: ( ( () ) )
+            // InternalSignalDSL.g:14687:1: ( () )
             {
-            // InternalSignalDSL.g:14659:1: ( () )
-            // InternalSignalDSL.g:14660:2: ()
+            // InternalSignalDSL.g:14687:1: ( () )
+            // InternalSignalDSL.g:14688:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0()); 
             }
-            // InternalSignalDSL.g:14661:2: ()
-            // InternalSignalDSL.g:14661:3: 
+            // InternalSignalDSL.g:14689:2: ()
+            // InternalSignalDSL.g:14689:3: 
             {
             }
 
@@ -48693,14 +48737,14 @@
 
 
     // $ANTLR start "rule__XNullLiteral__Group__1"
-    // InternalSignalDSL.g:14669:1: rule__XNullLiteral__Group__1 : rule__XNullLiteral__Group__1__Impl ;
+    // InternalSignalDSL.g:14697:1: rule__XNullLiteral__Group__1 : rule__XNullLiteral__Group__1__Impl ;
     public final void rule__XNullLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14673:1: ( rule__XNullLiteral__Group__1__Impl )
-            // InternalSignalDSL.g:14674:2: rule__XNullLiteral__Group__1__Impl
+            // InternalSignalDSL.g:14701:1: ( rule__XNullLiteral__Group__1__Impl )
+            // InternalSignalDSL.g:14702:2: rule__XNullLiteral__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XNullLiteral__Group__1__Impl();
@@ -48726,22 +48770,22 @@
 
 
     // $ANTLR start "rule__XNullLiteral__Group__1__Impl"
-    // InternalSignalDSL.g:14680:1: rule__XNullLiteral__Group__1__Impl : ( 'null' ) ;
+    // InternalSignalDSL.g:14708:1: rule__XNullLiteral__Group__1__Impl : ( 'null' ) ;
     public final void rule__XNullLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14684:1: ( ( 'null' ) )
-            // InternalSignalDSL.g:14685:1: ( 'null' )
+            // InternalSignalDSL.g:14712:1: ( ( 'null' ) )
+            // InternalSignalDSL.g:14713:1: ( 'null' )
             {
-            // InternalSignalDSL.g:14685:1: ( 'null' )
-            // InternalSignalDSL.g:14686:2: 'null'
+            // InternalSignalDSL.g:14713:1: ( 'null' )
+            // InternalSignalDSL.g:14714:2: 'null'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); 
             }
-            match(input,91,FOLLOW_2); if (state.failed) return ;
+            match(input,88,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); 
             }
@@ -48767,14 +48811,14 @@
 
 
     // $ANTLR start "rule__XNumberLiteral__Group__0"
-    // InternalSignalDSL.g:14696:1: rule__XNumberLiteral__Group__0 : rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1 ;
+    // InternalSignalDSL.g:14724:1: rule__XNumberLiteral__Group__0 : rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1 ;
     public final void rule__XNumberLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14700:1: ( rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1 )
-            // InternalSignalDSL.g:14701:2: rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1
+            // InternalSignalDSL.g:14728:1: ( rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1 )
+            // InternalSignalDSL.g:14729:2: rule__XNumberLiteral__Group__0__Impl rule__XNumberLiteral__Group__1
             {
             pushFollow(FOLLOW_100);
             rule__XNumberLiteral__Group__0__Impl();
@@ -48805,23 +48849,23 @@
 
 
     // $ANTLR start "rule__XNumberLiteral__Group__0__Impl"
-    // InternalSignalDSL.g:14708:1: rule__XNumberLiteral__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:14736:1: rule__XNumberLiteral__Group__0__Impl : ( () ) ;
     public final void rule__XNumberLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14712:1: ( ( () ) )
-            // InternalSignalDSL.g:14713:1: ( () )
+            // InternalSignalDSL.g:14740:1: ( ( () ) )
+            // InternalSignalDSL.g:14741:1: ( () )
             {
-            // InternalSignalDSL.g:14713:1: ( () )
-            // InternalSignalDSL.g:14714:2: ()
+            // InternalSignalDSL.g:14741:1: ( () )
+            // InternalSignalDSL.g:14742:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0()); 
             }
-            // InternalSignalDSL.g:14715:2: ()
-            // InternalSignalDSL.g:14715:3: 
+            // InternalSignalDSL.g:14743:2: ()
+            // InternalSignalDSL.g:14743:3: 
             {
             }
 
@@ -48846,14 +48890,14 @@
 
 
     // $ANTLR start "rule__XNumberLiteral__Group__1"
-    // InternalSignalDSL.g:14723:1: rule__XNumberLiteral__Group__1 : rule__XNumberLiteral__Group__1__Impl ;
+    // InternalSignalDSL.g:14751:1: rule__XNumberLiteral__Group__1 : rule__XNumberLiteral__Group__1__Impl ;
     public final void rule__XNumberLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14727:1: ( rule__XNumberLiteral__Group__1__Impl )
-            // InternalSignalDSL.g:14728:2: rule__XNumberLiteral__Group__1__Impl
+            // InternalSignalDSL.g:14755:1: ( rule__XNumberLiteral__Group__1__Impl )
+            // InternalSignalDSL.g:14756:2: rule__XNumberLiteral__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XNumberLiteral__Group__1__Impl();
@@ -48879,23 +48923,23 @@
 
 
     // $ANTLR start "rule__XNumberLiteral__Group__1__Impl"
-    // InternalSignalDSL.g:14734:1: rule__XNumberLiteral__Group__1__Impl : ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) ;
+    // InternalSignalDSL.g:14762:1: rule__XNumberLiteral__Group__1__Impl : ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) ;
     public final void rule__XNumberLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14738:1: ( ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) )
-            // InternalSignalDSL.g:14739:1: ( ( rule__XNumberLiteral__ValueAssignment_1 ) )
+            // InternalSignalDSL.g:14766:1: ( ( ( rule__XNumberLiteral__ValueAssignment_1 ) ) )
+            // InternalSignalDSL.g:14767:1: ( ( rule__XNumberLiteral__ValueAssignment_1 ) )
             {
-            // InternalSignalDSL.g:14739:1: ( ( rule__XNumberLiteral__ValueAssignment_1 ) )
-            // InternalSignalDSL.g:14740:2: ( rule__XNumberLiteral__ValueAssignment_1 )
+            // InternalSignalDSL.g:14767:1: ( ( rule__XNumberLiteral__ValueAssignment_1 ) )
+            // InternalSignalDSL.g:14768:2: ( rule__XNumberLiteral__ValueAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1()); 
             }
-            // InternalSignalDSL.g:14741:2: ( rule__XNumberLiteral__ValueAssignment_1 )
-            // InternalSignalDSL.g:14741:3: rule__XNumberLiteral__ValueAssignment_1
+            // InternalSignalDSL.g:14769:2: ( rule__XNumberLiteral__ValueAssignment_1 )
+            // InternalSignalDSL.g:14769:3: rule__XNumberLiteral__ValueAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__XNumberLiteral__ValueAssignment_1();
@@ -48930,14 +48974,14 @@
 
 
     // $ANTLR start "rule__XStringLiteral__Group__0"
-    // InternalSignalDSL.g:14750:1: rule__XStringLiteral__Group__0 : rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1 ;
+    // InternalSignalDSL.g:14778:1: rule__XStringLiteral__Group__0 : rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1 ;
     public final void rule__XStringLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14754:1: ( rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1 )
-            // InternalSignalDSL.g:14755:2: rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1
+            // InternalSignalDSL.g:14782:1: ( rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1 )
+            // InternalSignalDSL.g:14783:2: rule__XStringLiteral__Group__0__Impl rule__XStringLiteral__Group__1
             {
             pushFollow(FOLLOW_13);
             rule__XStringLiteral__Group__0__Impl();
@@ -48968,23 +49012,23 @@
 
 
     // $ANTLR start "rule__XStringLiteral__Group__0__Impl"
-    // InternalSignalDSL.g:14762:1: rule__XStringLiteral__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:14790:1: rule__XStringLiteral__Group__0__Impl : ( () ) ;
     public final void rule__XStringLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14766:1: ( ( () ) )
-            // InternalSignalDSL.g:14767:1: ( () )
+            // InternalSignalDSL.g:14794:1: ( ( () ) )
+            // InternalSignalDSL.g:14795:1: ( () )
             {
-            // InternalSignalDSL.g:14767:1: ( () )
-            // InternalSignalDSL.g:14768:2: ()
+            // InternalSignalDSL.g:14795:1: ( () )
+            // InternalSignalDSL.g:14796:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0()); 
             }
-            // InternalSignalDSL.g:14769:2: ()
-            // InternalSignalDSL.g:14769:3: 
+            // InternalSignalDSL.g:14797:2: ()
+            // InternalSignalDSL.g:14797:3: 
             {
             }
 
@@ -49009,14 +49053,14 @@
 
 
     // $ANTLR start "rule__XStringLiteral__Group__1"
-    // InternalSignalDSL.g:14777:1: rule__XStringLiteral__Group__1 : rule__XStringLiteral__Group__1__Impl ;
+    // InternalSignalDSL.g:14805:1: rule__XStringLiteral__Group__1 : rule__XStringLiteral__Group__1__Impl ;
     public final void rule__XStringLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14781:1: ( rule__XStringLiteral__Group__1__Impl )
-            // InternalSignalDSL.g:14782:2: rule__XStringLiteral__Group__1__Impl
+            // InternalSignalDSL.g:14809:1: ( rule__XStringLiteral__Group__1__Impl )
+            // InternalSignalDSL.g:14810:2: rule__XStringLiteral__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XStringLiteral__Group__1__Impl();
@@ -49042,23 +49086,23 @@
 
 
     // $ANTLR start "rule__XStringLiteral__Group__1__Impl"
-    // InternalSignalDSL.g:14788:1: rule__XStringLiteral__Group__1__Impl : ( ( rule__XStringLiteral__ValueAssignment_1 ) ) ;
+    // InternalSignalDSL.g:14816:1: rule__XStringLiteral__Group__1__Impl : ( ( rule__XStringLiteral__ValueAssignment_1 ) ) ;
     public final void rule__XStringLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14792:1: ( ( ( rule__XStringLiteral__ValueAssignment_1 ) ) )
-            // InternalSignalDSL.g:14793:1: ( ( rule__XStringLiteral__ValueAssignment_1 ) )
+            // InternalSignalDSL.g:14820:1: ( ( ( rule__XStringLiteral__ValueAssignment_1 ) ) )
+            // InternalSignalDSL.g:14821:1: ( ( rule__XStringLiteral__ValueAssignment_1 ) )
             {
-            // InternalSignalDSL.g:14793:1: ( ( rule__XStringLiteral__ValueAssignment_1 ) )
-            // InternalSignalDSL.g:14794:2: ( rule__XStringLiteral__ValueAssignment_1 )
+            // InternalSignalDSL.g:14821:1: ( ( rule__XStringLiteral__ValueAssignment_1 ) )
+            // InternalSignalDSL.g:14822:2: ( rule__XStringLiteral__ValueAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXStringLiteralAccess().getValueAssignment_1()); 
             }
-            // InternalSignalDSL.g:14795:2: ( rule__XStringLiteral__ValueAssignment_1 )
-            // InternalSignalDSL.g:14795:3: rule__XStringLiteral__ValueAssignment_1
+            // InternalSignalDSL.g:14823:2: ( rule__XStringLiteral__ValueAssignment_1 )
+            // InternalSignalDSL.g:14823:3: rule__XStringLiteral__ValueAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__XStringLiteral__ValueAssignment_1();
@@ -49093,14 +49137,14 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__0"
-    // InternalSignalDSL.g:14804:1: rule__XTypeLiteral__Group__0 : rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1 ;
+    // InternalSignalDSL.g:14832:1: rule__XTypeLiteral__Group__0 : rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1 ;
     public final void rule__XTypeLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14808:1: ( rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1 )
-            // InternalSignalDSL.g:14809:2: rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1
+            // InternalSignalDSL.g:14836:1: ( rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1 )
+            // InternalSignalDSL.g:14837:2: rule__XTypeLiteral__Group__0__Impl rule__XTypeLiteral__Group__1
             {
             pushFollow(FOLLOW_101);
             rule__XTypeLiteral__Group__0__Impl();
@@ -49131,23 +49175,23 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__0__Impl"
-    // InternalSignalDSL.g:14816:1: rule__XTypeLiteral__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:14844:1: rule__XTypeLiteral__Group__0__Impl : ( () ) ;
     public final void rule__XTypeLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14820:1: ( ( () ) )
-            // InternalSignalDSL.g:14821:1: ( () )
+            // InternalSignalDSL.g:14848:1: ( ( () ) )
+            // InternalSignalDSL.g:14849:1: ( () )
             {
-            // InternalSignalDSL.g:14821:1: ( () )
-            // InternalSignalDSL.g:14822:2: ()
+            // InternalSignalDSL.g:14849:1: ( () )
+            // InternalSignalDSL.g:14850:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0()); 
             }
-            // InternalSignalDSL.g:14823:2: ()
-            // InternalSignalDSL.g:14823:3: 
+            // InternalSignalDSL.g:14851:2: ()
+            // InternalSignalDSL.g:14851:3: 
             {
             }
 
@@ -49172,14 +49216,14 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__1"
-    // InternalSignalDSL.g:14831:1: rule__XTypeLiteral__Group__1 : rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2 ;
+    // InternalSignalDSL.g:14859:1: rule__XTypeLiteral__Group__1 : rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2 ;
     public final void rule__XTypeLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14835:1: ( rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2 )
-            // InternalSignalDSL.g:14836:2: rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2
+            // InternalSignalDSL.g:14863:1: ( rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2 )
+            // InternalSignalDSL.g:14864:2: rule__XTypeLiteral__Group__1__Impl rule__XTypeLiteral__Group__2
             {
             pushFollow(FOLLOW_31);
             rule__XTypeLiteral__Group__1__Impl();
@@ -49210,22 +49254,22 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__1__Impl"
-    // InternalSignalDSL.g:14843:1: rule__XTypeLiteral__Group__1__Impl : ( 'typeof' ) ;
+    // InternalSignalDSL.g:14871:1: rule__XTypeLiteral__Group__1__Impl : ( 'typeof' ) ;
     public final void rule__XTypeLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14847:1: ( ( 'typeof' ) )
-            // InternalSignalDSL.g:14848:1: ( 'typeof' )
+            // InternalSignalDSL.g:14875:1: ( ( 'typeof' ) )
+            // InternalSignalDSL.g:14876:1: ( 'typeof' )
             {
-            // InternalSignalDSL.g:14848:1: ( 'typeof' )
-            // InternalSignalDSL.g:14849:2: 'typeof'
+            // InternalSignalDSL.g:14876:1: ( 'typeof' )
+            // InternalSignalDSL.g:14877:2: 'typeof'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); 
             }
-            match(input,92,FOLLOW_2); if (state.failed) return ;
+            match(input,89,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); 
             }
@@ -49251,14 +49295,14 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__2"
-    // InternalSignalDSL.g:14858:1: rule__XTypeLiteral__Group__2 : rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3 ;
+    // InternalSignalDSL.g:14886:1: rule__XTypeLiteral__Group__2 : rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3 ;
     public final void rule__XTypeLiteral__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14862:1: ( rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3 )
-            // InternalSignalDSL.g:14863:2: rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3
+            // InternalSignalDSL.g:14890:1: ( rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3 )
+            // InternalSignalDSL.g:14891:2: rule__XTypeLiteral__Group__2__Impl rule__XTypeLiteral__Group__3
             {
             pushFollow(FOLLOW_7);
             rule__XTypeLiteral__Group__2__Impl();
@@ -49289,22 +49333,22 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__2__Impl"
-    // InternalSignalDSL.g:14870:1: rule__XTypeLiteral__Group__2__Impl : ( '(' ) ;
+    // InternalSignalDSL.g:14898:1: rule__XTypeLiteral__Group__2__Impl : ( '(' ) ;
     public final void rule__XTypeLiteral__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14874:1: ( ( '(' ) )
-            // InternalSignalDSL.g:14875:1: ( '(' )
+            // InternalSignalDSL.g:14902:1: ( ( '(' ) )
+            // InternalSignalDSL.g:14903:1: ( '(' )
             {
-            // InternalSignalDSL.g:14875:1: ( '(' )
-            // InternalSignalDSL.g:14876:2: '('
+            // InternalSignalDSL.g:14903:1: ( '(' )
+            // InternalSignalDSL.g:14904:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); 
             }
-            match(input,74,FOLLOW_2); if (state.failed) return ;
+            match(input,71,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); 
             }
@@ -49330,14 +49374,14 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__3"
-    // InternalSignalDSL.g:14885:1: rule__XTypeLiteral__Group__3 : rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4 ;
+    // InternalSignalDSL.g:14913:1: rule__XTypeLiteral__Group__3 : rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4 ;
     public final void rule__XTypeLiteral__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14889:1: ( rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4 )
-            // InternalSignalDSL.g:14890:2: rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4
+            // InternalSignalDSL.g:14917:1: ( rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4 )
+            // InternalSignalDSL.g:14918:2: rule__XTypeLiteral__Group__3__Impl rule__XTypeLiteral__Group__4
             {
             pushFollow(FOLLOW_102);
             rule__XTypeLiteral__Group__3__Impl();
@@ -49368,23 +49412,23 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__3__Impl"
-    // InternalSignalDSL.g:14897:1: rule__XTypeLiteral__Group__3__Impl : ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) ;
+    // InternalSignalDSL.g:14925:1: rule__XTypeLiteral__Group__3__Impl : ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) ;
     public final void rule__XTypeLiteral__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14901:1: ( ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) )
-            // InternalSignalDSL.g:14902:1: ( ( rule__XTypeLiteral__TypeAssignment_3 ) )
+            // InternalSignalDSL.g:14929:1: ( ( ( rule__XTypeLiteral__TypeAssignment_3 ) ) )
+            // InternalSignalDSL.g:14930:1: ( ( rule__XTypeLiteral__TypeAssignment_3 ) )
             {
-            // InternalSignalDSL.g:14902:1: ( ( rule__XTypeLiteral__TypeAssignment_3 ) )
-            // InternalSignalDSL.g:14903:2: ( rule__XTypeLiteral__TypeAssignment_3 )
+            // InternalSignalDSL.g:14930:1: ( ( rule__XTypeLiteral__TypeAssignment_3 ) )
+            // InternalSignalDSL.g:14931:2: ( rule__XTypeLiteral__TypeAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3()); 
             }
-            // InternalSignalDSL.g:14904:2: ( rule__XTypeLiteral__TypeAssignment_3 )
-            // InternalSignalDSL.g:14904:3: rule__XTypeLiteral__TypeAssignment_3
+            // InternalSignalDSL.g:14932:2: ( rule__XTypeLiteral__TypeAssignment_3 )
+            // InternalSignalDSL.g:14932:3: rule__XTypeLiteral__TypeAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__XTypeLiteral__TypeAssignment_3();
@@ -49419,14 +49463,14 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__4"
-    // InternalSignalDSL.g:14912:1: rule__XTypeLiteral__Group__4 : rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5 ;
+    // InternalSignalDSL.g:14940:1: rule__XTypeLiteral__Group__4 : rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5 ;
     public final void rule__XTypeLiteral__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14916:1: ( rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5 )
-            // InternalSignalDSL.g:14917:2: rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5
+            // InternalSignalDSL.g:14944:1: ( rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5 )
+            // InternalSignalDSL.g:14945:2: rule__XTypeLiteral__Group__4__Impl rule__XTypeLiteral__Group__5
             {
             pushFollow(FOLLOW_102);
             rule__XTypeLiteral__Group__4__Impl();
@@ -49457,35 +49501,35 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__4__Impl"
-    // InternalSignalDSL.g:14924:1: rule__XTypeLiteral__Group__4__Impl : ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) ;
+    // InternalSignalDSL.g:14952:1: rule__XTypeLiteral__Group__4__Impl : ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) ;
     public final void rule__XTypeLiteral__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14928:1: ( ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) )
-            // InternalSignalDSL.g:14929:1: ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* )
+            // InternalSignalDSL.g:14956:1: ( ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* ) )
+            // InternalSignalDSL.g:14957:1: ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* )
             {
-            // InternalSignalDSL.g:14929:1: ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* )
-            // InternalSignalDSL.g:14930:2: ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )*
+            // InternalSignalDSL.g:14957:1: ( ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )* )
+            // InternalSignalDSL.g:14958:2: ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4()); 
             }
-            // InternalSignalDSL.g:14931:2: ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )*
-            loop124:
+            // InternalSignalDSL.g:14959:2: ( rule__XTypeLiteral__ArrayDimensionsAssignment_4 )*
+            loop125:
             do {
-                int alt124=2;
-                int LA124_0 = input.LA(1);
+                int alt125=2;
+                int LA125_0 = input.LA(1);
 
-                if ( (LA124_0==79) ) {
-                    alt124=1;
+                if ( (LA125_0==76) ) {
+                    alt125=1;
                 }
 
 
-                switch (alt124) {
+                switch (alt125) {
             	case 1 :
-            	    // InternalSignalDSL.g:14931:3: rule__XTypeLiteral__ArrayDimensionsAssignment_4
+            	    // InternalSignalDSL.g:14959:3: rule__XTypeLiteral__ArrayDimensionsAssignment_4
             	    {
             	    pushFollow(FOLLOW_103);
             	    rule__XTypeLiteral__ArrayDimensionsAssignment_4();
@@ -49497,7 +49541,7 @@
             	    break;
 
             	default :
-            	    break loop124;
+            	    break loop125;
                 }
             } while (true);
 
@@ -49526,14 +49570,14 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__5"
-    // InternalSignalDSL.g:14939:1: rule__XTypeLiteral__Group__5 : rule__XTypeLiteral__Group__5__Impl ;
+    // InternalSignalDSL.g:14967:1: rule__XTypeLiteral__Group__5 : rule__XTypeLiteral__Group__5__Impl ;
     public final void rule__XTypeLiteral__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14943:1: ( rule__XTypeLiteral__Group__5__Impl )
-            // InternalSignalDSL.g:14944:2: rule__XTypeLiteral__Group__5__Impl
+            // InternalSignalDSL.g:14971:1: ( rule__XTypeLiteral__Group__5__Impl )
+            // InternalSignalDSL.g:14972:2: rule__XTypeLiteral__Group__5__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XTypeLiteral__Group__5__Impl();
@@ -49559,22 +49603,22 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__Group__5__Impl"
-    // InternalSignalDSL.g:14950:1: rule__XTypeLiteral__Group__5__Impl : ( ')' ) ;
+    // InternalSignalDSL.g:14978:1: rule__XTypeLiteral__Group__5__Impl : ( ')' ) ;
     public final void rule__XTypeLiteral__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14954:1: ( ( ')' ) )
-            // InternalSignalDSL.g:14955:1: ( ')' )
+            // InternalSignalDSL.g:14982:1: ( ( ')' ) )
+            // InternalSignalDSL.g:14983:1: ( ')' )
             {
-            // InternalSignalDSL.g:14955:1: ( ')' )
-            // InternalSignalDSL.g:14956:2: ')'
+            // InternalSignalDSL.g:14983:1: ( ')' )
+            // InternalSignalDSL.g:14984:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); 
             }
-            match(input,75,FOLLOW_2); if (state.failed) return ;
+            match(input,72,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); 
             }
@@ -49600,14 +49644,14 @@
 
 
     // $ANTLR start "rule__XThrowExpression__Group__0"
-    // InternalSignalDSL.g:14966:1: rule__XThrowExpression__Group__0 : rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1 ;
+    // InternalSignalDSL.g:14994:1: rule__XThrowExpression__Group__0 : rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1 ;
     public final void rule__XThrowExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14970:1: ( rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1 )
-            // InternalSignalDSL.g:14971:2: rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1
+            // InternalSignalDSL.g:14998:1: ( rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1 )
+            // InternalSignalDSL.g:14999:2: rule__XThrowExpression__Group__0__Impl rule__XThrowExpression__Group__1
             {
             pushFollow(FOLLOW_104);
             rule__XThrowExpression__Group__0__Impl();
@@ -49638,23 +49682,23 @@
 
 
     // $ANTLR start "rule__XThrowExpression__Group__0__Impl"
-    // InternalSignalDSL.g:14978:1: rule__XThrowExpression__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:15006:1: rule__XThrowExpression__Group__0__Impl : ( () ) ;
     public final void rule__XThrowExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14982:1: ( ( () ) )
-            // InternalSignalDSL.g:14983:1: ( () )
+            // InternalSignalDSL.g:15010:1: ( ( () ) )
+            // InternalSignalDSL.g:15011:1: ( () )
             {
-            // InternalSignalDSL.g:14983:1: ( () )
-            // InternalSignalDSL.g:14984:2: ()
+            // InternalSignalDSL.g:15011:1: ( () )
+            // InternalSignalDSL.g:15012:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0()); 
             }
-            // InternalSignalDSL.g:14985:2: ()
-            // InternalSignalDSL.g:14985:3: 
+            // InternalSignalDSL.g:15013:2: ()
+            // InternalSignalDSL.g:15013:3: 
             {
             }
 
@@ -49679,14 +49723,14 @@
 
 
     // $ANTLR start "rule__XThrowExpression__Group__1"
-    // InternalSignalDSL.g:14993:1: rule__XThrowExpression__Group__1 : rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2 ;
+    // InternalSignalDSL.g:15021:1: rule__XThrowExpression__Group__1 : rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2 ;
     public final void rule__XThrowExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:14997:1: ( rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2 )
-            // InternalSignalDSL.g:14998:2: rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2
+            // InternalSignalDSL.g:15025:1: ( rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2 )
+            // InternalSignalDSL.g:15026:2: rule__XThrowExpression__Group__1__Impl rule__XThrowExpression__Group__2
             {
             pushFollow(FOLLOW_35);
             rule__XThrowExpression__Group__1__Impl();
@@ -49717,22 +49761,22 @@
 
 
     // $ANTLR start "rule__XThrowExpression__Group__1__Impl"
-    // InternalSignalDSL.g:15005:1: rule__XThrowExpression__Group__1__Impl : ( 'throw' ) ;
+    // InternalSignalDSL.g:15033:1: rule__XThrowExpression__Group__1__Impl : ( 'throw' ) ;
     public final void rule__XThrowExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15009:1: ( ( 'throw' ) )
-            // InternalSignalDSL.g:15010:1: ( 'throw' )
+            // InternalSignalDSL.g:15037:1: ( ( 'throw' ) )
+            // InternalSignalDSL.g:15038:1: ( 'throw' )
             {
-            // InternalSignalDSL.g:15010:1: ( 'throw' )
-            // InternalSignalDSL.g:15011:2: 'throw'
+            // InternalSignalDSL.g:15038:1: ( 'throw' )
+            // InternalSignalDSL.g:15039:2: 'throw'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); 
             }
-            match(input,93,FOLLOW_2); if (state.failed) return ;
+            match(input,90,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); 
             }
@@ -49758,14 +49802,14 @@
 
 
     // $ANTLR start "rule__XThrowExpression__Group__2"
-    // InternalSignalDSL.g:15020:1: rule__XThrowExpression__Group__2 : rule__XThrowExpression__Group__2__Impl ;
+    // InternalSignalDSL.g:15048:1: rule__XThrowExpression__Group__2 : rule__XThrowExpression__Group__2__Impl ;
     public final void rule__XThrowExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15024:1: ( rule__XThrowExpression__Group__2__Impl )
-            // InternalSignalDSL.g:15025:2: rule__XThrowExpression__Group__2__Impl
+            // InternalSignalDSL.g:15052:1: ( rule__XThrowExpression__Group__2__Impl )
+            // InternalSignalDSL.g:15053:2: rule__XThrowExpression__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XThrowExpression__Group__2__Impl();
@@ -49791,23 +49835,23 @@
 
 
     // $ANTLR start "rule__XThrowExpression__Group__2__Impl"
-    // InternalSignalDSL.g:15031:1: rule__XThrowExpression__Group__2__Impl : ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) ;
+    // InternalSignalDSL.g:15059:1: rule__XThrowExpression__Group__2__Impl : ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) ;
     public final void rule__XThrowExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15035:1: ( ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) )
-            // InternalSignalDSL.g:15036:1: ( ( rule__XThrowExpression__ExpressionAssignment_2 ) )
+            // InternalSignalDSL.g:15063:1: ( ( ( rule__XThrowExpression__ExpressionAssignment_2 ) ) )
+            // InternalSignalDSL.g:15064:1: ( ( rule__XThrowExpression__ExpressionAssignment_2 ) )
             {
-            // InternalSignalDSL.g:15036:1: ( ( rule__XThrowExpression__ExpressionAssignment_2 ) )
-            // InternalSignalDSL.g:15037:2: ( rule__XThrowExpression__ExpressionAssignment_2 )
+            // InternalSignalDSL.g:15064:1: ( ( rule__XThrowExpression__ExpressionAssignment_2 ) )
+            // InternalSignalDSL.g:15065:2: ( rule__XThrowExpression__ExpressionAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2()); 
             }
-            // InternalSignalDSL.g:15038:2: ( rule__XThrowExpression__ExpressionAssignment_2 )
-            // InternalSignalDSL.g:15038:3: rule__XThrowExpression__ExpressionAssignment_2
+            // InternalSignalDSL.g:15066:2: ( rule__XThrowExpression__ExpressionAssignment_2 )
+            // InternalSignalDSL.g:15066:3: rule__XThrowExpression__ExpressionAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XThrowExpression__ExpressionAssignment_2();
@@ -49842,14 +49886,14 @@
 
 
     // $ANTLR start "rule__XReturnExpression__Group__0"
-    // InternalSignalDSL.g:15047:1: rule__XReturnExpression__Group__0 : rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1 ;
+    // InternalSignalDSL.g:15075:1: rule__XReturnExpression__Group__0 : rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1 ;
     public final void rule__XReturnExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15051:1: ( rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1 )
-            // InternalSignalDSL.g:15052:2: rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1
+            // InternalSignalDSL.g:15079:1: ( rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1 )
+            // InternalSignalDSL.g:15080:2: rule__XReturnExpression__Group__0__Impl rule__XReturnExpression__Group__1
             {
             pushFollow(FOLLOW_105);
             rule__XReturnExpression__Group__0__Impl();
@@ -49880,23 +49924,23 @@
 
 
     // $ANTLR start "rule__XReturnExpression__Group__0__Impl"
-    // InternalSignalDSL.g:15059:1: rule__XReturnExpression__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:15087:1: rule__XReturnExpression__Group__0__Impl : ( () ) ;
     public final void rule__XReturnExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15063:1: ( ( () ) )
-            // InternalSignalDSL.g:15064:1: ( () )
+            // InternalSignalDSL.g:15091:1: ( ( () ) )
+            // InternalSignalDSL.g:15092:1: ( () )
             {
-            // InternalSignalDSL.g:15064:1: ( () )
-            // InternalSignalDSL.g:15065:2: ()
+            // InternalSignalDSL.g:15092:1: ( () )
+            // InternalSignalDSL.g:15093:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0()); 
             }
-            // InternalSignalDSL.g:15066:2: ()
-            // InternalSignalDSL.g:15066:3: 
+            // InternalSignalDSL.g:15094:2: ()
+            // InternalSignalDSL.g:15094:3: 
             {
             }
 
@@ -49921,14 +49965,14 @@
 
 
     // $ANTLR start "rule__XReturnExpression__Group__1"
-    // InternalSignalDSL.g:15074:1: rule__XReturnExpression__Group__1 : rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2 ;
+    // InternalSignalDSL.g:15102:1: rule__XReturnExpression__Group__1 : rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2 ;
     public final void rule__XReturnExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15078:1: ( rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2 )
-            // InternalSignalDSL.g:15079:2: rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2
+            // InternalSignalDSL.g:15106:1: ( rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2 )
+            // InternalSignalDSL.g:15107:2: rule__XReturnExpression__Group__1__Impl rule__XReturnExpression__Group__2
             {
             pushFollow(FOLLOW_35);
             rule__XReturnExpression__Group__1__Impl();
@@ -49959,22 +50003,22 @@
 
 
     // $ANTLR start "rule__XReturnExpression__Group__1__Impl"
-    // InternalSignalDSL.g:15086:1: rule__XReturnExpression__Group__1__Impl : ( 'return' ) ;
+    // InternalSignalDSL.g:15114:1: rule__XReturnExpression__Group__1__Impl : ( 'return' ) ;
     public final void rule__XReturnExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15090:1: ( ( 'return' ) )
-            // InternalSignalDSL.g:15091:1: ( 'return' )
+            // InternalSignalDSL.g:15118:1: ( ( 'return' ) )
+            // InternalSignalDSL.g:15119:1: ( 'return' )
             {
-            // InternalSignalDSL.g:15091:1: ( 'return' )
-            // InternalSignalDSL.g:15092:2: 'return'
+            // InternalSignalDSL.g:15119:1: ( 'return' )
+            // InternalSignalDSL.g:15120:2: 'return'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); 
             }
-            match(input,94,FOLLOW_2); if (state.failed) return ;
+            match(input,91,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); 
             }
@@ -50000,14 +50044,14 @@
 
 
     // $ANTLR start "rule__XReturnExpression__Group__2"
-    // InternalSignalDSL.g:15101:1: rule__XReturnExpression__Group__2 : rule__XReturnExpression__Group__2__Impl ;
+    // InternalSignalDSL.g:15129:1: rule__XReturnExpression__Group__2 : rule__XReturnExpression__Group__2__Impl ;
     public final void rule__XReturnExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15105:1: ( rule__XReturnExpression__Group__2__Impl )
-            // InternalSignalDSL.g:15106:2: rule__XReturnExpression__Group__2__Impl
+            // InternalSignalDSL.g:15133:1: ( rule__XReturnExpression__Group__2__Impl )
+            // InternalSignalDSL.g:15134:2: rule__XReturnExpression__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XReturnExpression__Group__2__Impl();
@@ -50033,27 +50077,27 @@
 
 
     // $ANTLR start "rule__XReturnExpression__Group__2__Impl"
-    // InternalSignalDSL.g:15112:1: rule__XReturnExpression__Group__2__Impl : ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) ;
+    // InternalSignalDSL.g:15140:1: rule__XReturnExpression__Group__2__Impl : ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) ;
     public final void rule__XReturnExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15116:1: ( ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) )
-            // InternalSignalDSL.g:15117:1: ( ( rule__XReturnExpression__ExpressionAssignment_2 )? )
+            // InternalSignalDSL.g:15144:1: ( ( ( rule__XReturnExpression__ExpressionAssignment_2 )? ) )
+            // InternalSignalDSL.g:15145:1: ( ( rule__XReturnExpression__ExpressionAssignment_2 )? )
             {
-            // InternalSignalDSL.g:15117:1: ( ( rule__XReturnExpression__ExpressionAssignment_2 )? )
-            // InternalSignalDSL.g:15118:2: ( rule__XReturnExpression__ExpressionAssignment_2 )?
+            // InternalSignalDSL.g:15145:1: ( ( rule__XReturnExpression__ExpressionAssignment_2 )? )
+            // InternalSignalDSL.g:15146:2: ( rule__XReturnExpression__ExpressionAssignment_2 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2()); 
             }
-            // InternalSignalDSL.g:15119:2: ( rule__XReturnExpression__ExpressionAssignment_2 )?
-            int alt125=2;
-            alt125 = dfa125.predict(input);
-            switch (alt125) {
+            // InternalSignalDSL.g:15147:2: ( rule__XReturnExpression__ExpressionAssignment_2 )?
+            int alt126=2;
+            alt126 = dfa126.predict(input);
+            switch (alt126) {
                 case 1 :
-                    // InternalSignalDSL.g:15119:3: rule__XReturnExpression__ExpressionAssignment_2
+                    // InternalSignalDSL.g:15147:3: rule__XReturnExpression__ExpressionAssignment_2
                     {
                     pushFollow(FOLLOW_2);
                     rule__XReturnExpression__ExpressionAssignment_2();
@@ -50091,14 +50135,14 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group__0"
-    // InternalSignalDSL.g:15128:1: rule__XTryCatchFinallyExpression__Group__0 : rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1 ;
+    // InternalSignalDSL.g:15156:1: rule__XTryCatchFinallyExpression__Group__0 : rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1 ;
     public final void rule__XTryCatchFinallyExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15132:1: ( rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1 )
-            // InternalSignalDSL.g:15133:2: rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1
+            // InternalSignalDSL.g:15160:1: ( rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1 )
+            // InternalSignalDSL.g:15161:2: rule__XTryCatchFinallyExpression__Group__0__Impl rule__XTryCatchFinallyExpression__Group__1
             {
             pushFollow(FOLLOW_106);
             rule__XTryCatchFinallyExpression__Group__0__Impl();
@@ -50129,23 +50173,23 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group__0__Impl"
-    // InternalSignalDSL.g:15140:1: rule__XTryCatchFinallyExpression__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:15168:1: rule__XTryCatchFinallyExpression__Group__0__Impl : ( () ) ;
     public final void rule__XTryCatchFinallyExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15144:1: ( ( () ) )
-            // InternalSignalDSL.g:15145:1: ( () )
+            // InternalSignalDSL.g:15172:1: ( ( () ) )
+            // InternalSignalDSL.g:15173:1: ( () )
             {
-            // InternalSignalDSL.g:15145:1: ( () )
-            // InternalSignalDSL.g:15146:2: ()
+            // InternalSignalDSL.g:15173:1: ( () )
+            // InternalSignalDSL.g:15174:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0()); 
             }
-            // InternalSignalDSL.g:15147:2: ()
-            // InternalSignalDSL.g:15147:3: 
+            // InternalSignalDSL.g:15175:2: ()
+            // InternalSignalDSL.g:15175:3: 
             {
             }
 
@@ -50170,14 +50214,14 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group__1"
-    // InternalSignalDSL.g:15155:1: rule__XTryCatchFinallyExpression__Group__1 : rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2 ;
+    // InternalSignalDSL.g:15183:1: rule__XTryCatchFinallyExpression__Group__1 : rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2 ;
     public final void rule__XTryCatchFinallyExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15159:1: ( rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2 )
-            // InternalSignalDSL.g:15160:2: rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2
+            // InternalSignalDSL.g:15187:1: ( rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2 )
+            // InternalSignalDSL.g:15188:2: rule__XTryCatchFinallyExpression__Group__1__Impl rule__XTryCatchFinallyExpression__Group__2
             {
             pushFollow(FOLLOW_35);
             rule__XTryCatchFinallyExpression__Group__1__Impl();
@@ -50208,22 +50252,22 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group__1__Impl"
-    // InternalSignalDSL.g:15167:1: rule__XTryCatchFinallyExpression__Group__1__Impl : ( 'try' ) ;
+    // InternalSignalDSL.g:15195:1: rule__XTryCatchFinallyExpression__Group__1__Impl : ( 'try' ) ;
     public final void rule__XTryCatchFinallyExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15171:1: ( ( 'try' ) )
-            // InternalSignalDSL.g:15172:1: ( 'try' )
+            // InternalSignalDSL.g:15199:1: ( ( 'try' ) )
+            // InternalSignalDSL.g:15200:1: ( 'try' )
             {
-            // InternalSignalDSL.g:15172:1: ( 'try' )
-            // InternalSignalDSL.g:15173:2: 'try'
+            // InternalSignalDSL.g:15200:1: ( 'try' )
+            // InternalSignalDSL.g:15201:2: 'try'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); 
             }
-            match(input,95,FOLLOW_2); if (state.failed) return ;
+            match(input,92,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); 
             }
@@ -50249,14 +50293,14 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group__2"
-    // InternalSignalDSL.g:15182:1: rule__XTryCatchFinallyExpression__Group__2 : rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3 ;
+    // InternalSignalDSL.g:15210:1: rule__XTryCatchFinallyExpression__Group__2 : rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3 ;
     public final void rule__XTryCatchFinallyExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15186:1: ( rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3 )
-            // InternalSignalDSL.g:15187:2: rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3
+            // InternalSignalDSL.g:15214:1: ( rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3 )
+            // InternalSignalDSL.g:15215:2: rule__XTryCatchFinallyExpression__Group__2__Impl rule__XTryCatchFinallyExpression__Group__3
             {
             pushFollow(FOLLOW_107);
             rule__XTryCatchFinallyExpression__Group__2__Impl();
@@ -50287,23 +50331,23 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group__2__Impl"
-    // InternalSignalDSL.g:15194:1: rule__XTryCatchFinallyExpression__Group__2__Impl : ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) ;
+    // InternalSignalDSL.g:15222:1: rule__XTryCatchFinallyExpression__Group__2__Impl : ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) ;
     public final void rule__XTryCatchFinallyExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15198:1: ( ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) )
-            // InternalSignalDSL.g:15199:1: ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) )
+            // InternalSignalDSL.g:15226:1: ( ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) ) )
+            // InternalSignalDSL.g:15227:1: ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) )
             {
-            // InternalSignalDSL.g:15199:1: ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) )
-            // InternalSignalDSL.g:15200:2: ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 )
+            // InternalSignalDSL.g:15227:1: ( ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 ) )
+            // InternalSignalDSL.g:15228:2: ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2()); 
             }
-            // InternalSignalDSL.g:15201:2: ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 )
-            // InternalSignalDSL.g:15201:3: rule__XTryCatchFinallyExpression__ExpressionAssignment_2
+            // InternalSignalDSL.g:15229:2: ( rule__XTryCatchFinallyExpression__ExpressionAssignment_2 )
+            // InternalSignalDSL.g:15229:3: rule__XTryCatchFinallyExpression__ExpressionAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XTryCatchFinallyExpression__ExpressionAssignment_2();
@@ -50338,14 +50382,14 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group__3"
-    // InternalSignalDSL.g:15209:1: rule__XTryCatchFinallyExpression__Group__3 : rule__XTryCatchFinallyExpression__Group__3__Impl ;
+    // InternalSignalDSL.g:15237:1: rule__XTryCatchFinallyExpression__Group__3 : rule__XTryCatchFinallyExpression__Group__3__Impl ;
     public final void rule__XTryCatchFinallyExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15213:1: ( rule__XTryCatchFinallyExpression__Group__3__Impl )
-            // InternalSignalDSL.g:15214:2: rule__XTryCatchFinallyExpression__Group__3__Impl
+            // InternalSignalDSL.g:15241:1: ( rule__XTryCatchFinallyExpression__Group__3__Impl )
+            // InternalSignalDSL.g:15242:2: rule__XTryCatchFinallyExpression__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XTryCatchFinallyExpression__Group__3__Impl();
@@ -50371,23 +50415,23 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group__3__Impl"
-    // InternalSignalDSL.g:15220:1: rule__XTryCatchFinallyExpression__Group__3__Impl : ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) ;
+    // InternalSignalDSL.g:15248:1: rule__XTryCatchFinallyExpression__Group__3__Impl : ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) ;
     public final void rule__XTryCatchFinallyExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15224:1: ( ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) )
-            // InternalSignalDSL.g:15225:1: ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) )
+            // InternalSignalDSL.g:15252:1: ( ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) ) )
+            // InternalSignalDSL.g:15253:1: ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) )
             {
-            // InternalSignalDSL.g:15225:1: ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) )
-            // InternalSignalDSL.g:15226:2: ( rule__XTryCatchFinallyExpression__Alternatives_3 )
+            // InternalSignalDSL.g:15253:1: ( ( rule__XTryCatchFinallyExpression__Alternatives_3 ) )
+            // InternalSignalDSL.g:15254:2: ( rule__XTryCatchFinallyExpression__Alternatives_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3()); 
             }
-            // InternalSignalDSL.g:15227:2: ( rule__XTryCatchFinallyExpression__Alternatives_3 )
-            // InternalSignalDSL.g:15227:3: rule__XTryCatchFinallyExpression__Alternatives_3
+            // InternalSignalDSL.g:15255:2: ( rule__XTryCatchFinallyExpression__Alternatives_3 )
+            // InternalSignalDSL.g:15255:3: rule__XTryCatchFinallyExpression__Alternatives_3
             {
             pushFollow(FOLLOW_2);
             rule__XTryCatchFinallyExpression__Alternatives_3();
@@ -50422,14 +50466,14 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__0"
-    // InternalSignalDSL.g:15236:1: rule__XTryCatchFinallyExpression__Group_3_0__0 : rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1 ;
+    // InternalSignalDSL.g:15264:1: rule__XTryCatchFinallyExpression__Group_3_0__0 : rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1 ;
     public final void rule__XTryCatchFinallyExpression__Group_3_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15240:1: ( rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1 )
-            // InternalSignalDSL.g:15241:2: rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1
+            // InternalSignalDSL.g:15268:1: ( rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1 )
+            // InternalSignalDSL.g:15269:2: rule__XTryCatchFinallyExpression__Group_3_0__0__Impl rule__XTryCatchFinallyExpression__Group_3_0__1
             {
             pushFollow(FOLLOW_108);
             rule__XTryCatchFinallyExpression__Group_3_0__0__Impl();
@@ -50460,26 +50504,26 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__0__Impl"
-    // InternalSignalDSL.g:15248:1: rule__XTryCatchFinallyExpression__Group_3_0__0__Impl : ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) ;
+    // InternalSignalDSL.g:15276:1: rule__XTryCatchFinallyExpression__Group_3_0__0__Impl : ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) ;
     public final void rule__XTryCatchFinallyExpression__Group_3_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15252:1: ( ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) )
-            // InternalSignalDSL.g:15253:1: ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) )
+            // InternalSignalDSL.g:15280:1: ( ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) ) )
+            // InternalSignalDSL.g:15281:1: ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) )
             {
-            // InternalSignalDSL.g:15253:1: ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) )
-            // InternalSignalDSL.g:15254:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* )
+            // InternalSignalDSL.g:15281:1: ( ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* ) )
+            // InternalSignalDSL.g:15282:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) ) ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* )
             {
-            // InternalSignalDSL.g:15254:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) )
-            // InternalSignalDSL.g:15255:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )
+            // InternalSignalDSL.g:15282:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 ) )
+            // InternalSignalDSL.g:15283:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); 
             }
-            // InternalSignalDSL.g:15256:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )
-            // InternalSignalDSL.g:15256:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0
+            // InternalSignalDSL.g:15284:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )
+            // InternalSignalDSL.g:15284:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0
             {
             pushFollow(FOLLOW_109);
             rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0();
@@ -50495,32 +50539,32 @@
 
             }
 
-            // InternalSignalDSL.g:15259:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* )
-            // InternalSignalDSL.g:15260:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )*
+            // InternalSignalDSL.g:15287:2: ( ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )* )
+            // InternalSignalDSL.g:15288:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0()); 
             }
-            // InternalSignalDSL.g:15261:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )*
-            loop126:
+            // InternalSignalDSL.g:15289:3: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )*
+            loop127:
             do {
-                int alt126=2;
-                int LA126_0 = input.LA(1);
+                int alt127=2;
+                int LA127_0 = input.LA(1);
 
-                if ( (LA126_0==98) ) {
-                    int LA126_2 = input.LA(2);
+                if ( (LA127_0==95) ) {
+                    int LA127_2 = input.LA(2);
 
-                    if ( (synpred174_InternalSignalDSL()) ) {
-                        alt126=1;
+                    if ( (synpred171_InternalSignalDSL()) ) {
+                        alt127=1;
                     }
 
 
                 }
 
 
-                switch (alt126) {
+                switch (alt127) {
             	case 1 :
-            	    // InternalSignalDSL.g:15261:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0
+            	    // InternalSignalDSL.g:15289:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0
             	    {
             	    pushFollow(FOLLOW_109);
             	    rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0();
@@ -50532,7 +50576,7 @@
             	    break;
 
             	default :
-            	    break loop126;
+            	    break loop127;
                 }
             } while (true);
 
@@ -50564,14 +50608,14 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__1"
-    // InternalSignalDSL.g:15270:1: rule__XTryCatchFinallyExpression__Group_3_0__1 : rule__XTryCatchFinallyExpression__Group_3_0__1__Impl ;
+    // InternalSignalDSL.g:15298:1: rule__XTryCatchFinallyExpression__Group_3_0__1 : rule__XTryCatchFinallyExpression__Group_3_0__1__Impl ;
     public final void rule__XTryCatchFinallyExpression__Group_3_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15274:1: ( rule__XTryCatchFinallyExpression__Group_3_0__1__Impl )
-            // InternalSignalDSL.g:15275:2: rule__XTryCatchFinallyExpression__Group_3_0__1__Impl
+            // InternalSignalDSL.g:15302:1: ( rule__XTryCatchFinallyExpression__Group_3_0__1__Impl )
+            // InternalSignalDSL.g:15303:2: rule__XTryCatchFinallyExpression__Group_3_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XTryCatchFinallyExpression__Group_3_0__1__Impl();
@@ -50597,35 +50641,35 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0__1__Impl"
-    // InternalSignalDSL.g:15281:1: rule__XTryCatchFinallyExpression__Group_3_0__1__Impl : ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) ;
+    // InternalSignalDSL.g:15309:1: rule__XTryCatchFinallyExpression__Group_3_0__1__Impl : ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) ;
     public final void rule__XTryCatchFinallyExpression__Group_3_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15285:1: ( ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) )
-            // InternalSignalDSL.g:15286:1: ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? )
+            // InternalSignalDSL.g:15313:1: ( ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? ) )
+            // InternalSignalDSL.g:15314:1: ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? )
             {
-            // InternalSignalDSL.g:15286:1: ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? )
-            // InternalSignalDSL.g:15287:2: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )?
+            // InternalSignalDSL.g:15314:1: ( ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )? )
+            // InternalSignalDSL.g:15315:2: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1()); 
             }
-            // InternalSignalDSL.g:15288:2: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )?
-            int alt127=2;
-            int LA127_0 = input.LA(1);
+            // InternalSignalDSL.g:15316:2: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )?
+            int alt128=2;
+            int LA128_0 = input.LA(1);
 
-            if ( (LA127_0==96) ) {
-                int LA127_1 = input.LA(2);
+            if ( (LA128_0==93) ) {
+                int LA128_1 = input.LA(2);
 
-                if ( (synpred175_InternalSignalDSL()) ) {
-                    alt127=1;
+                if ( (synpred172_InternalSignalDSL()) ) {
+                    alt128=1;
                 }
             }
-            switch (alt127) {
+            switch (alt128) {
                 case 1 :
-                    // InternalSignalDSL.g:15288:3: rule__XTryCatchFinallyExpression__Group_3_0_1__0
+                    // InternalSignalDSL.g:15316:3: rule__XTryCatchFinallyExpression__Group_3_0_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XTryCatchFinallyExpression__Group_3_0_1__0();
@@ -50663,14 +50707,14 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__0"
-    // InternalSignalDSL.g:15297:1: rule__XTryCatchFinallyExpression__Group_3_0_1__0 : rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1 ;
+    // InternalSignalDSL.g:15325:1: rule__XTryCatchFinallyExpression__Group_3_0_1__0 : rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1 ;
     public final void rule__XTryCatchFinallyExpression__Group_3_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15301:1: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1 )
-            // InternalSignalDSL.g:15302:2: rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1
+            // InternalSignalDSL.g:15329:1: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1 )
+            // InternalSignalDSL.g:15330:2: rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_0_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl();
@@ -50701,25 +50745,25 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl"
-    // InternalSignalDSL.g:15309:1: rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl : ( ( 'finally' ) ) ;
+    // InternalSignalDSL.g:15337:1: rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl : ( ( 'finally' ) ) ;
     public final void rule__XTryCatchFinallyExpression__Group_3_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15313:1: ( ( ( 'finally' ) ) )
-            // InternalSignalDSL.g:15314:1: ( ( 'finally' ) )
+            // InternalSignalDSL.g:15341:1: ( ( ( 'finally' ) ) )
+            // InternalSignalDSL.g:15342:1: ( ( 'finally' ) )
             {
-            // InternalSignalDSL.g:15314:1: ( ( 'finally' ) )
-            // InternalSignalDSL.g:15315:2: ( 'finally' )
+            // InternalSignalDSL.g:15342:1: ( ( 'finally' ) )
+            // InternalSignalDSL.g:15343:2: ( 'finally' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); 
             }
-            // InternalSignalDSL.g:15316:2: ( 'finally' )
-            // InternalSignalDSL.g:15316:3: 'finally'
+            // InternalSignalDSL.g:15344:2: ( 'finally' )
+            // InternalSignalDSL.g:15344:3: 'finally'
             {
-            match(input,96,FOLLOW_2); if (state.failed) return ;
+            match(input,93,FOLLOW_2); if (state.failed) return ;
 
             }
 
@@ -50748,14 +50792,14 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__1"
-    // InternalSignalDSL.g:15324:1: rule__XTryCatchFinallyExpression__Group_3_0_1__1 : rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl ;
+    // InternalSignalDSL.g:15352:1: rule__XTryCatchFinallyExpression__Group_3_0_1__1 : rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl ;
     public final void rule__XTryCatchFinallyExpression__Group_3_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15328:1: ( rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl )
-            // InternalSignalDSL.g:15329:2: rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl
+            // InternalSignalDSL.g:15356:1: ( rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl )
+            // InternalSignalDSL.g:15357:2: rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl();
@@ -50781,23 +50825,23 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl"
-    // InternalSignalDSL.g:15335:1: rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl : ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) ;
+    // InternalSignalDSL.g:15363:1: rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl : ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) ;
     public final void rule__XTryCatchFinallyExpression__Group_3_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15339:1: ( ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) )
-            // InternalSignalDSL.g:15340:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) )
+            // InternalSignalDSL.g:15367:1: ( ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) ) )
+            // InternalSignalDSL.g:15368:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) )
             {
-            // InternalSignalDSL.g:15340:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) )
-            // InternalSignalDSL.g:15341:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 )
+            // InternalSignalDSL.g:15368:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 ) )
+            // InternalSignalDSL.g:15369:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1()); 
             }
-            // InternalSignalDSL.g:15342:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 )
-            // InternalSignalDSL.g:15342:3: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1
+            // InternalSignalDSL.g:15370:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 )
+            // InternalSignalDSL.g:15370:3: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1();
@@ -50832,14 +50876,14 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__0"
-    // InternalSignalDSL.g:15351:1: rule__XTryCatchFinallyExpression__Group_3_1__0 : rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1 ;
+    // InternalSignalDSL.g:15379:1: rule__XTryCatchFinallyExpression__Group_3_1__0 : rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1 ;
     public final void rule__XTryCatchFinallyExpression__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15355:1: ( rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1 )
-            // InternalSignalDSL.g:15356:2: rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1
+            // InternalSignalDSL.g:15383:1: ( rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1 )
+            // InternalSignalDSL.g:15384:2: rule__XTryCatchFinallyExpression__Group_3_1__0__Impl rule__XTryCatchFinallyExpression__Group_3_1__1
             {
             pushFollow(FOLLOW_35);
             rule__XTryCatchFinallyExpression__Group_3_1__0__Impl();
@@ -50870,22 +50914,22 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__0__Impl"
-    // InternalSignalDSL.g:15363:1: rule__XTryCatchFinallyExpression__Group_3_1__0__Impl : ( 'finally' ) ;
+    // InternalSignalDSL.g:15391:1: rule__XTryCatchFinallyExpression__Group_3_1__0__Impl : ( 'finally' ) ;
     public final void rule__XTryCatchFinallyExpression__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15367:1: ( ( 'finally' ) )
-            // InternalSignalDSL.g:15368:1: ( 'finally' )
+            // InternalSignalDSL.g:15395:1: ( ( 'finally' ) )
+            // InternalSignalDSL.g:15396:1: ( 'finally' )
             {
-            // InternalSignalDSL.g:15368:1: ( 'finally' )
-            // InternalSignalDSL.g:15369:2: 'finally'
+            // InternalSignalDSL.g:15396:1: ( 'finally' )
+            // InternalSignalDSL.g:15397:2: 'finally'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); 
             }
-            match(input,96,FOLLOW_2); if (state.failed) return ;
+            match(input,93,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); 
             }
@@ -50911,14 +50955,14 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__1"
-    // InternalSignalDSL.g:15378:1: rule__XTryCatchFinallyExpression__Group_3_1__1 : rule__XTryCatchFinallyExpression__Group_3_1__1__Impl ;
+    // InternalSignalDSL.g:15406:1: rule__XTryCatchFinallyExpression__Group_3_1__1 : rule__XTryCatchFinallyExpression__Group_3_1__1__Impl ;
     public final void rule__XTryCatchFinallyExpression__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15382:1: ( rule__XTryCatchFinallyExpression__Group_3_1__1__Impl )
-            // InternalSignalDSL.g:15383:2: rule__XTryCatchFinallyExpression__Group_3_1__1__Impl
+            // InternalSignalDSL.g:15410:1: ( rule__XTryCatchFinallyExpression__Group_3_1__1__Impl )
+            // InternalSignalDSL.g:15411:2: rule__XTryCatchFinallyExpression__Group_3_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XTryCatchFinallyExpression__Group_3_1__1__Impl();
@@ -50944,23 +50988,23 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__Group_3_1__1__Impl"
-    // InternalSignalDSL.g:15389:1: rule__XTryCatchFinallyExpression__Group_3_1__1__Impl : ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) ;
+    // InternalSignalDSL.g:15417:1: rule__XTryCatchFinallyExpression__Group_3_1__1__Impl : ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) ;
     public final void rule__XTryCatchFinallyExpression__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15393:1: ( ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) )
-            // InternalSignalDSL.g:15394:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) )
+            // InternalSignalDSL.g:15421:1: ( ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) ) )
+            // InternalSignalDSL.g:15422:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) )
             {
-            // InternalSignalDSL.g:15394:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) )
-            // InternalSignalDSL.g:15395:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 )
+            // InternalSignalDSL.g:15422:1: ( ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 ) )
+            // InternalSignalDSL.g:15423:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1()); 
             }
-            // InternalSignalDSL.g:15396:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 )
-            // InternalSignalDSL.g:15396:3: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1
+            // InternalSignalDSL.g:15424:2: ( rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 )
+            // InternalSignalDSL.g:15424:3: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1();
@@ -50995,14 +51039,14 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group__0"
-    // InternalSignalDSL.g:15405:1: rule__XSynchronizedExpression__Group__0 : rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1 ;
+    // InternalSignalDSL.g:15433:1: rule__XSynchronizedExpression__Group__0 : rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1 ;
     public final void rule__XSynchronizedExpression__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15409:1: ( rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1 )
-            // InternalSignalDSL.g:15410:2: rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1
+            // InternalSignalDSL.g:15437:1: ( rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1 )
+            // InternalSignalDSL.g:15438:2: rule__XSynchronizedExpression__Group__0__Impl rule__XSynchronizedExpression__Group__1
             {
             pushFollow(FOLLOW_35);
             rule__XSynchronizedExpression__Group__0__Impl();
@@ -51033,23 +51077,23 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group__0__Impl"
-    // InternalSignalDSL.g:15417:1: rule__XSynchronizedExpression__Group__0__Impl : ( ( rule__XSynchronizedExpression__Group_0__0 ) ) ;
+    // InternalSignalDSL.g:15445:1: rule__XSynchronizedExpression__Group__0__Impl : ( ( rule__XSynchronizedExpression__Group_0__0 ) ) ;
     public final void rule__XSynchronizedExpression__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15421:1: ( ( ( rule__XSynchronizedExpression__Group_0__0 ) ) )
-            // InternalSignalDSL.g:15422:1: ( ( rule__XSynchronizedExpression__Group_0__0 ) )
+            // InternalSignalDSL.g:15449:1: ( ( ( rule__XSynchronizedExpression__Group_0__0 ) ) )
+            // InternalSignalDSL.g:15450:1: ( ( rule__XSynchronizedExpression__Group_0__0 ) )
             {
-            // InternalSignalDSL.g:15422:1: ( ( rule__XSynchronizedExpression__Group_0__0 ) )
-            // InternalSignalDSL.g:15423:2: ( rule__XSynchronizedExpression__Group_0__0 )
+            // InternalSignalDSL.g:15450:1: ( ( rule__XSynchronizedExpression__Group_0__0 ) )
+            // InternalSignalDSL.g:15451:2: ( rule__XSynchronizedExpression__Group_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0()); 
             }
-            // InternalSignalDSL.g:15424:2: ( rule__XSynchronizedExpression__Group_0__0 )
-            // InternalSignalDSL.g:15424:3: rule__XSynchronizedExpression__Group_0__0
+            // InternalSignalDSL.g:15452:2: ( rule__XSynchronizedExpression__Group_0__0 )
+            // InternalSignalDSL.g:15452:3: rule__XSynchronizedExpression__Group_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XSynchronizedExpression__Group_0__0();
@@ -51084,14 +51128,14 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group__1"
-    // InternalSignalDSL.g:15432:1: rule__XSynchronizedExpression__Group__1 : rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2 ;
+    // InternalSignalDSL.g:15460:1: rule__XSynchronizedExpression__Group__1 : rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2 ;
     public final void rule__XSynchronizedExpression__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15436:1: ( rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2 )
-            // InternalSignalDSL.g:15437:2: rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2
+            // InternalSignalDSL.g:15464:1: ( rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2 )
+            // InternalSignalDSL.g:15465:2: rule__XSynchronizedExpression__Group__1__Impl rule__XSynchronizedExpression__Group__2
             {
             pushFollow(FOLLOW_80);
             rule__XSynchronizedExpression__Group__1__Impl();
@@ -51122,23 +51166,23 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group__1__Impl"
-    // InternalSignalDSL.g:15444:1: rule__XSynchronizedExpression__Group__1__Impl : ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) ;
+    // InternalSignalDSL.g:15472:1: rule__XSynchronizedExpression__Group__1__Impl : ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) ;
     public final void rule__XSynchronizedExpression__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15448:1: ( ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) )
-            // InternalSignalDSL.g:15449:1: ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) )
+            // InternalSignalDSL.g:15476:1: ( ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) ) )
+            // InternalSignalDSL.g:15477:1: ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) )
             {
-            // InternalSignalDSL.g:15449:1: ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) )
-            // InternalSignalDSL.g:15450:2: ( rule__XSynchronizedExpression__ParamAssignment_1 )
+            // InternalSignalDSL.g:15477:1: ( ( rule__XSynchronizedExpression__ParamAssignment_1 ) )
+            // InternalSignalDSL.g:15478:2: ( rule__XSynchronizedExpression__ParamAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1()); 
             }
-            // InternalSignalDSL.g:15451:2: ( rule__XSynchronizedExpression__ParamAssignment_1 )
-            // InternalSignalDSL.g:15451:3: rule__XSynchronizedExpression__ParamAssignment_1
+            // InternalSignalDSL.g:15479:2: ( rule__XSynchronizedExpression__ParamAssignment_1 )
+            // InternalSignalDSL.g:15479:3: rule__XSynchronizedExpression__ParamAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__XSynchronizedExpression__ParamAssignment_1();
@@ -51173,14 +51217,14 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group__2"
-    // InternalSignalDSL.g:15459:1: rule__XSynchronizedExpression__Group__2 : rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3 ;
+    // InternalSignalDSL.g:15487:1: rule__XSynchronizedExpression__Group__2 : rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3 ;
     public final void rule__XSynchronizedExpression__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15463:1: ( rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3 )
-            // InternalSignalDSL.g:15464:2: rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3
+            // InternalSignalDSL.g:15491:1: ( rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3 )
+            // InternalSignalDSL.g:15492:2: rule__XSynchronizedExpression__Group__2__Impl rule__XSynchronizedExpression__Group__3
             {
             pushFollow(FOLLOW_35);
             rule__XSynchronizedExpression__Group__2__Impl();
@@ -51211,22 +51255,22 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group__2__Impl"
-    // InternalSignalDSL.g:15471:1: rule__XSynchronizedExpression__Group__2__Impl : ( ')' ) ;
+    // InternalSignalDSL.g:15499:1: rule__XSynchronizedExpression__Group__2__Impl : ( ')' ) ;
     public final void rule__XSynchronizedExpression__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15475:1: ( ( ')' ) )
-            // InternalSignalDSL.g:15476:1: ( ')' )
+            // InternalSignalDSL.g:15503:1: ( ( ')' ) )
+            // InternalSignalDSL.g:15504:1: ( ')' )
             {
-            // InternalSignalDSL.g:15476:1: ( ')' )
-            // InternalSignalDSL.g:15477:2: ')'
+            // InternalSignalDSL.g:15504:1: ( ')' )
+            // InternalSignalDSL.g:15505:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); 
             }
-            match(input,75,FOLLOW_2); if (state.failed) return ;
+            match(input,72,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); 
             }
@@ -51252,14 +51296,14 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group__3"
-    // InternalSignalDSL.g:15486:1: rule__XSynchronizedExpression__Group__3 : rule__XSynchronizedExpression__Group__3__Impl ;
+    // InternalSignalDSL.g:15514:1: rule__XSynchronizedExpression__Group__3 : rule__XSynchronizedExpression__Group__3__Impl ;
     public final void rule__XSynchronizedExpression__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15490:1: ( rule__XSynchronizedExpression__Group__3__Impl )
-            // InternalSignalDSL.g:15491:2: rule__XSynchronizedExpression__Group__3__Impl
+            // InternalSignalDSL.g:15518:1: ( rule__XSynchronizedExpression__Group__3__Impl )
+            // InternalSignalDSL.g:15519:2: rule__XSynchronizedExpression__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSynchronizedExpression__Group__3__Impl();
@@ -51285,23 +51329,23 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group__3__Impl"
-    // InternalSignalDSL.g:15497:1: rule__XSynchronizedExpression__Group__3__Impl : ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) ;
+    // InternalSignalDSL.g:15525:1: rule__XSynchronizedExpression__Group__3__Impl : ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) ;
     public final void rule__XSynchronizedExpression__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15501:1: ( ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) )
-            // InternalSignalDSL.g:15502:1: ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) )
+            // InternalSignalDSL.g:15529:1: ( ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) ) )
+            // InternalSignalDSL.g:15530:1: ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) )
             {
-            // InternalSignalDSL.g:15502:1: ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) )
-            // InternalSignalDSL.g:15503:2: ( rule__XSynchronizedExpression__ExpressionAssignment_3 )
+            // InternalSignalDSL.g:15530:1: ( ( rule__XSynchronizedExpression__ExpressionAssignment_3 ) )
+            // InternalSignalDSL.g:15531:2: ( rule__XSynchronizedExpression__ExpressionAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3()); 
             }
-            // InternalSignalDSL.g:15504:2: ( rule__XSynchronizedExpression__ExpressionAssignment_3 )
-            // InternalSignalDSL.g:15504:3: rule__XSynchronizedExpression__ExpressionAssignment_3
+            // InternalSignalDSL.g:15532:2: ( rule__XSynchronizedExpression__ExpressionAssignment_3 )
+            // InternalSignalDSL.g:15532:3: rule__XSynchronizedExpression__ExpressionAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__XSynchronizedExpression__ExpressionAssignment_3();
@@ -51336,14 +51380,14 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group_0__0"
-    // InternalSignalDSL.g:15513:1: rule__XSynchronizedExpression__Group_0__0 : rule__XSynchronizedExpression__Group_0__0__Impl ;
+    // InternalSignalDSL.g:15541:1: rule__XSynchronizedExpression__Group_0__0 : rule__XSynchronizedExpression__Group_0__0__Impl ;
     public final void rule__XSynchronizedExpression__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15517:1: ( rule__XSynchronizedExpression__Group_0__0__Impl )
-            // InternalSignalDSL.g:15518:2: rule__XSynchronizedExpression__Group_0__0__Impl
+            // InternalSignalDSL.g:15545:1: ( rule__XSynchronizedExpression__Group_0__0__Impl )
+            // InternalSignalDSL.g:15546:2: rule__XSynchronizedExpression__Group_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSynchronizedExpression__Group_0__0__Impl();
@@ -51369,23 +51413,23 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group_0__0__Impl"
-    // InternalSignalDSL.g:15524:1: rule__XSynchronizedExpression__Group_0__0__Impl : ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) ;
+    // InternalSignalDSL.g:15552:1: rule__XSynchronizedExpression__Group_0__0__Impl : ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) ;
     public final void rule__XSynchronizedExpression__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15528:1: ( ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) )
-            // InternalSignalDSL.g:15529:1: ( ( rule__XSynchronizedExpression__Group_0_0__0 ) )
+            // InternalSignalDSL.g:15556:1: ( ( ( rule__XSynchronizedExpression__Group_0_0__0 ) ) )
+            // InternalSignalDSL.g:15557:1: ( ( rule__XSynchronizedExpression__Group_0_0__0 ) )
             {
-            // InternalSignalDSL.g:15529:1: ( ( rule__XSynchronizedExpression__Group_0_0__0 ) )
-            // InternalSignalDSL.g:15530:2: ( rule__XSynchronizedExpression__Group_0_0__0 )
+            // InternalSignalDSL.g:15557:1: ( ( rule__XSynchronizedExpression__Group_0_0__0 ) )
+            // InternalSignalDSL.g:15558:2: ( rule__XSynchronizedExpression__Group_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0()); 
             }
-            // InternalSignalDSL.g:15531:2: ( rule__XSynchronizedExpression__Group_0_0__0 )
-            // InternalSignalDSL.g:15531:3: rule__XSynchronizedExpression__Group_0_0__0
+            // InternalSignalDSL.g:15559:2: ( rule__XSynchronizedExpression__Group_0_0__0 )
+            // InternalSignalDSL.g:15559:3: rule__XSynchronizedExpression__Group_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XSynchronizedExpression__Group_0_0__0();
@@ -51420,14 +51464,14 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__0"
-    // InternalSignalDSL.g:15540:1: rule__XSynchronizedExpression__Group_0_0__0 : rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1 ;
+    // InternalSignalDSL.g:15568:1: rule__XSynchronizedExpression__Group_0_0__0 : rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1 ;
     public final void rule__XSynchronizedExpression__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15544:1: ( rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1 )
-            // InternalSignalDSL.g:15545:2: rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1
+            // InternalSignalDSL.g:15572:1: ( rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1 )
+            // InternalSignalDSL.g:15573:2: rule__XSynchronizedExpression__Group_0_0__0__Impl rule__XSynchronizedExpression__Group_0_0__1
             {
             pushFollow(FOLLOW_110);
             rule__XSynchronizedExpression__Group_0_0__0__Impl();
@@ -51458,23 +51502,23 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__0__Impl"
-    // InternalSignalDSL.g:15552:1: rule__XSynchronizedExpression__Group_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:15580:1: rule__XSynchronizedExpression__Group_0_0__0__Impl : ( () ) ;
     public final void rule__XSynchronizedExpression__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15556:1: ( ( () ) )
-            // InternalSignalDSL.g:15557:1: ( () )
+            // InternalSignalDSL.g:15584:1: ( ( () ) )
+            // InternalSignalDSL.g:15585:1: ( () )
             {
-            // InternalSignalDSL.g:15557:1: ( () )
-            // InternalSignalDSL.g:15558:2: ()
+            // InternalSignalDSL.g:15585:1: ( () )
+            // InternalSignalDSL.g:15586:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0()); 
             }
-            // InternalSignalDSL.g:15559:2: ()
-            // InternalSignalDSL.g:15559:3: 
+            // InternalSignalDSL.g:15587:2: ()
+            // InternalSignalDSL.g:15587:3: 
             {
             }
 
@@ -51499,14 +51543,14 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__1"
-    // InternalSignalDSL.g:15567:1: rule__XSynchronizedExpression__Group_0_0__1 : rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2 ;
+    // InternalSignalDSL.g:15595:1: rule__XSynchronizedExpression__Group_0_0__1 : rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2 ;
     public final void rule__XSynchronizedExpression__Group_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15571:1: ( rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2 )
-            // InternalSignalDSL.g:15572:2: rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2
+            // InternalSignalDSL.g:15599:1: ( rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2 )
+            // InternalSignalDSL.g:15600:2: rule__XSynchronizedExpression__Group_0_0__1__Impl rule__XSynchronizedExpression__Group_0_0__2
             {
             pushFollow(FOLLOW_31);
             rule__XSynchronizedExpression__Group_0_0__1__Impl();
@@ -51537,22 +51581,22 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__1__Impl"
-    // InternalSignalDSL.g:15579:1: rule__XSynchronizedExpression__Group_0_0__1__Impl : ( 'synchronized' ) ;
+    // InternalSignalDSL.g:15607:1: rule__XSynchronizedExpression__Group_0_0__1__Impl : ( 'synchronized' ) ;
     public final void rule__XSynchronizedExpression__Group_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15583:1: ( ( 'synchronized' ) )
-            // InternalSignalDSL.g:15584:1: ( 'synchronized' )
+            // InternalSignalDSL.g:15611:1: ( ( 'synchronized' ) )
+            // InternalSignalDSL.g:15612:1: ( 'synchronized' )
             {
-            // InternalSignalDSL.g:15584:1: ( 'synchronized' )
-            // InternalSignalDSL.g:15585:2: 'synchronized'
+            // InternalSignalDSL.g:15612:1: ( 'synchronized' )
+            // InternalSignalDSL.g:15613:2: 'synchronized'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); 
             }
-            match(input,97,FOLLOW_2); if (state.failed) return ;
+            match(input,94,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); 
             }
@@ -51578,14 +51622,14 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__2"
-    // InternalSignalDSL.g:15594:1: rule__XSynchronizedExpression__Group_0_0__2 : rule__XSynchronizedExpression__Group_0_0__2__Impl ;
+    // InternalSignalDSL.g:15622:1: rule__XSynchronizedExpression__Group_0_0__2 : rule__XSynchronizedExpression__Group_0_0__2__Impl ;
     public final void rule__XSynchronizedExpression__Group_0_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15598:1: ( rule__XSynchronizedExpression__Group_0_0__2__Impl )
-            // InternalSignalDSL.g:15599:2: rule__XSynchronizedExpression__Group_0_0__2__Impl
+            // InternalSignalDSL.g:15626:1: ( rule__XSynchronizedExpression__Group_0_0__2__Impl )
+            // InternalSignalDSL.g:15627:2: rule__XSynchronizedExpression__Group_0_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XSynchronizedExpression__Group_0_0__2__Impl();
@@ -51611,22 +51655,22 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__Group_0_0__2__Impl"
-    // InternalSignalDSL.g:15605:1: rule__XSynchronizedExpression__Group_0_0__2__Impl : ( '(' ) ;
+    // InternalSignalDSL.g:15633:1: rule__XSynchronizedExpression__Group_0_0__2__Impl : ( '(' ) ;
     public final void rule__XSynchronizedExpression__Group_0_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15609:1: ( ( '(' ) )
-            // InternalSignalDSL.g:15610:1: ( '(' )
+            // InternalSignalDSL.g:15637:1: ( ( '(' ) )
+            // InternalSignalDSL.g:15638:1: ( '(' )
             {
-            // InternalSignalDSL.g:15610:1: ( '(' )
-            // InternalSignalDSL.g:15611:2: '('
+            // InternalSignalDSL.g:15638:1: ( '(' )
+            // InternalSignalDSL.g:15639:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); 
             }
-            match(input,74,FOLLOW_2); if (state.failed) return ;
+            match(input,71,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); 
             }
@@ -51652,14 +51696,14 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__0"
-    // InternalSignalDSL.g:15621:1: rule__XCatchClause__Group__0 : rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1 ;
+    // InternalSignalDSL.g:15649:1: rule__XCatchClause__Group__0 : rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1 ;
     public final void rule__XCatchClause__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15625:1: ( rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1 )
-            // InternalSignalDSL.g:15626:2: rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1
+            // InternalSignalDSL.g:15653:1: ( rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1 )
+            // InternalSignalDSL.g:15654:2: rule__XCatchClause__Group__0__Impl rule__XCatchClause__Group__1
             {
             pushFollow(FOLLOW_31);
             rule__XCatchClause__Group__0__Impl();
@@ -51690,25 +51734,25 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__0__Impl"
-    // InternalSignalDSL.g:15633:1: rule__XCatchClause__Group__0__Impl : ( ( 'catch' ) ) ;
+    // InternalSignalDSL.g:15661:1: rule__XCatchClause__Group__0__Impl : ( ( 'catch' ) ) ;
     public final void rule__XCatchClause__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15637:1: ( ( ( 'catch' ) ) )
-            // InternalSignalDSL.g:15638:1: ( ( 'catch' ) )
+            // InternalSignalDSL.g:15665:1: ( ( ( 'catch' ) ) )
+            // InternalSignalDSL.g:15666:1: ( ( 'catch' ) )
             {
-            // InternalSignalDSL.g:15638:1: ( ( 'catch' ) )
-            // InternalSignalDSL.g:15639:2: ( 'catch' )
+            // InternalSignalDSL.g:15666:1: ( ( 'catch' ) )
+            // InternalSignalDSL.g:15667:2: ( 'catch' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); 
             }
-            // InternalSignalDSL.g:15640:2: ( 'catch' )
-            // InternalSignalDSL.g:15640:3: 'catch'
+            // InternalSignalDSL.g:15668:2: ( 'catch' )
+            // InternalSignalDSL.g:15668:3: 'catch'
             {
-            match(input,98,FOLLOW_2); if (state.failed) return ;
+            match(input,95,FOLLOW_2); if (state.failed) return ;
 
             }
 
@@ -51737,14 +51781,14 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__1"
-    // InternalSignalDSL.g:15648:1: rule__XCatchClause__Group__1 : rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2 ;
+    // InternalSignalDSL.g:15676:1: rule__XCatchClause__Group__1 : rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2 ;
     public final void rule__XCatchClause__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15652:1: ( rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2 )
-            // InternalSignalDSL.g:15653:2: rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2
+            // InternalSignalDSL.g:15680:1: ( rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2 )
+            // InternalSignalDSL.g:15681:2: rule__XCatchClause__Group__1__Impl rule__XCatchClause__Group__2
             {
             pushFollow(FOLLOW_52);
             rule__XCatchClause__Group__1__Impl();
@@ -51775,22 +51819,22 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__1__Impl"
-    // InternalSignalDSL.g:15660:1: rule__XCatchClause__Group__1__Impl : ( '(' ) ;
+    // InternalSignalDSL.g:15688:1: rule__XCatchClause__Group__1__Impl : ( '(' ) ;
     public final void rule__XCatchClause__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15664:1: ( ( '(' ) )
-            // InternalSignalDSL.g:15665:1: ( '(' )
+            // InternalSignalDSL.g:15692:1: ( ( '(' ) )
+            // InternalSignalDSL.g:15693:1: ( '(' )
             {
-            // InternalSignalDSL.g:15665:1: ( '(' )
-            // InternalSignalDSL.g:15666:2: '('
+            // InternalSignalDSL.g:15693:1: ( '(' )
+            // InternalSignalDSL.g:15694:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); 
             }
-            match(input,74,FOLLOW_2); if (state.failed) return ;
+            match(input,71,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); 
             }
@@ -51816,14 +51860,14 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__2"
-    // InternalSignalDSL.g:15675:1: rule__XCatchClause__Group__2 : rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3 ;
+    // InternalSignalDSL.g:15703:1: rule__XCatchClause__Group__2 : rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3 ;
     public final void rule__XCatchClause__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15679:1: ( rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3 )
-            // InternalSignalDSL.g:15680:2: rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3
+            // InternalSignalDSL.g:15707:1: ( rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3 )
+            // InternalSignalDSL.g:15708:2: rule__XCatchClause__Group__2__Impl rule__XCatchClause__Group__3
             {
             pushFollow(FOLLOW_80);
             rule__XCatchClause__Group__2__Impl();
@@ -51854,23 +51898,23 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__2__Impl"
-    // InternalSignalDSL.g:15687:1: rule__XCatchClause__Group__2__Impl : ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) ;
+    // InternalSignalDSL.g:15715:1: rule__XCatchClause__Group__2__Impl : ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) ;
     public final void rule__XCatchClause__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15691:1: ( ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) )
-            // InternalSignalDSL.g:15692:1: ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) )
+            // InternalSignalDSL.g:15719:1: ( ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) ) )
+            // InternalSignalDSL.g:15720:1: ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) )
             {
-            // InternalSignalDSL.g:15692:1: ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) )
-            // InternalSignalDSL.g:15693:2: ( rule__XCatchClause__DeclaredParamAssignment_2 )
+            // InternalSignalDSL.g:15720:1: ( ( rule__XCatchClause__DeclaredParamAssignment_2 ) )
+            // InternalSignalDSL.g:15721:2: ( rule__XCatchClause__DeclaredParamAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2()); 
             }
-            // InternalSignalDSL.g:15694:2: ( rule__XCatchClause__DeclaredParamAssignment_2 )
-            // InternalSignalDSL.g:15694:3: rule__XCatchClause__DeclaredParamAssignment_2
+            // InternalSignalDSL.g:15722:2: ( rule__XCatchClause__DeclaredParamAssignment_2 )
+            // InternalSignalDSL.g:15722:3: rule__XCatchClause__DeclaredParamAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XCatchClause__DeclaredParamAssignment_2();
@@ -51905,14 +51949,14 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__3"
-    // InternalSignalDSL.g:15702:1: rule__XCatchClause__Group__3 : rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4 ;
+    // InternalSignalDSL.g:15730:1: rule__XCatchClause__Group__3 : rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4 ;
     public final void rule__XCatchClause__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15706:1: ( rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4 )
-            // InternalSignalDSL.g:15707:2: rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4
+            // InternalSignalDSL.g:15734:1: ( rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4 )
+            // InternalSignalDSL.g:15735:2: rule__XCatchClause__Group__3__Impl rule__XCatchClause__Group__4
             {
             pushFollow(FOLLOW_35);
             rule__XCatchClause__Group__3__Impl();
@@ -51943,22 +51987,22 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__3__Impl"
-    // InternalSignalDSL.g:15714:1: rule__XCatchClause__Group__3__Impl : ( ')' ) ;
+    // InternalSignalDSL.g:15742:1: rule__XCatchClause__Group__3__Impl : ( ')' ) ;
     public final void rule__XCatchClause__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15718:1: ( ( ')' ) )
-            // InternalSignalDSL.g:15719:1: ( ')' )
+            // InternalSignalDSL.g:15746:1: ( ( ')' ) )
+            // InternalSignalDSL.g:15747:1: ( ')' )
             {
-            // InternalSignalDSL.g:15719:1: ( ')' )
-            // InternalSignalDSL.g:15720:2: ')'
+            // InternalSignalDSL.g:15747:1: ( ')' )
+            // InternalSignalDSL.g:15748:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); 
             }
-            match(input,75,FOLLOW_2); if (state.failed) return ;
+            match(input,72,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); 
             }
@@ -51984,14 +52028,14 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__4"
-    // InternalSignalDSL.g:15729:1: rule__XCatchClause__Group__4 : rule__XCatchClause__Group__4__Impl ;
+    // InternalSignalDSL.g:15757:1: rule__XCatchClause__Group__4 : rule__XCatchClause__Group__4__Impl ;
     public final void rule__XCatchClause__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15733:1: ( rule__XCatchClause__Group__4__Impl )
-            // InternalSignalDSL.g:15734:2: rule__XCatchClause__Group__4__Impl
+            // InternalSignalDSL.g:15761:1: ( rule__XCatchClause__Group__4__Impl )
+            // InternalSignalDSL.g:15762:2: rule__XCatchClause__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XCatchClause__Group__4__Impl();
@@ -52017,23 +52061,23 @@
 
 
     // $ANTLR start "rule__XCatchClause__Group__4__Impl"
-    // InternalSignalDSL.g:15740:1: rule__XCatchClause__Group__4__Impl : ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) ;
+    // InternalSignalDSL.g:15768:1: rule__XCatchClause__Group__4__Impl : ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) ;
     public final void rule__XCatchClause__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15744:1: ( ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) )
-            // InternalSignalDSL.g:15745:1: ( ( rule__XCatchClause__ExpressionAssignment_4 ) )
+            // InternalSignalDSL.g:15772:1: ( ( ( rule__XCatchClause__ExpressionAssignment_4 ) ) )
+            // InternalSignalDSL.g:15773:1: ( ( rule__XCatchClause__ExpressionAssignment_4 ) )
             {
-            // InternalSignalDSL.g:15745:1: ( ( rule__XCatchClause__ExpressionAssignment_4 ) )
-            // InternalSignalDSL.g:15746:2: ( rule__XCatchClause__ExpressionAssignment_4 )
+            // InternalSignalDSL.g:15773:1: ( ( rule__XCatchClause__ExpressionAssignment_4 ) )
+            // InternalSignalDSL.g:15774:2: ( rule__XCatchClause__ExpressionAssignment_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4()); 
             }
-            // InternalSignalDSL.g:15747:2: ( rule__XCatchClause__ExpressionAssignment_4 )
-            // InternalSignalDSL.g:15747:3: rule__XCatchClause__ExpressionAssignment_4
+            // InternalSignalDSL.g:15775:2: ( rule__XCatchClause__ExpressionAssignment_4 )
+            // InternalSignalDSL.g:15775:3: rule__XCatchClause__ExpressionAssignment_4
             {
             pushFollow(FOLLOW_2);
             rule__XCatchClause__ExpressionAssignment_4();
@@ -52068,14 +52112,14 @@
 
 
     // $ANTLR start "rule__QualifiedName__Group__0"
-    // InternalSignalDSL.g:15756:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ;
+    // InternalSignalDSL.g:15784:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ;
     public final void rule__QualifiedName__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15760:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 )
-            // InternalSignalDSL.g:15761:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1
+            // InternalSignalDSL.g:15788:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 )
+            // InternalSignalDSL.g:15789:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1
             {
             pushFollow(FOLLOW_111);
             rule__QualifiedName__Group__0__Impl();
@@ -52106,17 +52150,17 @@
 
 
     // $ANTLR start "rule__QualifiedName__Group__0__Impl"
-    // InternalSignalDSL.g:15768:1: rule__QualifiedName__Group__0__Impl : ( ruleValidID ) ;
+    // InternalSignalDSL.g:15796:1: rule__QualifiedName__Group__0__Impl : ( ruleValidID ) ;
     public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15772:1: ( ( ruleValidID ) )
-            // InternalSignalDSL.g:15773:1: ( ruleValidID )
+            // InternalSignalDSL.g:15800:1: ( ( ruleValidID ) )
+            // InternalSignalDSL.g:15801:1: ( ruleValidID )
             {
-            // InternalSignalDSL.g:15773:1: ( ruleValidID )
-            // InternalSignalDSL.g:15774:2: ruleValidID
+            // InternalSignalDSL.g:15801:1: ( ruleValidID )
+            // InternalSignalDSL.g:15802:2: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); 
@@ -52151,14 +52195,14 @@
 
 
     // $ANTLR start "rule__QualifiedName__Group__1"
-    // InternalSignalDSL.g:15783:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ;
+    // InternalSignalDSL.g:15811:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ;
     public final void rule__QualifiedName__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15787:1: ( rule__QualifiedName__Group__1__Impl )
-            // InternalSignalDSL.g:15788:2: rule__QualifiedName__Group__1__Impl
+            // InternalSignalDSL.g:15815:1: ( rule__QualifiedName__Group__1__Impl )
+            // InternalSignalDSL.g:15816:2: rule__QualifiedName__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__QualifiedName__Group__1__Impl();
@@ -52184,35 +52228,35 @@
 
 
     // $ANTLR start "rule__QualifiedName__Group__1__Impl"
-    // InternalSignalDSL.g:15794:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ;
+    // InternalSignalDSL.g:15822:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ;
     public final void rule__QualifiedName__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15798:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) )
-            // InternalSignalDSL.g:15799:1: ( ( rule__QualifiedName__Group_1__0 )* )
+            // InternalSignalDSL.g:15826:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) )
+            // InternalSignalDSL.g:15827:1: ( ( rule__QualifiedName__Group_1__0 )* )
             {
-            // InternalSignalDSL.g:15799:1: ( ( rule__QualifiedName__Group_1__0 )* )
-            // InternalSignalDSL.g:15800:2: ( rule__QualifiedName__Group_1__0 )*
+            // InternalSignalDSL.g:15827:1: ( ( rule__QualifiedName__Group_1__0 )* )
+            // InternalSignalDSL.g:15828:2: ( rule__QualifiedName__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameAccess().getGroup_1()); 
             }
-            // InternalSignalDSL.g:15801:2: ( rule__QualifiedName__Group_1__0 )*
-            loop128:
+            // InternalSignalDSL.g:15829:2: ( rule__QualifiedName__Group_1__0 )*
+            loop129:
             do {
-                int alt128=2;
-                int LA128_0 = input.LA(1);
+                int alt129=2;
+                int LA129_0 = input.LA(1);
 
-                if ( (LA128_0==43) ) {
-                    int LA128_2 = input.LA(2);
+                if ( (LA129_0==43) ) {
+                    int LA129_2 = input.LA(2);
 
-                    if ( (LA128_2==RULE_ID) ) {
-                        int LA128_3 = input.LA(3);
+                    if ( (LA129_2==RULE_ID) ) {
+                        int LA129_3 = input.LA(3);
 
-                        if ( (synpred176_InternalSignalDSL()) ) {
-                            alt128=1;
+                        if ( (synpred173_InternalSignalDSL()) ) {
+                            alt129=1;
                         }
 
 
@@ -52222,9 +52266,9 @@
                 }
 
 
-                switch (alt128) {
+                switch (alt129) {
             	case 1 :
-            	    // InternalSignalDSL.g:15801:3: rule__QualifiedName__Group_1__0
+            	    // InternalSignalDSL.g:15829:3: rule__QualifiedName__Group_1__0
             	    {
             	    pushFollow(FOLLOW_112);
             	    rule__QualifiedName__Group_1__0();
@@ -52236,7 +52280,7 @@
             	    break;
 
             	default :
-            	    break loop128;
+            	    break loop129;
                 }
             } while (true);
 
@@ -52265,14 +52309,14 @@
 
 
     // $ANTLR start "rule__QualifiedName__Group_1__0"
-    // InternalSignalDSL.g:15810:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ;
+    // InternalSignalDSL.g:15838:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ;
     public final void rule__QualifiedName__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15814:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
-            // InternalSignalDSL.g:15815:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
+            // InternalSignalDSL.g:15842:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
+            // InternalSignalDSL.g:15843:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
             {
             pushFollow(FOLLOW_7);
             rule__QualifiedName__Group_1__0__Impl();
@@ -52303,23 +52347,23 @@
 
 
     // $ANTLR start "rule__QualifiedName__Group_1__0__Impl"
-    // InternalSignalDSL.g:15822:1: rule__QualifiedName__Group_1__0__Impl : ( ( '.' ) ) ;
+    // InternalSignalDSL.g:15850:1: rule__QualifiedName__Group_1__0__Impl : ( ( '.' ) ) ;
     public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15826:1: ( ( ( '.' ) ) )
-            // InternalSignalDSL.g:15827:1: ( ( '.' ) )
+            // InternalSignalDSL.g:15854:1: ( ( ( '.' ) ) )
+            // InternalSignalDSL.g:15855:1: ( ( '.' ) )
             {
-            // InternalSignalDSL.g:15827:1: ( ( '.' ) )
-            // InternalSignalDSL.g:15828:2: ( '.' )
+            // InternalSignalDSL.g:15855:1: ( ( '.' ) )
+            // InternalSignalDSL.g:15856:2: ( '.' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 
             }
-            // InternalSignalDSL.g:15829:2: ( '.' )
-            // InternalSignalDSL.g:15829:3: '.'
+            // InternalSignalDSL.g:15857:2: ( '.' )
+            // InternalSignalDSL.g:15857:3: '.'
             {
             match(input,43,FOLLOW_2); if (state.failed) return ;
 
@@ -52350,14 +52394,14 @@
 
 
     // $ANTLR start "rule__QualifiedName__Group_1__1"
-    // InternalSignalDSL.g:15837:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ;
+    // InternalSignalDSL.g:15865:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ;
     public final void rule__QualifiedName__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15841:1: ( rule__QualifiedName__Group_1__1__Impl )
-            // InternalSignalDSL.g:15842:2: rule__QualifiedName__Group_1__1__Impl
+            // InternalSignalDSL.g:15869:1: ( rule__QualifiedName__Group_1__1__Impl )
+            // InternalSignalDSL.g:15870:2: rule__QualifiedName__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__QualifiedName__Group_1__1__Impl();
@@ -52383,17 +52427,17 @@
 
 
     // $ANTLR start "rule__QualifiedName__Group_1__1__Impl"
-    // InternalSignalDSL.g:15848:1: rule__QualifiedName__Group_1__1__Impl : ( ruleValidID ) ;
+    // InternalSignalDSL.g:15876:1: rule__QualifiedName__Group_1__1__Impl : ( ruleValidID ) ;
     public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15852:1: ( ( ruleValidID ) )
-            // InternalSignalDSL.g:15853:1: ( ruleValidID )
+            // InternalSignalDSL.g:15880:1: ( ( ruleValidID ) )
+            // InternalSignalDSL.g:15881:1: ( ruleValidID )
             {
-            // InternalSignalDSL.g:15853:1: ( ruleValidID )
-            // InternalSignalDSL.g:15854:2: ruleValidID
+            // InternalSignalDSL.g:15881:1: ( ruleValidID )
+            // InternalSignalDSL.g:15882:2: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); 
@@ -52428,14 +52472,14 @@
 
 
     // $ANTLR start "rule__Number__Group_1__0"
-    // InternalSignalDSL.g:15864:1: rule__Number__Group_1__0 : rule__Number__Group_1__0__Impl rule__Number__Group_1__1 ;
+    // InternalSignalDSL.g:15892:1: rule__Number__Group_1__0 : rule__Number__Group_1__0__Impl rule__Number__Group_1__1 ;
     public final void rule__Number__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15868:1: ( rule__Number__Group_1__0__Impl rule__Number__Group_1__1 )
-            // InternalSignalDSL.g:15869:2: rule__Number__Group_1__0__Impl rule__Number__Group_1__1
+            // InternalSignalDSL.g:15896:1: ( rule__Number__Group_1__0__Impl rule__Number__Group_1__1 )
+            // InternalSignalDSL.g:15897:2: rule__Number__Group_1__0__Impl rule__Number__Group_1__1
             {
             pushFollow(FOLLOW_111);
             rule__Number__Group_1__0__Impl();
@@ -52466,23 +52510,23 @@
 
 
     // $ANTLR start "rule__Number__Group_1__0__Impl"
-    // InternalSignalDSL.g:15876:1: rule__Number__Group_1__0__Impl : ( ( rule__Number__Alternatives_1_0 ) ) ;
+    // InternalSignalDSL.g:15904:1: rule__Number__Group_1__0__Impl : ( ( rule__Number__Alternatives_1_0 ) ) ;
     public final void rule__Number__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15880:1: ( ( ( rule__Number__Alternatives_1_0 ) ) )
-            // InternalSignalDSL.g:15881:1: ( ( rule__Number__Alternatives_1_0 ) )
+            // InternalSignalDSL.g:15908:1: ( ( ( rule__Number__Alternatives_1_0 ) ) )
+            // InternalSignalDSL.g:15909:1: ( ( rule__Number__Alternatives_1_0 ) )
             {
-            // InternalSignalDSL.g:15881:1: ( ( rule__Number__Alternatives_1_0 ) )
-            // InternalSignalDSL.g:15882:2: ( rule__Number__Alternatives_1_0 )
+            // InternalSignalDSL.g:15909:1: ( ( rule__Number__Alternatives_1_0 ) )
+            // InternalSignalDSL.g:15910:2: ( rule__Number__Alternatives_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberAccess().getAlternatives_1_0()); 
             }
-            // InternalSignalDSL.g:15883:2: ( rule__Number__Alternatives_1_0 )
-            // InternalSignalDSL.g:15883:3: rule__Number__Alternatives_1_0
+            // InternalSignalDSL.g:15911:2: ( rule__Number__Alternatives_1_0 )
+            // InternalSignalDSL.g:15911:3: rule__Number__Alternatives_1_0
             {
             pushFollow(FOLLOW_2);
             rule__Number__Alternatives_1_0();
@@ -52517,14 +52561,14 @@
 
 
     // $ANTLR start "rule__Number__Group_1__1"
-    // InternalSignalDSL.g:15891:1: rule__Number__Group_1__1 : rule__Number__Group_1__1__Impl ;
+    // InternalSignalDSL.g:15919:1: rule__Number__Group_1__1 : rule__Number__Group_1__1__Impl ;
     public final void rule__Number__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15895:1: ( rule__Number__Group_1__1__Impl )
-            // InternalSignalDSL.g:15896:2: rule__Number__Group_1__1__Impl
+            // InternalSignalDSL.g:15923:1: ( rule__Number__Group_1__1__Impl )
+            // InternalSignalDSL.g:15924:2: rule__Number__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Number__Group_1__1__Impl();
@@ -52550,35 +52594,35 @@
 
 
     // $ANTLR start "rule__Number__Group_1__1__Impl"
-    // InternalSignalDSL.g:15902:1: rule__Number__Group_1__1__Impl : ( ( rule__Number__Group_1_1__0 )? ) ;
+    // InternalSignalDSL.g:15930:1: rule__Number__Group_1__1__Impl : ( ( rule__Number__Group_1_1__0 )? ) ;
     public final void rule__Number__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15906:1: ( ( ( rule__Number__Group_1_1__0 )? ) )
-            // InternalSignalDSL.g:15907:1: ( ( rule__Number__Group_1_1__0 )? )
+            // InternalSignalDSL.g:15934:1: ( ( ( rule__Number__Group_1_1__0 )? ) )
+            // InternalSignalDSL.g:15935:1: ( ( rule__Number__Group_1_1__0 )? )
             {
-            // InternalSignalDSL.g:15907:1: ( ( rule__Number__Group_1_1__0 )? )
-            // InternalSignalDSL.g:15908:2: ( rule__Number__Group_1_1__0 )?
+            // InternalSignalDSL.g:15935:1: ( ( rule__Number__Group_1_1__0 )? )
+            // InternalSignalDSL.g:15936:2: ( rule__Number__Group_1_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberAccess().getGroup_1_1()); 
             }
-            // InternalSignalDSL.g:15909:2: ( rule__Number__Group_1_1__0 )?
-            int alt129=2;
-            int LA129_0 = input.LA(1);
+            // InternalSignalDSL.g:15937:2: ( rule__Number__Group_1_1__0 )?
+            int alt130=2;
+            int LA130_0 = input.LA(1);
 
-            if ( (LA129_0==43) ) {
-                int LA129_1 = input.LA(2);
+            if ( (LA130_0==43) ) {
+                int LA130_1 = input.LA(2);
 
-                if ( ((LA129_1>=RULE_INT && LA129_1<=RULE_DECIMAL)) ) {
-                    alt129=1;
+                if ( ((LA130_1>=RULE_INT && LA130_1<=RULE_DECIMAL)) ) {
+                    alt130=1;
                 }
             }
-            switch (alt129) {
+            switch (alt130) {
                 case 1 :
-                    // InternalSignalDSL.g:15909:3: rule__Number__Group_1_1__0
+                    // InternalSignalDSL.g:15937:3: rule__Number__Group_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__Number__Group_1_1__0();
@@ -52616,14 +52660,14 @@
 
 
     // $ANTLR start "rule__Number__Group_1_1__0"
-    // InternalSignalDSL.g:15918:1: rule__Number__Group_1_1__0 : rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1 ;
+    // InternalSignalDSL.g:15946:1: rule__Number__Group_1_1__0 : rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1 ;
     public final void rule__Number__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15922:1: ( rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1 )
-            // InternalSignalDSL.g:15923:2: rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1
+            // InternalSignalDSL.g:15950:1: ( rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1 )
+            // InternalSignalDSL.g:15951:2: rule__Number__Group_1_1__0__Impl rule__Number__Group_1_1__1
             {
             pushFollow(FOLLOW_113);
             rule__Number__Group_1_1__0__Impl();
@@ -52654,17 +52698,17 @@
 
 
     // $ANTLR start "rule__Number__Group_1_1__0__Impl"
-    // InternalSignalDSL.g:15930:1: rule__Number__Group_1_1__0__Impl : ( '.' ) ;
+    // InternalSignalDSL.g:15958:1: rule__Number__Group_1_1__0__Impl : ( '.' ) ;
     public final void rule__Number__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15934:1: ( ( '.' ) )
-            // InternalSignalDSL.g:15935:1: ( '.' )
+            // InternalSignalDSL.g:15962:1: ( ( '.' ) )
+            // InternalSignalDSL.g:15963:1: ( '.' )
             {
-            // InternalSignalDSL.g:15935:1: ( '.' )
-            // InternalSignalDSL.g:15936:2: '.'
+            // InternalSignalDSL.g:15963:1: ( '.' )
+            // InternalSignalDSL.g:15964:2: '.'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); 
@@ -52695,14 +52739,14 @@
 
 
     // $ANTLR start "rule__Number__Group_1_1__1"
-    // InternalSignalDSL.g:15945:1: rule__Number__Group_1_1__1 : rule__Number__Group_1_1__1__Impl ;
+    // InternalSignalDSL.g:15973:1: rule__Number__Group_1_1__1 : rule__Number__Group_1_1__1__Impl ;
     public final void rule__Number__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15949:1: ( rule__Number__Group_1_1__1__Impl )
-            // InternalSignalDSL.g:15950:2: rule__Number__Group_1_1__1__Impl
+            // InternalSignalDSL.g:15977:1: ( rule__Number__Group_1_1__1__Impl )
+            // InternalSignalDSL.g:15978:2: rule__Number__Group_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Number__Group_1_1__1__Impl();
@@ -52728,23 +52772,23 @@
 
 
     // $ANTLR start "rule__Number__Group_1_1__1__Impl"
-    // InternalSignalDSL.g:15956:1: rule__Number__Group_1_1__1__Impl : ( ( rule__Number__Alternatives_1_1_1 ) ) ;
+    // InternalSignalDSL.g:15984:1: rule__Number__Group_1_1__1__Impl : ( ( rule__Number__Alternatives_1_1_1 ) ) ;
     public final void rule__Number__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15960:1: ( ( ( rule__Number__Alternatives_1_1_1 ) ) )
-            // InternalSignalDSL.g:15961:1: ( ( rule__Number__Alternatives_1_1_1 ) )
+            // InternalSignalDSL.g:15988:1: ( ( ( rule__Number__Alternatives_1_1_1 ) ) )
+            // InternalSignalDSL.g:15989:1: ( ( rule__Number__Alternatives_1_1_1 ) )
             {
-            // InternalSignalDSL.g:15961:1: ( ( rule__Number__Alternatives_1_1_1 ) )
-            // InternalSignalDSL.g:15962:2: ( rule__Number__Alternatives_1_1_1 )
+            // InternalSignalDSL.g:15989:1: ( ( rule__Number__Alternatives_1_1_1 ) )
+            // InternalSignalDSL.g:15990:2: ( rule__Number__Alternatives_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberAccess().getAlternatives_1_1_1()); 
             }
-            // InternalSignalDSL.g:15963:2: ( rule__Number__Alternatives_1_1_1 )
-            // InternalSignalDSL.g:15963:3: rule__Number__Alternatives_1_1_1
+            // InternalSignalDSL.g:15991:2: ( rule__Number__Alternatives_1_1_1 )
+            // InternalSignalDSL.g:15991:3: rule__Number__Alternatives_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__Number__Alternatives_1_1_1();
@@ -52779,14 +52823,14 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0__0"
-    // InternalSignalDSL.g:15972:1: rule__JvmTypeReference__Group_0__0 : rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1 ;
+    // InternalSignalDSL.g:16000:1: rule__JvmTypeReference__Group_0__0 : rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1 ;
     public final void rule__JvmTypeReference__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15976:1: ( rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1 )
-            // InternalSignalDSL.g:15977:2: rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1
+            // InternalSignalDSL.g:16004:1: ( rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1 )
+            // InternalSignalDSL.g:16005:2: rule__JvmTypeReference__Group_0__0__Impl rule__JvmTypeReference__Group_0__1
             {
             pushFollow(FOLLOW_39);
             rule__JvmTypeReference__Group_0__0__Impl();
@@ -52817,17 +52861,17 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0__0__Impl"
-    // InternalSignalDSL.g:15984:1: rule__JvmTypeReference__Group_0__0__Impl : ( ruleJvmParameterizedTypeReference ) ;
+    // InternalSignalDSL.g:16012:1: rule__JvmTypeReference__Group_0__0__Impl : ( ruleJvmParameterizedTypeReference ) ;
     public final void rule__JvmTypeReference__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:15988:1: ( ( ruleJvmParameterizedTypeReference ) )
-            // InternalSignalDSL.g:15989:1: ( ruleJvmParameterizedTypeReference )
+            // InternalSignalDSL.g:16016:1: ( ( ruleJvmParameterizedTypeReference ) )
+            // InternalSignalDSL.g:16017:1: ( ruleJvmParameterizedTypeReference )
             {
-            // InternalSignalDSL.g:15989:1: ( ruleJvmParameterizedTypeReference )
-            // InternalSignalDSL.g:15990:2: ruleJvmParameterizedTypeReference
+            // InternalSignalDSL.g:16017:1: ( ruleJvmParameterizedTypeReference )
+            // InternalSignalDSL.g:16018:2: ruleJvmParameterizedTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); 
@@ -52862,14 +52906,14 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0__1"
-    // InternalSignalDSL.g:15999:1: rule__JvmTypeReference__Group_0__1 : rule__JvmTypeReference__Group_0__1__Impl ;
+    // InternalSignalDSL.g:16027:1: rule__JvmTypeReference__Group_0__1 : rule__JvmTypeReference__Group_0__1__Impl ;
     public final void rule__JvmTypeReference__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16003:1: ( rule__JvmTypeReference__Group_0__1__Impl )
-            // InternalSignalDSL.g:16004:2: rule__JvmTypeReference__Group_0__1__Impl
+            // InternalSignalDSL.g:16031:1: ( rule__JvmTypeReference__Group_0__1__Impl )
+            // InternalSignalDSL.g:16032:2: rule__JvmTypeReference__Group_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmTypeReference__Group_0__1__Impl();
@@ -52895,35 +52939,35 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0__1__Impl"
-    // InternalSignalDSL.g:16010:1: rule__JvmTypeReference__Group_0__1__Impl : ( ( rule__JvmTypeReference__Group_0_1__0 )* ) ;
+    // InternalSignalDSL.g:16038:1: rule__JvmTypeReference__Group_0__1__Impl : ( ( rule__JvmTypeReference__Group_0_1__0 )* ) ;
     public final void rule__JvmTypeReference__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16014:1: ( ( ( rule__JvmTypeReference__Group_0_1__0 )* ) )
-            // InternalSignalDSL.g:16015:1: ( ( rule__JvmTypeReference__Group_0_1__0 )* )
+            // InternalSignalDSL.g:16042:1: ( ( ( rule__JvmTypeReference__Group_0_1__0 )* ) )
+            // InternalSignalDSL.g:16043:1: ( ( rule__JvmTypeReference__Group_0_1__0 )* )
             {
-            // InternalSignalDSL.g:16015:1: ( ( rule__JvmTypeReference__Group_0_1__0 )* )
-            // InternalSignalDSL.g:16016:2: ( rule__JvmTypeReference__Group_0_1__0 )*
+            // InternalSignalDSL.g:16043:1: ( ( rule__JvmTypeReference__Group_0_1__0 )* )
+            // InternalSignalDSL.g:16044:2: ( rule__JvmTypeReference__Group_0_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1()); 
             }
-            // InternalSignalDSL.g:16017:2: ( rule__JvmTypeReference__Group_0_1__0 )*
-            loop130:
+            // InternalSignalDSL.g:16045:2: ( rule__JvmTypeReference__Group_0_1__0 )*
+            loop131:
             do {
-                int alt130=2;
-                int LA130_0 = input.LA(1);
+                int alt131=2;
+                int LA131_0 = input.LA(1);
 
-                if ( (LA130_0==79) ) {
-                    int LA130_2 = input.LA(2);
+                if ( (LA131_0==76) ) {
+                    int LA131_2 = input.LA(2);
 
-                    if ( (LA130_2==77) ) {
-                        int LA130_3 = input.LA(3);
+                    if ( (LA131_2==74) ) {
+                        int LA131_3 = input.LA(3);
 
-                        if ( (synpred178_InternalSignalDSL()) ) {
-                            alt130=1;
+                        if ( (synpred175_InternalSignalDSL()) ) {
+                            alt131=1;
                         }
 
 
@@ -52933,9 +52977,9 @@
                 }
 
 
-                switch (alt130) {
+                switch (alt131) {
             	case 1 :
-            	    // InternalSignalDSL.g:16017:3: rule__JvmTypeReference__Group_0_1__0
+            	    // InternalSignalDSL.g:16045:3: rule__JvmTypeReference__Group_0_1__0
             	    {
             	    pushFollow(FOLLOW_103);
             	    rule__JvmTypeReference__Group_0_1__0();
@@ -52947,7 +52991,7 @@
             	    break;
 
             	default :
-            	    break loop130;
+            	    break loop131;
                 }
             } while (true);
 
@@ -52976,14 +53020,14 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0_1__0"
-    // InternalSignalDSL.g:16026:1: rule__JvmTypeReference__Group_0_1__0 : rule__JvmTypeReference__Group_0_1__0__Impl ;
+    // InternalSignalDSL.g:16054:1: rule__JvmTypeReference__Group_0_1__0 : rule__JvmTypeReference__Group_0_1__0__Impl ;
     public final void rule__JvmTypeReference__Group_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16030:1: ( rule__JvmTypeReference__Group_0_1__0__Impl )
-            // InternalSignalDSL.g:16031:2: rule__JvmTypeReference__Group_0_1__0__Impl
+            // InternalSignalDSL.g:16058:1: ( rule__JvmTypeReference__Group_0_1__0__Impl )
+            // InternalSignalDSL.g:16059:2: rule__JvmTypeReference__Group_0_1__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmTypeReference__Group_0_1__0__Impl();
@@ -53009,23 +53053,23 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0_1__0__Impl"
-    // InternalSignalDSL.g:16037:1: rule__JvmTypeReference__Group_0_1__0__Impl : ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) ;
+    // InternalSignalDSL.g:16065:1: rule__JvmTypeReference__Group_0_1__0__Impl : ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) ;
     public final void rule__JvmTypeReference__Group_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16041:1: ( ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) )
-            // InternalSignalDSL.g:16042:1: ( ( rule__JvmTypeReference__Group_0_1_0__0 ) )
+            // InternalSignalDSL.g:16069:1: ( ( ( rule__JvmTypeReference__Group_0_1_0__0 ) ) )
+            // InternalSignalDSL.g:16070:1: ( ( rule__JvmTypeReference__Group_0_1_0__0 ) )
             {
-            // InternalSignalDSL.g:16042:1: ( ( rule__JvmTypeReference__Group_0_1_0__0 ) )
-            // InternalSignalDSL.g:16043:2: ( rule__JvmTypeReference__Group_0_1_0__0 )
+            // InternalSignalDSL.g:16070:1: ( ( rule__JvmTypeReference__Group_0_1_0__0 ) )
+            // InternalSignalDSL.g:16071:2: ( rule__JvmTypeReference__Group_0_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0()); 
             }
-            // InternalSignalDSL.g:16044:2: ( rule__JvmTypeReference__Group_0_1_0__0 )
-            // InternalSignalDSL.g:16044:3: rule__JvmTypeReference__Group_0_1_0__0
+            // InternalSignalDSL.g:16072:2: ( rule__JvmTypeReference__Group_0_1_0__0 )
+            // InternalSignalDSL.g:16072:3: rule__JvmTypeReference__Group_0_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__JvmTypeReference__Group_0_1_0__0();
@@ -53060,14 +53104,14 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__0"
-    // InternalSignalDSL.g:16053:1: rule__JvmTypeReference__Group_0_1_0__0 : rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1 ;
+    // InternalSignalDSL.g:16081:1: rule__JvmTypeReference__Group_0_1_0__0 : rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1 ;
     public final void rule__JvmTypeReference__Group_0_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16057:1: ( rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1 )
-            // InternalSignalDSL.g:16058:2: rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1
+            // InternalSignalDSL.g:16085:1: ( rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1 )
+            // InternalSignalDSL.g:16086:2: rule__JvmTypeReference__Group_0_1_0__0__Impl rule__JvmTypeReference__Group_0_1_0__1
             {
             pushFollow(FOLLOW_39);
             rule__JvmTypeReference__Group_0_1_0__0__Impl();
@@ -53098,23 +53142,23 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__0__Impl"
-    // InternalSignalDSL.g:16065:1: rule__JvmTypeReference__Group_0_1_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:16093:1: rule__JvmTypeReference__Group_0_1_0__0__Impl : ( () ) ;
     public final void rule__JvmTypeReference__Group_0_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16069:1: ( ( () ) )
-            // InternalSignalDSL.g:16070:1: ( () )
+            // InternalSignalDSL.g:16097:1: ( ( () ) )
+            // InternalSignalDSL.g:16098:1: ( () )
             {
-            // InternalSignalDSL.g:16070:1: ( () )
-            // InternalSignalDSL.g:16071:2: ()
+            // InternalSignalDSL.g:16098:1: ( () )
+            // InternalSignalDSL.g:16099:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()); 
             }
-            // InternalSignalDSL.g:16072:2: ()
-            // InternalSignalDSL.g:16072:3: 
+            // InternalSignalDSL.g:16100:2: ()
+            // InternalSignalDSL.g:16100:3: 
             {
             }
 
@@ -53139,14 +53183,14 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__1"
-    // InternalSignalDSL.g:16080:1: rule__JvmTypeReference__Group_0_1_0__1 : rule__JvmTypeReference__Group_0_1_0__1__Impl ;
+    // InternalSignalDSL.g:16108:1: rule__JvmTypeReference__Group_0_1_0__1 : rule__JvmTypeReference__Group_0_1_0__1__Impl ;
     public final void rule__JvmTypeReference__Group_0_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16084:1: ( rule__JvmTypeReference__Group_0_1_0__1__Impl )
-            // InternalSignalDSL.g:16085:2: rule__JvmTypeReference__Group_0_1_0__1__Impl
+            // InternalSignalDSL.g:16112:1: ( rule__JvmTypeReference__Group_0_1_0__1__Impl )
+            // InternalSignalDSL.g:16113:2: rule__JvmTypeReference__Group_0_1_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmTypeReference__Group_0_1_0__1__Impl();
@@ -53172,17 +53216,17 @@
 
 
     // $ANTLR start "rule__JvmTypeReference__Group_0_1_0__1__Impl"
-    // InternalSignalDSL.g:16091:1: rule__JvmTypeReference__Group_0_1_0__1__Impl : ( ruleArrayBrackets ) ;
+    // InternalSignalDSL.g:16119:1: rule__JvmTypeReference__Group_0_1_0__1__Impl : ( ruleArrayBrackets ) ;
     public final void rule__JvmTypeReference__Group_0_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16095:1: ( ( ruleArrayBrackets ) )
-            // InternalSignalDSL.g:16096:1: ( ruleArrayBrackets )
+            // InternalSignalDSL.g:16123:1: ( ( ruleArrayBrackets ) )
+            // InternalSignalDSL.g:16124:1: ( ruleArrayBrackets )
             {
-            // InternalSignalDSL.g:16096:1: ( ruleArrayBrackets )
-            // InternalSignalDSL.g:16097:2: ruleArrayBrackets
+            // InternalSignalDSL.g:16124:1: ( ruleArrayBrackets )
+            // InternalSignalDSL.g:16125:2: ruleArrayBrackets
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); 
@@ -53217,14 +53261,14 @@
 
 
     // $ANTLR start "rule__ArrayBrackets__Group__0"
-    // InternalSignalDSL.g:16107:1: rule__ArrayBrackets__Group__0 : rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1 ;
+    // InternalSignalDSL.g:16135:1: rule__ArrayBrackets__Group__0 : rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1 ;
     public final void rule__ArrayBrackets__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16111:1: ( rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1 )
-            // InternalSignalDSL.g:16112:2: rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1
+            // InternalSignalDSL.g:16139:1: ( rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1 )
+            // InternalSignalDSL.g:16140:2: rule__ArrayBrackets__Group__0__Impl rule__ArrayBrackets__Group__1
             {
             pushFollow(FOLLOW_77);
             rule__ArrayBrackets__Group__0__Impl();
@@ -53255,22 +53299,22 @@
 
 
     // $ANTLR start "rule__ArrayBrackets__Group__0__Impl"
-    // InternalSignalDSL.g:16119:1: rule__ArrayBrackets__Group__0__Impl : ( '[' ) ;
+    // InternalSignalDSL.g:16147:1: rule__ArrayBrackets__Group__0__Impl : ( '[' ) ;
     public final void rule__ArrayBrackets__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16123:1: ( ( '[' ) )
-            // InternalSignalDSL.g:16124:1: ( '[' )
+            // InternalSignalDSL.g:16151:1: ( ( '[' ) )
+            // InternalSignalDSL.g:16152:1: ( '[' )
             {
-            // InternalSignalDSL.g:16124:1: ( '[' )
-            // InternalSignalDSL.g:16125:2: '['
+            // InternalSignalDSL.g:16152:1: ( '[' )
+            // InternalSignalDSL.g:16153:2: '['
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); 
             }
-            match(input,79,FOLLOW_2); if (state.failed) return ;
+            match(input,76,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); 
             }
@@ -53296,14 +53340,14 @@
 
 
     // $ANTLR start "rule__ArrayBrackets__Group__1"
-    // InternalSignalDSL.g:16134:1: rule__ArrayBrackets__Group__1 : rule__ArrayBrackets__Group__1__Impl ;
+    // InternalSignalDSL.g:16162:1: rule__ArrayBrackets__Group__1 : rule__ArrayBrackets__Group__1__Impl ;
     public final void rule__ArrayBrackets__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16138:1: ( rule__ArrayBrackets__Group__1__Impl )
-            // InternalSignalDSL.g:16139:2: rule__ArrayBrackets__Group__1__Impl
+            // InternalSignalDSL.g:16166:1: ( rule__ArrayBrackets__Group__1__Impl )
+            // InternalSignalDSL.g:16167:2: rule__ArrayBrackets__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ArrayBrackets__Group__1__Impl();
@@ -53329,22 +53373,22 @@
 
 
     // $ANTLR start "rule__ArrayBrackets__Group__1__Impl"
-    // InternalSignalDSL.g:16145:1: rule__ArrayBrackets__Group__1__Impl : ( ']' ) ;
+    // InternalSignalDSL.g:16173:1: rule__ArrayBrackets__Group__1__Impl : ( ']' ) ;
     public final void rule__ArrayBrackets__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16149:1: ( ( ']' ) )
-            // InternalSignalDSL.g:16150:1: ( ']' )
+            // InternalSignalDSL.g:16177:1: ( ( ']' ) )
+            // InternalSignalDSL.g:16178:1: ( ']' )
             {
-            // InternalSignalDSL.g:16150:1: ( ']' )
-            // InternalSignalDSL.g:16151:2: ']'
+            // InternalSignalDSL.g:16178:1: ( ']' )
+            // InternalSignalDSL.g:16179:2: ']'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); 
             }
-            match(input,77,FOLLOW_2); if (state.failed) return ;
+            match(input,74,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); 
             }
@@ -53370,14 +53414,14 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group__0"
-    // InternalSignalDSL.g:16161:1: rule__XFunctionTypeRef__Group__0 : rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1 ;
+    // InternalSignalDSL.g:16189:1: rule__XFunctionTypeRef__Group__0 : rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1 ;
     public final void rule__XFunctionTypeRef__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16165:1: ( rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1 )
-            // InternalSignalDSL.g:16166:2: rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1
+            // InternalSignalDSL.g:16193:1: ( rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1 )
+            // InternalSignalDSL.g:16194:2: rule__XFunctionTypeRef__Group__0__Impl rule__XFunctionTypeRef__Group__1
             {
             pushFollow(FOLLOW_52);
             rule__XFunctionTypeRef__Group__0__Impl();
@@ -53408,31 +53452,31 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group__0__Impl"
-    // InternalSignalDSL.g:16173:1: rule__XFunctionTypeRef__Group__0__Impl : ( ( rule__XFunctionTypeRef__Group_0__0 )? ) ;
+    // InternalSignalDSL.g:16201:1: rule__XFunctionTypeRef__Group__0__Impl : ( ( rule__XFunctionTypeRef__Group_0__0 )? ) ;
     public final void rule__XFunctionTypeRef__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16177:1: ( ( ( rule__XFunctionTypeRef__Group_0__0 )? ) )
-            // InternalSignalDSL.g:16178:1: ( ( rule__XFunctionTypeRef__Group_0__0 )? )
+            // InternalSignalDSL.g:16205:1: ( ( ( rule__XFunctionTypeRef__Group_0__0 )? ) )
+            // InternalSignalDSL.g:16206:1: ( ( rule__XFunctionTypeRef__Group_0__0 )? )
             {
-            // InternalSignalDSL.g:16178:1: ( ( rule__XFunctionTypeRef__Group_0__0 )? )
-            // InternalSignalDSL.g:16179:2: ( rule__XFunctionTypeRef__Group_0__0 )?
+            // InternalSignalDSL.g:16206:1: ( ( rule__XFunctionTypeRef__Group_0__0 )? )
+            // InternalSignalDSL.g:16207:2: ( rule__XFunctionTypeRef__Group_0__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0()); 
             }
-            // InternalSignalDSL.g:16180:2: ( rule__XFunctionTypeRef__Group_0__0 )?
-            int alt131=2;
-            int LA131_0 = input.LA(1);
+            // InternalSignalDSL.g:16208:2: ( rule__XFunctionTypeRef__Group_0__0 )?
+            int alt132=2;
+            int LA132_0 = input.LA(1);
 
-            if ( (LA131_0==74) ) {
-                alt131=1;
+            if ( (LA132_0==71) ) {
+                alt132=1;
             }
-            switch (alt131) {
+            switch (alt132) {
                 case 1 :
-                    // InternalSignalDSL.g:16180:3: rule__XFunctionTypeRef__Group_0__0
+                    // InternalSignalDSL.g:16208:3: rule__XFunctionTypeRef__Group_0__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XFunctionTypeRef__Group_0__0();
@@ -53470,14 +53514,14 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group__1"
-    // InternalSignalDSL.g:16188:1: rule__XFunctionTypeRef__Group__1 : rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2 ;
+    // InternalSignalDSL.g:16216:1: rule__XFunctionTypeRef__Group__1 : rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2 ;
     public final void rule__XFunctionTypeRef__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16192:1: ( rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2 )
-            // InternalSignalDSL.g:16193:2: rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2
+            // InternalSignalDSL.g:16220:1: ( rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2 )
+            // InternalSignalDSL.g:16221:2: rule__XFunctionTypeRef__Group__1__Impl rule__XFunctionTypeRef__Group__2
             {
             pushFollow(FOLLOW_52);
             rule__XFunctionTypeRef__Group__1__Impl();
@@ -53508,17 +53552,17 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group__1__Impl"
-    // InternalSignalDSL.g:16200:1: rule__XFunctionTypeRef__Group__1__Impl : ( '=>' ) ;
+    // InternalSignalDSL.g:16228:1: rule__XFunctionTypeRef__Group__1__Impl : ( '=>' ) ;
     public final void rule__XFunctionTypeRef__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16204:1: ( ( '=>' ) )
-            // InternalSignalDSL.g:16205:1: ( '=>' )
+            // InternalSignalDSL.g:16232:1: ( ( '=>' ) )
+            // InternalSignalDSL.g:16233:1: ( '=>' )
             {
-            // InternalSignalDSL.g:16205:1: ( '=>' )
-            // InternalSignalDSL.g:16206:2: '=>'
+            // InternalSignalDSL.g:16233:1: ( '=>' )
+            // InternalSignalDSL.g:16234:2: '=>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); 
@@ -53549,14 +53593,14 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group__2"
-    // InternalSignalDSL.g:16215:1: rule__XFunctionTypeRef__Group__2 : rule__XFunctionTypeRef__Group__2__Impl ;
+    // InternalSignalDSL.g:16243:1: rule__XFunctionTypeRef__Group__2 : rule__XFunctionTypeRef__Group__2__Impl ;
     public final void rule__XFunctionTypeRef__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16219:1: ( rule__XFunctionTypeRef__Group__2__Impl )
-            // InternalSignalDSL.g:16220:2: rule__XFunctionTypeRef__Group__2__Impl
+            // InternalSignalDSL.g:16247:1: ( rule__XFunctionTypeRef__Group__2__Impl )
+            // InternalSignalDSL.g:16248:2: rule__XFunctionTypeRef__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFunctionTypeRef__Group__2__Impl();
@@ -53582,23 +53626,23 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group__2__Impl"
-    // InternalSignalDSL.g:16226:1: rule__XFunctionTypeRef__Group__2__Impl : ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) ;
+    // InternalSignalDSL.g:16254:1: rule__XFunctionTypeRef__Group__2__Impl : ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) ;
     public final void rule__XFunctionTypeRef__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16230:1: ( ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) )
-            // InternalSignalDSL.g:16231:1: ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) )
+            // InternalSignalDSL.g:16258:1: ( ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) ) )
+            // InternalSignalDSL.g:16259:1: ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) )
             {
-            // InternalSignalDSL.g:16231:1: ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) )
-            // InternalSignalDSL.g:16232:2: ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 )
+            // InternalSignalDSL.g:16259:1: ( ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 ) )
+            // InternalSignalDSL.g:16260:2: ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2()); 
             }
-            // InternalSignalDSL.g:16233:2: ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 )
-            // InternalSignalDSL.g:16233:3: rule__XFunctionTypeRef__ReturnTypeAssignment_2
+            // InternalSignalDSL.g:16261:2: ( rule__XFunctionTypeRef__ReturnTypeAssignment_2 )
+            // InternalSignalDSL.g:16261:3: rule__XFunctionTypeRef__ReturnTypeAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XFunctionTypeRef__ReturnTypeAssignment_2();
@@ -53633,14 +53677,14 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0__0"
-    // InternalSignalDSL.g:16242:1: rule__XFunctionTypeRef__Group_0__0 : rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1 ;
+    // InternalSignalDSL.g:16270:1: rule__XFunctionTypeRef__Group_0__0 : rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1 ;
     public final void rule__XFunctionTypeRef__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16246:1: ( rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1 )
-            // InternalSignalDSL.g:16247:2: rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1
+            // InternalSignalDSL.g:16274:1: ( rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1 )
+            // InternalSignalDSL.g:16275:2: rule__XFunctionTypeRef__Group_0__0__Impl rule__XFunctionTypeRef__Group_0__1
             {
             pushFollow(FOLLOW_114);
             rule__XFunctionTypeRef__Group_0__0__Impl();
@@ -53671,22 +53715,22 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0__0__Impl"
-    // InternalSignalDSL.g:16254:1: rule__XFunctionTypeRef__Group_0__0__Impl : ( '(' ) ;
+    // InternalSignalDSL.g:16282:1: rule__XFunctionTypeRef__Group_0__0__Impl : ( '(' ) ;
     public final void rule__XFunctionTypeRef__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16258:1: ( ( '(' ) )
-            // InternalSignalDSL.g:16259:1: ( '(' )
+            // InternalSignalDSL.g:16286:1: ( ( '(' ) )
+            // InternalSignalDSL.g:16287:1: ( '(' )
             {
-            // InternalSignalDSL.g:16259:1: ( '(' )
-            // InternalSignalDSL.g:16260:2: '('
+            // InternalSignalDSL.g:16287:1: ( '(' )
+            // InternalSignalDSL.g:16288:2: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); 
             }
-            match(input,74,FOLLOW_2); if (state.failed) return ;
+            match(input,71,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); 
             }
@@ -53712,14 +53756,14 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0__1"
-    // InternalSignalDSL.g:16269:1: rule__XFunctionTypeRef__Group_0__1 : rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2 ;
+    // InternalSignalDSL.g:16297:1: rule__XFunctionTypeRef__Group_0__1 : rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2 ;
     public final void rule__XFunctionTypeRef__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16273:1: ( rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2 )
-            // InternalSignalDSL.g:16274:2: rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2
+            // InternalSignalDSL.g:16301:1: ( rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2 )
+            // InternalSignalDSL.g:16302:2: rule__XFunctionTypeRef__Group_0__1__Impl rule__XFunctionTypeRef__Group_0__2
             {
             pushFollow(FOLLOW_114);
             rule__XFunctionTypeRef__Group_0__1__Impl();
@@ -53750,31 +53794,31 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0__1__Impl"
-    // InternalSignalDSL.g:16281:1: rule__XFunctionTypeRef__Group_0__1__Impl : ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) ;
+    // InternalSignalDSL.g:16309:1: rule__XFunctionTypeRef__Group_0__1__Impl : ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) ;
     public final void rule__XFunctionTypeRef__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16285:1: ( ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) )
-            // InternalSignalDSL.g:16286:1: ( ( rule__XFunctionTypeRef__Group_0_1__0 )? )
+            // InternalSignalDSL.g:16313:1: ( ( ( rule__XFunctionTypeRef__Group_0_1__0 )? ) )
+            // InternalSignalDSL.g:16314:1: ( ( rule__XFunctionTypeRef__Group_0_1__0 )? )
             {
-            // InternalSignalDSL.g:16286:1: ( ( rule__XFunctionTypeRef__Group_0_1__0 )? )
-            // InternalSignalDSL.g:16287:2: ( rule__XFunctionTypeRef__Group_0_1__0 )?
+            // InternalSignalDSL.g:16314:1: ( ( rule__XFunctionTypeRef__Group_0_1__0 )? )
+            // InternalSignalDSL.g:16315:2: ( rule__XFunctionTypeRef__Group_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1()); 
             }
-            // InternalSignalDSL.g:16288:2: ( rule__XFunctionTypeRef__Group_0_1__0 )?
-            int alt132=2;
-            int LA132_0 = input.LA(1);
+            // InternalSignalDSL.g:16316:2: ( rule__XFunctionTypeRef__Group_0_1__0 )?
+            int alt133=2;
+            int LA133_0 = input.LA(1);
 
-            if ( (LA132_0==RULE_ID||LA132_0==31||LA132_0==74) ) {
-                alt132=1;
+            if ( (LA133_0==RULE_ID||LA133_0==31||LA133_0==71) ) {
+                alt133=1;
             }
-            switch (alt132) {
+            switch (alt133) {
                 case 1 :
-                    // InternalSignalDSL.g:16288:3: rule__XFunctionTypeRef__Group_0_1__0
+                    // InternalSignalDSL.g:16316:3: rule__XFunctionTypeRef__Group_0_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XFunctionTypeRef__Group_0_1__0();
@@ -53812,14 +53856,14 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0__2"
-    // InternalSignalDSL.g:16296:1: rule__XFunctionTypeRef__Group_0__2 : rule__XFunctionTypeRef__Group_0__2__Impl ;
+    // InternalSignalDSL.g:16324:1: rule__XFunctionTypeRef__Group_0__2 : rule__XFunctionTypeRef__Group_0__2__Impl ;
     public final void rule__XFunctionTypeRef__Group_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16300:1: ( rule__XFunctionTypeRef__Group_0__2__Impl )
-            // InternalSignalDSL.g:16301:2: rule__XFunctionTypeRef__Group_0__2__Impl
+            // InternalSignalDSL.g:16328:1: ( rule__XFunctionTypeRef__Group_0__2__Impl )
+            // InternalSignalDSL.g:16329:2: rule__XFunctionTypeRef__Group_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFunctionTypeRef__Group_0__2__Impl();
@@ -53845,22 +53889,22 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0__2__Impl"
-    // InternalSignalDSL.g:16307:1: rule__XFunctionTypeRef__Group_0__2__Impl : ( ')' ) ;
+    // InternalSignalDSL.g:16335:1: rule__XFunctionTypeRef__Group_0__2__Impl : ( ')' ) ;
     public final void rule__XFunctionTypeRef__Group_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16311:1: ( ( ')' ) )
-            // InternalSignalDSL.g:16312:1: ( ')' )
+            // InternalSignalDSL.g:16339:1: ( ( ')' ) )
+            // InternalSignalDSL.g:16340:1: ( ')' )
             {
-            // InternalSignalDSL.g:16312:1: ( ')' )
-            // InternalSignalDSL.g:16313:2: ')'
+            // InternalSignalDSL.g:16340:1: ( ')' )
+            // InternalSignalDSL.g:16341:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); 
             }
-            match(input,75,FOLLOW_2); if (state.failed) return ;
+            match(input,72,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); 
             }
@@ -53886,14 +53930,14 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__0"
-    // InternalSignalDSL.g:16323:1: rule__XFunctionTypeRef__Group_0_1__0 : rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1 ;
+    // InternalSignalDSL.g:16351:1: rule__XFunctionTypeRef__Group_0_1__0 : rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1 ;
     public final void rule__XFunctionTypeRef__Group_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16327:1: ( rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1 )
-            // InternalSignalDSL.g:16328:2: rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1
+            // InternalSignalDSL.g:16355:1: ( rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1 )
+            // InternalSignalDSL.g:16356:2: rule__XFunctionTypeRef__Group_0_1__0__Impl rule__XFunctionTypeRef__Group_0_1__1
             {
             pushFollow(FOLLOW_33);
             rule__XFunctionTypeRef__Group_0_1__0__Impl();
@@ -53924,23 +53968,23 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__0__Impl"
-    // InternalSignalDSL.g:16335:1: rule__XFunctionTypeRef__Group_0_1__0__Impl : ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) ;
+    // InternalSignalDSL.g:16363:1: rule__XFunctionTypeRef__Group_0_1__0__Impl : ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) ;
     public final void rule__XFunctionTypeRef__Group_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16339:1: ( ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) )
-            // InternalSignalDSL.g:16340:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) )
+            // InternalSignalDSL.g:16367:1: ( ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) ) )
+            // InternalSignalDSL.g:16368:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) )
             {
-            // InternalSignalDSL.g:16340:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) )
-            // InternalSignalDSL.g:16341:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 )
+            // InternalSignalDSL.g:16368:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 ) )
+            // InternalSignalDSL.g:16369:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0()); 
             }
-            // InternalSignalDSL.g:16342:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 )
-            // InternalSignalDSL.g:16342:3: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0
+            // InternalSignalDSL.g:16370:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 )
+            // InternalSignalDSL.g:16370:3: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0();
@@ -53975,14 +54019,14 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__1"
-    // InternalSignalDSL.g:16350:1: rule__XFunctionTypeRef__Group_0_1__1 : rule__XFunctionTypeRef__Group_0_1__1__Impl ;
+    // InternalSignalDSL.g:16378:1: rule__XFunctionTypeRef__Group_0_1__1 : rule__XFunctionTypeRef__Group_0_1__1__Impl ;
     public final void rule__XFunctionTypeRef__Group_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16354:1: ( rule__XFunctionTypeRef__Group_0_1__1__Impl )
-            // InternalSignalDSL.g:16355:2: rule__XFunctionTypeRef__Group_0_1__1__Impl
+            // InternalSignalDSL.g:16382:1: ( rule__XFunctionTypeRef__Group_0_1__1__Impl )
+            // InternalSignalDSL.g:16383:2: rule__XFunctionTypeRef__Group_0_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFunctionTypeRef__Group_0_1__1__Impl();
@@ -54008,35 +54052,35 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0_1__1__Impl"
-    // InternalSignalDSL.g:16361:1: rule__XFunctionTypeRef__Group_0_1__1__Impl : ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) ;
+    // InternalSignalDSL.g:16389:1: rule__XFunctionTypeRef__Group_0_1__1__Impl : ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) ;
     public final void rule__XFunctionTypeRef__Group_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16365:1: ( ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) )
-            // InternalSignalDSL.g:16366:1: ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* )
+            // InternalSignalDSL.g:16393:1: ( ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* ) )
+            // InternalSignalDSL.g:16394:1: ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* )
             {
-            // InternalSignalDSL.g:16366:1: ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* )
-            // InternalSignalDSL.g:16367:2: ( rule__XFunctionTypeRef__Group_0_1_1__0 )*
+            // InternalSignalDSL.g:16394:1: ( ( rule__XFunctionTypeRef__Group_0_1_1__0 )* )
+            // InternalSignalDSL.g:16395:2: ( rule__XFunctionTypeRef__Group_0_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1()); 
             }
-            // InternalSignalDSL.g:16368:2: ( rule__XFunctionTypeRef__Group_0_1_1__0 )*
-            loop133:
+            // InternalSignalDSL.g:16396:2: ( rule__XFunctionTypeRef__Group_0_1_1__0 )*
+            loop134:
             do {
-                int alt133=2;
-                int LA133_0 = input.LA(1);
+                int alt134=2;
+                int LA134_0 = input.LA(1);
 
-                if ( (LA133_0==76) ) {
-                    alt133=1;
+                if ( (LA134_0==73) ) {
+                    alt134=1;
                 }
 
 
-                switch (alt133) {
+                switch (alt134) {
             	case 1 :
-            	    // InternalSignalDSL.g:16368:3: rule__XFunctionTypeRef__Group_0_1_1__0
+            	    // InternalSignalDSL.g:16396:3: rule__XFunctionTypeRef__Group_0_1_1__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__XFunctionTypeRef__Group_0_1_1__0();
@@ -54048,7 +54092,7 @@
             	    break;
 
             	default :
-            	    break loop133;
+            	    break loop134;
                 }
             } while (true);
 
@@ -54077,14 +54121,14 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__0"
-    // InternalSignalDSL.g:16377:1: rule__XFunctionTypeRef__Group_0_1_1__0 : rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1 ;
+    // InternalSignalDSL.g:16405:1: rule__XFunctionTypeRef__Group_0_1_1__0 : rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1 ;
     public final void rule__XFunctionTypeRef__Group_0_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16381:1: ( rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1 )
-            // InternalSignalDSL.g:16382:2: rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1
+            // InternalSignalDSL.g:16409:1: ( rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1 )
+            // InternalSignalDSL.g:16410:2: rule__XFunctionTypeRef__Group_0_1_1__0__Impl rule__XFunctionTypeRef__Group_0_1_1__1
             {
             pushFollow(FOLLOW_52);
             rule__XFunctionTypeRef__Group_0_1_1__0__Impl();
@@ -54115,22 +54159,22 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__0__Impl"
-    // InternalSignalDSL.g:16389:1: rule__XFunctionTypeRef__Group_0_1_1__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:16417:1: rule__XFunctionTypeRef__Group_0_1_1__0__Impl : ( ',' ) ;
     public final void rule__XFunctionTypeRef__Group_0_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16393:1: ( ( ',' ) )
-            // InternalSignalDSL.g:16394:1: ( ',' )
+            // InternalSignalDSL.g:16421:1: ( ( ',' ) )
+            // InternalSignalDSL.g:16422:1: ( ',' )
             {
-            // InternalSignalDSL.g:16394:1: ( ',' )
-            // InternalSignalDSL.g:16395:2: ','
+            // InternalSignalDSL.g:16422:1: ( ',' )
+            // InternalSignalDSL.g:16423:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); 
             }
@@ -54156,14 +54200,14 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__1"
-    // InternalSignalDSL.g:16404:1: rule__XFunctionTypeRef__Group_0_1_1__1 : rule__XFunctionTypeRef__Group_0_1_1__1__Impl ;
+    // InternalSignalDSL.g:16432:1: rule__XFunctionTypeRef__Group_0_1_1__1 : rule__XFunctionTypeRef__Group_0_1_1__1__Impl ;
     public final void rule__XFunctionTypeRef__Group_0_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16408:1: ( rule__XFunctionTypeRef__Group_0_1_1__1__Impl )
-            // InternalSignalDSL.g:16409:2: rule__XFunctionTypeRef__Group_0_1_1__1__Impl
+            // InternalSignalDSL.g:16436:1: ( rule__XFunctionTypeRef__Group_0_1_1__1__Impl )
+            // InternalSignalDSL.g:16437:2: rule__XFunctionTypeRef__Group_0_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XFunctionTypeRef__Group_0_1_1__1__Impl();
@@ -54189,23 +54233,23 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__Group_0_1_1__1__Impl"
-    // InternalSignalDSL.g:16415:1: rule__XFunctionTypeRef__Group_0_1_1__1__Impl : ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) ;
+    // InternalSignalDSL.g:16443:1: rule__XFunctionTypeRef__Group_0_1_1__1__Impl : ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) ;
     public final void rule__XFunctionTypeRef__Group_0_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16419:1: ( ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) )
-            // InternalSignalDSL.g:16420:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) )
+            // InternalSignalDSL.g:16447:1: ( ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) ) )
+            // InternalSignalDSL.g:16448:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) )
             {
-            // InternalSignalDSL.g:16420:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) )
-            // InternalSignalDSL.g:16421:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 )
+            // InternalSignalDSL.g:16448:1: ( ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 ) )
+            // InternalSignalDSL.g:16449:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1()); 
             }
-            // InternalSignalDSL.g:16422:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 )
-            // InternalSignalDSL.g:16422:3: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1
+            // InternalSignalDSL.g:16450:2: ( rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 )
+            // InternalSignalDSL.g:16450:3: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1();
@@ -54240,14 +54284,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group__0"
-    // InternalSignalDSL.g:16431:1: rule__JvmParameterizedTypeReference__Group__0 : rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1 ;
+    // InternalSignalDSL.g:16459:1: rule__JvmParameterizedTypeReference__Group__0 : rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1 ;
     public final void rule__JvmParameterizedTypeReference__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16435:1: ( rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1 )
-            // InternalSignalDSL.g:16436:2: rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1
+            // InternalSignalDSL.g:16463:1: ( rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1 )
+            // InternalSignalDSL.g:16464:2: rule__JvmParameterizedTypeReference__Group__0__Impl rule__JvmParameterizedTypeReference__Group__1
             {
             pushFollow(FOLLOW_42);
             rule__JvmParameterizedTypeReference__Group__0__Impl();
@@ -54278,23 +54322,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group__0__Impl"
-    // InternalSignalDSL.g:16443:1: rule__JvmParameterizedTypeReference__Group__0__Impl : ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) ;
+    // InternalSignalDSL.g:16471:1: rule__JvmParameterizedTypeReference__Group__0__Impl : ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16447:1: ( ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) )
-            // InternalSignalDSL.g:16448:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) )
+            // InternalSignalDSL.g:16475:1: ( ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) ) )
+            // InternalSignalDSL.g:16476:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) )
             {
-            // InternalSignalDSL.g:16448:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) )
-            // InternalSignalDSL.g:16449:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_0 )
+            // InternalSignalDSL.g:16476:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_0 ) )
+            // InternalSignalDSL.g:16477:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0()); 
             }
-            // InternalSignalDSL.g:16450:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_0 )
-            // InternalSignalDSL.g:16450:3: rule__JvmParameterizedTypeReference__TypeAssignment_0
+            // InternalSignalDSL.g:16478:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_0 )
+            // InternalSignalDSL.g:16478:3: rule__JvmParameterizedTypeReference__TypeAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__TypeAssignment_0();
@@ -54329,14 +54373,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group__1"
-    // InternalSignalDSL.g:16458:1: rule__JvmParameterizedTypeReference__Group__1 : rule__JvmParameterizedTypeReference__Group__1__Impl ;
+    // InternalSignalDSL.g:16486:1: rule__JvmParameterizedTypeReference__Group__1 : rule__JvmParameterizedTypeReference__Group__1__Impl ;
     public final void rule__JvmParameterizedTypeReference__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16462:1: ( rule__JvmParameterizedTypeReference__Group__1__Impl )
-            // InternalSignalDSL.g:16463:2: rule__JvmParameterizedTypeReference__Group__1__Impl
+            // InternalSignalDSL.g:16490:1: ( rule__JvmParameterizedTypeReference__Group__1__Impl )
+            // InternalSignalDSL.g:16491:2: rule__JvmParameterizedTypeReference__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group__1__Impl();
@@ -54362,27 +54406,27 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group__1__Impl"
-    // InternalSignalDSL.g:16469:1: rule__JvmParameterizedTypeReference__Group__1__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) ;
+    // InternalSignalDSL.g:16497:1: rule__JvmParameterizedTypeReference__Group__1__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) ;
     public final void rule__JvmParameterizedTypeReference__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16473:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) )
-            // InternalSignalDSL.g:16474:1: ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? )
+            // InternalSignalDSL.g:16501:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? ) )
+            // InternalSignalDSL.g:16502:1: ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? )
             {
-            // InternalSignalDSL.g:16474:1: ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? )
-            // InternalSignalDSL.g:16475:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )?
+            // InternalSignalDSL.g:16502:1: ( ( rule__JvmParameterizedTypeReference__Group_1__0 )? )
+            // InternalSignalDSL.g:16503:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1()); 
             }
-            // InternalSignalDSL.g:16476:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )?
-            int alt134=2;
-            alt134 = dfa134.predict(input);
-            switch (alt134) {
+            // InternalSignalDSL.g:16504:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )?
+            int alt135=2;
+            alt135 = dfa135.predict(input);
+            switch (alt135) {
                 case 1 :
-                    // InternalSignalDSL.g:16476:3: rule__JvmParameterizedTypeReference__Group_1__0
+                    // InternalSignalDSL.g:16504:3: rule__JvmParameterizedTypeReference__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__JvmParameterizedTypeReference__Group_1__0();
@@ -54420,14 +54464,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__0"
-    // InternalSignalDSL.g:16485:1: rule__JvmParameterizedTypeReference__Group_1__0 : rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1 ;
+    // InternalSignalDSL.g:16513:1: rule__JvmParameterizedTypeReference__Group_1__0 : rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1 ;
     public final void rule__JvmParameterizedTypeReference__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16489:1: ( rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1 )
-            // InternalSignalDSL.g:16490:2: rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1
+            // InternalSignalDSL.g:16517:1: ( rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1 )
+            // InternalSignalDSL.g:16518:2: rule__JvmParameterizedTypeReference__Group_1__0__Impl rule__JvmParameterizedTypeReference__Group_1__1
             {
             pushFollow(FOLLOW_72);
             rule__JvmParameterizedTypeReference__Group_1__0__Impl();
@@ -54458,23 +54502,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__0__Impl"
-    // InternalSignalDSL.g:16497:1: rule__JvmParameterizedTypeReference__Group_1__0__Impl : ( ( '<' ) ) ;
+    // InternalSignalDSL.g:16525:1: rule__JvmParameterizedTypeReference__Group_1__0__Impl : ( ( '<' ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16501:1: ( ( ( '<' ) ) )
-            // InternalSignalDSL.g:16502:1: ( ( '<' ) )
+            // InternalSignalDSL.g:16529:1: ( ( ( '<' ) ) )
+            // InternalSignalDSL.g:16530:1: ( ( '<' ) )
             {
-            // InternalSignalDSL.g:16502:1: ( ( '<' ) )
-            // InternalSignalDSL.g:16503:2: ( '<' )
+            // InternalSignalDSL.g:16530:1: ( ( '<' ) )
+            // InternalSignalDSL.g:16531:2: ( '<' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); 
             }
-            // InternalSignalDSL.g:16504:2: ( '<' )
-            // InternalSignalDSL.g:16504:3: '<'
+            // InternalSignalDSL.g:16532:2: ( '<' )
+            // InternalSignalDSL.g:16532:3: '<'
             {
             match(input,27,FOLLOW_2); if (state.failed) return ;
 
@@ -54505,14 +54549,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__1"
-    // InternalSignalDSL.g:16512:1: rule__JvmParameterizedTypeReference__Group_1__1 : rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2 ;
+    // InternalSignalDSL.g:16540:1: rule__JvmParameterizedTypeReference__Group_1__1 : rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2 ;
     public final void rule__JvmParameterizedTypeReference__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16516:1: ( rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2 )
-            // InternalSignalDSL.g:16517:2: rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2
+            // InternalSignalDSL.g:16544:1: ( rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2 )
+            // InternalSignalDSL.g:16545:2: rule__JvmParameterizedTypeReference__Group_1__1__Impl rule__JvmParameterizedTypeReference__Group_1__2
             {
             pushFollow(FOLLOW_73);
             rule__JvmParameterizedTypeReference__Group_1__1__Impl();
@@ -54543,23 +54587,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__1__Impl"
-    // InternalSignalDSL.g:16524:1: rule__JvmParameterizedTypeReference__Group_1__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) ;
+    // InternalSignalDSL.g:16552:1: rule__JvmParameterizedTypeReference__Group_1__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16528:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) )
-            // InternalSignalDSL.g:16529:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) )
+            // InternalSignalDSL.g:16556:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) ) )
+            // InternalSignalDSL.g:16557:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) )
             {
-            // InternalSignalDSL.g:16529:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) )
-            // InternalSignalDSL.g:16530:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 )
+            // InternalSignalDSL.g:16557:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 ) )
+            // InternalSignalDSL.g:16558:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1()); 
             }
-            // InternalSignalDSL.g:16531:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 )
-            // InternalSignalDSL.g:16531:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1
+            // InternalSignalDSL.g:16559:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 )
+            // InternalSignalDSL.g:16559:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1();
@@ -54594,14 +54638,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__2"
-    // InternalSignalDSL.g:16539:1: rule__JvmParameterizedTypeReference__Group_1__2 : rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3 ;
+    // InternalSignalDSL.g:16567:1: rule__JvmParameterizedTypeReference__Group_1__2 : rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3 ;
     public final void rule__JvmParameterizedTypeReference__Group_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16543:1: ( rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3 )
-            // InternalSignalDSL.g:16544:2: rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3
+            // InternalSignalDSL.g:16571:1: ( rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3 )
+            // InternalSignalDSL.g:16572:2: rule__JvmParameterizedTypeReference__Group_1__2__Impl rule__JvmParameterizedTypeReference__Group_1__3
             {
             pushFollow(FOLLOW_73);
             rule__JvmParameterizedTypeReference__Group_1__2__Impl();
@@ -54632,35 +54676,35 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__2__Impl"
-    // InternalSignalDSL.g:16551:1: rule__JvmParameterizedTypeReference__Group_1__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) ;
+    // InternalSignalDSL.g:16579:1: rule__JvmParameterizedTypeReference__Group_1__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16555:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) )
-            // InternalSignalDSL.g:16556:1: ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* )
+            // InternalSignalDSL.g:16583:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* ) )
+            // InternalSignalDSL.g:16584:1: ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* )
             {
-            // InternalSignalDSL.g:16556:1: ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* )
-            // InternalSignalDSL.g:16557:2: ( rule__JvmParameterizedTypeReference__Group_1_2__0 )*
+            // InternalSignalDSL.g:16584:1: ( ( rule__JvmParameterizedTypeReference__Group_1_2__0 )* )
+            // InternalSignalDSL.g:16585:2: ( rule__JvmParameterizedTypeReference__Group_1_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2()); 
             }
-            // InternalSignalDSL.g:16558:2: ( rule__JvmParameterizedTypeReference__Group_1_2__0 )*
-            loop135:
+            // InternalSignalDSL.g:16586:2: ( rule__JvmParameterizedTypeReference__Group_1_2__0 )*
+            loop136:
             do {
-                int alt135=2;
-                int LA135_0 = input.LA(1);
+                int alt136=2;
+                int LA136_0 = input.LA(1);
 
-                if ( (LA135_0==76) ) {
-                    alt135=1;
+                if ( (LA136_0==73) ) {
+                    alt136=1;
                 }
 
 
-                switch (alt135) {
+                switch (alt136) {
             	case 1 :
-            	    // InternalSignalDSL.g:16558:3: rule__JvmParameterizedTypeReference__Group_1_2__0
+            	    // InternalSignalDSL.g:16586:3: rule__JvmParameterizedTypeReference__Group_1_2__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__JvmParameterizedTypeReference__Group_1_2__0();
@@ -54672,7 +54716,7 @@
             	    break;
 
             	default :
-            	    break loop135;
+            	    break loop136;
                 }
             } while (true);
 
@@ -54701,14 +54745,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__3"
-    // InternalSignalDSL.g:16566:1: rule__JvmParameterizedTypeReference__Group_1__3 : rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4 ;
+    // InternalSignalDSL.g:16594:1: rule__JvmParameterizedTypeReference__Group_1__3 : rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4 ;
     public final void rule__JvmParameterizedTypeReference__Group_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16570:1: ( rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4 )
-            // InternalSignalDSL.g:16571:2: rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4
+            // InternalSignalDSL.g:16598:1: ( rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4 )
+            // InternalSignalDSL.g:16599:2: rule__JvmParameterizedTypeReference__Group_1__3__Impl rule__JvmParameterizedTypeReference__Group_1__4
             {
             pushFollow(FOLLOW_111);
             rule__JvmParameterizedTypeReference__Group_1__3__Impl();
@@ -54739,17 +54783,17 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__3__Impl"
-    // InternalSignalDSL.g:16578:1: rule__JvmParameterizedTypeReference__Group_1__3__Impl : ( '>' ) ;
+    // InternalSignalDSL.g:16606:1: rule__JvmParameterizedTypeReference__Group_1__3__Impl : ( '>' ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16582:1: ( ( '>' ) )
-            // InternalSignalDSL.g:16583:1: ( '>' )
+            // InternalSignalDSL.g:16610:1: ( ( '>' ) )
+            // InternalSignalDSL.g:16611:1: ( '>' )
             {
-            // InternalSignalDSL.g:16583:1: ( '>' )
-            // InternalSignalDSL.g:16584:2: '>'
+            // InternalSignalDSL.g:16611:1: ( '>' )
+            // InternalSignalDSL.g:16612:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); 
@@ -54780,14 +54824,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__4"
-    // InternalSignalDSL.g:16593:1: rule__JvmParameterizedTypeReference__Group_1__4 : rule__JvmParameterizedTypeReference__Group_1__4__Impl ;
+    // InternalSignalDSL.g:16621:1: rule__JvmParameterizedTypeReference__Group_1__4 : rule__JvmParameterizedTypeReference__Group_1__4__Impl ;
     public final void rule__JvmParameterizedTypeReference__Group_1__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16597:1: ( rule__JvmParameterizedTypeReference__Group_1__4__Impl )
-            // InternalSignalDSL.g:16598:2: rule__JvmParameterizedTypeReference__Group_1__4__Impl
+            // InternalSignalDSL.g:16625:1: ( rule__JvmParameterizedTypeReference__Group_1__4__Impl )
+            // InternalSignalDSL.g:16626:2: rule__JvmParameterizedTypeReference__Group_1__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1__4__Impl();
@@ -54813,35 +54857,35 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1__4__Impl"
-    // InternalSignalDSL.g:16604:1: rule__JvmParameterizedTypeReference__Group_1__4__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) ;
+    // InternalSignalDSL.g:16632:1: rule__JvmParameterizedTypeReference__Group_1__4__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16608:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) )
-            // InternalSignalDSL.g:16609:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* )
+            // InternalSignalDSL.g:16636:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* ) )
+            // InternalSignalDSL.g:16637:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* )
             {
-            // InternalSignalDSL.g:16609:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* )
-            // InternalSignalDSL.g:16610:2: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )*
+            // InternalSignalDSL.g:16637:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4__0 )* )
+            // InternalSignalDSL.g:16638:2: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4()); 
             }
-            // InternalSignalDSL.g:16611:2: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )*
-            loop136:
+            // InternalSignalDSL.g:16639:2: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )*
+            loop137:
             do {
-                int alt136=2;
-                int LA136_0 = input.LA(1);
+                int alt137=2;
+                int LA137_0 = input.LA(1);
 
-                if ( (LA136_0==43) ) {
-                    int LA136_2 = input.LA(2);
+                if ( (LA137_0==43) ) {
+                    int LA137_2 = input.LA(2);
 
-                    if ( (LA136_2==RULE_ID) ) {
-                        int LA136_3 = input.LA(3);
+                    if ( (LA137_2==RULE_ID) ) {
+                        int LA137_3 = input.LA(3);
 
-                        if ( (synpred184_InternalSignalDSL()) ) {
-                            alt136=1;
+                        if ( (synpred181_InternalSignalDSL()) ) {
+                            alt137=1;
                         }
 
 
@@ -54851,9 +54895,9 @@
                 }
 
 
-                switch (alt136) {
+                switch (alt137) {
             	case 1 :
-            	    // InternalSignalDSL.g:16611:3: rule__JvmParameterizedTypeReference__Group_1_4__0
+            	    // InternalSignalDSL.g:16639:3: rule__JvmParameterizedTypeReference__Group_1_4__0
             	    {
             	    pushFollow(FOLLOW_112);
             	    rule__JvmParameterizedTypeReference__Group_1_4__0();
@@ -54865,7 +54909,7 @@
             	    break;
 
             	default :
-            	    break loop136;
+            	    break loop137;
                 }
             } while (true);
 
@@ -54894,14 +54938,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__0"
-    // InternalSignalDSL.g:16620:1: rule__JvmParameterizedTypeReference__Group_1_2__0 : rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1 ;
+    // InternalSignalDSL.g:16648:1: rule__JvmParameterizedTypeReference__Group_1_2__0 : rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1 ;
     public final void rule__JvmParameterizedTypeReference__Group_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16624:1: ( rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1 )
-            // InternalSignalDSL.g:16625:2: rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1
+            // InternalSignalDSL.g:16652:1: ( rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1 )
+            // InternalSignalDSL.g:16653:2: rule__JvmParameterizedTypeReference__Group_1_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_2__1
             {
             pushFollow(FOLLOW_72);
             rule__JvmParameterizedTypeReference__Group_1_2__0__Impl();
@@ -54932,22 +54976,22 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__0__Impl"
-    // InternalSignalDSL.g:16632:1: rule__JvmParameterizedTypeReference__Group_1_2__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:16660:1: rule__JvmParameterizedTypeReference__Group_1_2__0__Impl : ( ',' ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16636:1: ( ( ',' ) )
-            // InternalSignalDSL.g:16637:1: ( ',' )
+            // InternalSignalDSL.g:16664:1: ( ( ',' ) )
+            // InternalSignalDSL.g:16665:1: ( ',' )
             {
-            // InternalSignalDSL.g:16637:1: ( ',' )
-            // InternalSignalDSL.g:16638:2: ','
+            // InternalSignalDSL.g:16665:1: ( ',' )
+            // InternalSignalDSL.g:16666:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); 
             }
@@ -54973,14 +55017,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__1"
-    // InternalSignalDSL.g:16647:1: rule__JvmParameterizedTypeReference__Group_1_2__1 : rule__JvmParameterizedTypeReference__Group_1_2__1__Impl ;
+    // InternalSignalDSL.g:16675:1: rule__JvmParameterizedTypeReference__Group_1_2__1 : rule__JvmParameterizedTypeReference__Group_1_2__1__Impl ;
     public final void rule__JvmParameterizedTypeReference__Group_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16651:1: ( rule__JvmParameterizedTypeReference__Group_1_2__1__Impl )
-            // InternalSignalDSL.g:16652:2: rule__JvmParameterizedTypeReference__Group_1_2__1__Impl
+            // InternalSignalDSL.g:16679:1: ( rule__JvmParameterizedTypeReference__Group_1_2__1__Impl )
+            // InternalSignalDSL.g:16680:2: rule__JvmParameterizedTypeReference__Group_1_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1_2__1__Impl();
@@ -55006,23 +55050,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_2__1__Impl"
-    // InternalSignalDSL.g:16658:1: rule__JvmParameterizedTypeReference__Group_1_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) ;
+    // InternalSignalDSL.g:16686:1: rule__JvmParameterizedTypeReference__Group_1_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16662:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) )
-            // InternalSignalDSL.g:16663:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) )
+            // InternalSignalDSL.g:16690:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) ) )
+            // InternalSignalDSL.g:16691:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) )
             {
-            // InternalSignalDSL.g:16663:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) )
-            // InternalSignalDSL.g:16664:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 )
+            // InternalSignalDSL.g:16691:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 ) )
+            // InternalSignalDSL.g:16692:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1()); 
             }
-            // InternalSignalDSL.g:16665:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 )
-            // InternalSignalDSL.g:16665:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1
+            // InternalSignalDSL.g:16693:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 )
+            // InternalSignalDSL.g:16693:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1();
@@ -55057,14 +55101,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__0"
-    // InternalSignalDSL.g:16674:1: rule__JvmParameterizedTypeReference__Group_1_4__0 : rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1 ;
+    // InternalSignalDSL.g:16702:1: rule__JvmParameterizedTypeReference__Group_1_4__0 : rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1 ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16678:1: ( rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1 )
-            // InternalSignalDSL.g:16679:2: rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1
+            // InternalSignalDSL.g:16706:1: ( rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1 )
+            // InternalSignalDSL.g:16707:2: rule__JvmParameterizedTypeReference__Group_1_4__0__Impl rule__JvmParameterizedTypeReference__Group_1_4__1
             {
             pushFollow(FOLLOW_7);
             rule__JvmParameterizedTypeReference__Group_1_4__0__Impl();
@@ -55095,23 +55139,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__0__Impl"
-    // InternalSignalDSL.g:16686:1: rule__JvmParameterizedTypeReference__Group_1_4__0__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) ;
+    // InternalSignalDSL.g:16714:1: rule__JvmParameterizedTypeReference__Group_1_4__0__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16690:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) )
-            // InternalSignalDSL.g:16691:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) )
+            // InternalSignalDSL.g:16718:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) ) )
+            // InternalSignalDSL.g:16719:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) )
             {
-            // InternalSignalDSL.g:16691:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) )
-            // InternalSignalDSL.g:16692:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 )
+            // InternalSignalDSL.g:16719:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 ) )
+            // InternalSignalDSL.g:16720:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0()); 
             }
-            // InternalSignalDSL.g:16693:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 )
-            // InternalSignalDSL.g:16693:3: rule__JvmParameterizedTypeReference__Group_1_4_0__0
+            // InternalSignalDSL.g:16721:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0 )
+            // InternalSignalDSL.g:16721:3: rule__JvmParameterizedTypeReference__Group_1_4_0__0
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1_4_0__0();
@@ -55146,14 +55190,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__1"
-    // InternalSignalDSL.g:16701:1: rule__JvmParameterizedTypeReference__Group_1_4__1 : rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2 ;
+    // InternalSignalDSL.g:16729:1: rule__JvmParameterizedTypeReference__Group_1_4__1 : rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2 ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16705:1: ( rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2 )
-            // InternalSignalDSL.g:16706:2: rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2
+            // InternalSignalDSL.g:16733:1: ( rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2 )
+            // InternalSignalDSL.g:16734:2: rule__JvmParameterizedTypeReference__Group_1_4__1__Impl rule__JvmParameterizedTypeReference__Group_1_4__2
             {
             pushFollow(FOLLOW_42);
             rule__JvmParameterizedTypeReference__Group_1_4__1__Impl();
@@ -55184,23 +55228,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__1__Impl"
-    // InternalSignalDSL.g:16713:1: rule__JvmParameterizedTypeReference__Group_1_4__1__Impl : ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) ;
+    // InternalSignalDSL.g:16741:1: rule__JvmParameterizedTypeReference__Group_1_4__1__Impl : ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16717:1: ( ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) )
-            // InternalSignalDSL.g:16718:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) )
+            // InternalSignalDSL.g:16745:1: ( ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) ) )
+            // InternalSignalDSL.g:16746:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) )
             {
-            // InternalSignalDSL.g:16718:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) )
-            // InternalSignalDSL.g:16719:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 )
+            // InternalSignalDSL.g:16746:1: ( ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 ) )
+            // InternalSignalDSL.g:16747:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1()); 
             }
-            // InternalSignalDSL.g:16720:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 )
-            // InternalSignalDSL.g:16720:3: rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1
+            // InternalSignalDSL.g:16748:2: ( rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 )
+            // InternalSignalDSL.g:16748:3: rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1();
@@ -55235,14 +55279,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__2"
-    // InternalSignalDSL.g:16728:1: rule__JvmParameterizedTypeReference__Group_1_4__2 : rule__JvmParameterizedTypeReference__Group_1_4__2__Impl ;
+    // InternalSignalDSL.g:16756:1: rule__JvmParameterizedTypeReference__Group_1_4__2 : rule__JvmParameterizedTypeReference__Group_1_4__2__Impl ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16732:1: ( rule__JvmParameterizedTypeReference__Group_1_4__2__Impl )
-            // InternalSignalDSL.g:16733:2: rule__JvmParameterizedTypeReference__Group_1_4__2__Impl
+            // InternalSignalDSL.g:16760:1: ( rule__JvmParameterizedTypeReference__Group_1_4__2__Impl )
+            // InternalSignalDSL.g:16761:2: rule__JvmParameterizedTypeReference__Group_1_4__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1_4__2__Impl();
@@ -55268,27 +55312,27 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4__2__Impl"
-    // InternalSignalDSL.g:16739:1: rule__JvmParameterizedTypeReference__Group_1_4__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) ;
+    // InternalSignalDSL.g:16767:1: rule__JvmParameterizedTypeReference__Group_1_4__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16743:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) )
-            // InternalSignalDSL.g:16744:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? )
+            // InternalSignalDSL.g:16771:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? ) )
+            // InternalSignalDSL.g:16772:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? )
             {
-            // InternalSignalDSL.g:16744:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? )
-            // InternalSignalDSL.g:16745:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )?
+            // InternalSignalDSL.g:16772:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )? )
+            // InternalSignalDSL.g:16773:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2()); 
             }
-            // InternalSignalDSL.g:16746:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )?
-            int alt137=2;
-            alt137 = dfa137.predict(input);
-            switch (alt137) {
+            // InternalSignalDSL.g:16774:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )?
+            int alt138=2;
+            alt138 = dfa138.predict(input);
+            switch (alt138) {
                 case 1 :
-                    // InternalSignalDSL.g:16746:3: rule__JvmParameterizedTypeReference__Group_1_4_2__0
+                    // InternalSignalDSL.g:16774:3: rule__JvmParameterizedTypeReference__Group_1_4_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__JvmParameterizedTypeReference__Group_1_4_2__0();
@@ -55326,14 +55370,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0__0"
-    // InternalSignalDSL.g:16755:1: rule__JvmParameterizedTypeReference__Group_1_4_0__0 : rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl ;
+    // InternalSignalDSL.g:16783:1: rule__JvmParameterizedTypeReference__Group_1_4_0__0 : rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16759:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl )
-            // InternalSignalDSL.g:16760:2: rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl
+            // InternalSignalDSL.g:16787:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl )
+            // InternalSignalDSL.g:16788:2: rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl();
@@ -55359,23 +55403,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl"
-    // InternalSignalDSL.g:16766:1: rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) ;
+    // InternalSignalDSL.g:16794:1: rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16770:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) )
-            // InternalSignalDSL.g:16771:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) )
+            // InternalSignalDSL.g:16798:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) ) )
+            // InternalSignalDSL.g:16799:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) )
             {
-            // InternalSignalDSL.g:16771:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) )
-            // InternalSignalDSL.g:16772:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 )
+            // InternalSignalDSL.g:16799:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 ) )
+            // InternalSignalDSL.g:16800:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0()); 
             }
-            // InternalSignalDSL.g:16773:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 )
-            // InternalSignalDSL.g:16773:3: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0
+            // InternalSignalDSL.g:16801:2: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 )
+            // InternalSignalDSL.g:16801:3: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1_4_0_0__0();
@@ -55410,14 +55454,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0"
-    // InternalSignalDSL.g:16782:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 : rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 ;
+    // InternalSignalDSL.g:16810:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0 : rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16786:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 )
-            // InternalSignalDSL.g:16787:2: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1
+            // InternalSignalDSL.g:16814:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 )
+            // InternalSignalDSL.g:16815:2: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_0_0__1
             {
             pushFollow(FOLLOW_111);
             rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl();
@@ -55448,23 +55492,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl"
-    // InternalSignalDSL.g:16794:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:16822:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl : ( () ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16798:1: ( ( () ) )
-            // InternalSignalDSL.g:16799:1: ( () )
+            // InternalSignalDSL.g:16826:1: ( ( () ) )
+            // InternalSignalDSL.g:16827:1: ( () )
             {
-            // InternalSignalDSL.g:16799:1: ( () )
-            // InternalSignalDSL.g:16800:2: ()
+            // InternalSignalDSL.g:16827:1: ( () )
+            // InternalSignalDSL.g:16828:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()); 
             }
-            // InternalSignalDSL.g:16801:2: ()
-            // InternalSignalDSL.g:16801:3: 
+            // InternalSignalDSL.g:16829:2: ()
+            // InternalSignalDSL.g:16829:3: 
             {
             }
 
@@ -55489,14 +55533,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__1"
-    // InternalSignalDSL.g:16809:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 : rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl ;
+    // InternalSignalDSL.g:16837:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1 : rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16813:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl )
-            // InternalSignalDSL.g:16814:2: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl
+            // InternalSignalDSL.g:16841:1: ( rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl )
+            // InternalSignalDSL.g:16842:2: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl();
@@ -55522,17 +55566,17 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl"
-    // InternalSignalDSL.g:16820:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl : ( '.' ) ;
+    // InternalSignalDSL.g:16848:1: rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl : ( '.' ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16824:1: ( ( '.' ) )
-            // InternalSignalDSL.g:16825:1: ( '.' )
+            // InternalSignalDSL.g:16852:1: ( ( '.' ) )
+            // InternalSignalDSL.g:16853:1: ( '.' )
             {
-            // InternalSignalDSL.g:16825:1: ( '.' )
-            // InternalSignalDSL.g:16826:2: '.'
+            // InternalSignalDSL.g:16853:1: ( '.' )
+            // InternalSignalDSL.g:16854:2: '.'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); 
@@ -55563,14 +55607,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__0"
-    // InternalSignalDSL.g:16836:1: rule__JvmParameterizedTypeReference__Group_1_4_2__0 : rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1 ;
+    // InternalSignalDSL.g:16864:1: rule__JvmParameterizedTypeReference__Group_1_4_2__0 : rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1 ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16840:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1 )
-            // InternalSignalDSL.g:16841:2: rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1
+            // InternalSignalDSL.g:16868:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1 )
+            // InternalSignalDSL.g:16869:2: rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__1
             {
             pushFollow(FOLLOW_72);
             rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl();
@@ -55601,23 +55645,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl"
-    // InternalSignalDSL.g:16848:1: rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl : ( ( '<' ) ) ;
+    // InternalSignalDSL.g:16876:1: rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl : ( ( '<' ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16852:1: ( ( ( '<' ) ) )
-            // InternalSignalDSL.g:16853:1: ( ( '<' ) )
+            // InternalSignalDSL.g:16880:1: ( ( ( '<' ) ) )
+            // InternalSignalDSL.g:16881:1: ( ( '<' ) )
             {
-            // InternalSignalDSL.g:16853:1: ( ( '<' ) )
-            // InternalSignalDSL.g:16854:2: ( '<' )
+            // InternalSignalDSL.g:16881:1: ( ( '<' ) )
+            // InternalSignalDSL.g:16882:2: ( '<' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); 
             }
-            // InternalSignalDSL.g:16855:2: ( '<' )
-            // InternalSignalDSL.g:16855:3: '<'
+            // InternalSignalDSL.g:16883:2: ( '<' )
+            // InternalSignalDSL.g:16883:3: '<'
             {
             match(input,27,FOLLOW_2); if (state.failed) return ;
 
@@ -55648,14 +55692,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__1"
-    // InternalSignalDSL.g:16863:1: rule__JvmParameterizedTypeReference__Group_1_4_2__1 : rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2 ;
+    // InternalSignalDSL.g:16891:1: rule__JvmParameterizedTypeReference__Group_1_4_2__1 : rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2 ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16867:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2 )
-            // InternalSignalDSL.g:16868:2: rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2
+            // InternalSignalDSL.g:16895:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2 )
+            // InternalSignalDSL.g:16896:2: rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__2
             {
             pushFollow(FOLLOW_73);
             rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl();
@@ -55686,23 +55730,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl"
-    // InternalSignalDSL.g:16875:1: rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) ;
+    // InternalSignalDSL.g:16903:1: rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16879:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) )
-            // InternalSignalDSL.g:16880:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) )
+            // InternalSignalDSL.g:16907:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) ) )
+            // InternalSignalDSL.g:16908:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) )
             {
-            // InternalSignalDSL.g:16880:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) )
-            // InternalSignalDSL.g:16881:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 )
+            // InternalSignalDSL.g:16908:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 ) )
+            // InternalSignalDSL.g:16909:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1()); 
             }
-            // InternalSignalDSL.g:16882:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 )
-            // InternalSignalDSL.g:16882:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1
+            // InternalSignalDSL.g:16910:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 )
+            // InternalSignalDSL.g:16910:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1();
@@ -55737,14 +55781,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__2"
-    // InternalSignalDSL.g:16890:1: rule__JvmParameterizedTypeReference__Group_1_4_2__2 : rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3 ;
+    // InternalSignalDSL.g:16918:1: rule__JvmParameterizedTypeReference__Group_1_4_2__2 : rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3 ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16894:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3 )
-            // InternalSignalDSL.g:16895:2: rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3
+            // InternalSignalDSL.g:16922:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3 )
+            // InternalSignalDSL.g:16923:2: rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl rule__JvmParameterizedTypeReference__Group_1_4_2__3
             {
             pushFollow(FOLLOW_73);
             rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl();
@@ -55775,35 +55819,35 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl"
-    // InternalSignalDSL.g:16902:1: rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) ;
+    // InternalSignalDSL.g:16930:1: rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl : ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16906:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) )
-            // InternalSignalDSL.g:16907:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* )
+            // InternalSignalDSL.g:16934:1: ( ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* ) )
+            // InternalSignalDSL.g:16935:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* )
             {
-            // InternalSignalDSL.g:16907:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* )
-            // InternalSignalDSL.g:16908:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )*
+            // InternalSignalDSL.g:16935:1: ( ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )* )
+            // InternalSignalDSL.g:16936:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2()); 
             }
-            // InternalSignalDSL.g:16909:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )*
-            loop138:
+            // InternalSignalDSL.g:16937:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 )*
+            loop139:
             do {
-                int alt138=2;
-                int LA138_0 = input.LA(1);
+                int alt139=2;
+                int LA139_0 = input.LA(1);
 
-                if ( (LA138_0==76) ) {
-                    alt138=1;
+                if ( (LA139_0==73) ) {
+                    alt139=1;
                 }
 
 
-                switch (alt138) {
+                switch (alt139) {
             	case 1 :
-            	    // InternalSignalDSL.g:16909:3: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0
+            	    // InternalSignalDSL.g:16937:3: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0
             	    {
             	    pushFollow(FOLLOW_34);
             	    rule__JvmParameterizedTypeReference__Group_1_4_2_2__0();
@@ -55815,7 +55859,7 @@
             	    break;
 
             	default :
-            	    break loop138;
+            	    break loop139;
                 }
             } while (true);
 
@@ -55844,14 +55888,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__3"
-    // InternalSignalDSL.g:16917:1: rule__JvmParameterizedTypeReference__Group_1_4_2__3 : rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl ;
+    // InternalSignalDSL.g:16945:1: rule__JvmParameterizedTypeReference__Group_1_4_2__3 : rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16921:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl )
-            // InternalSignalDSL.g:16922:2: rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl
+            // InternalSignalDSL.g:16949:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl )
+            // InternalSignalDSL.g:16950:2: rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl();
@@ -55877,17 +55921,17 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl"
-    // InternalSignalDSL.g:16928:1: rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl : ( '>' ) ;
+    // InternalSignalDSL.g:16956:1: rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl : ( '>' ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16932:1: ( ( '>' ) )
-            // InternalSignalDSL.g:16933:1: ( '>' )
+            // InternalSignalDSL.g:16960:1: ( ( '>' ) )
+            // InternalSignalDSL.g:16961:1: ( '>' )
             {
-            // InternalSignalDSL.g:16933:1: ( '>' )
-            // InternalSignalDSL.g:16934:2: '>'
+            // InternalSignalDSL.g:16961:1: ( '>' )
+            // InternalSignalDSL.g:16962:2: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); 
@@ -55918,14 +55962,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0"
-    // InternalSignalDSL.g:16944:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 : rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 ;
+    // InternalSignalDSL.g:16972:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0 : rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16948:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 )
-            // InternalSignalDSL.g:16949:2: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1
+            // InternalSignalDSL.g:16976:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 )
+            // InternalSignalDSL.g:16977:2: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl rule__JvmParameterizedTypeReference__Group_1_4_2_2__1
             {
             pushFollow(FOLLOW_72);
             rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl();
@@ -55956,22 +56000,22 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl"
-    // InternalSignalDSL.g:16956:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl : ( ',' ) ;
+    // InternalSignalDSL.g:16984:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl : ( ',' ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16960:1: ( ( ',' ) )
-            // InternalSignalDSL.g:16961:1: ( ',' )
+            // InternalSignalDSL.g:16988:1: ( ( ',' ) )
+            // InternalSignalDSL.g:16989:1: ( ',' )
             {
-            // InternalSignalDSL.g:16961:1: ( ',' )
-            // InternalSignalDSL.g:16962:2: ','
+            // InternalSignalDSL.g:16989:1: ( ',' )
+            // InternalSignalDSL.g:16990:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); 
             }
@@ -55997,14 +56041,14 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__1"
-    // InternalSignalDSL.g:16971:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 : rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl ;
+    // InternalSignalDSL.g:16999:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1 : rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16975:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl )
-            // InternalSignalDSL.g:16976:2: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl
+            // InternalSignalDSL.g:17003:1: ( rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl )
+            // InternalSignalDSL.g:17004:2: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl();
@@ -56030,23 +56074,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl"
-    // InternalSignalDSL.g:16982:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) ;
+    // InternalSignalDSL.g:17010:1: rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl : ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) ;
     public final void rule__JvmParameterizedTypeReference__Group_1_4_2_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:16986:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) )
-            // InternalSignalDSL.g:16987:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) )
+            // InternalSignalDSL.g:17014:1: ( ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) ) )
+            // InternalSignalDSL.g:17015:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) )
             {
-            // InternalSignalDSL.g:16987:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) )
-            // InternalSignalDSL.g:16988:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 )
+            // InternalSignalDSL.g:17015:1: ( ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 ) )
+            // InternalSignalDSL.g:17016:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1()); 
             }
-            // InternalSignalDSL.g:16989:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 )
-            // InternalSignalDSL.g:16989:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1
+            // InternalSignalDSL.g:17017:2: ( rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 )
+            // InternalSignalDSL.g:17017:3: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1();
@@ -56081,14 +56125,14 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group__0"
-    // InternalSignalDSL.g:16998:1: rule__JvmWildcardTypeReference__Group__0 : rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1 ;
+    // InternalSignalDSL.g:17026:1: rule__JvmWildcardTypeReference__Group__0 : rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1 ;
     public final void rule__JvmWildcardTypeReference__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17002:1: ( rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1 )
-            // InternalSignalDSL.g:17003:2: rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1
+            // InternalSignalDSL.g:17030:1: ( rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1 )
+            // InternalSignalDSL.g:17031:2: rule__JvmWildcardTypeReference__Group__0__Impl rule__JvmWildcardTypeReference__Group__1
             {
             pushFollow(FOLLOW_72);
             rule__JvmWildcardTypeReference__Group__0__Impl();
@@ -56119,23 +56163,23 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group__0__Impl"
-    // InternalSignalDSL.g:17010:1: rule__JvmWildcardTypeReference__Group__0__Impl : ( () ) ;
+    // InternalSignalDSL.g:17038:1: rule__JvmWildcardTypeReference__Group__0__Impl : ( () ) ;
     public final void rule__JvmWildcardTypeReference__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17014:1: ( ( () ) )
-            // InternalSignalDSL.g:17015:1: ( () )
+            // InternalSignalDSL.g:17042:1: ( ( () ) )
+            // InternalSignalDSL.g:17043:1: ( () )
             {
-            // InternalSignalDSL.g:17015:1: ( () )
-            // InternalSignalDSL.g:17016:2: ()
+            // InternalSignalDSL.g:17043:1: ( () )
+            // InternalSignalDSL.g:17044:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0()); 
             }
-            // InternalSignalDSL.g:17017:2: ()
-            // InternalSignalDSL.g:17017:3: 
+            // InternalSignalDSL.g:17045:2: ()
+            // InternalSignalDSL.g:17045:3: 
             {
             }
 
@@ -56160,14 +56204,14 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group__1"
-    // InternalSignalDSL.g:17025:1: rule__JvmWildcardTypeReference__Group__1 : rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2 ;
+    // InternalSignalDSL.g:17053:1: rule__JvmWildcardTypeReference__Group__1 : rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2 ;
     public final void rule__JvmWildcardTypeReference__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17029:1: ( rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2 )
-            // InternalSignalDSL.g:17030:2: rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2
+            // InternalSignalDSL.g:17057:1: ( rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2 )
+            // InternalSignalDSL.g:17058:2: rule__JvmWildcardTypeReference__Group__1__Impl rule__JvmWildcardTypeReference__Group__2
             {
             pushFollow(FOLLOW_115);
             rule__JvmWildcardTypeReference__Group__1__Impl();
@@ -56198,22 +56242,22 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group__1__Impl"
-    // InternalSignalDSL.g:17037:1: rule__JvmWildcardTypeReference__Group__1__Impl : ( '?' ) ;
+    // InternalSignalDSL.g:17065:1: rule__JvmWildcardTypeReference__Group__1__Impl : ( '?' ) ;
     public final void rule__JvmWildcardTypeReference__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17041:1: ( ( '?' ) )
-            // InternalSignalDSL.g:17042:1: ( '?' )
+            // InternalSignalDSL.g:17069:1: ( ( '?' ) )
+            // InternalSignalDSL.g:17070:1: ( '?' )
             {
-            // InternalSignalDSL.g:17042:1: ( '?' )
-            // InternalSignalDSL.g:17043:2: '?'
+            // InternalSignalDSL.g:17070:1: ( '?' )
+            // InternalSignalDSL.g:17071:2: '?'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); 
             }
-            match(input,99,FOLLOW_2); if (state.failed) return ;
+            match(input,96,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); 
             }
@@ -56239,14 +56283,14 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group__2"
-    // InternalSignalDSL.g:17052:1: rule__JvmWildcardTypeReference__Group__2 : rule__JvmWildcardTypeReference__Group__2__Impl ;
+    // InternalSignalDSL.g:17080:1: rule__JvmWildcardTypeReference__Group__2 : rule__JvmWildcardTypeReference__Group__2__Impl ;
     public final void rule__JvmWildcardTypeReference__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17056:1: ( rule__JvmWildcardTypeReference__Group__2__Impl )
-            // InternalSignalDSL.g:17057:2: rule__JvmWildcardTypeReference__Group__2__Impl
+            // InternalSignalDSL.g:17084:1: ( rule__JvmWildcardTypeReference__Group__2__Impl )
+            // InternalSignalDSL.g:17085:2: rule__JvmWildcardTypeReference__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmWildcardTypeReference__Group__2__Impl();
@@ -56272,31 +56316,31 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group__2__Impl"
-    // InternalSignalDSL.g:17063:1: rule__JvmWildcardTypeReference__Group__2__Impl : ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) ;
+    // InternalSignalDSL.g:17091:1: rule__JvmWildcardTypeReference__Group__2__Impl : ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) ;
     public final void rule__JvmWildcardTypeReference__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17067:1: ( ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) )
-            // InternalSignalDSL.g:17068:1: ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? )
+            // InternalSignalDSL.g:17095:1: ( ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? ) )
+            // InternalSignalDSL.g:17096:1: ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? )
             {
-            // InternalSignalDSL.g:17068:1: ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? )
-            // InternalSignalDSL.g:17069:2: ( rule__JvmWildcardTypeReference__Alternatives_2 )?
+            // InternalSignalDSL.g:17096:1: ( ( rule__JvmWildcardTypeReference__Alternatives_2 )? )
+            // InternalSignalDSL.g:17097:2: ( rule__JvmWildcardTypeReference__Alternatives_2 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2()); 
             }
-            // InternalSignalDSL.g:17070:2: ( rule__JvmWildcardTypeReference__Alternatives_2 )?
-            int alt139=2;
-            int LA139_0 = input.LA(1);
+            // InternalSignalDSL.g:17098:2: ( rule__JvmWildcardTypeReference__Alternatives_2 )?
+            int alt140=2;
+            int LA140_0 = input.LA(1);
 
-            if ( (LA139_0==45||LA139_0==49) ) {
-                alt139=1;
+            if ( (LA140_0==45||LA140_0==49) ) {
+                alt140=1;
             }
-            switch (alt139) {
+            switch (alt140) {
                 case 1 :
-                    // InternalSignalDSL.g:17070:3: rule__JvmWildcardTypeReference__Alternatives_2
+                    // InternalSignalDSL.g:17098:3: rule__JvmWildcardTypeReference__Alternatives_2
                     {
                     pushFollow(FOLLOW_2);
                     rule__JvmWildcardTypeReference__Alternatives_2();
@@ -56334,14 +56378,14 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__0"
-    // InternalSignalDSL.g:17079:1: rule__JvmWildcardTypeReference__Group_2_0__0 : rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1 ;
+    // InternalSignalDSL.g:17107:1: rule__JvmWildcardTypeReference__Group_2_0__0 : rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1 ;
     public final void rule__JvmWildcardTypeReference__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17083:1: ( rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1 )
-            // InternalSignalDSL.g:17084:2: rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1
+            // InternalSignalDSL.g:17111:1: ( rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1 )
+            // InternalSignalDSL.g:17112:2: rule__JvmWildcardTypeReference__Group_2_0__0__Impl rule__JvmWildcardTypeReference__Group_2_0__1
             {
             pushFollow(FOLLOW_116);
             rule__JvmWildcardTypeReference__Group_2_0__0__Impl();
@@ -56372,23 +56416,23 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__0__Impl"
-    // InternalSignalDSL.g:17091:1: rule__JvmWildcardTypeReference__Group_2_0__0__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) ;
+    // InternalSignalDSL.g:17119:1: rule__JvmWildcardTypeReference__Group_2_0__0__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) ;
     public final void rule__JvmWildcardTypeReference__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17095:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) )
-            // InternalSignalDSL.g:17096:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) )
+            // InternalSignalDSL.g:17123:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) ) )
+            // InternalSignalDSL.g:17124:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) )
             {
-            // InternalSignalDSL.g:17096:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) )
-            // InternalSignalDSL.g:17097:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 )
+            // InternalSignalDSL.g:17124:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 ) )
+            // InternalSignalDSL.g:17125:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0()); 
             }
-            // InternalSignalDSL.g:17098:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 )
-            // InternalSignalDSL.g:17098:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0
+            // InternalSignalDSL.g:17126:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 )
+            // InternalSignalDSL.g:17126:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0
             {
             pushFollow(FOLLOW_2);
             rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0();
@@ -56423,14 +56467,14 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__1"
-    // InternalSignalDSL.g:17106:1: rule__JvmWildcardTypeReference__Group_2_0__1 : rule__JvmWildcardTypeReference__Group_2_0__1__Impl ;
+    // InternalSignalDSL.g:17134:1: rule__JvmWildcardTypeReference__Group_2_0__1 : rule__JvmWildcardTypeReference__Group_2_0__1__Impl ;
     public final void rule__JvmWildcardTypeReference__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17110:1: ( rule__JvmWildcardTypeReference__Group_2_0__1__Impl )
-            // InternalSignalDSL.g:17111:2: rule__JvmWildcardTypeReference__Group_2_0__1__Impl
+            // InternalSignalDSL.g:17138:1: ( rule__JvmWildcardTypeReference__Group_2_0__1__Impl )
+            // InternalSignalDSL.g:17139:2: rule__JvmWildcardTypeReference__Group_2_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmWildcardTypeReference__Group_2_0__1__Impl();
@@ -56456,35 +56500,35 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_0__1__Impl"
-    // InternalSignalDSL.g:17117:1: rule__JvmWildcardTypeReference__Group_2_0__1__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) ;
+    // InternalSignalDSL.g:17145:1: rule__JvmWildcardTypeReference__Group_2_0__1__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) ;
     public final void rule__JvmWildcardTypeReference__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17121:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) )
-            // InternalSignalDSL.g:17122:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* )
+            // InternalSignalDSL.g:17149:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* ) )
+            // InternalSignalDSL.g:17150:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* )
             {
-            // InternalSignalDSL.g:17122:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* )
-            // InternalSignalDSL.g:17123:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )*
+            // InternalSignalDSL.g:17150:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )* )
+            // InternalSignalDSL.g:17151:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1()); 
             }
-            // InternalSignalDSL.g:17124:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )*
-            loop140:
+            // InternalSignalDSL.g:17152:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 )*
+            loop141:
             do {
-                int alt140=2;
-                int LA140_0 = input.LA(1);
+                int alt141=2;
+                int LA141_0 = input.LA(1);
 
-                if ( (LA140_0==100) ) {
-                    alt140=1;
+                if ( (LA141_0==97) ) {
+                    alt141=1;
                 }
 
 
-                switch (alt140) {
+                switch (alt141) {
             	case 1 :
-            	    // InternalSignalDSL.g:17124:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1
+            	    // InternalSignalDSL.g:17152:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1
             	    {
             	    pushFollow(FOLLOW_117);
             	    rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1();
@@ -56496,7 +56540,7 @@
             	    break;
 
             	default :
-            	    break loop140;
+            	    break loop141;
                 }
             } while (true);
 
@@ -56525,14 +56569,14 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__0"
-    // InternalSignalDSL.g:17133:1: rule__JvmWildcardTypeReference__Group_2_1__0 : rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1 ;
+    // InternalSignalDSL.g:17161:1: rule__JvmWildcardTypeReference__Group_2_1__0 : rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1 ;
     public final void rule__JvmWildcardTypeReference__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17137:1: ( rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1 )
-            // InternalSignalDSL.g:17138:2: rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1
+            // InternalSignalDSL.g:17165:1: ( rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1 )
+            // InternalSignalDSL.g:17166:2: rule__JvmWildcardTypeReference__Group_2_1__0__Impl rule__JvmWildcardTypeReference__Group_2_1__1
             {
             pushFollow(FOLLOW_116);
             rule__JvmWildcardTypeReference__Group_2_1__0__Impl();
@@ -56563,23 +56607,23 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__0__Impl"
-    // InternalSignalDSL.g:17145:1: rule__JvmWildcardTypeReference__Group_2_1__0__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) ;
+    // InternalSignalDSL.g:17173:1: rule__JvmWildcardTypeReference__Group_2_1__0__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) ;
     public final void rule__JvmWildcardTypeReference__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17149:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) )
-            // InternalSignalDSL.g:17150:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) )
+            // InternalSignalDSL.g:17177:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) ) )
+            // InternalSignalDSL.g:17178:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) )
             {
-            // InternalSignalDSL.g:17150:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) )
-            // InternalSignalDSL.g:17151:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 )
+            // InternalSignalDSL.g:17178:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 ) )
+            // InternalSignalDSL.g:17179:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0()); 
             }
-            // InternalSignalDSL.g:17152:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 )
-            // InternalSignalDSL.g:17152:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0
+            // InternalSignalDSL.g:17180:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 )
+            // InternalSignalDSL.g:17180:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0
             {
             pushFollow(FOLLOW_2);
             rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0();
@@ -56614,14 +56658,14 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__1"
-    // InternalSignalDSL.g:17160:1: rule__JvmWildcardTypeReference__Group_2_1__1 : rule__JvmWildcardTypeReference__Group_2_1__1__Impl ;
+    // InternalSignalDSL.g:17188:1: rule__JvmWildcardTypeReference__Group_2_1__1 : rule__JvmWildcardTypeReference__Group_2_1__1__Impl ;
     public final void rule__JvmWildcardTypeReference__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17164:1: ( rule__JvmWildcardTypeReference__Group_2_1__1__Impl )
-            // InternalSignalDSL.g:17165:2: rule__JvmWildcardTypeReference__Group_2_1__1__Impl
+            // InternalSignalDSL.g:17192:1: ( rule__JvmWildcardTypeReference__Group_2_1__1__Impl )
+            // InternalSignalDSL.g:17193:2: rule__JvmWildcardTypeReference__Group_2_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmWildcardTypeReference__Group_2_1__1__Impl();
@@ -56647,35 +56691,35 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__Group_2_1__1__Impl"
-    // InternalSignalDSL.g:17171:1: rule__JvmWildcardTypeReference__Group_2_1__1__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) ;
+    // InternalSignalDSL.g:17199:1: rule__JvmWildcardTypeReference__Group_2_1__1__Impl : ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) ;
     public final void rule__JvmWildcardTypeReference__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17175:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) )
-            // InternalSignalDSL.g:17176:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* )
+            // InternalSignalDSL.g:17203:1: ( ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* ) )
+            // InternalSignalDSL.g:17204:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* )
             {
-            // InternalSignalDSL.g:17176:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* )
-            // InternalSignalDSL.g:17177:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )*
+            // InternalSignalDSL.g:17204:1: ( ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )* )
+            // InternalSignalDSL.g:17205:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1()); 
             }
-            // InternalSignalDSL.g:17178:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )*
-            loop141:
+            // InternalSignalDSL.g:17206:2: ( rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 )*
+            loop142:
             do {
-                int alt141=2;
-                int LA141_0 = input.LA(1);
+                int alt142=2;
+                int LA142_0 = input.LA(1);
 
-                if ( (LA141_0==100) ) {
-                    alt141=1;
+                if ( (LA142_0==97) ) {
+                    alt142=1;
                 }
 
 
-                switch (alt141) {
+                switch (alt142) {
             	case 1 :
-            	    // InternalSignalDSL.g:17178:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1
+            	    // InternalSignalDSL.g:17206:3: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1
             	    {
             	    pushFollow(FOLLOW_117);
             	    rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1();
@@ -56687,7 +56731,7 @@
             	    break;
 
             	default :
-            	    break loop141;
+            	    break loop142;
                 }
             } while (true);
 
@@ -56716,14 +56760,14 @@
 
 
     // $ANTLR start "rule__JvmUpperBound__Group__0"
-    // InternalSignalDSL.g:17187:1: rule__JvmUpperBound__Group__0 : rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1 ;
+    // InternalSignalDSL.g:17215:1: rule__JvmUpperBound__Group__0 : rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1 ;
     public final void rule__JvmUpperBound__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17191:1: ( rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1 )
-            // InternalSignalDSL.g:17192:2: rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1
+            // InternalSignalDSL.g:17219:1: ( rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1 )
+            // InternalSignalDSL.g:17220:2: rule__JvmUpperBound__Group__0__Impl rule__JvmUpperBound__Group__1
             {
             pushFollow(FOLLOW_52);
             rule__JvmUpperBound__Group__0__Impl();
@@ -56754,17 +56798,17 @@
 
 
     // $ANTLR start "rule__JvmUpperBound__Group__0__Impl"
-    // InternalSignalDSL.g:17199:1: rule__JvmUpperBound__Group__0__Impl : ( 'extends' ) ;
+    // InternalSignalDSL.g:17227:1: rule__JvmUpperBound__Group__0__Impl : ( 'extends' ) ;
     public final void rule__JvmUpperBound__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17203:1: ( ( 'extends' ) )
-            // InternalSignalDSL.g:17204:1: ( 'extends' )
+            // InternalSignalDSL.g:17231:1: ( ( 'extends' ) )
+            // InternalSignalDSL.g:17232:1: ( 'extends' )
             {
-            // InternalSignalDSL.g:17204:1: ( 'extends' )
-            // InternalSignalDSL.g:17205:2: 'extends'
+            // InternalSignalDSL.g:17232:1: ( 'extends' )
+            // InternalSignalDSL.g:17233:2: 'extends'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); 
@@ -56795,14 +56839,14 @@
 
 
     // $ANTLR start "rule__JvmUpperBound__Group__1"
-    // InternalSignalDSL.g:17214:1: rule__JvmUpperBound__Group__1 : rule__JvmUpperBound__Group__1__Impl ;
+    // InternalSignalDSL.g:17242:1: rule__JvmUpperBound__Group__1 : rule__JvmUpperBound__Group__1__Impl ;
     public final void rule__JvmUpperBound__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17218:1: ( rule__JvmUpperBound__Group__1__Impl )
-            // InternalSignalDSL.g:17219:2: rule__JvmUpperBound__Group__1__Impl
+            // InternalSignalDSL.g:17246:1: ( rule__JvmUpperBound__Group__1__Impl )
+            // InternalSignalDSL.g:17247:2: rule__JvmUpperBound__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmUpperBound__Group__1__Impl();
@@ -56828,23 +56872,23 @@
 
 
     // $ANTLR start "rule__JvmUpperBound__Group__1__Impl"
-    // InternalSignalDSL.g:17225:1: rule__JvmUpperBound__Group__1__Impl : ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) ;
+    // InternalSignalDSL.g:17253:1: rule__JvmUpperBound__Group__1__Impl : ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) ;
     public final void rule__JvmUpperBound__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17229:1: ( ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) )
-            // InternalSignalDSL.g:17230:1: ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) )
+            // InternalSignalDSL.g:17257:1: ( ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) ) )
+            // InternalSignalDSL.g:17258:1: ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) )
             {
-            // InternalSignalDSL.g:17230:1: ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) )
-            // InternalSignalDSL.g:17231:2: ( rule__JvmUpperBound__TypeReferenceAssignment_1 )
+            // InternalSignalDSL.g:17258:1: ( ( rule__JvmUpperBound__TypeReferenceAssignment_1 ) )
+            // InternalSignalDSL.g:17259:2: ( rule__JvmUpperBound__TypeReferenceAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1()); 
             }
-            // InternalSignalDSL.g:17232:2: ( rule__JvmUpperBound__TypeReferenceAssignment_1 )
-            // InternalSignalDSL.g:17232:3: rule__JvmUpperBound__TypeReferenceAssignment_1
+            // InternalSignalDSL.g:17260:2: ( rule__JvmUpperBound__TypeReferenceAssignment_1 )
+            // InternalSignalDSL.g:17260:3: rule__JvmUpperBound__TypeReferenceAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmUpperBound__TypeReferenceAssignment_1();
@@ -56879,14 +56923,14 @@
 
 
     // $ANTLR start "rule__JvmUpperBoundAnded__Group__0"
-    // InternalSignalDSL.g:17241:1: rule__JvmUpperBoundAnded__Group__0 : rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1 ;
+    // InternalSignalDSL.g:17269:1: rule__JvmUpperBoundAnded__Group__0 : rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1 ;
     public final void rule__JvmUpperBoundAnded__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17245:1: ( rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1 )
-            // InternalSignalDSL.g:17246:2: rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1
+            // InternalSignalDSL.g:17273:1: ( rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1 )
+            // InternalSignalDSL.g:17274:2: rule__JvmUpperBoundAnded__Group__0__Impl rule__JvmUpperBoundAnded__Group__1
             {
             pushFollow(FOLLOW_52);
             rule__JvmUpperBoundAnded__Group__0__Impl();
@@ -56917,22 +56961,22 @@
 
 
     // $ANTLR start "rule__JvmUpperBoundAnded__Group__0__Impl"
-    // InternalSignalDSL.g:17253:1: rule__JvmUpperBoundAnded__Group__0__Impl : ( '&' ) ;
+    // InternalSignalDSL.g:17281:1: rule__JvmUpperBoundAnded__Group__0__Impl : ( '&' ) ;
     public final void rule__JvmUpperBoundAnded__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17257:1: ( ( '&' ) )
-            // InternalSignalDSL.g:17258:1: ( '&' )
+            // InternalSignalDSL.g:17285:1: ( ( '&' ) )
+            // InternalSignalDSL.g:17286:1: ( '&' )
             {
-            // InternalSignalDSL.g:17258:1: ( '&' )
-            // InternalSignalDSL.g:17259:2: '&'
+            // InternalSignalDSL.g:17286:1: ( '&' )
+            // InternalSignalDSL.g:17287:2: '&'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); 
             }
-            match(input,100,FOLLOW_2); if (state.failed) return ;
+            match(input,97,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); 
             }
@@ -56958,14 +57002,14 @@
 
 
     // $ANTLR start "rule__JvmUpperBoundAnded__Group__1"
-    // InternalSignalDSL.g:17268:1: rule__JvmUpperBoundAnded__Group__1 : rule__JvmUpperBoundAnded__Group__1__Impl ;
+    // InternalSignalDSL.g:17296:1: rule__JvmUpperBoundAnded__Group__1 : rule__JvmUpperBoundAnded__Group__1__Impl ;
     public final void rule__JvmUpperBoundAnded__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17272:1: ( rule__JvmUpperBoundAnded__Group__1__Impl )
-            // InternalSignalDSL.g:17273:2: rule__JvmUpperBoundAnded__Group__1__Impl
+            // InternalSignalDSL.g:17300:1: ( rule__JvmUpperBoundAnded__Group__1__Impl )
+            // InternalSignalDSL.g:17301:2: rule__JvmUpperBoundAnded__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmUpperBoundAnded__Group__1__Impl();
@@ -56991,23 +57035,23 @@
 
 
     // $ANTLR start "rule__JvmUpperBoundAnded__Group__1__Impl"
-    // InternalSignalDSL.g:17279:1: rule__JvmUpperBoundAnded__Group__1__Impl : ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) ;
+    // InternalSignalDSL.g:17307:1: rule__JvmUpperBoundAnded__Group__1__Impl : ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) ;
     public final void rule__JvmUpperBoundAnded__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17283:1: ( ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) )
-            // InternalSignalDSL.g:17284:1: ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) )
+            // InternalSignalDSL.g:17311:1: ( ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) ) )
+            // InternalSignalDSL.g:17312:1: ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) )
             {
-            // InternalSignalDSL.g:17284:1: ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) )
-            // InternalSignalDSL.g:17285:2: ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 )
+            // InternalSignalDSL.g:17312:1: ( ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 ) )
+            // InternalSignalDSL.g:17313:2: ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1()); 
             }
-            // InternalSignalDSL.g:17286:2: ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 )
-            // InternalSignalDSL.g:17286:3: rule__JvmUpperBoundAnded__TypeReferenceAssignment_1
+            // InternalSignalDSL.g:17314:2: ( rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 )
+            // InternalSignalDSL.g:17314:3: rule__JvmUpperBoundAnded__TypeReferenceAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmUpperBoundAnded__TypeReferenceAssignment_1();
@@ -57042,14 +57086,14 @@
 
 
     // $ANTLR start "rule__JvmLowerBound__Group__0"
-    // InternalSignalDSL.g:17295:1: rule__JvmLowerBound__Group__0 : rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1 ;
+    // InternalSignalDSL.g:17323:1: rule__JvmLowerBound__Group__0 : rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1 ;
     public final void rule__JvmLowerBound__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17299:1: ( rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1 )
-            // InternalSignalDSL.g:17300:2: rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1
+            // InternalSignalDSL.g:17327:1: ( rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1 )
+            // InternalSignalDSL.g:17328:2: rule__JvmLowerBound__Group__0__Impl rule__JvmLowerBound__Group__1
             {
             pushFollow(FOLLOW_52);
             rule__JvmLowerBound__Group__0__Impl();
@@ -57080,17 +57124,17 @@
 
 
     // $ANTLR start "rule__JvmLowerBound__Group__0__Impl"
-    // InternalSignalDSL.g:17307:1: rule__JvmLowerBound__Group__0__Impl : ( 'super' ) ;
+    // InternalSignalDSL.g:17335:1: rule__JvmLowerBound__Group__0__Impl : ( 'super' ) ;
     public final void rule__JvmLowerBound__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17311:1: ( ( 'super' ) )
-            // InternalSignalDSL.g:17312:1: ( 'super' )
+            // InternalSignalDSL.g:17339:1: ( ( 'super' ) )
+            // InternalSignalDSL.g:17340:1: ( 'super' )
             {
-            // InternalSignalDSL.g:17312:1: ( 'super' )
-            // InternalSignalDSL.g:17313:2: 'super'
+            // InternalSignalDSL.g:17340:1: ( 'super' )
+            // InternalSignalDSL.g:17341:2: 'super'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); 
@@ -57121,14 +57165,14 @@
 
 
     // $ANTLR start "rule__JvmLowerBound__Group__1"
-    // InternalSignalDSL.g:17322:1: rule__JvmLowerBound__Group__1 : rule__JvmLowerBound__Group__1__Impl ;
+    // InternalSignalDSL.g:17350:1: rule__JvmLowerBound__Group__1 : rule__JvmLowerBound__Group__1__Impl ;
     public final void rule__JvmLowerBound__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17326:1: ( rule__JvmLowerBound__Group__1__Impl )
-            // InternalSignalDSL.g:17327:2: rule__JvmLowerBound__Group__1__Impl
+            // InternalSignalDSL.g:17354:1: ( rule__JvmLowerBound__Group__1__Impl )
+            // InternalSignalDSL.g:17355:2: rule__JvmLowerBound__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmLowerBound__Group__1__Impl();
@@ -57154,23 +57198,23 @@
 
 
     // $ANTLR start "rule__JvmLowerBound__Group__1__Impl"
-    // InternalSignalDSL.g:17333:1: rule__JvmLowerBound__Group__1__Impl : ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) ;
+    // InternalSignalDSL.g:17361:1: rule__JvmLowerBound__Group__1__Impl : ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) ;
     public final void rule__JvmLowerBound__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17337:1: ( ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) )
-            // InternalSignalDSL.g:17338:1: ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) )
+            // InternalSignalDSL.g:17365:1: ( ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) ) )
+            // InternalSignalDSL.g:17366:1: ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) )
             {
-            // InternalSignalDSL.g:17338:1: ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) )
-            // InternalSignalDSL.g:17339:2: ( rule__JvmLowerBound__TypeReferenceAssignment_1 )
+            // InternalSignalDSL.g:17366:1: ( ( rule__JvmLowerBound__TypeReferenceAssignment_1 ) )
+            // InternalSignalDSL.g:17367:2: ( rule__JvmLowerBound__TypeReferenceAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1()); 
             }
-            // InternalSignalDSL.g:17340:2: ( rule__JvmLowerBound__TypeReferenceAssignment_1 )
-            // InternalSignalDSL.g:17340:3: rule__JvmLowerBound__TypeReferenceAssignment_1
+            // InternalSignalDSL.g:17368:2: ( rule__JvmLowerBound__TypeReferenceAssignment_1 )
+            // InternalSignalDSL.g:17368:3: rule__JvmLowerBound__TypeReferenceAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmLowerBound__TypeReferenceAssignment_1();
@@ -57205,14 +57249,14 @@
 
 
     // $ANTLR start "rule__JvmLowerBoundAnded__Group__0"
-    // InternalSignalDSL.g:17349:1: rule__JvmLowerBoundAnded__Group__0 : rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1 ;
+    // InternalSignalDSL.g:17377:1: rule__JvmLowerBoundAnded__Group__0 : rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1 ;
     public final void rule__JvmLowerBoundAnded__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17353:1: ( rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1 )
-            // InternalSignalDSL.g:17354:2: rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1
+            // InternalSignalDSL.g:17381:1: ( rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1 )
+            // InternalSignalDSL.g:17382:2: rule__JvmLowerBoundAnded__Group__0__Impl rule__JvmLowerBoundAnded__Group__1
             {
             pushFollow(FOLLOW_52);
             rule__JvmLowerBoundAnded__Group__0__Impl();
@@ -57243,22 +57287,22 @@
 
 
     // $ANTLR start "rule__JvmLowerBoundAnded__Group__0__Impl"
-    // InternalSignalDSL.g:17361:1: rule__JvmLowerBoundAnded__Group__0__Impl : ( '&' ) ;
+    // InternalSignalDSL.g:17389:1: rule__JvmLowerBoundAnded__Group__0__Impl : ( '&' ) ;
     public final void rule__JvmLowerBoundAnded__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17365:1: ( ( '&' ) )
-            // InternalSignalDSL.g:17366:1: ( '&' )
+            // InternalSignalDSL.g:17393:1: ( ( '&' ) )
+            // InternalSignalDSL.g:17394:1: ( '&' )
             {
-            // InternalSignalDSL.g:17366:1: ( '&' )
-            // InternalSignalDSL.g:17367:2: '&'
+            // InternalSignalDSL.g:17394:1: ( '&' )
+            // InternalSignalDSL.g:17395:2: '&'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); 
             }
-            match(input,100,FOLLOW_2); if (state.failed) return ;
+            match(input,97,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); 
             }
@@ -57284,14 +57328,14 @@
 
 
     // $ANTLR start "rule__JvmLowerBoundAnded__Group__1"
-    // InternalSignalDSL.g:17376:1: rule__JvmLowerBoundAnded__Group__1 : rule__JvmLowerBoundAnded__Group__1__Impl ;
+    // InternalSignalDSL.g:17404:1: rule__JvmLowerBoundAnded__Group__1 : rule__JvmLowerBoundAnded__Group__1__Impl ;
     public final void rule__JvmLowerBoundAnded__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17380:1: ( rule__JvmLowerBoundAnded__Group__1__Impl )
-            // InternalSignalDSL.g:17381:2: rule__JvmLowerBoundAnded__Group__1__Impl
+            // InternalSignalDSL.g:17408:1: ( rule__JvmLowerBoundAnded__Group__1__Impl )
+            // InternalSignalDSL.g:17409:2: rule__JvmLowerBoundAnded__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__JvmLowerBoundAnded__Group__1__Impl();
@@ -57317,23 +57361,23 @@
 
 
     // $ANTLR start "rule__JvmLowerBoundAnded__Group__1__Impl"
-    // InternalSignalDSL.g:17387:1: rule__JvmLowerBoundAnded__Group__1__Impl : ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) ;
+    // InternalSignalDSL.g:17415:1: rule__JvmLowerBoundAnded__Group__1__Impl : ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) ;
     public final void rule__JvmLowerBoundAnded__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17391:1: ( ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) )
-            // InternalSignalDSL.g:17392:1: ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) )
+            // InternalSignalDSL.g:17419:1: ( ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) ) )
+            // InternalSignalDSL.g:17420:1: ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) )
             {
-            // InternalSignalDSL.g:17392:1: ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) )
-            // InternalSignalDSL.g:17393:2: ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 )
+            // InternalSignalDSL.g:17420:1: ( ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 ) )
+            // InternalSignalDSL.g:17421:2: ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1()); 
             }
-            // InternalSignalDSL.g:17394:2: ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 )
-            // InternalSignalDSL.g:17394:3: rule__JvmLowerBoundAnded__TypeReferenceAssignment_1
+            // InternalSignalDSL.g:17422:2: ( rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 )
+            // InternalSignalDSL.g:17422:3: rule__JvmLowerBoundAnded__TypeReferenceAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__JvmLowerBoundAnded__TypeReferenceAssignment_1();
@@ -57368,14 +57412,14 @@
 
 
     // $ANTLR start "rule__QualifiedNameWithWildcard__Group__0"
-    // InternalSignalDSL.g:17403:1: rule__QualifiedNameWithWildcard__Group__0 : rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 ;
+    // InternalSignalDSL.g:17431:1: rule__QualifiedNameWithWildcard__Group__0 : rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 ;
     public final void rule__QualifiedNameWithWildcard__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17407:1: ( rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 )
-            // InternalSignalDSL.g:17408:2: rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1
+            // InternalSignalDSL.g:17435:1: ( rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 )
+            // InternalSignalDSL.g:17436:2: rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1
             {
             pushFollow(FOLLOW_111);
             rule__QualifiedNameWithWildcard__Group__0__Impl();
@@ -57406,17 +57450,17 @@
 
 
     // $ANTLR start "rule__QualifiedNameWithWildcard__Group__0__Impl"
-    // InternalSignalDSL.g:17415:1: rule__QualifiedNameWithWildcard__Group__0__Impl : ( ruleQualifiedName ) ;
+    // InternalSignalDSL.g:17443:1: rule__QualifiedNameWithWildcard__Group__0__Impl : ( ruleQualifiedName ) ;
     public final void rule__QualifiedNameWithWildcard__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17419:1: ( ( ruleQualifiedName ) )
-            // InternalSignalDSL.g:17420:1: ( ruleQualifiedName )
+            // InternalSignalDSL.g:17447:1: ( ( ruleQualifiedName ) )
+            // InternalSignalDSL.g:17448:1: ( ruleQualifiedName )
             {
-            // InternalSignalDSL.g:17420:1: ( ruleQualifiedName )
-            // InternalSignalDSL.g:17421:2: ruleQualifiedName
+            // InternalSignalDSL.g:17448:1: ( ruleQualifiedName )
+            // InternalSignalDSL.g:17449:2: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); 
@@ -57451,14 +57495,14 @@
 
 
     // $ANTLR start "rule__QualifiedNameWithWildcard__Group__1"
-    // InternalSignalDSL.g:17430:1: rule__QualifiedNameWithWildcard__Group__1 : rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2 ;
+    // InternalSignalDSL.g:17458:1: rule__QualifiedNameWithWildcard__Group__1 : rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2 ;
     public final void rule__QualifiedNameWithWildcard__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17434:1: ( rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2 )
-            // InternalSignalDSL.g:17435:2: rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2
+            // InternalSignalDSL.g:17462:1: ( rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2 )
+            // InternalSignalDSL.g:17463:2: rule__QualifiedNameWithWildcard__Group__1__Impl rule__QualifiedNameWithWildcard__Group__2
             {
             pushFollow(FOLLOW_118);
             rule__QualifiedNameWithWildcard__Group__1__Impl();
@@ -57489,17 +57533,17 @@
 
 
     // $ANTLR start "rule__QualifiedNameWithWildcard__Group__1__Impl"
-    // InternalSignalDSL.g:17442:1: rule__QualifiedNameWithWildcard__Group__1__Impl : ( '.' ) ;
+    // InternalSignalDSL.g:17470:1: rule__QualifiedNameWithWildcard__Group__1__Impl : ( '.' ) ;
     public final void rule__QualifiedNameWithWildcard__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17446:1: ( ( '.' ) )
-            // InternalSignalDSL.g:17447:1: ( '.' )
+            // InternalSignalDSL.g:17474:1: ( ( '.' ) )
+            // InternalSignalDSL.g:17475:1: ( '.' )
             {
-            // InternalSignalDSL.g:17447:1: ( '.' )
-            // InternalSignalDSL.g:17448:2: '.'
+            // InternalSignalDSL.g:17475:1: ( '.' )
+            // InternalSignalDSL.g:17476:2: '.'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); 
@@ -57530,14 +57574,14 @@
 
 
     // $ANTLR start "rule__QualifiedNameWithWildcard__Group__2"
-    // InternalSignalDSL.g:17457:1: rule__QualifiedNameWithWildcard__Group__2 : rule__QualifiedNameWithWildcard__Group__2__Impl ;
+    // InternalSignalDSL.g:17485:1: rule__QualifiedNameWithWildcard__Group__2 : rule__QualifiedNameWithWildcard__Group__2__Impl ;
     public final void rule__QualifiedNameWithWildcard__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17461:1: ( rule__QualifiedNameWithWildcard__Group__2__Impl )
-            // InternalSignalDSL.g:17462:2: rule__QualifiedNameWithWildcard__Group__2__Impl
+            // InternalSignalDSL.g:17489:1: ( rule__QualifiedNameWithWildcard__Group__2__Impl )
+            // InternalSignalDSL.g:17490:2: rule__QualifiedNameWithWildcard__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__QualifiedNameWithWildcard__Group__2__Impl();
@@ -57563,17 +57607,17 @@
 
 
     // $ANTLR start "rule__QualifiedNameWithWildcard__Group__2__Impl"
-    // InternalSignalDSL.g:17468:1: rule__QualifiedNameWithWildcard__Group__2__Impl : ( '*' ) ;
+    // InternalSignalDSL.g:17496:1: rule__QualifiedNameWithWildcard__Group__2__Impl : ( '*' ) ;
     public final void rule__QualifiedNameWithWildcard__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17472:1: ( ( '*' ) )
-            // InternalSignalDSL.g:17473:1: ( '*' )
+            // InternalSignalDSL.g:17500:1: ( ( '*' ) )
+            // InternalSignalDSL.g:17501:1: ( '*' )
             {
-            // InternalSignalDSL.g:17473:1: ( '*' )
-            // InternalSignalDSL.g:17474:2: '*'
+            // InternalSignalDSL.g:17501:1: ( '*' )
+            // InternalSignalDSL.g:17502:2: '*'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); 
@@ -57604,14 +57648,14 @@
 
 
     // $ANTLR start "rule__QualifiedNameInStaticImport__Group__0"
-    // InternalSignalDSL.g:17484:1: rule__QualifiedNameInStaticImport__Group__0 : rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1 ;
+    // InternalSignalDSL.g:17512:1: rule__QualifiedNameInStaticImport__Group__0 : rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1 ;
     public final void rule__QualifiedNameInStaticImport__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17488:1: ( rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1 )
-            // InternalSignalDSL.g:17489:2: rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1
+            // InternalSignalDSL.g:17516:1: ( rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1 )
+            // InternalSignalDSL.g:17517:2: rule__QualifiedNameInStaticImport__Group__0__Impl rule__QualifiedNameInStaticImport__Group__1
             {
             pushFollow(FOLLOW_111);
             rule__QualifiedNameInStaticImport__Group__0__Impl();
@@ -57642,17 +57686,17 @@
 
 
     // $ANTLR start "rule__QualifiedNameInStaticImport__Group__0__Impl"
-    // InternalSignalDSL.g:17496:1: rule__QualifiedNameInStaticImport__Group__0__Impl : ( ruleValidID ) ;
+    // InternalSignalDSL.g:17524:1: rule__QualifiedNameInStaticImport__Group__0__Impl : ( ruleValidID ) ;
     public final void rule__QualifiedNameInStaticImport__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17500:1: ( ( ruleValidID ) )
-            // InternalSignalDSL.g:17501:1: ( ruleValidID )
+            // InternalSignalDSL.g:17528:1: ( ( ruleValidID ) )
+            // InternalSignalDSL.g:17529:1: ( ruleValidID )
             {
-            // InternalSignalDSL.g:17501:1: ( ruleValidID )
-            // InternalSignalDSL.g:17502:2: ruleValidID
+            // InternalSignalDSL.g:17529:1: ( ruleValidID )
+            // InternalSignalDSL.g:17530:2: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); 
@@ -57687,14 +57731,14 @@
 
 
     // $ANTLR start "rule__QualifiedNameInStaticImport__Group__1"
-    // InternalSignalDSL.g:17511:1: rule__QualifiedNameInStaticImport__Group__1 : rule__QualifiedNameInStaticImport__Group__1__Impl ;
+    // InternalSignalDSL.g:17539:1: rule__QualifiedNameInStaticImport__Group__1 : rule__QualifiedNameInStaticImport__Group__1__Impl ;
     public final void rule__QualifiedNameInStaticImport__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17515:1: ( rule__QualifiedNameInStaticImport__Group__1__Impl )
-            // InternalSignalDSL.g:17516:2: rule__QualifiedNameInStaticImport__Group__1__Impl
+            // InternalSignalDSL.g:17543:1: ( rule__QualifiedNameInStaticImport__Group__1__Impl )
+            // InternalSignalDSL.g:17544:2: rule__QualifiedNameInStaticImport__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__QualifiedNameInStaticImport__Group__1__Impl();
@@ -57720,17 +57764,17 @@
 
 
     // $ANTLR start "rule__QualifiedNameInStaticImport__Group__1__Impl"
-    // InternalSignalDSL.g:17522:1: rule__QualifiedNameInStaticImport__Group__1__Impl : ( '.' ) ;
+    // InternalSignalDSL.g:17550:1: rule__QualifiedNameInStaticImport__Group__1__Impl : ( '.' ) ;
     public final void rule__QualifiedNameInStaticImport__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17526:1: ( ( '.' ) )
-            // InternalSignalDSL.g:17527:1: ( '.' )
+            // InternalSignalDSL.g:17554:1: ( ( '.' ) )
+            // InternalSignalDSL.g:17555:1: ( '.' )
             {
-            // InternalSignalDSL.g:17527:1: ( '.' )
-            // InternalSignalDSL.g:17528:2: '.'
+            // InternalSignalDSL.g:17555:1: ( '.' )
+            // InternalSignalDSL.g:17556:2: '.'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); 
@@ -57761,17 +57805,17 @@
 
 
     // $ANTLR start "rule__SignalModel__ImportSectionAssignment_0"
-    // InternalSignalDSL.g:17538:1: rule__SignalModel__ImportSectionAssignment_0 : ( ruleXImportSection ) ;
+    // InternalSignalDSL.g:17566:1: rule__SignalModel__ImportSectionAssignment_0 : ( ruleXImportSection ) ;
     public final void rule__SignalModel__ImportSectionAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17542:1: ( ( ruleXImportSection ) )
-            // InternalSignalDSL.g:17543:2: ( ruleXImportSection )
+            // InternalSignalDSL.g:17570:1: ( ( ruleXImportSection ) )
+            // InternalSignalDSL.g:17571:2: ( ruleXImportSection )
             {
-            // InternalSignalDSL.g:17543:2: ( ruleXImportSection )
-            // InternalSignalDSL.g:17544:3: ruleXImportSection
+            // InternalSignalDSL.g:17571:2: ( ruleXImportSection )
+            // InternalSignalDSL.g:17572:3: ruleXImportSection
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalModelAccess().getImportSectionXImportSectionParserRuleCall_0_0()); 
@@ -57806,17 +57850,17 @@
 
 
     // $ANTLR start "rule__SignalModel__PackagesAssignment_1"
-    // InternalSignalDSL.g:17553:1: rule__SignalModel__PackagesAssignment_1 : ( ruleSignalPackage ) ;
+    // InternalSignalDSL.g:17581:1: rule__SignalModel__PackagesAssignment_1 : ( ruleSignalPackage ) ;
     public final void rule__SignalModel__PackagesAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17557:1: ( ( ruleSignalPackage ) )
-            // InternalSignalDSL.g:17558:2: ( ruleSignalPackage )
+            // InternalSignalDSL.g:17585:1: ( ( ruleSignalPackage ) )
+            // InternalSignalDSL.g:17586:2: ( ruleSignalPackage )
             {
-            // InternalSignalDSL.g:17558:2: ( ruleSignalPackage )
-            // InternalSignalDSL.g:17559:3: ruleSignalPackage
+            // InternalSignalDSL.g:17586:2: ( ruleSignalPackage )
+            // InternalSignalDSL.g:17587:3: ruleSignalPackage
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalModelAccess().getPackagesSignalPackageParserRuleCall_1_0()); 
@@ -57851,17 +57895,17 @@
 
 
     // $ANTLR start "rule__SignalPackage__NameAssignment_2"
-    // InternalSignalDSL.g:17568:1: rule__SignalPackage__NameAssignment_2 : ( ruleQualifiedName ) ;
+    // InternalSignalDSL.g:17596:1: rule__SignalPackage__NameAssignment_2 : ( ruleQualifiedName ) ;
     public final void rule__SignalPackage__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17572:1: ( ( ruleQualifiedName ) )
-            // InternalSignalDSL.g:17573:2: ( ruleQualifiedName )
+            // InternalSignalDSL.g:17600:1: ( ( ruleQualifiedName ) )
+            // InternalSignalDSL.g:17601:2: ( ruleQualifiedName )
             {
-            // InternalSignalDSL.g:17573:2: ( ruleQualifiedName )
-            // InternalSignalDSL.g:17574:3: ruleQualifiedName
+            // InternalSignalDSL.g:17601:2: ( ruleQualifiedName )
+            // InternalSignalDSL.g:17602:3: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalPackageAccess().getNameQualifiedNameParserRuleCall_2_0()); 
@@ -57896,17 +57940,17 @@
 
 
     // $ANTLR start "rule__SignalPackage__WatchersAssignment_3_1"
-    // InternalSignalDSL.g:17583:1: rule__SignalPackage__WatchersAssignment_3_1 : ( ruleSignalWatcher ) ;
+    // InternalSignalDSL.g:17611:1: rule__SignalPackage__WatchersAssignment_3_1 : ( ruleSignalWatcher ) ;
     public final void rule__SignalPackage__WatchersAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17587:1: ( ( ruleSignalWatcher ) )
-            // InternalSignalDSL.g:17588:2: ( ruleSignalWatcher )
+            // InternalSignalDSL.g:17615:1: ( ( ruleSignalWatcher ) )
+            // InternalSignalDSL.g:17616:2: ( ruleSignalWatcher )
             {
-            // InternalSignalDSL.g:17588:2: ( ruleSignalWatcher )
-            // InternalSignalDSL.g:17589:3: ruleSignalWatcher
+            // InternalSignalDSL.g:17616:2: ( ruleSignalWatcher )
+            // InternalSignalDSL.g:17617:3: ruleSignalWatcher
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalPackageAccess().getWatchersSignalWatcherParserRuleCall_3_1_0()); 
@@ -57941,24 +57985,28 @@
 
 
     // $ANTLR start "rule__SignalWatcher__NameAssignment_2"
-    // InternalSignalDSL.g:17598:1: rule__SignalWatcher__NameAssignment_2 : ( RULE_ID ) ;
+    // InternalSignalDSL.g:17626:1: rule__SignalWatcher__NameAssignment_2 : ( ruleTRANSLATABLEID ) ;
     public final void rule__SignalWatcher__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17602:1: ( ( RULE_ID ) )
-            // InternalSignalDSL.g:17603:2: ( RULE_ID )
+            // InternalSignalDSL.g:17630:1: ( ( ruleTRANSLATABLEID ) )
+            // InternalSignalDSL.g:17631:2: ( ruleTRANSLATABLEID )
             {
-            // InternalSignalDSL.g:17603:2: ( RULE_ID )
-            // InternalSignalDSL.g:17604:3: RULE_ID
+            // InternalSignalDSL.g:17631:2: ( ruleTRANSLATABLEID )
+            // InternalSignalDSL.g:17632:3: ruleTRANSLATABLEID
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getSignalWatcherAccess().getNameIDTerminalRuleCall_2_0()); 
+               before(grammarAccess.getSignalWatcherAccess().getNameTRANSLATABLEIDParserRuleCall_2_0()); 
             }
-            match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
+            pushFollow(FOLLOW_2);
+            ruleTRANSLATABLEID();
+
+            state._fsp--;
+            if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getSignalWatcherAccess().getNameIDTerminalRuleCall_2_0()); 
+               after(grammarAccess.getSignalWatcherAccess().getNameTRANSLATABLEIDParserRuleCall_2_0()); 
             }
 
             }
@@ -57982,17 +58030,17 @@
 
 
     // $ANTLR start "rule__SignalWatcher__DirectoryAssignment_4"
-    // InternalSignalDSL.g:17613:1: rule__SignalWatcher__DirectoryAssignment_4 : ( RULE_STRING ) ;
+    // InternalSignalDSL.g:17641:1: rule__SignalWatcher__DirectoryAssignment_4 : ( RULE_STRING ) ;
     public final void rule__SignalWatcher__DirectoryAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17617:1: ( ( RULE_STRING ) )
-            // InternalSignalDSL.g:17618:2: ( RULE_STRING )
+            // InternalSignalDSL.g:17645:1: ( ( RULE_STRING ) )
+            // InternalSignalDSL.g:17646:2: ( RULE_STRING )
             {
-            // InternalSignalDSL.g:17618:2: ( RULE_STRING )
-            // InternalSignalDSL.g:17619:3: RULE_STRING
+            // InternalSignalDSL.g:17646:2: ( RULE_STRING )
+            // InternalSignalDSL.g:17647:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalWatcherAccess().getDirectorySTRINGTerminalRuleCall_4_0()); 
@@ -58023,17 +58071,17 @@
 
 
     // $ANTLR start "rule__SignalWatcher__SignalAssignment_6"
-    // InternalSignalDSL.g:17628:1: rule__SignalWatcher__SignalAssignment_6 : ( ruleSignalTypeEnum ) ;
+    // InternalSignalDSL.g:17656:1: rule__SignalWatcher__SignalAssignment_6 : ( ruleSignalTypeEnum ) ;
     public final void rule__SignalWatcher__SignalAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17632:1: ( ( ruleSignalTypeEnum ) )
-            // InternalSignalDSL.g:17633:2: ( ruleSignalTypeEnum )
+            // InternalSignalDSL.g:17660:1: ( ( ruleSignalTypeEnum ) )
+            // InternalSignalDSL.g:17661:2: ( ruleSignalTypeEnum )
             {
-            // InternalSignalDSL.g:17633:2: ( ruleSignalTypeEnum )
-            // InternalSignalDSL.g:17634:3: ruleSignalTypeEnum
+            // InternalSignalDSL.g:17661:2: ( ruleSignalTypeEnum )
+            // InternalSignalDSL.g:17662:3: ruleSignalTypeEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalWatcherAccess().getSignalSignalTypeEnumEnumRuleCall_6_0()); 
@@ -58068,17 +58116,17 @@
 
 
     // $ANTLR start "rule__SignalWatcher__HandlersAssignment_8"
-    // InternalSignalDSL.g:17643:1: rule__SignalWatcher__HandlersAssignment_8 : ( ruleSignalHandler ) ;
+    // InternalSignalDSL.g:17671:1: rule__SignalWatcher__HandlersAssignment_8 : ( ruleSignalHandler ) ;
     public final void rule__SignalWatcher__HandlersAssignment_8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17647:1: ( ( ruleSignalHandler ) )
-            // InternalSignalDSL.g:17648:2: ( ruleSignalHandler )
+            // InternalSignalDSL.g:17675:1: ( ( ruleSignalHandler ) )
+            // InternalSignalDSL.g:17676:2: ( ruleSignalHandler )
             {
-            // InternalSignalDSL.g:17648:2: ( ruleSignalHandler )
-            // InternalSignalDSL.g:17649:3: ruleSignalHandler
+            // InternalSignalDSL.g:17676:2: ( ruleSignalHandler )
+            // InternalSignalDSL.g:17677:3: ruleSignalHandler
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalWatcherAccess().getHandlersSignalHandlerParserRuleCall_8_0()); 
@@ -58113,24 +58161,28 @@
 
 
     // $ANTLR start "rule__SignalHandler__NameAssignment_2"
-    // InternalSignalDSL.g:17658:1: rule__SignalHandler__NameAssignment_2 : ( RULE_ID ) ;
+    // InternalSignalDSL.g:17686:1: rule__SignalHandler__NameAssignment_2 : ( ruleTRANSLATABLEID ) ;
     public final void rule__SignalHandler__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17662:1: ( ( RULE_ID ) )
-            // InternalSignalDSL.g:17663:2: ( RULE_ID )
+            // InternalSignalDSL.g:17690:1: ( ( ruleTRANSLATABLEID ) )
+            // InternalSignalDSL.g:17691:2: ( ruleTRANSLATABLEID )
             {
-            // InternalSignalDSL.g:17663:2: ( RULE_ID )
-            // InternalSignalDSL.g:17664:3: RULE_ID
+            // InternalSignalDSL.g:17691:2: ( ruleTRANSLATABLEID )
+            // InternalSignalDSL.g:17692:3: ruleTRANSLATABLEID
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getSignalHandlerAccess().getNameIDTerminalRuleCall_2_0()); 
+               before(grammarAccess.getSignalHandlerAccess().getNameTRANSLATABLEIDParserRuleCall_2_0()); 
             }
-            match(input,RULE_ID,FOLLOW_2); if (state.failed) return ;
+            pushFollow(FOLLOW_2);
+            ruleTRANSLATABLEID();
+
+            state._fsp--;
+            if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getSignalHandlerAccess().getNameIDTerminalRuleCall_2_0()); 
+               after(grammarAccess.getSignalHandlerAccess().getNameTRANSLATABLEIDParserRuleCall_2_0()); 
             }
 
             }
@@ -58154,17 +58206,17 @@
 
 
     // $ANTLR start "rule__SignalHandler__ActionTypeAssignment_3"
-    // InternalSignalDSL.g:17673:1: rule__SignalHandler__ActionTypeAssignment_3 : ( ruleSignalHandlerTypeEnum ) ;
+    // InternalSignalDSL.g:17701:1: rule__SignalHandler__ActionTypeAssignment_3 : ( ruleSignalHandlerTypeEnum ) ;
     public final void rule__SignalHandler__ActionTypeAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17677:1: ( ( ruleSignalHandlerTypeEnum ) )
-            // InternalSignalDSL.g:17678:2: ( ruleSignalHandlerTypeEnum )
+            // InternalSignalDSL.g:17705:1: ( ( ruleSignalHandlerTypeEnum ) )
+            // InternalSignalDSL.g:17706:2: ( ruleSignalHandlerTypeEnum )
             {
-            // InternalSignalDSL.g:17678:2: ( ruleSignalHandlerTypeEnum )
-            // InternalSignalDSL.g:17679:3: ruleSignalHandlerTypeEnum
+            // InternalSignalDSL.g:17706:2: ( ruleSignalHandlerTypeEnum )
+            // InternalSignalDSL.g:17707:3: ruleSignalHandlerTypeEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalHandlerAccess().getActionTypeSignalHandlerTypeEnumEnumRuleCall_3_0()); 
@@ -58199,17 +58251,17 @@
 
 
     // $ANTLR start "rule__SignalHandler__DataAssignment_4"
-    // InternalSignalDSL.g:17688:1: rule__SignalHandler__DataAssignment_4 : ( ruleDataTransfer ) ;
+    // InternalSignalDSL.g:17716:1: rule__SignalHandler__DataAssignment_4 : ( ruleDataTransfer ) ;
     public final void rule__SignalHandler__DataAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17692:1: ( ( ruleDataTransfer ) )
-            // InternalSignalDSL.g:17693:2: ( ruleDataTransfer )
+            // InternalSignalDSL.g:17720:1: ( ( ruleDataTransfer ) )
+            // InternalSignalDSL.g:17721:2: ( ruleDataTransfer )
             {
-            // InternalSignalDSL.g:17693:2: ( ruleDataTransfer )
-            // InternalSignalDSL.g:17694:3: ruleDataTransfer
+            // InternalSignalDSL.g:17721:2: ( ruleDataTransfer )
+            // InternalSignalDSL.g:17722:3: ruleDataTransfer
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalHandlerAccess().getDataDataTransferParserRuleCall_4_0()); 
@@ -58243,18 +58295,63 @@
     // $ANTLR end "rule__SignalHandler__DataAssignment_4"
 
 
+    // $ANTLR start "rule__SignalHandler__ExecutiontypeAssignment_5"
+    // InternalSignalDSL.g:17731:1: rule__SignalHandler__ExecutiontypeAssignment_5 : ( ruleSignalExecutionTypeEnum ) ;
+    public final void rule__SignalHandler__ExecutiontypeAssignment_5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalSignalDSL.g:17735:1: ( ( ruleSignalExecutionTypeEnum ) )
+            // InternalSignalDSL.g:17736:2: ( ruleSignalExecutionTypeEnum )
+            {
+            // InternalSignalDSL.g:17736:2: ( ruleSignalExecutionTypeEnum )
+            // InternalSignalDSL.g:17737:3: ruleSignalExecutionTypeEnum
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getSignalHandlerAccess().getExecutiontypeSignalExecutionTypeEnumEnumRuleCall_5_0()); 
+            }
+            pushFollow(FOLLOW_2);
+            ruleSignalExecutionTypeEnum();
+
+            state._fsp--;
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getSignalHandlerAccess().getExecutiontypeSignalExecutionTypeEnumEnumRuleCall_5_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SignalHandler__ExecutiontypeAssignment_5"
+
+
     // $ANTLR start "rule__SignalHandler__FilemaskAssignment_7"
-    // InternalSignalDSL.g:17703:1: rule__SignalHandler__FilemaskAssignment_7 : ( RULE_STRING ) ;
+    // InternalSignalDSL.g:17746:1: rule__SignalHandler__FilemaskAssignment_7 : ( RULE_STRING ) ;
     public final void rule__SignalHandler__FilemaskAssignment_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17707:1: ( ( RULE_STRING ) )
-            // InternalSignalDSL.g:17708:2: ( RULE_STRING )
+            // InternalSignalDSL.g:17750:1: ( ( RULE_STRING ) )
+            // InternalSignalDSL.g:17751:2: ( RULE_STRING )
             {
-            // InternalSignalDSL.g:17708:2: ( RULE_STRING )
-            // InternalSignalDSL.g:17709:3: RULE_STRING
+            // InternalSignalDSL.g:17751:2: ( RULE_STRING )
+            // InternalSignalDSL.g:17752:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalHandlerAccess().getFilemaskSTRINGTerminalRuleCall_7_0()); 
@@ -58284,66 +58381,21 @@
     // $ANTLR end "rule__SignalHandler__FilemaskAssignment_7"
 
 
-    // $ANTLR start "rule__ListTransfer__ExecutiontypeAssignment_2"
-    // InternalSignalDSL.g:17718:1: rule__ListTransfer__ExecutiontypeAssignment_2 : ( ruleSignalExecutionTypeEnum ) ;
-    public final void rule__ListTransfer__ExecutiontypeAssignment_2() throws RecognitionException {
+    // $ANTLR start "rule__ListTransfer__InterchangesAssignment_3"
+    // InternalSignalDSL.g:17761:1: rule__ListTransfer__InterchangesAssignment_3 : ( ruleSignalDatainterchange ) ;
+    public final void rule__ListTransfer__InterchangesAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17722:1: ( ( ruleSignalExecutionTypeEnum ) )
-            // InternalSignalDSL.g:17723:2: ( ruleSignalExecutionTypeEnum )
+            // InternalSignalDSL.g:17765:1: ( ( ruleSignalDatainterchange ) )
+            // InternalSignalDSL.g:17766:2: ( ruleSignalDatainterchange )
             {
-            // InternalSignalDSL.g:17723:2: ( ruleSignalExecutionTypeEnum )
-            // InternalSignalDSL.g:17724:3: ruleSignalExecutionTypeEnum
+            // InternalSignalDSL.g:17766:2: ( ruleSignalDatainterchange )
+            // InternalSignalDSL.g:17767:3: ruleSignalDatainterchange
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getListTransferAccess().getExecutiontypeSignalExecutionTypeEnumEnumRuleCall_2_0()); 
-            }
-            pushFollow(FOLLOW_2);
-            ruleSignalExecutionTypeEnum();
-
-            state._fsp--;
-            if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getListTransferAccess().getExecutiontypeSignalExecutionTypeEnumEnumRuleCall_2_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ListTransfer__ExecutiontypeAssignment_2"
-
-
-    // $ANTLR start "rule__ListTransfer__InterchangesAssignment_4"
-    // InternalSignalDSL.g:17733:1: rule__ListTransfer__InterchangesAssignment_4 : ( ruleSignalDatainterchange ) ;
-    public final void rule__ListTransfer__InterchangesAssignment_4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalSignalDSL.g:17737:1: ( ( ruleSignalDatainterchange ) )
-            // InternalSignalDSL.g:17738:2: ( ruleSignalDatainterchange )
-            {
-            // InternalSignalDSL.g:17738:2: ( ruleSignalDatainterchange )
-            // InternalSignalDSL.g:17739:3: ruleSignalDatainterchange
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getListTransferAccess().getInterchangesSignalDatainterchangeParserRuleCall_4_0()); 
+               before(grammarAccess.getListTransferAccess().getInterchangesSignalDatainterchangeParserRuleCall_3_0()); 
             }
             pushFollow(FOLLOW_2);
             ruleSignalDatainterchange();
@@ -58351,7 +58403,7 @@
             state._fsp--;
             if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getListTransferAccess().getInterchangesSignalDatainterchangeParserRuleCall_4_0()); 
+               after(grammarAccess.getListTransferAccess().getInterchangesSignalDatainterchangeParserRuleCall_3_0()); 
             }
 
             }
@@ -58371,21 +58423,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ListTransfer__InterchangesAssignment_4"
+    // $ANTLR end "rule__ListTransfer__InterchangesAssignment_3"
 
 
     // $ANTLR start "rule__SingleTransfer__InterchangeAssignment"
-    // InternalSignalDSL.g:17748:1: rule__SingleTransfer__InterchangeAssignment : ( ruleSignalDatainterchange ) ;
+    // InternalSignalDSL.g:17776:1: rule__SingleTransfer__InterchangeAssignment : ( ruleSignalDatainterchange ) ;
     public final void rule__SingleTransfer__InterchangeAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17752:1: ( ( ruleSignalDatainterchange ) )
-            // InternalSignalDSL.g:17753:2: ( ruleSignalDatainterchange )
+            // InternalSignalDSL.g:17780:1: ( ( ruleSignalDatainterchange ) )
+            // InternalSignalDSL.g:17781:2: ( ruleSignalDatainterchange )
             {
-            // InternalSignalDSL.g:17753:2: ( ruleSignalDatainterchange )
-            // InternalSignalDSL.g:17754:3: ruleSignalDatainterchange
+            // InternalSignalDSL.g:17781:2: ( ruleSignalDatainterchange )
+            // InternalSignalDSL.g:17782:3: ruleSignalDatainterchange
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSingleTransferAccess().getInterchangeSignalDatainterchangeParserRuleCall_0()); 
@@ -58420,17 +58472,17 @@
 
 
     // $ANTLR start "rule__SignalDatainterchange__DataActionAssignment_0"
-    // InternalSignalDSL.g:17763:1: rule__SignalDatainterchange__DataActionAssignment_0 : ( ruleSignalActionEnum ) ;
+    // InternalSignalDSL.g:17791:1: rule__SignalDatainterchange__DataActionAssignment_0 : ( ruleSignalActionEnum ) ;
     public final void rule__SignalDatainterchange__DataActionAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17767:1: ( ( ruleSignalActionEnum ) )
-            // InternalSignalDSL.g:17768:2: ( ruleSignalActionEnum )
+            // InternalSignalDSL.g:17795:1: ( ( ruleSignalActionEnum ) )
+            // InternalSignalDSL.g:17796:2: ( ruleSignalActionEnum )
             {
-            // InternalSignalDSL.g:17768:2: ( ruleSignalActionEnum )
-            // InternalSignalDSL.g:17769:3: ruleSignalActionEnum
+            // InternalSignalDSL.g:17796:2: ( ruleSignalActionEnum )
+            // InternalSignalDSL.g:17797:3: ruleSignalActionEnum
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalDatainterchangeAccess().getDataActionSignalActionEnumEnumRuleCall_0_0()); 
@@ -58465,23 +58517,23 @@
 
 
     // $ANTLR start "rule__SignalDatainterchange__DataRefAssignment_1"
-    // InternalSignalDSL.g:17778:1: rule__SignalDatainterchange__DataRefAssignment_1 : ( ( RULE_ID ) ) ;
+    // InternalSignalDSL.g:17806:1: rule__SignalDatainterchange__DataRefAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__SignalDatainterchange__DataRefAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17782:1: ( ( ( RULE_ID ) ) )
-            // InternalSignalDSL.g:17783:2: ( ( RULE_ID ) )
+            // InternalSignalDSL.g:17810:1: ( ( ( RULE_ID ) ) )
+            // InternalSignalDSL.g:17811:2: ( ( RULE_ID ) )
             {
-            // InternalSignalDSL.g:17783:2: ( ( RULE_ID ) )
-            // InternalSignalDSL.g:17784:3: ( RULE_ID )
+            // InternalSignalDSL.g:17811:2: ( ( RULE_ID ) )
+            // InternalSignalDSL.g:17812:3: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalDatainterchangeAccess().getDataRefDataInterchangeCrossReference_1_0()); 
             }
-            // InternalSignalDSL.g:17785:3: ( RULE_ID )
-            // InternalSignalDSL.g:17786:4: RULE_ID
+            // InternalSignalDSL.g:17813:3: ( RULE_ID )
+            // InternalSignalDSL.g:17814:4: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignalDatainterchangeAccess().getDataRefDataInterchangeIDTerminalRuleCall_1_0_1()); 
@@ -58517,24 +58569,65 @@
     // $ANTLR end "rule__SignalDatainterchange__DataRefAssignment_1"
 
 
+    // $ANTLR start "rule__SignalDatainterchange__FileNameAssignment_3"
+    // InternalSignalDSL.g:17825:1: rule__SignalDatainterchange__FileNameAssignment_3 : ( RULE_STRING ) ;
+    public final void rule__SignalDatainterchange__FileNameAssignment_3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        	
+        try {
+            // InternalSignalDSL.g:17829:1: ( ( RULE_STRING ) )
+            // InternalSignalDSL.g:17830:2: ( RULE_STRING )
+            {
+            // InternalSignalDSL.g:17830:2: ( RULE_STRING )
+            // InternalSignalDSL.g:17831:3: RULE_STRING
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getSignalDatainterchangeAccess().getFileNameSTRINGTerminalRuleCall_3_0()); 
+            }
+            match(input,RULE_STRING,FOLLOW_2); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getSignalDatainterchangeAccess().getFileNameSTRINGTerminalRuleCall_3_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__SignalDatainterchange__FileNameAssignment_3"
+
+
     // $ANTLR start "rule__XImportDeclaration__StaticAssignment_2_0_0"
-    // InternalSignalDSL.g:17797:1: rule__XImportDeclaration__StaticAssignment_2_0_0 : ( ( 'static' ) ) ;
+    // InternalSignalDSL.g:17840:1: rule__XImportDeclaration__StaticAssignment_2_0_0 : ( ( 'static' ) ) ;
     public final void rule__XImportDeclaration__StaticAssignment_2_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17801:1: ( ( ( 'static' ) ) )
-            // InternalSignalDSL.g:17802:2: ( ( 'static' ) )
+            // InternalSignalDSL.g:17844:1: ( ( ( 'static' ) ) )
+            // InternalSignalDSL.g:17845:2: ( ( 'static' ) )
             {
-            // InternalSignalDSL.g:17802:2: ( ( 'static' ) )
-            // InternalSignalDSL.g:17803:3: ( 'static' )
+            // InternalSignalDSL.g:17845:2: ( ( 'static' ) )
+            // InternalSignalDSL.g:17846:3: ( 'static' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_2_0_0_0()); 
             }
-            // InternalSignalDSL.g:17804:3: ( 'static' )
-            // InternalSignalDSL.g:17805:4: 'static'
+            // InternalSignalDSL.g:17847:3: ( 'static' )
+            // InternalSignalDSL.g:17848:4: 'static'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_2_0_0_0()); 
@@ -58571,23 +58664,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__ExtensionAssignment_2_0_1"
-    // InternalSignalDSL.g:17816:1: rule__XImportDeclaration__ExtensionAssignment_2_0_1 : ( ( 'extension' ) ) ;
+    // InternalSignalDSL.g:17859:1: rule__XImportDeclaration__ExtensionAssignment_2_0_1 : ( ( 'extension' ) ) ;
     public final void rule__XImportDeclaration__ExtensionAssignment_2_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17820:1: ( ( ( 'extension' ) ) )
-            // InternalSignalDSL.g:17821:2: ( ( 'extension' ) )
+            // InternalSignalDSL.g:17863:1: ( ( ( 'extension' ) ) )
+            // InternalSignalDSL.g:17864:2: ( ( 'extension' ) )
             {
-            // InternalSignalDSL.g:17821:2: ( ( 'extension' ) )
-            // InternalSignalDSL.g:17822:3: ( 'extension' )
+            // InternalSignalDSL.g:17864:2: ( ( 'extension' ) )
+            // InternalSignalDSL.g:17865:3: ( 'extension' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_2_0_1_0()); 
             }
-            // InternalSignalDSL.g:17823:3: ( 'extension' )
-            // InternalSignalDSL.g:17824:4: 'extension'
+            // InternalSignalDSL.g:17866:3: ( 'extension' )
+            // InternalSignalDSL.g:17867:4: 'extension'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_2_0_1_0()); 
@@ -58624,23 +58717,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__ImportedTypeAssignment_2_0_2"
-    // InternalSignalDSL.g:17835:1: rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 : ( ( ruleQualifiedNameInStaticImport ) ) ;
+    // InternalSignalDSL.g:17878:1: rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 : ( ( ruleQualifiedNameInStaticImport ) ) ;
     public final void rule__XImportDeclaration__ImportedTypeAssignment_2_0_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17839:1: ( ( ( ruleQualifiedNameInStaticImport ) ) )
-            // InternalSignalDSL.g:17840:2: ( ( ruleQualifiedNameInStaticImport ) )
+            // InternalSignalDSL.g:17882:1: ( ( ( ruleQualifiedNameInStaticImport ) ) )
+            // InternalSignalDSL.g:17883:2: ( ( ruleQualifiedNameInStaticImport ) )
             {
-            // InternalSignalDSL.g:17840:2: ( ( ruleQualifiedNameInStaticImport ) )
-            // InternalSignalDSL.g:17841:3: ( ruleQualifiedNameInStaticImport )
+            // InternalSignalDSL.g:17883:2: ( ( ruleQualifiedNameInStaticImport ) )
+            // InternalSignalDSL.g:17884:3: ( ruleQualifiedNameInStaticImport )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_2_0_2_0()); 
             }
-            // InternalSignalDSL.g:17842:3: ( ruleQualifiedNameInStaticImport )
-            // InternalSignalDSL.g:17843:4: ruleQualifiedNameInStaticImport
+            // InternalSignalDSL.g:17885:3: ( ruleQualifiedNameInStaticImport )
+            // InternalSignalDSL.g:17886:4: ruleQualifiedNameInStaticImport
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameInStaticImportParserRuleCall_2_0_2_0_1()); 
@@ -58681,23 +58774,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__WildcardAssignment_2_0_3_0"
-    // InternalSignalDSL.g:17854:1: rule__XImportDeclaration__WildcardAssignment_2_0_3_0 : ( ( '*' ) ) ;
+    // InternalSignalDSL.g:17897:1: rule__XImportDeclaration__WildcardAssignment_2_0_3_0 : ( ( '*' ) ) ;
     public final void rule__XImportDeclaration__WildcardAssignment_2_0_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17858:1: ( ( ( '*' ) ) )
-            // InternalSignalDSL.g:17859:2: ( ( '*' ) )
+            // InternalSignalDSL.g:17901:1: ( ( ( '*' ) ) )
+            // InternalSignalDSL.g:17902:2: ( ( '*' ) )
             {
-            // InternalSignalDSL.g:17859:2: ( ( '*' ) )
-            // InternalSignalDSL.g:17860:3: ( '*' )
+            // InternalSignalDSL.g:17902:2: ( ( '*' ) )
+            // InternalSignalDSL.g:17903:3: ( '*' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_2_0_3_0_0()); 
             }
-            // InternalSignalDSL.g:17861:3: ( '*' )
-            // InternalSignalDSL.g:17862:4: '*'
+            // InternalSignalDSL.g:17904:3: ( '*' )
+            // InternalSignalDSL.g:17905:4: '*'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_2_0_3_0_0()); 
@@ -58734,17 +58827,17 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__MemberNameAssignment_2_0_3_1"
-    // InternalSignalDSL.g:17873:1: rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 : ( ruleValidID ) ;
+    // InternalSignalDSL.g:17916:1: rule__XImportDeclaration__MemberNameAssignment_2_0_3_1 : ( ruleValidID ) ;
     public final void rule__XImportDeclaration__MemberNameAssignment_2_0_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17877:1: ( ( ruleValidID ) )
-            // InternalSignalDSL.g:17878:2: ( ruleValidID )
+            // InternalSignalDSL.g:17920:1: ( ( ruleValidID ) )
+            // InternalSignalDSL.g:17921:2: ( ruleValidID )
             {
-            // InternalSignalDSL.g:17878:2: ( ruleValidID )
-            // InternalSignalDSL.g:17879:3: ruleValidID
+            // InternalSignalDSL.g:17921:2: ( ruleValidID )
+            // InternalSignalDSL.g:17922:3: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_2_0_3_1_0()); 
@@ -58779,23 +58872,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__ImportedTypeAssignment_2_1"
-    // InternalSignalDSL.g:17888:1: rule__XImportDeclaration__ImportedTypeAssignment_2_1 : ( ( ruleQualifiedName ) ) ;
+    // InternalSignalDSL.g:17931:1: rule__XImportDeclaration__ImportedTypeAssignment_2_1 : ( ( ruleQualifiedName ) ) ;
     public final void rule__XImportDeclaration__ImportedTypeAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17892:1: ( ( ( ruleQualifiedName ) ) )
-            // InternalSignalDSL.g:17893:2: ( ( ruleQualifiedName ) )
+            // InternalSignalDSL.g:17935:1: ( ( ( ruleQualifiedName ) ) )
+            // InternalSignalDSL.g:17936:2: ( ( ruleQualifiedName ) )
             {
-            // InternalSignalDSL.g:17893:2: ( ( ruleQualifiedName ) )
-            // InternalSignalDSL.g:17894:3: ( ruleQualifiedName )
+            // InternalSignalDSL.g:17936:2: ( ( ruleQualifiedName ) )
+            // InternalSignalDSL.g:17937:3: ( ruleQualifiedName )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_2_1_0()); 
             }
-            // InternalSignalDSL.g:17895:3: ( ruleQualifiedName )
-            // InternalSignalDSL.g:17896:4: ruleQualifiedName
+            // InternalSignalDSL.g:17938:3: ( ruleQualifiedName )
+            // InternalSignalDSL.g:17939:4: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeQualifiedNameParserRuleCall_2_1_0_1()); 
@@ -58836,17 +58929,17 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__ImportedNamespaceAssignment_2_2"
-    // InternalSignalDSL.g:17907:1: rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 : ( ruleQualifiedNameWithWildcard ) ;
+    // InternalSignalDSL.g:17950:1: rule__XImportDeclaration__ImportedNamespaceAssignment_2_2 : ( ruleQualifiedNameWithWildcard ) ;
     public final void rule__XImportDeclaration__ImportedNamespaceAssignment_2_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17911:1: ( ( ruleQualifiedNameWithWildcard ) )
-            // InternalSignalDSL.g:17912:2: ( ruleQualifiedNameWithWildcard )
+            // InternalSignalDSL.g:17954:1: ( ( ruleQualifiedNameWithWildcard ) )
+            // InternalSignalDSL.g:17955:2: ( ruleQualifiedNameWithWildcard )
             {
-            // InternalSignalDSL.g:17912:2: ( ruleQualifiedNameWithWildcard )
-            // InternalSignalDSL.g:17913:3: ruleQualifiedNameWithWildcard
+            // InternalSignalDSL.g:17955:2: ( ruleQualifiedNameWithWildcard )
+            // InternalSignalDSL.g:17956:3: ruleQualifiedNameWithWildcard
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_2_2_0()); 
@@ -58881,28 +58974,28 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__FqnImportAssignment_2_3_0"
-    // InternalSignalDSL.g:17922:1: rule__XImportDeclaration__FqnImportAssignment_2_3_0 : ( ( 'ns' ) ) ;
+    // InternalSignalDSL.g:17965:1: rule__XImportDeclaration__FqnImportAssignment_2_3_0 : ( ( 'ns' ) ) ;
     public final void rule__XImportDeclaration__FqnImportAssignment_2_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17926:1: ( ( ( 'ns' ) ) )
-            // InternalSignalDSL.g:17927:2: ( ( 'ns' ) )
+            // InternalSignalDSL.g:17969:1: ( ( ( 'ns' ) ) )
+            // InternalSignalDSL.g:17970:2: ( ( 'ns' ) )
             {
-            // InternalSignalDSL.g:17927:2: ( ( 'ns' ) )
-            // InternalSignalDSL.g:17928:3: ( 'ns' )
+            // InternalSignalDSL.g:17970:2: ( ( 'ns' ) )
+            // InternalSignalDSL.g:17971:3: ( 'ns' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getFqnImportNsKeyword_2_3_0_0()); 
             }
-            // InternalSignalDSL.g:17929:3: ( 'ns' )
-            // InternalSignalDSL.g:17930:4: 'ns'
+            // InternalSignalDSL.g:17972:3: ( 'ns' )
+            // InternalSignalDSL.g:17973:4: 'ns'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getFqnImportNsKeyword_2_3_0_0()); 
             }
-            match(input,101,FOLLOW_2); if (state.failed) return ;
+            match(input,98,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXImportDeclarationAccess().getFqnImportNsKeyword_2_3_0_0()); 
             }
@@ -58934,17 +59027,17 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1"
-    // InternalSignalDSL.g:17941:1: rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 : ( ruleQualifiedName ) ;
+    // InternalSignalDSL.g:17984:1: rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 : ( ruleQualifiedName ) ;
     public final void rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17945:1: ( ( ruleQualifiedName ) )
-            // InternalSignalDSL.g:17946:2: ( ruleQualifiedName )
+            // InternalSignalDSL.g:17988:1: ( ( ruleQualifiedName ) )
+            // InternalSignalDSL.g:17989:2: ( ruleQualifiedName )
             {
-            // InternalSignalDSL.g:17946:2: ( ruleQualifiedName )
-            // InternalSignalDSL.g:17947:3: ruleQualifiedName
+            // InternalSignalDSL.g:17989:2: ( ruleQualifiedName )
+            // InternalSignalDSL.g:17990:3: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedFullyQualifiedNameQualifiedNameParserRuleCall_2_3_1_0()); 
@@ -58979,23 +59072,23 @@
 
 
     // $ANTLR start "rule__XAnnotation__AnnotationTypeAssignment_2"
-    // InternalSignalDSL.g:17956:1: rule__XAnnotation__AnnotationTypeAssignment_2 : ( ( ruleQualifiedName ) ) ;
+    // InternalSignalDSL.g:17999:1: rule__XAnnotation__AnnotationTypeAssignment_2 : ( ( ruleQualifiedName ) ) ;
     public final void rule__XAnnotation__AnnotationTypeAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17960:1: ( ( ( ruleQualifiedName ) ) )
-            // InternalSignalDSL.g:17961:2: ( ( ruleQualifiedName ) )
+            // InternalSignalDSL.g:18003:1: ( ( ( ruleQualifiedName ) ) )
+            // InternalSignalDSL.g:18004:2: ( ( ruleQualifiedName ) )
             {
-            // InternalSignalDSL.g:17961:2: ( ( ruleQualifiedName ) )
-            // InternalSignalDSL.g:17962:3: ( ruleQualifiedName )
+            // InternalSignalDSL.g:18004:2: ( ( ruleQualifiedName ) )
+            // InternalSignalDSL.g:18005:3: ( ruleQualifiedName )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getAnnotationTypeJvmAnnotationTypeCrossReference_2_0()); 
             }
-            // InternalSignalDSL.g:17963:3: ( ruleQualifiedName )
-            // InternalSignalDSL.g:17964:4: ruleQualifiedName
+            // InternalSignalDSL.g:18006:3: ( ruleQualifiedName )
+            // InternalSignalDSL.g:18007:4: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getAnnotationTypeJvmAnnotationTypeQualifiedNameParserRuleCall_2_0_1()); 
@@ -59036,17 +59129,17 @@
 
 
     // $ANTLR start "rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0"
-    // InternalSignalDSL.g:17975:1: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 : ( ruleXAnnotationElementValuePair ) ;
+    // InternalSignalDSL.g:18018:1: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 : ( ruleXAnnotationElementValuePair ) ;
     public final void rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17979:1: ( ( ruleXAnnotationElementValuePair ) )
-            // InternalSignalDSL.g:17980:2: ( ruleXAnnotationElementValuePair )
+            // InternalSignalDSL.g:18022:1: ( ( ruleXAnnotationElementValuePair ) )
+            // InternalSignalDSL.g:18023:2: ( ruleXAnnotationElementValuePair )
             {
-            // InternalSignalDSL.g:17980:2: ( ruleXAnnotationElementValuePair )
-            // InternalSignalDSL.g:17981:3: ruleXAnnotationElementValuePair
+            // InternalSignalDSL.g:18023:2: ( ruleXAnnotationElementValuePair )
+            // InternalSignalDSL.g:18024:3: ruleXAnnotationElementValuePair
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_0_0()); 
@@ -59081,17 +59174,17 @@
 
 
     // $ANTLR start "rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1"
-    // InternalSignalDSL.g:17990:1: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 : ( ruleXAnnotationElementValuePair ) ;
+    // InternalSignalDSL.g:18033:1: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 : ( ruleXAnnotationElementValuePair ) ;
     public final void rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:17994:1: ( ( ruleXAnnotationElementValuePair ) )
-            // InternalSignalDSL.g:17995:2: ( ruleXAnnotationElementValuePair )
+            // InternalSignalDSL.g:18037:1: ( ( ruleXAnnotationElementValuePair ) )
+            // InternalSignalDSL.g:18038:2: ( ruleXAnnotationElementValuePair )
             {
-            // InternalSignalDSL.g:17995:2: ( ruleXAnnotationElementValuePair )
-            // InternalSignalDSL.g:17996:3: ruleXAnnotationElementValuePair
+            // InternalSignalDSL.g:18038:2: ( ruleXAnnotationElementValuePair )
+            // InternalSignalDSL.g:18039:3: ruleXAnnotationElementValuePair
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_1_1_0()); 
@@ -59126,17 +59219,17 @@
 
 
     // $ANTLR start "rule__XAnnotation__ValueAssignment_3_1_1"
-    // InternalSignalDSL.g:18005:1: rule__XAnnotation__ValueAssignment_3_1_1 : ( ruleXAnnotationElementValueOrCommaList ) ;
+    // InternalSignalDSL.g:18048:1: rule__XAnnotation__ValueAssignment_3_1_1 : ( ruleXAnnotationElementValueOrCommaList ) ;
     public final void rule__XAnnotation__ValueAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18009:1: ( ( ruleXAnnotationElementValueOrCommaList ) )
-            // InternalSignalDSL.g:18010:2: ( ruleXAnnotationElementValueOrCommaList )
+            // InternalSignalDSL.g:18052:1: ( ( ruleXAnnotationElementValueOrCommaList ) )
+            // InternalSignalDSL.g:18053:2: ( ruleXAnnotationElementValueOrCommaList )
             {
-            // InternalSignalDSL.g:18010:2: ( ruleXAnnotationElementValueOrCommaList )
-            // InternalSignalDSL.g:18011:3: ruleXAnnotationElementValueOrCommaList
+            // InternalSignalDSL.g:18053:2: ( ruleXAnnotationElementValueOrCommaList )
+            // InternalSignalDSL.g:18054:3: ruleXAnnotationElementValueOrCommaList
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getValueXAnnotationElementValueOrCommaListParserRuleCall_3_1_1_0()); 
@@ -59171,23 +59264,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__ElementAssignment_0_0_0"
-    // InternalSignalDSL.g:18020:1: rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 : ( ( ruleValidID ) ) ;
+    // InternalSignalDSL.g:18063:1: rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 : ( ( ruleValidID ) ) ;
     public final void rule__XAnnotationElementValuePair__ElementAssignment_0_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18024:1: ( ( ( ruleValidID ) ) )
-            // InternalSignalDSL.g:18025:2: ( ( ruleValidID ) )
+            // InternalSignalDSL.g:18067:1: ( ( ( ruleValidID ) ) )
+            // InternalSignalDSL.g:18068:2: ( ( ruleValidID ) )
             {
-            // InternalSignalDSL.g:18025:2: ( ( ruleValidID ) )
-            // InternalSignalDSL.g:18026:3: ( ruleValidID )
+            // InternalSignalDSL.g:18068:2: ( ( ruleValidID ) )
+            // InternalSignalDSL.g:18069:3: ( ruleValidID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getElementJvmOperationCrossReference_0_0_0_0()); 
             }
-            // InternalSignalDSL.g:18027:3: ( ruleValidID )
-            // InternalSignalDSL.g:18028:4: ruleValidID
+            // InternalSignalDSL.g:18070:3: ( ruleValidID )
+            // InternalSignalDSL.g:18071:4: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getElementJvmOperationValidIDParserRuleCall_0_0_0_0_1()); 
@@ -59228,17 +59321,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__ValueAssignment_1"
-    // InternalSignalDSL.g:18039:1: rule__XAnnotationElementValuePair__ValueAssignment_1 : ( ruleXAnnotationElementValue ) ;
+    // InternalSignalDSL.g:18082:1: rule__XAnnotationElementValuePair__ValueAssignment_1 : ( ruleXAnnotationElementValue ) ;
     public final void rule__XAnnotationElementValuePair__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18043:1: ( ( ruleXAnnotationElementValue ) )
-            // InternalSignalDSL.g:18044:2: ( ruleXAnnotationElementValue )
+            // InternalSignalDSL.g:18086:1: ( ( ruleXAnnotationElementValue ) )
+            // InternalSignalDSL.g:18087:2: ( ruleXAnnotationElementValue )
             {
-            // InternalSignalDSL.g:18044:2: ( ruleXAnnotationElementValue )
-            // InternalSignalDSL.g:18045:3: ruleXAnnotationElementValue
+            // InternalSignalDSL.g:18087:2: ( ruleXAnnotationElementValue )
+            // InternalSignalDSL.g:18088:3: ruleXAnnotationElementValue
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getValueXAnnotationElementValueParserRuleCall_1_0()); 
@@ -59273,17 +59366,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0"
-    // InternalSignalDSL.g:18054:1: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 : ( ruleXAnnotationOrExpression ) ;
+    // InternalSignalDSL.g:18097:1: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 : ( ruleXAnnotationOrExpression ) ;
     public final void rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18058:1: ( ( ruleXAnnotationOrExpression ) )
-            // InternalSignalDSL.g:18059:2: ( ruleXAnnotationOrExpression )
+            // InternalSignalDSL.g:18101:1: ( ( ruleXAnnotationOrExpression ) )
+            // InternalSignalDSL.g:18102:2: ( ruleXAnnotationOrExpression )
             {
-            // InternalSignalDSL.g:18059:2: ( ruleXAnnotationOrExpression )
-            // InternalSignalDSL.g:18060:3: ruleXAnnotationOrExpression
+            // InternalSignalDSL.g:18102:2: ( ruleXAnnotationOrExpression )
+            // InternalSignalDSL.g:18103:3: ruleXAnnotationOrExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0()); 
@@ -59318,17 +59411,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1"
-    // InternalSignalDSL.g:18069:1: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 : ( ruleXAnnotationOrExpression ) ;
+    // InternalSignalDSL.g:18112:1: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 : ( ruleXAnnotationOrExpression ) ;
     public final void rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18073:1: ( ( ruleXAnnotationOrExpression ) )
-            // InternalSignalDSL.g:18074:2: ( ruleXAnnotationOrExpression )
+            // InternalSignalDSL.g:18116:1: ( ( ruleXAnnotationOrExpression ) )
+            // InternalSignalDSL.g:18117:2: ( ruleXAnnotationOrExpression )
             {
-            // InternalSignalDSL.g:18074:2: ( ruleXAnnotationOrExpression )
-            // InternalSignalDSL.g:18075:3: ruleXAnnotationOrExpression
+            // InternalSignalDSL.g:18117:2: ( ruleXAnnotationOrExpression )
+            // InternalSignalDSL.g:18118:3: ruleXAnnotationOrExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0()); 
@@ -59363,17 +59456,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1"
-    // InternalSignalDSL.g:18084:1: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 : ( ruleXAnnotationOrExpression ) ;
+    // InternalSignalDSL.g:18127:1: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 : ( ruleXAnnotationOrExpression ) ;
     public final void rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18088:1: ( ( ruleXAnnotationOrExpression ) )
-            // InternalSignalDSL.g:18089:2: ( ruleXAnnotationOrExpression )
+            // InternalSignalDSL.g:18131:1: ( ( ruleXAnnotationOrExpression ) )
+            // InternalSignalDSL.g:18132:2: ( ruleXAnnotationOrExpression )
             {
-            // InternalSignalDSL.g:18089:2: ( ruleXAnnotationOrExpression )
-            // InternalSignalDSL.g:18090:3: ruleXAnnotationOrExpression
+            // InternalSignalDSL.g:18132:2: ( ruleXAnnotationOrExpression )
+            // InternalSignalDSL.g:18133:3: ruleXAnnotationOrExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_1_1_1_1_0()); 
@@ -59408,17 +59501,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__ElementsAssignment_0_1_0"
-    // InternalSignalDSL.g:18099:1: rule__XAnnotationElementValue__ElementsAssignment_0_1_0 : ( ruleXAnnotationOrExpression ) ;
+    // InternalSignalDSL.g:18142:1: rule__XAnnotationElementValue__ElementsAssignment_0_1_0 : ( ruleXAnnotationOrExpression ) ;
     public final void rule__XAnnotationElementValue__ElementsAssignment_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18103:1: ( ( ruleXAnnotationOrExpression ) )
-            // InternalSignalDSL.g:18104:2: ( ruleXAnnotationOrExpression )
+            // InternalSignalDSL.g:18146:1: ( ( ruleXAnnotationOrExpression ) )
+            // InternalSignalDSL.g:18147:2: ( ruleXAnnotationOrExpression )
             {
-            // InternalSignalDSL.g:18104:2: ( ruleXAnnotationOrExpression )
-            // InternalSignalDSL.g:18105:3: ruleXAnnotationOrExpression
+            // InternalSignalDSL.g:18147:2: ( ruleXAnnotationOrExpression )
+            // InternalSignalDSL.g:18148:3: ruleXAnnotationOrExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0()); 
@@ -59453,17 +59546,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1"
-    // InternalSignalDSL.g:18114:1: rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 : ( ruleXAnnotationOrExpression ) ;
+    // InternalSignalDSL.g:18157:1: rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 : ( ruleXAnnotationOrExpression ) ;
     public final void rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18118:1: ( ( ruleXAnnotationOrExpression ) )
-            // InternalSignalDSL.g:18119:2: ( ruleXAnnotationOrExpression )
+            // InternalSignalDSL.g:18161:1: ( ( ruleXAnnotationOrExpression ) )
+            // InternalSignalDSL.g:18162:2: ( ruleXAnnotationOrExpression )
             {
-            // InternalSignalDSL.g:18119:2: ( ruleXAnnotationOrExpression )
-            // InternalSignalDSL.g:18120:3: ruleXAnnotationOrExpression
+            // InternalSignalDSL.g:18162:2: ( ruleXAnnotationOrExpression )
+            // InternalSignalDSL.g:18163:3: ruleXAnnotationOrExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0()); 
@@ -59498,23 +59591,23 @@
 
 
     // $ANTLR start "rule__XAssignment__FeatureAssignment_0_1"
-    // InternalSignalDSL.g:18129:1: rule__XAssignment__FeatureAssignment_0_1 : ( ( ruleFeatureCallID ) ) ;
+    // InternalSignalDSL.g:18172:1: rule__XAssignment__FeatureAssignment_0_1 : ( ( ruleFeatureCallID ) ) ;
     public final void rule__XAssignment__FeatureAssignment_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18133:1: ( ( ( ruleFeatureCallID ) ) )
-            // InternalSignalDSL.g:18134:2: ( ( ruleFeatureCallID ) )
+            // InternalSignalDSL.g:18176:1: ( ( ( ruleFeatureCallID ) ) )
+            // InternalSignalDSL.g:18177:2: ( ( ruleFeatureCallID ) )
             {
-            // InternalSignalDSL.g:18134:2: ( ( ruleFeatureCallID ) )
-            // InternalSignalDSL.g:18135:3: ( ruleFeatureCallID )
+            // InternalSignalDSL.g:18177:2: ( ( ruleFeatureCallID ) )
+            // InternalSignalDSL.g:18178:3: ( ruleFeatureCallID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); 
             }
-            // InternalSignalDSL.g:18136:3: ( ruleFeatureCallID )
-            // InternalSignalDSL.g:18137:4: ruleFeatureCallID
+            // InternalSignalDSL.g:18179:3: ( ruleFeatureCallID )
+            // InternalSignalDSL.g:18180:4: ruleFeatureCallID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_0_1_0_1()); 
@@ -59555,17 +59648,17 @@
 
 
     // $ANTLR start "rule__XAssignment__ValueAssignment_0_3"
-    // InternalSignalDSL.g:18148:1: rule__XAssignment__ValueAssignment_0_3 : ( ruleXAssignment ) ;
+    // InternalSignalDSL.g:18191:1: rule__XAssignment__ValueAssignment_0_3 : ( ruleXAssignment ) ;
     public final void rule__XAssignment__ValueAssignment_0_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18152:1: ( ( ruleXAssignment ) )
-            // InternalSignalDSL.g:18153:2: ( ruleXAssignment )
+            // InternalSignalDSL.g:18195:1: ( ( ruleXAssignment ) )
+            // InternalSignalDSL.g:18196:2: ( ruleXAssignment )
             {
-            // InternalSignalDSL.g:18153:2: ( ruleXAssignment )
-            // InternalSignalDSL.g:18154:3: ruleXAssignment
+            // InternalSignalDSL.g:18196:2: ( ruleXAssignment )
+            // InternalSignalDSL.g:18197:3: ruleXAssignment
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); 
@@ -59600,23 +59693,23 @@
 
 
     // $ANTLR start "rule__XAssignment__FeatureAssignment_1_1_0_0_1"
-    // InternalSignalDSL.g:18163:1: rule__XAssignment__FeatureAssignment_1_1_0_0_1 : ( ( ruleOpMultiAssign ) ) ;
+    // InternalSignalDSL.g:18206:1: rule__XAssignment__FeatureAssignment_1_1_0_0_1 : ( ( ruleOpMultiAssign ) ) ;
     public final void rule__XAssignment__FeatureAssignment_1_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18167:1: ( ( ( ruleOpMultiAssign ) ) )
-            // InternalSignalDSL.g:18168:2: ( ( ruleOpMultiAssign ) )
+            // InternalSignalDSL.g:18210:1: ( ( ( ruleOpMultiAssign ) ) )
+            // InternalSignalDSL.g:18211:2: ( ( ruleOpMultiAssign ) )
             {
-            // InternalSignalDSL.g:18168:2: ( ( ruleOpMultiAssign ) )
-            // InternalSignalDSL.g:18169:3: ( ruleOpMultiAssign )
+            // InternalSignalDSL.g:18211:2: ( ( ruleOpMultiAssign ) )
+            // InternalSignalDSL.g:18212:3: ( ruleOpMultiAssign )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); 
             }
-            // InternalSignalDSL.g:18170:3: ( ruleOpMultiAssign )
-            // InternalSignalDSL.g:18171:4: ruleOpMultiAssign
+            // InternalSignalDSL.g:18213:3: ( ruleOpMultiAssign )
+            // InternalSignalDSL.g:18214:4: ruleOpMultiAssign
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementOpMultiAssignParserRuleCall_1_1_0_0_1_0_1()); 
@@ -59657,17 +59750,17 @@
 
 
     // $ANTLR start "rule__XAssignment__RightOperandAssignment_1_1_1"
-    // InternalSignalDSL.g:18182:1: rule__XAssignment__RightOperandAssignment_1_1_1 : ( ruleXAssignment ) ;
+    // InternalSignalDSL.g:18225:1: rule__XAssignment__RightOperandAssignment_1_1_1 : ( ruleXAssignment ) ;
     public final void rule__XAssignment__RightOperandAssignment_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18186:1: ( ( ruleXAssignment ) )
-            // InternalSignalDSL.g:18187:2: ( ruleXAssignment )
+            // InternalSignalDSL.g:18229:1: ( ( ruleXAssignment ) )
+            // InternalSignalDSL.g:18230:2: ( ruleXAssignment )
             {
-            // InternalSignalDSL.g:18187:2: ( ruleXAssignment )
-            // InternalSignalDSL.g:18188:3: ruleXAssignment
+            // InternalSignalDSL.g:18230:2: ( ruleXAssignment )
+            // InternalSignalDSL.g:18231:3: ruleXAssignment
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); 
@@ -59702,23 +59795,23 @@
 
 
     // $ANTLR start "rule__XOrExpression__FeatureAssignment_1_0_0_1"
-    // InternalSignalDSL.g:18197:1: rule__XOrExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpOr ) ) ;
+    // InternalSignalDSL.g:18240:1: rule__XOrExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpOr ) ) ;
     public final void rule__XOrExpression__FeatureAssignment_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18201:1: ( ( ( ruleOpOr ) ) )
-            // InternalSignalDSL.g:18202:2: ( ( ruleOpOr ) )
+            // InternalSignalDSL.g:18244:1: ( ( ( ruleOpOr ) ) )
+            // InternalSignalDSL.g:18245:2: ( ( ruleOpOr ) )
             {
-            // InternalSignalDSL.g:18202:2: ( ( ruleOpOr ) )
-            // InternalSignalDSL.g:18203:3: ( ruleOpOr )
+            // InternalSignalDSL.g:18245:2: ( ( ruleOpOr ) )
+            // InternalSignalDSL.g:18246:3: ( ruleOpOr )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
             }
-            // InternalSignalDSL.g:18204:3: ( ruleOpOr )
-            // InternalSignalDSL.g:18205:4: ruleOpOr
+            // InternalSignalDSL.g:18247:3: ( ruleOpOr )
+            // InternalSignalDSL.g:18248:4: ruleOpOr
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementOpOrParserRuleCall_1_0_0_1_0_1()); 
@@ -59759,17 +59852,17 @@
 
 
     // $ANTLR start "rule__XOrExpression__RightOperandAssignment_1_1"
-    // InternalSignalDSL.g:18216:1: rule__XOrExpression__RightOperandAssignment_1_1 : ( ruleXAndExpression ) ;
+    // InternalSignalDSL.g:18259:1: rule__XOrExpression__RightOperandAssignment_1_1 : ( ruleXAndExpression ) ;
     public final void rule__XOrExpression__RightOperandAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18220:1: ( ( ruleXAndExpression ) )
-            // InternalSignalDSL.g:18221:2: ( ruleXAndExpression )
+            // InternalSignalDSL.g:18263:1: ( ( ruleXAndExpression ) )
+            // InternalSignalDSL.g:18264:2: ( ruleXAndExpression )
             {
-            // InternalSignalDSL.g:18221:2: ( ruleXAndExpression )
-            // InternalSignalDSL.g:18222:3: ruleXAndExpression
+            // InternalSignalDSL.g:18264:2: ( ruleXAndExpression )
+            // InternalSignalDSL.g:18265:3: ruleXAndExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); 
@@ -59804,23 +59897,23 @@
 
 
     // $ANTLR start "rule__XAndExpression__FeatureAssignment_1_0_0_1"
-    // InternalSignalDSL.g:18231:1: rule__XAndExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpAnd ) ) ;
+    // InternalSignalDSL.g:18274:1: rule__XAndExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpAnd ) ) ;
     public final void rule__XAndExpression__FeatureAssignment_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18235:1: ( ( ( ruleOpAnd ) ) )
-            // InternalSignalDSL.g:18236:2: ( ( ruleOpAnd ) )
+            // InternalSignalDSL.g:18278:1: ( ( ( ruleOpAnd ) ) )
+            // InternalSignalDSL.g:18279:2: ( ( ruleOpAnd ) )
             {
-            // InternalSignalDSL.g:18236:2: ( ( ruleOpAnd ) )
-            // InternalSignalDSL.g:18237:3: ( ruleOpAnd )
+            // InternalSignalDSL.g:18279:2: ( ( ruleOpAnd ) )
+            // InternalSignalDSL.g:18280:3: ( ruleOpAnd )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
             }
-            // InternalSignalDSL.g:18238:3: ( ruleOpAnd )
-            // InternalSignalDSL.g:18239:4: ruleOpAnd
+            // InternalSignalDSL.g:18281:3: ( ruleOpAnd )
+            // InternalSignalDSL.g:18282:4: ruleOpAnd
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementOpAndParserRuleCall_1_0_0_1_0_1()); 
@@ -59861,17 +59954,17 @@
 
 
     // $ANTLR start "rule__XAndExpression__RightOperandAssignment_1_1"
-    // InternalSignalDSL.g:18250:1: rule__XAndExpression__RightOperandAssignment_1_1 : ( ruleXEqualityExpression ) ;
+    // InternalSignalDSL.g:18293:1: rule__XAndExpression__RightOperandAssignment_1_1 : ( ruleXEqualityExpression ) ;
     public final void rule__XAndExpression__RightOperandAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18254:1: ( ( ruleXEqualityExpression ) )
-            // InternalSignalDSL.g:18255:2: ( ruleXEqualityExpression )
+            // InternalSignalDSL.g:18297:1: ( ( ruleXEqualityExpression ) )
+            // InternalSignalDSL.g:18298:2: ( ruleXEqualityExpression )
             {
-            // InternalSignalDSL.g:18255:2: ( ruleXEqualityExpression )
-            // InternalSignalDSL.g:18256:3: ruleXEqualityExpression
+            // InternalSignalDSL.g:18298:2: ( ruleXEqualityExpression )
+            // InternalSignalDSL.g:18299:3: ruleXEqualityExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); 
@@ -59906,23 +59999,23 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__FeatureAssignment_1_0_0_1"
-    // InternalSignalDSL.g:18265:1: rule__XEqualityExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpEquality ) ) ;
+    // InternalSignalDSL.g:18308:1: rule__XEqualityExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpEquality ) ) ;
     public final void rule__XEqualityExpression__FeatureAssignment_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18269:1: ( ( ( ruleOpEquality ) ) )
-            // InternalSignalDSL.g:18270:2: ( ( ruleOpEquality ) )
+            // InternalSignalDSL.g:18312:1: ( ( ( ruleOpEquality ) ) )
+            // InternalSignalDSL.g:18313:2: ( ( ruleOpEquality ) )
             {
-            // InternalSignalDSL.g:18270:2: ( ( ruleOpEquality ) )
-            // InternalSignalDSL.g:18271:3: ( ruleOpEquality )
+            // InternalSignalDSL.g:18313:2: ( ( ruleOpEquality ) )
+            // InternalSignalDSL.g:18314:3: ( ruleOpEquality )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
             }
-            // InternalSignalDSL.g:18272:3: ( ruleOpEquality )
-            // InternalSignalDSL.g:18273:4: ruleOpEquality
+            // InternalSignalDSL.g:18315:3: ( ruleOpEquality )
+            // InternalSignalDSL.g:18316:4: ruleOpEquality
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementOpEqualityParserRuleCall_1_0_0_1_0_1()); 
@@ -59963,17 +60056,17 @@
 
 
     // $ANTLR start "rule__XEqualityExpression__RightOperandAssignment_1_1"
-    // InternalSignalDSL.g:18284:1: rule__XEqualityExpression__RightOperandAssignment_1_1 : ( ruleXRelationalExpression ) ;
+    // InternalSignalDSL.g:18327:1: rule__XEqualityExpression__RightOperandAssignment_1_1 : ( ruleXRelationalExpression ) ;
     public final void rule__XEqualityExpression__RightOperandAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18288:1: ( ( ruleXRelationalExpression ) )
-            // InternalSignalDSL.g:18289:2: ( ruleXRelationalExpression )
+            // InternalSignalDSL.g:18331:1: ( ( ruleXRelationalExpression ) )
+            // InternalSignalDSL.g:18332:2: ( ruleXRelationalExpression )
             {
-            // InternalSignalDSL.g:18289:2: ( ruleXRelationalExpression )
-            // InternalSignalDSL.g:18290:3: ruleXRelationalExpression
+            // InternalSignalDSL.g:18332:2: ( ruleXRelationalExpression )
+            // InternalSignalDSL.g:18333:3: ruleXRelationalExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); 
@@ -60008,17 +60101,17 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__TypeAssignment_1_0_1"
-    // InternalSignalDSL.g:18299:1: rule__XRelationalExpression__TypeAssignment_1_0_1 : ( ruleJvmTypeReference ) ;
+    // InternalSignalDSL.g:18342:1: rule__XRelationalExpression__TypeAssignment_1_0_1 : ( ruleJvmTypeReference ) ;
     public final void rule__XRelationalExpression__TypeAssignment_1_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18303:1: ( ( ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:18304:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:18346:1: ( ( ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:18347:2: ( ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:18304:2: ( ruleJvmTypeReference )
-            // InternalSignalDSL.g:18305:3: ruleJvmTypeReference
+            // InternalSignalDSL.g:18347:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:18348:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); 
@@ -60053,23 +60146,23 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1"
-    // InternalSignalDSL.g:18314:1: rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 : ( ( ruleOpCompare ) ) ;
+    // InternalSignalDSL.g:18357:1: rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1 : ( ( ruleOpCompare ) ) ;
     public final void rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18318:1: ( ( ( ruleOpCompare ) ) )
-            // InternalSignalDSL.g:18319:2: ( ( ruleOpCompare ) )
+            // InternalSignalDSL.g:18361:1: ( ( ( ruleOpCompare ) ) )
+            // InternalSignalDSL.g:18362:2: ( ( ruleOpCompare ) )
             {
-            // InternalSignalDSL.g:18319:2: ( ( ruleOpCompare ) )
-            // InternalSignalDSL.g:18320:3: ( ruleOpCompare )
+            // InternalSignalDSL.g:18362:2: ( ( ruleOpCompare ) )
+            // InternalSignalDSL.g:18363:3: ( ruleOpCompare )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); 
             }
-            // InternalSignalDSL.g:18321:3: ( ruleOpCompare )
-            // InternalSignalDSL.g:18322:4: ruleOpCompare
+            // InternalSignalDSL.g:18364:3: ( ruleOpCompare )
+            // InternalSignalDSL.g:18365:4: ruleOpCompare
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementOpCompareParserRuleCall_1_1_0_0_1_0_1()); 
@@ -60110,17 +60203,17 @@
 
 
     // $ANTLR start "rule__XRelationalExpression__RightOperandAssignment_1_1_1"
-    // InternalSignalDSL.g:18333:1: rule__XRelationalExpression__RightOperandAssignment_1_1_1 : ( ruleXOtherOperatorExpression ) ;
+    // InternalSignalDSL.g:18376:1: rule__XRelationalExpression__RightOperandAssignment_1_1_1 : ( ruleXOtherOperatorExpression ) ;
     public final void rule__XRelationalExpression__RightOperandAssignment_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18337:1: ( ( ruleXOtherOperatorExpression ) )
-            // InternalSignalDSL.g:18338:2: ( ruleXOtherOperatorExpression )
+            // InternalSignalDSL.g:18380:1: ( ( ruleXOtherOperatorExpression ) )
+            // InternalSignalDSL.g:18381:2: ( ruleXOtherOperatorExpression )
             {
-            // InternalSignalDSL.g:18338:2: ( ruleXOtherOperatorExpression )
-            // InternalSignalDSL.g:18339:3: ruleXOtherOperatorExpression
+            // InternalSignalDSL.g:18381:2: ( ruleXOtherOperatorExpression )
+            // InternalSignalDSL.g:18382:3: ruleXOtherOperatorExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); 
@@ -60155,23 +60248,23 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1"
-    // InternalSignalDSL.g:18348:1: rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpOther ) ) ;
+    // InternalSignalDSL.g:18391:1: rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpOther ) ) ;
     public final void rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18352:1: ( ( ( ruleOpOther ) ) )
-            // InternalSignalDSL.g:18353:2: ( ( ruleOpOther ) )
+            // InternalSignalDSL.g:18395:1: ( ( ( ruleOpOther ) ) )
+            // InternalSignalDSL.g:18396:2: ( ( ruleOpOther ) )
             {
-            // InternalSignalDSL.g:18353:2: ( ( ruleOpOther ) )
-            // InternalSignalDSL.g:18354:3: ( ruleOpOther )
+            // InternalSignalDSL.g:18396:2: ( ( ruleOpOther ) )
+            // InternalSignalDSL.g:18397:3: ( ruleOpOther )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
             }
-            // InternalSignalDSL.g:18355:3: ( ruleOpOther )
-            // InternalSignalDSL.g:18356:4: ruleOpOther
+            // InternalSignalDSL.g:18398:3: ( ruleOpOther )
+            // InternalSignalDSL.g:18399:4: ruleOpOther
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementOpOtherParserRuleCall_1_0_0_1_0_1()); 
@@ -60212,17 +60305,17 @@
 
 
     // $ANTLR start "rule__XOtherOperatorExpression__RightOperandAssignment_1_1"
-    // InternalSignalDSL.g:18367:1: rule__XOtherOperatorExpression__RightOperandAssignment_1_1 : ( ruleXAdditiveExpression ) ;
+    // InternalSignalDSL.g:18410:1: rule__XOtherOperatorExpression__RightOperandAssignment_1_1 : ( ruleXAdditiveExpression ) ;
     public final void rule__XOtherOperatorExpression__RightOperandAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18371:1: ( ( ruleXAdditiveExpression ) )
-            // InternalSignalDSL.g:18372:2: ( ruleXAdditiveExpression )
+            // InternalSignalDSL.g:18414:1: ( ( ruleXAdditiveExpression ) )
+            // InternalSignalDSL.g:18415:2: ( ruleXAdditiveExpression )
             {
-            // InternalSignalDSL.g:18372:2: ( ruleXAdditiveExpression )
-            // InternalSignalDSL.g:18373:3: ruleXAdditiveExpression
+            // InternalSignalDSL.g:18415:2: ( ruleXAdditiveExpression )
+            // InternalSignalDSL.g:18416:3: ruleXAdditiveExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); 
@@ -60257,23 +60350,23 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__FeatureAssignment_1_0_0_1"
-    // InternalSignalDSL.g:18382:1: rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpAdd ) ) ;
+    // InternalSignalDSL.g:18425:1: rule__XAdditiveExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpAdd ) ) ;
     public final void rule__XAdditiveExpression__FeatureAssignment_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18386:1: ( ( ( ruleOpAdd ) ) )
-            // InternalSignalDSL.g:18387:2: ( ( ruleOpAdd ) )
+            // InternalSignalDSL.g:18429:1: ( ( ( ruleOpAdd ) ) )
+            // InternalSignalDSL.g:18430:2: ( ( ruleOpAdd ) )
             {
-            // InternalSignalDSL.g:18387:2: ( ( ruleOpAdd ) )
-            // InternalSignalDSL.g:18388:3: ( ruleOpAdd )
+            // InternalSignalDSL.g:18430:2: ( ( ruleOpAdd ) )
+            // InternalSignalDSL.g:18431:3: ( ruleOpAdd )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
             }
-            // InternalSignalDSL.g:18389:3: ( ruleOpAdd )
-            // InternalSignalDSL.g:18390:4: ruleOpAdd
+            // InternalSignalDSL.g:18432:3: ( ruleOpAdd )
+            // InternalSignalDSL.g:18433:4: ruleOpAdd
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementOpAddParserRuleCall_1_0_0_1_0_1()); 
@@ -60314,17 +60407,17 @@
 
 
     // $ANTLR start "rule__XAdditiveExpression__RightOperandAssignment_1_1"
-    // InternalSignalDSL.g:18401:1: rule__XAdditiveExpression__RightOperandAssignment_1_1 : ( ruleXMultiplicativeExpression ) ;
+    // InternalSignalDSL.g:18444:1: rule__XAdditiveExpression__RightOperandAssignment_1_1 : ( ruleXMultiplicativeExpression ) ;
     public final void rule__XAdditiveExpression__RightOperandAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18405:1: ( ( ruleXMultiplicativeExpression ) )
-            // InternalSignalDSL.g:18406:2: ( ruleXMultiplicativeExpression )
+            // InternalSignalDSL.g:18448:1: ( ( ruleXMultiplicativeExpression ) )
+            // InternalSignalDSL.g:18449:2: ( ruleXMultiplicativeExpression )
             {
-            // InternalSignalDSL.g:18406:2: ( ruleXMultiplicativeExpression )
-            // InternalSignalDSL.g:18407:3: ruleXMultiplicativeExpression
+            // InternalSignalDSL.g:18449:2: ( ruleXMultiplicativeExpression )
+            // InternalSignalDSL.g:18450:3: ruleXMultiplicativeExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); 
@@ -60359,23 +60452,23 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1"
-    // InternalSignalDSL.g:18416:1: rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpMulti ) ) ;
+    // InternalSignalDSL.g:18459:1: rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1 : ( ( ruleOpMulti ) ) ;
     public final void rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18420:1: ( ( ( ruleOpMulti ) ) )
-            // InternalSignalDSL.g:18421:2: ( ( ruleOpMulti ) )
+            // InternalSignalDSL.g:18463:1: ( ( ( ruleOpMulti ) ) )
+            // InternalSignalDSL.g:18464:2: ( ( ruleOpMulti ) )
             {
-            // InternalSignalDSL.g:18421:2: ( ( ruleOpMulti ) )
-            // InternalSignalDSL.g:18422:3: ( ruleOpMulti )
+            // InternalSignalDSL.g:18464:2: ( ( ruleOpMulti ) )
+            // InternalSignalDSL.g:18465:3: ( ruleOpMulti )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); 
             }
-            // InternalSignalDSL.g:18423:3: ( ruleOpMulti )
-            // InternalSignalDSL.g:18424:4: ruleOpMulti
+            // InternalSignalDSL.g:18466:3: ( ruleOpMulti )
+            // InternalSignalDSL.g:18467:4: ruleOpMulti
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementOpMultiParserRuleCall_1_0_0_1_0_1()); 
@@ -60416,17 +60509,17 @@
 
 
     // $ANTLR start "rule__XMultiplicativeExpression__RightOperandAssignment_1_1"
-    // InternalSignalDSL.g:18435:1: rule__XMultiplicativeExpression__RightOperandAssignment_1_1 : ( ruleXUnaryOperation ) ;
+    // InternalSignalDSL.g:18478:1: rule__XMultiplicativeExpression__RightOperandAssignment_1_1 : ( ruleXUnaryOperation ) ;
     public final void rule__XMultiplicativeExpression__RightOperandAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18439:1: ( ( ruleXUnaryOperation ) )
-            // InternalSignalDSL.g:18440:2: ( ruleXUnaryOperation )
+            // InternalSignalDSL.g:18482:1: ( ( ruleXUnaryOperation ) )
+            // InternalSignalDSL.g:18483:2: ( ruleXUnaryOperation )
             {
-            // InternalSignalDSL.g:18440:2: ( ruleXUnaryOperation )
-            // InternalSignalDSL.g:18441:3: ruleXUnaryOperation
+            // InternalSignalDSL.g:18483:2: ( ruleXUnaryOperation )
+            // InternalSignalDSL.g:18484:3: ruleXUnaryOperation
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); 
@@ -60461,23 +60554,23 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__FeatureAssignment_0_1"
-    // InternalSignalDSL.g:18450:1: rule__XUnaryOperation__FeatureAssignment_0_1 : ( ( ruleOpUnary ) ) ;
+    // InternalSignalDSL.g:18493:1: rule__XUnaryOperation__FeatureAssignment_0_1 : ( ( ruleOpUnary ) ) ;
     public final void rule__XUnaryOperation__FeatureAssignment_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18454:1: ( ( ( ruleOpUnary ) ) )
-            // InternalSignalDSL.g:18455:2: ( ( ruleOpUnary ) )
+            // InternalSignalDSL.g:18497:1: ( ( ( ruleOpUnary ) ) )
+            // InternalSignalDSL.g:18498:2: ( ( ruleOpUnary ) )
             {
-            // InternalSignalDSL.g:18455:2: ( ( ruleOpUnary ) )
-            // InternalSignalDSL.g:18456:3: ( ruleOpUnary )
+            // InternalSignalDSL.g:18498:2: ( ( ruleOpUnary ) )
+            // InternalSignalDSL.g:18499:3: ( ruleOpUnary )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); 
             }
-            // InternalSignalDSL.g:18457:3: ( ruleOpUnary )
-            // InternalSignalDSL.g:18458:4: ruleOpUnary
+            // InternalSignalDSL.g:18500:3: ( ruleOpUnary )
+            // InternalSignalDSL.g:18501:4: ruleOpUnary
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementOpUnaryParserRuleCall_0_1_0_1()); 
@@ -60518,17 +60611,17 @@
 
 
     // $ANTLR start "rule__XUnaryOperation__OperandAssignment_0_2"
-    // InternalSignalDSL.g:18469:1: rule__XUnaryOperation__OperandAssignment_0_2 : ( ruleXUnaryOperation ) ;
+    // InternalSignalDSL.g:18512:1: rule__XUnaryOperation__OperandAssignment_0_2 : ( ruleXUnaryOperation ) ;
     public final void rule__XUnaryOperation__OperandAssignment_0_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18473:1: ( ( ruleXUnaryOperation ) )
-            // InternalSignalDSL.g:18474:2: ( ruleXUnaryOperation )
+            // InternalSignalDSL.g:18516:1: ( ( ruleXUnaryOperation ) )
+            // InternalSignalDSL.g:18517:2: ( ruleXUnaryOperation )
             {
-            // InternalSignalDSL.g:18474:2: ( ruleXUnaryOperation )
-            // InternalSignalDSL.g:18475:3: ruleXUnaryOperation
+            // InternalSignalDSL.g:18517:2: ( ruleXUnaryOperation )
+            // InternalSignalDSL.g:18518:3: ruleXUnaryOperation
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); 
@@ -60563,17 +60656,17 @@
 
 
     // $ANTLR start "rule__XCastedExpression__TypeAssignment_1_1"
-    // InternalSignalDSL.g:18484:1: rule__XCastedExpression__TypeAssignment_1_1 : ( ruleJvmTypeReference ) ;
+    // InternalSignalDSL.g:18527:1: rule__XCastedExpression__TypeAssignment_1_1 : ( ruleJvmTypeReference ) ;
     public final void rule__XCastedExpression__TypeAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18488:1: ( ( ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:18489:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:18531:1: ( ( ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:18532:2: ( ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:18489:2: ( ruleJvmTypeReference )
-            // InternalSignalDSL.g:18490:3: ruleJvmTypeReference
+            // InternalSignalDSL.g:18532:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:18533:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); 
@@ -60608,23 +60701,23 @@
 
 
     // $ANTLR start "rule__XPostfixOperation__FeatureAssignment_1_0_1"
-    // InternalSignalDSL.g:18499:1: rule__XPostfixOperation__FeatureAssignment_1_0_1 : ( ( ruleOpPostfix ) ) ;
+    // InternalSignalDSL.g:18542:1: rule__XPostfixOperation__FeatureAssignment_1_0_1 : ( ( ruleOpPostfix ) ) ;
     public final void rule__XPostfixOperation__FeatureAssignment_1_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18503:1: ( ( ( ruleOpPostfix ) ) )
-            // InternalSignalDSL.g:18504:2: ( ( ruleOpPostfix ) )
+            // InternalSignalDSL.g:18546:1: ( ( ( ruleOpPostfix ) ) )
+            // InternalSignalDSL.g:18547:2: ( ( ruleOpPostfix ) )
             {
-            // InternalSignalDSL.g:18504:2: ( ( ruleOpPostfix ) )
-            // InternalSignalDSL.g:18505:3: ( ruleOpPostfix )
+            // InternalSignalDSL.g:18547:2: ( ( ruleOpPostfix ) )
+            // InternalSignalDSL.g:18548:3: ( ruleOpPostfix )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); 
             }
-            // InternalSignalDSL.g:18506:3: ( ruleOpPostfix )
-            // InternalSignalDSL.g:18507:4: ruleOpPostfix
+            // InternalSignalDSL.g:18549:3: ( ruleOpPostfix )
+            // InternalSignalDSL.g:18550:4: ruleOpPostfix
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementOpPostfixParserRuleCall_1_0_1_0_1()); 
@@ -60665,28 +60758,28 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1"
-    // InternalSignalDSL.g:18518:1: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 : ( ( '::' ) ) ;
+    // InternalSignalDSL.g:18561:1: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1 : ( ( '::' ) ) ;
     public final void rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18522:1: ( ( ( '::' ) ) )
-            // InternalSignalDSL.g:18523:2: ( ( '::' ) )
+            // InternalSignalDSL.g:18565:1: ( ( ( '::' ) ) )
+            // InternalSignalDSL.g:18566:2: ( ( '::' ) )
             {
-            // InternalSignalDSL.g:18523:2: ( ( '::' ) )
-            // InternalSignalDSL.g:18524:3: ( '::' )
+            // InternalSignalDSL.g:18566:2: ( ( '::' ) )
+            // InternalSignalDSL.g:18567:3: ( '::' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); 
             }
-            // InternalSignalDSL.g:18525:3: ( '::' )
-            // InternalSignalDSL.g:18526:4: '::'
+            // InternalSignalDSL.g:18568:3: ( '::' )
+            // InternalSignalDSL.g:18569:4: '::'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); 
             }
-            match(input,102,FOLLOW_2); if (state.failed) return ;
+            match(input,99,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); 
             }
@@ -60718,23 +60811,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2"
-    // InternalSignalDSL.g:18537:1: rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 : ( ( ruleFeatureCallID ) ) ;
+    // InternalSignalDSL.g:18580:1: rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2 : ( ( ruleFeatureCallID ) ) ;
     public final void rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18541:1: ( ( ( ruleFeatureCallID ) ) )
-            // InternalSignalDSL.g:18542:2: ( ( ruleFeatureCallID ) )
+            // InternalSignalDSL.g:18584:1: ( ( ( ruleFeatureCallID ) ) )
+            // InternalSignalDSL.g:18585:2: ( ( ruleFeatureCallID ) )
             {
-            // InternalSignalDSL.g:18542:2: ( ( ruleFeatureCallID ) )
-            // InternalSignalDSL.g:18543:3: ( ruleFeatureCallID )
+            // InternalSignalDSL.g:18585:2: ( ( ruleFeatureCallID ) )
+            // InternalSignalDSL.g:18586:3: ( ruleFeatureCallID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); 
             }
-            // InternalSignalDSL.g:18544:3: ( ruleFeatureCallID )
-            // InternalSignalDSL.g:18545:4: ruleFeatureCallID
+            // InternalSignalDSL.g:18587:3: ( ruleFeatureCallID )
+            // InternalSignalDSL.g:18588:4: ruleFeatureCallID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementFeatureCallIDParserRuleCall_1_0_0_0_2_0_1()); 
@@ -60775,17 +60868,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__ValueAssignment_1_0_1"
-    // InternalSignalDSL.g:18556:1: rule__XMemberFeatureCall__ValueAssignment_1_0_1 : ( ruleXAssignment ) ;
+    // InternalSignalDSL.g:18599:1: rule__XMemberFeatureCall__ValueAssignment_1_0_1 : ( ruleXAssignment ) ;
     public final void rule__XMemberFeatureCall__ValueAssignment_1_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18560:1: ( ( ruleXAssignment ) )
-            // InternalSignalDSL.g:18561:2: ( ruleXAssignment )
+            // InternalSignalDSL.g:18603:1: ( ( ruleXAssignment ) )
+            // InternalSignalDSL.g:18604:2: ( ruleXAssignment )
             {
-            // InternalSignalDSL.g:18561:2: ( ruleXAssignment )
-            // InternalSignalDSL.g:18562:3: ruleXAssignment
+            // InternalSignalDSL.g:18604:2: ( ruleXAssignment )
+            // InternalSignalDSL.g:18605:3: ruleXAssignment
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); 
@@ -60820,28 +60913,28 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1"
-    // InternalSignalDSL.g:18571:1: rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 : ( ( '?.' ) ) ;
+    // InternalSignalDSL.g:18614:1: rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1 : ( ( '?.' ) ) ;
     public final void rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18575:1: ( ( ( '?.' ) ) )
-            // InternalSignalDSL.g:18576:2: ( ( '?.' ) )
+            // InternalSignalDSL.g:18618:1: ( ( ( '?.' ) ) )
+            // InternalSignalDSL.g:18619:2: ( ( '?.' ) )
             {
-            // InternalSignalDSL.g:18576:2: ( ( '?.' ) )
-            // InternalSignalDSL.g:18577:3: ( '?.' )
+            // InternalSignalDSL.g:18619:2: ( ( '?.' ) )
+            // InternalSignalDSL.g:18620:3: ( '?.' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); 
             }
-            // InternalSignalDSL.g:18578:3: ( '?.' )
-            // InternalSignalDSL.g:18579:4: '?.'
+            // InternalSignalDSL.g:18621:3: ( '?.' )
+            // InternalSignalDSL.g:18622:4: '?.'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); 
             }
-            match(input,103,FOLLOW_2); if (state.failed) return ;
+            match(input,100,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); 
             }
@@ -60873,28 +60966,28 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2"
-    // InternalSignalDSL.g:18590:1: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 : ( ( '::' ) ) ;
+    // InternalSignalDSL.g:18633:1: rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2 : ( ( '::' ) ) ;
     public final void rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18594:1: ( ( ( '::' ) ) )
-            // InternalSignalDSL.g:18595:2: ( ( '::' ) )
+            // InternalSignalDSL.g:18637:1: ( ( ( '::' ) ) )
+            // InternalSignalDSL.g:18638:2: ( ( '::' ) )
             {
-            // InternalSignalDSL.g:18595:2: ( ( '::' ) )
-            // InternalSignalDSL.g:18596:3: ( '::' )
+            // InternalSignalDSL.g:18638:2: ( ( '::' ) )
+            // InternalSignalDSL.g:18639:3: ( '::' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); 
             }
-            // InternalSignalDSL.g:18597:3: ( '::' )
-            // InternalSignalDSL.g:18598:4: '::'
+            // InternalSignalDSL.g:18640:3: ( '::' )
+            // InternalSignalDSL.g:18641:4: '::'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); 
             }
-            match(input,102,FOLLOW_2); if (state.failed) return ;
+            match(input,99,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); 
             }
@@ -60926,17 +61019,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1"
-    // InternalSignalDSL.g:18609:1: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalSignalDSL.g:18652:1: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18613:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalSignalDSL.g:18614:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:18656:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalSignalDSL.g:18657:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalSignalDSL.g:18614:2: ( ruleJvmArgumentTypeReference )
-            // InternalSignalDSL.g:18615:3: ruleJvmArgumentTypeReference
+            // InternalSignalDSL.g:18657:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:18658:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); 
@@ -60971,17 +61064,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1"
-    // InternalSignalDSL.g:18624:1: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalSignalDSL.g:18667:1: rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18628:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalSignalDSL.g:18629:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:18671:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalSignalDSL.g:18672:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalSignalDSL.g:18629:2: ( ruleJvmArgumentTypeReference )
-            // InternalSignalDSL.g:18630:3: ruleJvmArgumentTypeReference
+            // InternalSignalDSL.g:18672:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:18673:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); 
@@ -61016,23 +61109,23 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__FeatureAssignment_1_1_2"
-    // InternalSignalDSL.g:18639:1: rule__XMemberFeatureCall__FeatureAssignment_1_1_2 : ( ( ruleIdOrSuper ) ) ;
+    // InternalSignalDSL.g:18682:1: rule__XMemberFeatureCall__FeatureAssignment_1_1_2 : ( ( ruleIdOrSuper ) ) ;
     public final void rule__XMemberFeatureCall__FeatureAssignment_1_1_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18643:1: ( ( ( ruleIdOrSuper ) ) )
-            // InternalSignalDSL.g:18644:2: ( ( ruleIdOrSuper ) )
+            // InternalSignalDSL.g:18686:1: ( ( ( ruleIdOrSuper ) ) )
+            // InternalSignalDSL.g:18687:2: ( ( ruleIdOrSuper ) )
             {
-            // InternalSignalDSL.g:18644:2: ( ( ruleIdOrSuper ) )
-            // InternalSignalDSL.g:18645:3: ( ruleIdOrSuper )
+            // InternalSignalDSL.g:18687:2: ( ( ruleIdOrSuper ) )
+            // InternalSignalDSL.g:18688:3: ( ruleIdOrSuper )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); 
             }
-            // InternalSignalDSL.g:18646:3: ( ruleIdOrSuper )
-            // InternalSignalDSL.g:18647:4: ruleIdOrSuper
+            // InternalSignalDSL.g:18689:3: ( ruleIdOrSuper )
+            // InternalSignalDSL.g:18690:4: ruleIdOrSuper
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_1_1_2_0_1()); 
@@ -61073,28 +61166,28 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0"
-    // InternalSignalDSL.g:18658:1: rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 : ( ( '(' ) ) ;
+    // InternalSignalDSL.g:18701:1: rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0 : ( ( '(' ) ) ;
     public final void rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18662:1: ( ( ( '(' ) ) )
-            // InternalSignalDSL.g:18663:2: ( ( '(' ) )
+            // InternalSignalDSL.g:18705:1: ( ( ( '(' ) ) )
+            // InternalSignalDSL.g:18706:2: ( ( '(' ) )
             {
-            // InternalSignalDSL.g:18663:2: ( ( '(' ) )
-            // InternalSignalDSL.g:18664:3: ( '(' )
+            // InternalSignalDSL.g:18706:2: ( ( '(' ) )
+            // InternalSignalDSL.g:18707:3: ( '(' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); 
             }
-            // InternalSignalDSL.g:18665:3: ( '(' )
-            // InternalSignalDSL.g:18666:4: '('
+            // InternalSignalDSL.g:18708:3: ( '(' )
+            // InternalSignalDSL.g:18709:4: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); 
             }
-            match(input,74,FOLLOW_2); if (state.failed) return ;
+            match(input,71,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); 
             }
@@ -61126,17 +61219,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0"
-    // InternalSignalDSL.g:18677:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 : ( ruleXShortClosure ) ;
+    // InternalSignalDSL.g:18720:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 : ( ruleXShortClosure ) ;
     public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18681:1: ( ( ruleXShortClosure ) )
-            // InternalSignalDSL.g:18682:2: ( ruleXShortClosure )
+            // InternalSignalDSL.g:18724:1: ( ( ruleXShortClosure ) )
+            // InternalSignalDSL.g:18725:2: ( ruleXShortClosure )
             {
-            // InternalSignalDSL.g:18682:2: ( ruleXShortClosure )
-            // InternalSignalDSL.g:18683:3: ruleXShortClosure
+            // InternalSignalDSL.g:18725:2: ( ruleXShortClosure )
+            // InternalSignalDSL.g:18726:3: ruleXShortClosure
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); 
@@ -61171,17 +61264,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0"
-    // InternalSignalDSL.g:18692:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:18735:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0 : ( ruleXExpression ) ;
     public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18696:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:18697:2: ( ruleXExpression )
+            // InternalSignalDSL.g:18739:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:18740:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:18697:2: ( ruleXExpression )
-            // InternalSignalDSL.g:18698:3: ruleXExpression
+            // InternalSignalDSL.g:18740:2: ( ruleXExpression )
+            // InternalSignalDSL.g:18741:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); 
@@ -61216,17 +61309,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1"
-    // InternalSignalDSL.g:18707:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:18750:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1 : ( ruleXExpression ) ;
     public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18711:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:18712:2: ( ruleXExpression )
+            // InternalSignalDSL.g:18754:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:18755:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:18712:2: ( ruleXExpression )
-            // InternalSignalDSL.g:18713:3: ruleXExpression
+            // InternalSignalDSL.g:18755:2: ( ruleXExpression )
+            // InternalSignalDSL.g:18756:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); 
@@ -61261,17 +61354,17 @@
 
 
     // $ANTLR start "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4"
-    // InternalSignalDSL.g:18722:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 : ( ruleXClosure ) ;
+    // InternalSignalDSL.g:18765:1: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 : ( ruleXClosure ) ;
     public final void rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18726:1: ( ( ruleXClosure ) )
-            // InternalSignalDSL.g:18727:2: ( ruleXClosure )
+            // InternalSignalDSL.g:18769:1: ( ( ruleXClosure ) )
+            // InternalSignalDSL.g:18770:2: ( ruleXClosure )
             {
-            // InternalSignalDSL.g:18727:2: ( ruleXClosure )
-            // InternalSignalDSL.g:18728:3: ruleXClosure
+            // InternalSignalDSL.g:18770:2: ( ruleXClosure )
+            // InternalSignalDSL.g:18771:3: ruleXClosure
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); 
@@ -61306,17 +61399,17 @@
 
 
     // $ANTLR start "rule__XSetLiteral__ElementsAssignment_3_0"
-    // InternalSignalDSL.g:18737:1: rule__XSetLiteral__ElementsAssignment_3_0 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:18780:1: rule__XSetLiteral__ElementsAssignment_3_0 : ( ruleXExpression ) ;
     public final void rule__XSetLiteral__ElementsAssignment_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18741:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:18742:2: ( ruleXExpression )
+            // InternalSignalDSL.g:18784:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:18785:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:18742:2: ( ruleXExpression )
-            // InternalSignalDSL.g:18743:3: ruleXExpression
+            // InternalSignalDSL.g:18785:2: ( ruleXExpression )
+            // InternalSignalDSL.g:18786:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); 
@@ -61351,17 +61444,17 @@
 
 
     // $ANTLR start "rule__XSetLiteral__ElementsAssignment_3_1_1"
-    // InternalSignalDSL.g:18752:1: rule__XSetLiteral__ElementsAssignment_3_1_1 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:18795:1: rule__XSetLiteral__ElementsAssignment_3_1_1 : ( ruleXExpression ) ;
     public final void rule__XSetLiteral__ElementsAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18756:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:18757:2: ( ruleXExpression )
+            // InternalSignalDSL.g:18799:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:18800:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:18757:2: ( ruleXExpression )
-            // InternalSignalDSL.g:18758:3: ruleXExpression
+            // InternalSignalDSL.g:18800:2: ( ruleXExpression )
+            // InternalSignalDSL.g:18801:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); 
@@ -61396,17 +61489,17 @@
 
 
     // $ANTLR start "rule__XListLiteral__ElementsAssignment_3_0"
-    // InternalSignalDSL.g:18767:1: rule__XListLiteral__ElementsAssignment_3_0 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:18810:1: rule__XListLiteral__ElementsAssignment_3_0 : ( ruleXExpression ) ;
     public final void rule__XListLiteral__ElementsAssignment_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18771:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:18772:2: ( ruleXExpression )
+            // InternalSignalDSL.g:18814:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:18815:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:18772:2: ( ruleXExpression )
-            // InternalSignalDSL.g:18773:3: ruleXExpression
+            // InternalSignalDSL.g:18815:2: ( ruleXExpression )
+            // InternalSignalDSL.g:18816:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); 
@@ -61441,17 +61534,17 @@
 
 
     // $ANTLR start "rule__XListLiteral__ElementsAssignment_3_1_1"
-    // InternalSignalDSL.g:18782:1: rule__XListLiteral__ElementsAssignment_3_1_1 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:18825:1: rule__XListLiteral__ElementsAssignment_3_1_1 : ( ruleXExpression ) ;
     public final void rule__XListLiteral__ElementsAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18786:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:18787:2: ( ruleXExpression )
+            // InternalSignalDSL.g:18829:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:18830:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:18787:2: ( ruleXExpression )
-            // InternalSignalDSL.g:18788:3: ruleXExpression
+            // InternalSignalDSL.g:18830:2: ( ruleXExpression )
+            // InternalSignalDSL.g:18831:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); 
@@ -61486,17 +61579,17 @@
 
 
     // $ANTLR start "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0"
-    // InternalSignalDSL.g:18797:1: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 : ( ruleJvmFormalParameter ) ;
+    // InternalSignalDSL.g:18840:1: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0 : ( ruleJvmFormalParameter ) ;
     public final void rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18801:1: ( ( ruleJvmFormalParameter ) )
-            // InternalSignalDSL.g:18802:2: ( ruleJvmFormalParameter )
+            // InternalSignalDSL.g:18844:1: ( ( ruleJvmFormalParameter ) )
+            // InternalSignalDSL.g:18845:2: ( ruleJvmFormalParameter )
             {
-            // InternalSignalDSL.g:18802:2: ( ruleJvmFormalParameter )
-            // InternalSignalDSL.g:18803:3: ruleJvmFormalParameter
+            // InternalSignalDSL.g:18845:2: ( ruleJvmFormalParameter )
+            // InternalSignalDSL.g:18846:3: ruleJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); 
@@ -61531,17 +61624,17 @@
 
 
     // $ANTLR start "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1"
-    // InternalSignalDSL.g:18812:1: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 : ( ruleJvmFormalParameter ) ;
+    // InternalSignalDSL.g:18855:1: rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1 : ( ruleJvmFormalParameter ) ;
     public final void rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18816:1: ( ( ruleJvmFormalParameter ) )
-            // InternalSignalDSL.g:18817:2: ( ruleJvmFormalParameter )
+            // InternalSignalDSL.g:18859:1: ( ( ruleJvmFormalParameter ) )
+            // InternalSignalDSL.g:18860:2: ( ruleJvmFormalParameter )
             {
-            // InternalSignalDSL.g:18817:2: ( ruleJvmFormalParameter )
-            // InternalSignalDSL.g:18818:3: ruleJvmFormalParameter
+            // InternalSignalDSL.g:18860:2: ( ruleJvmFormalParameter )
+            // InternalSignalDSL.g:18861:3: ruleJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); 
@@ -61576,28 +61669,28 @@
 
 
     // $ANTLR start "rule__XClosure__ExplicitSyntaxAssignment_1_0_1"
-    // InternalSignalDSL.g:18827:1: rule__XClosure__ExplicitSyntaxAssignment_1_0_1 : ( ( '|' ) ) ;
+    // InternalSignalDSL.g:18870:1: rule__XClosure__ExplicitSyntaxAssignment_1_0_1 : ( ( '|' ) ) ;
     public final void rule__XClosure__ExplicitSyntaxAssignment_1_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18831:1: ( ( ( '|' ) ) )
-            // InternalSignalDSL.g:18832:2: ( ( '|' ) )
+            // InternalSignalDSL.g:18874:1: ( ( ( '|' ) ) )
+            // InternalSignalDSL.g:18875:2: ( ( '|' ) )
             {
-            // InternalSignalDSL.g:18832:2: ( ( '|' ) )
-            // InternalSignalDSL.g:18833:3: ( '|' )
+            // InternalSignalDSL.g:18875:2: ( ( '|' ) )
+            // InternalSignalDSL.g:18876:3: ( '|' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); 
             }
-            // InternalSignalDSL.g:18834:3: ( '|' )
-            // InternalSignalDSL.g:18835:4: '|'
+            // InternalSignalDSL.g:18877:3: ( '|' )
+            // InternalSignalDSL.g:18878:4: '|'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); 
             }
-            match(input,104,FOLLOW_2); if (state.failed) return ;
+            match(input,101,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); 
             }
@@ -61629,17 +61722,17 @@
 
 
     // $ANTLR start "rule__XClosure__ExpressionAssignment_2"
-    // InternalSignalDSL.g:18846:1: rule__XClosure__ExpressionAssignment_2 : ( ruleXExpressionInClosure ) ;
+    // InternalSignalDSL.g:18889:1: rule__XClosure__ExpressionAssignment_2 : ( ruleXExpressionInClosure ) ;
     public final void rule__XClosure__ExpressionAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18850:1: ( ( ruleXExpressionInClosure ) )
-            // InternalSignalDSL.g:18851:2: ( ruleXExpressionInClosure )
+            // InternalSignalDSL.g:18893:1: ( ( ruleXExpressionInClosure ) )
+            // InternalSignalDSL.g:18894:2: ( ruleXExpressionInClosure )
             {
-            // InternalSignalDSL.g:18851:2: ( ruleXExpressionInClosure )
-            // InternalSignalDSL.g:18852:3: ruleXExpressionInClosure
+            // InternalSignalDSL.g:18894:2: ( ruleXExpressionInClosure )
+            // InternalSignalDSL.g:18895:3: ruleXExpressionInClosure
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); 
@@ -61674,17 +61767,17 @@
 
 
     // $ANTLR start "rule__XExpressionInClosure__ExpressionsAssignment_1_0"
-    // InternalSignalDSL.g:18861:1: rule__XExpressionInClosure__ExpressionsAssignment_1_0 : ( ruleXExpressionOrVarDeclaration ) ;
+    // InternalSignalDSL.g:18904:1: rule__XExpressionInClosure__ExpressionsAssignment_1_0 : ( ruleXExpressionOrVarDeclaration ) ;
     public final void rule__XExpressionInClosure__ExpressionsAssignment_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18865:1: ( ( ruleXExpressionOrVarDeclaration ) )
-            // InternalSignalDSL.g:18866:2: ( ruleXExpressionOrVarDeclaration )
+            // InternalSignalDSL.g:18908:1: ( ( ruleXExpressionOrVarDeclaration ) )
+            // InternalSignalDSL.g:18909:2: ( ruleXExpressionOrVarDeclaration )
             {
-            // InternalSignalDSL.g:18866:2: ( ruleXExpressionOrVarDeclaration )
-            // InternalSignalDSL.g:18867:3: ruleXExpressionOrVarDeclaration
+            // InternalSignalDSL.g:18909:2: ( ruleXExpressionOrVarDeclaration )
+            // InternalSignalDSL.g:18910:3: ruleXExpressionOrVarDeclaration
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); 
@@ -61719,17 +61812,17 @@
 
 
     // $ANTLR start "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0"
-    // InternalSignalDSL.g:18876:1: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 : ( ruleJvmFormalParameter ) ;
+    // InternalSignalDSL.g:18919:1: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0 : ( ruleJvmFormalParameter ) ;
     public final void rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18880:1: ( ( ruleJvmFormalParameter ) )
-            // InternalSignalDSL.g:18881:2: ( ruleJvmFormalParameter )
+            // InternalSignalDSL.g:18923:1: ( ( ruleJvmFormalParameter ) )
+            // InternalSignalDSL.g:18924:2: ( ruleJvmFormalParameter )
             {
-            // InternalSignalDSL.g:18881:2: ( ruleJvmFormalParameter )
-            // InternalSignalDSL.g:18882:3: ruleJvmFormalParameter
+            // InternalSignalDSL.g:18924:2: ( ruleJvmFormalParameter )
+            // InternalSignalDSL.g:18925:3: ruleJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); 
@@ -61764,17 +61857,17 @@
 
 
     // $ANTLR start "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1"
-    // InternalSignalDSL.g:18891:1: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 : ( ruleJvmFormalParameter ) ;
+    // InternalSignalDSL.g:18934:1: rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1 : ( ruleJvmFormalParameter ) ;
     public final void rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18895:1: ( ( ruleJvmFormalParameter ) )
-            // InternalSignalDSL.g:18896:2: ( ruleJvmFormalParameter )
+            // InternalSignalDSL.g:18938:1: ( ( ruleJvmFormalParameter ) )
+            // InternalSignalDSL.g:18939:2: ( ruleJvmFormalParameter )
             {
-            // InternalSignalDSL.g:18896:2: ( ruleJvmFormalParameter )
-            // InternalSignalDSL.g:18897:3: ruleJvmFormalParameter
+            // InternalSignalDSL.g:18939:2: ( ruleJvmFormalParameter )
+            // InternalSignalDSL.g:18940:3: ruleJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); 
@@ -61809,28 +61902,28 @@
 
 
     // $ANTLR start "rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2"
-    // InternalSignalDSL.g:18906:1: rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 : ( ( '|' ) ) ;
+    // InternalSignalDSL.g:18949:1: rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2 : ( ( '|' ) ) ;
     public final void rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18910:1: ( ( ( '|' ) ) )
-            // InternalSignalDSL.g:18911:2: ( ( '|' ) )
+            // InternalSignalDSL.g:18953:1: ( ( ( '|' ) ) )
+            // InternalSignalDSL.g:18954:2: ( ( '|' ) )
             {
-            // InternalSignalDSL.g:18911:2: ( ( '|' ) )
-            // InternalSignalDSL.g:18912:3: ( '|' )
+            // InternalSignalDSL.g:18954:2: ( ( '|' ) )
+            // InternalSignalDSL.g:18955:3: ( '|' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); 
             }
-            // InternalSignalDSL.g:18913:3: ( '|' )
-            // InternalSignalDSL.g:18914:4: '|'
+            // InternalSignalDSL.g:18956:3: ( '|' )
+            // InternalSignalDSL.g:18957:4: '|'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); 
             }
-            match(input,104,FOLLOW_2); if (state.failed) return ;
+            match(input,101,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); 
             }
@@ -61862,17 +61955,17 @@
 
 
     // $ANTLR start "rule__XShortClosure__ExpressionAssignment_1"
-    // InternalSignalDSL.g:18925:1: rule__XShortClosure__ExpressionAssignment_1 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:18968:1: rule__XShortClosure__ExpressionAssignment_1 : ( ruleXExpression ) ;
     public final void rule__XShortClosure__ExpressionAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18929:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:18930:2: ( ruleXExpression )
+            // InternalSignalDSL.g:18972:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:18973:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:18930:2: ( ruleXExpression )
-            // InternalSignalDSL.g:18931:3: ruleXExpression
+            // InternalSignalDSL.g:18973:2: ( ruleXExpression )
+            // InternalSignalDSL.g:18974:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); 
@@ -61907,17 +62000,17 @@
 
 
     // $ANTLR start "rule__XIfExpression__IfAssignment_3"
-    // InternalSignalDSL.g:18940:1: rule__XIfExpression__IfAssignment_3 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:18983:1: rule__XIfExpression__IfAssignment_3 : ( ruleXExpression ) ;
     public final void rule__XIfExpression__IfAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18944:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:18945:2: ( ruleXExpression )
+            // InternalSignalDSL.g:18987:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:18988:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:18945:2: ( ruleXExpression )
-            // InternalSignalDSL.g:18946:3: ruleXExpression
+            // InternalSignalDSL.g:18988:2: ( ruleXExpression )
+            // InternalSignalDSL.g:18989:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); 
@@ -61952,17 +62045,17 @@
 
 
     // $ANTLR start "rule__XIfExpression__ThenAssignment_5"
-    // InternalSignalDSL.g:18955:1: rule__XIfExpression__ThenAssignment_5 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:18998:1: rule__XIfExpression__ThenAssignment_5 : ( ruleXExpression ) ;
     public final void rule__XIfExpression__ThenAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18959:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:18960:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19002:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19003:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:18960:2: ( ruleXExpression )
-            // InternalSignalDSL.g:18961:3: ruleXExpression
+            // InternalSignalDSL.g:19003:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19004:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); 
@@ -61997,17 +62090,17 @@
 
 
     // $ANTLR start "rule__XIfExpression__ElseAssignment_6_1"
-    // InternalSignalDSL.g:18970:1: rule__XIfExpression__ElseAssignment_6_1 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19013:1: rule__XIfExpression__ElseAssignment_6_1 : ( ruleXExpression ) ;
     public final void rule__XIfExpression__ElseAssignment_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18974:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:18975:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19017:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19018:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:18975:2: ( ruleXExpression )
-            // InternalSignalDSL.g:18976:3: ruleXExpression
+            // InternalSignalDSL.g:19018:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19019:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); 
@@ -62042,17 +62135,17 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1"
-    // InternalSignalDSL.g:18985:1: rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 : ( ruleJvmFormalParameter ) ;
+    // InternalSignalDSL.g:19028:1: rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1 : ( ruleJvmFormalParameter ) ;
     public final void rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:18989:1: ( ( ruleJvmFormalParameter ) )
-            // InternalSignalDSL.g:18990:2: ( ruleJvmFormalParameter )
+            // InternalSignalDSL.g:19032:1: ( ( ruleJvmFormalParameter ) )
+            // InternalSignalDSL.g:19033:2: ( ruleJvmFormalParameter )
             {
-            // InternalSignalDSL.g:18990:2: ( ruleJvmFormalParameter )
-            // InternalSignalDSL.g:18991:3: ruleJvmFormalParameter
+            // InternalSignalDSL.g:19033:2: ( ruleJvmFormalParameter )
+            // InternalSignalDSL.g:19034:3: ruleJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); 
@@ -62087,17 +62180,17 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__SwitchAssignment_2_0_1"
-    // InternalSignalDSL.g:19000:1: rule__XSwitchExpression__SwitchAssignment_2_0_1 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19043:1: rule__XSwitchExpression__SwitchAssignment_2_0_1 : ( ruleXExpression ) ;
     public final void rule__XSwitchExpression__SwitchAssignment_2_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19004:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19005:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19047:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19048:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19005:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19006:3: ruleXExpression
+            // InternalSignalDSL.g:19048:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19049:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); 
@@ -62132,17 +62225,17 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0"
-    // InternalSignalDSL.g:19015:1: rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 : ( ruleJvmFormalParameter ) ;
+    // InternalSignalDSL.g:19058:1: rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0 : ( ruleJvmFormalParameter ) ;
     public final void rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19019:1: ( ( ruleJvmFormalParameter ) )
-            // InternalSignalDSL.g:19020:2: ( ruleJvmFormalParameter )
+            // InternalSignalDSL.g:19062:1: ( ( ruleJvmFormalParameter ) )
+            // InternalSignalDSL.g:19063:2: ( ruleJvmFormalParameter )
             {
-            // InternalSignalDSL.g:19020:2: ( ruleJvmFormalParameter )
-            // InternalSignalDSL.g:19021:3: ruleJvmFormalParameter
+            // InternalSignalDSL.g:19063:2: ( ruleJvmFormalParameter )
+            // InternalSignalDSL.g:19064:3: ruleJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); 
@@ -62177,17 +62270,17 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__SwitchAssignment_2_1_1"
-    // InternalSignalDSL.g:19030:1: rule__XSwitchExpression__SwitchAssignment_2_1_1 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19073:1: rule__XSwitchExpression__SwitchAssignment_2_1_1 : ( ruleXExpression ) ;
     public final void rule__XSwitchExpression__SwitchAssignment_2_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19034:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19035:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19077:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19078:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19035:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19036:3: ruleXExpression
+            // InternalSignalDSL.g:19078:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19079:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); 
@@ -62222,17 +62315,17 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__CasesAssignment_4"
-    // InternalSignalDSL.g:19045:1: rule__XSwitchExpression__CasesAssignment_4 : ( ruleXCasePart ) ;
+    // InternalSignalDSL.g:19088:1: rule__XSwitchExpression__CasesAssignment_4 : ( ruleXCasePart ) ;
     public final void rule__XSwitchExpression__CasesAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19049:1: ( ( ruleXCasePart ) )
-            // InternalSignalDSL.g:19050:2: ( ruleXCasePart )
+            // InternalSignalDSL.g:19092:1: ( ( ruleXCasePart ) )
+            // InternalSignalDSL.g:19093:2: ( ruleXCasePart )
             {
-            // InternalSignalDSL.g:19050:2: ( ruleXCasePart )
-            // InternalSignalDSL.g:19051:3: ruleXCasePart
+            // InternalSignalDSL.g:19093:2: ( ruleXCasePart )
+            // InternalSignalDSL.g:19094:3: ruleXCasePart
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); 
@@ -62267,17 +62360,17 @@
 
 
     // $ANTLR start "rule__XSwitchExpression__DefaultAssignment_5_2"
-    // InternalSignalDSL.g:19060:1: rule__XSwitchExpression__DefaultAssignment_5_2 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19103:1: rule__XSwitchExpression__DefaultAssignment_5_2 : ( ruleXExpression ) ;
     public final void rule__XSwitchExpression__DefaultAssignment_5_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19064:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19065:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19107:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19108:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19065:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19066:3: ruleXExpression
+            // InternalSignalDSL.g:19108:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19109:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); 
@@ -62312,17 +62405,17 @@
 
 
     // $ANTLR start "rule__XCasePart__TypeGuardAssignment_1"
-    // InternalSignalDSL.g:19075:1: rule__XCasePart__TypeGuardAssignment_1 : ( ruleJvmTypeReference ) ;
+    // InternalSignalDSL.g:19118:1: rule__XCasePart__TypeGuardAssignment_1 : ( ruleJvmTypeReference ) ;
     public final void rule__XCasePart__TypeGuardAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19079:1: ( ( ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:19080:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:19122:1: ( ( ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:19123:2: ( ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:19080:2: ( ruleJvmTypeReference )
-            // InternalSignalDSL.g:19081:3: ruleJvmTypeReference
+            // InternalSignalDSL.g:19123:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:19124:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); 
@@ -62357,17 +62450,17 @@
 
 
     // $ANTLR start "rule__XCasePart__CaseAssignment_2_1"
-    // InternalSignalDSL.g:19090:1: rule__XCasePart__CaseAssignment_2_1 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19133:1: rule__XCasePart__CaseAssignment_2_1 : ( ruleXExpression ) ;
     public final void rule__XCasePart__CaseAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19094:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19095:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19137:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19138:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19095:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19096:3: ruleXExpression
+            // InternalSignalDSL.g:19138:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19139:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); 
@@ -62402,17 +62495,17 @@
 
 
     // $ANTLR start "rule__XCasePart__ThenAssignment_3_0_1"
-    // InternalSignalDSL.g:19105:1: rule__XCasePart__ThenAssignment_3_0_1 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19148:1: rule__XCasePart__ThenAssignment_3_0_1 : ( ruleXExpression ) ;
     public final void rule__XCasePart__ThenAssignment_3_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19109:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19110:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19152:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19153:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19110:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19111:3: ruleXExpression
+            // InternalSignalDSL.g:19153:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19154:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); 
@@ -62447,28 +62540,28 @@
 
 
     // $ANTLR start "rule__XCasePart__FallThroughAssignment_3_1"
-    // InternalSignalDSL.g:19120:1: rule__XCasePart__FallThroughAssignment_3_1 : ( ( ',' ) ) ;
+    // InternalSignalDSL.g:19163:1: rule__XCasePart__FallThroughAssignment_3_1 : ( ( ',' ) ) ;
     public final void rule__XCasePart__FallThroughAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19124:1: ( ( ( ',' ) ) )
-            // InternalSignalDSL.g:19125:2: ( ( ',' ) )
+            // InternalSignalDSL.g:19167:1: ( ( ( ',' ) ) )
+            // InternalSignalDSL.g:19168:2: ( ( ',' ) )
             {
-            // InternalSignalDSL.g:19125:2: ( ( ',' ) )
-            // InternalSignalDSL.g:19126:3: ( ',' )
+            // InternalSignalDSL.g:19168:2: ( ( ',' ) )
+            // InternalSignalDSL.g:19169:3: ( ',' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); 
             }
-            // InternalSignalDSL.g:19127:3: ( ',' )
-            // InternalSignalDSL.g:19128:4: ','
+            // InternalSignalDSL.g:19170:3: ( ',' )
+            // InternalSignalDSL.g:19171:4: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); 
             }
-            match(input,76,FOLLOW_2); if (state.failed) return ;
+            match(input,73,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); 
             }
@@ -62500,17 +62593,17 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__DeclaredParamAssignment_0_0_3"
-    // InternalSignalDSL.g:19139:1: rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 : ( ruleJvmFormalParameter ) ;
+    // InternalSignalDSL.g:19182:1: rule__XForLoopExpression__DeclaredParamAssignment_0_0_3 : ( ruleJvmFormalParameter ) ;
     public final void rule__XForLoopExpression__DeclaredParamAssignment_0_0_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19143:1: ( ( ruleJvmFormalParameter ) )
-            // InternalSignalDSL.g:19144:2: ( ruleJvmFormalParameter )
+            // InternalSignalDSL.g:19186:1: ( ( ruleJvmFormalParameter ) )
+            // InternalSignalDSL.g:19187:2: ( ruleJvmFormalParameter )
             {
-            // InternalSignalDSL.g:19144:2: ( ruleJvmFormalParameter )
-            // InternalSignalDSL.g:19145:3: ruleJvmFormalParameter
+            // InternalSignalDSL.g:19187:2: ( ruleJvmFormalParameter )
+            // InternalSignalDSL.g:19188:3: ruleJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); 
@@ -62545,17 +62638,17 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__ForExpressionAssignment_1"
-    // InternalSignalDSL.g:19154:1: rule__XForLoopExpression__ForExpressionAssignment_1 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19197:1: rule__XForLoopExpression__ForExpressionAssignment_1 : ( ruleXExpression ) ;
     public final void rule__XForLoopExpression__ForExpressionAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19158:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19159:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19201:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19202:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19159:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19160:3: ruleXExpression
+            // InternalSignalDSL.g:19202:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19203:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); 
@@ -62590,17 +62683,17 @@
 
 
     // $ANTLR start "rule__XForLoopExpression__EachExpressionAssignment_3"
-    // InternalSignalDSL.g:19169:1: rule__XForLoopExpression__EachExpressionAssignment_3 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19212:1: rule__XForLoopExpression__EachExpressionAssignment_3 : ( ruleXExpression ) ;
     public final void rule__XForLoopExpression__EachExpressionAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19173:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19174:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19216:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19217:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19174:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19175:3: ruleXExpression
+            // InternalSignalDSL.g:19217:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19218:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); 
@@ -62635,17 +62728,17 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0"
-    // InternalSignalDSL.g:19184:1: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 : ( ruleXExpressionOrVarDeclaration ) ;
+    // InternalSignalDSL.g:19227:1: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0 : ( ruleXExpressionOrVarDeclaration ) ;
     public final void rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19188:1: ( ( ruleXExpressionOrVarDeclaration ) )
-            // InternalSignalDSL.g:19189:2: ( ruleXExpressionOrVarDeclaration )
+            // InternalSignalDSL.g:19231:1: ( ( ruleXExpressionOrVarDeclaration ) )
+            // InternalSignalDSL.g:19232:2: ( ruleXExpressionOrVarDeclaration )
             {
-            // InternalSignalDSL.g:19189:2: ( ruleXExpressionOrVarDeclaration )
-            // InternalSignalDSL.g:19190:3: ruleXExpressionOrVarDeclaration
+            // InternalSignalDSL.g:19232:2: ( ruleXExpressionOrVarDeclaration )
+            // InternalSignalDSL.g:19233:3: ruleXExpressionOrVarDeclaration
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); 
@@ -62680,17 +62773,17 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1"
-    // InternalSignalDSL.g:19199:1: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 : ( ruleXExpressionOrVarDeclaration ) ;
+    // InternalSignalDSL.g:19242:1: rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1 : ( ruleXExpressionOrVarDeclaration ) ;
     public final void rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19203:1: ( ( ruleXExpressionOrVarDeclaration ) )
-            // InternalSignalDSL.g:19204:2: ( ruleXExpressionOrVarDeclaration )
+            // InternalSignalDSL.g:19246:1: ( ( ruleXExpressionOrVarDeclaration ) )
+            // InternalSignalDSL.g:19247:2: ( ruleXExpressionOrVarDeclaration )
             {
-            // InternalSignalDSL.g:19204:2: ( ruleXExpressionOrVarDeclaration )
-            // InternalSignalDSL.g:19205:3: ruleXExpressionOrVarDeclaration
+            // InternalSignalDSL.g:19247:2: ( ruleXExpressionOrVarDeclaration )
+            // InternalSignalDSL.g:19248:3: ruleXExpressionOrVarDeclaration
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); 
@@ -62725,17 +62818,17 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__ExpressionAssignment_5"
-    // InternalSignalDSL.g:19214:1: rule__XBasicForLoopExpression__ExpressionAssignment_5 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19257:1: rule__XBasicForLoopExpression__ExpressionAssignment_5 : ( ruleXExpression ) ;
     public final void rule__XBasicForLoopExpression__ExpressionAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19218:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19219:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19261:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19262:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19219:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19220:3: ruleXExpression
+            // InternalSignalDSL.g:19262:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19263:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); 
@@ -62770,17 +62863,17 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0"
-    // InternalSignalDSL.g:19229:1: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19272:1: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0 : ( ruleXExpression ) ;
     public final void rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19233:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19234:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19276:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19277:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19234:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19235:3: ruleXExpression
+            // InternalSignalDSL.g:19277:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19278:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); 
@@ -62815,17 +62908,17 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1"
-    // InternalSignalDSL.g:19244:1: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19287:1: rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1 : ( ruleXExpression ) ;
     public final void rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19248:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19249:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19291:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19292:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19249:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19250:3: ruleXExpression
+            // InternalSignalDSL.g:19292:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19293:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); 
@@ -62860,17 +62953,17 @@
 
 
     // $ANTLR start "rule__XBasicForLoopExpression__EachExpressionAssignment_9"
-    // InternalSignalDSL.g:19259:1: rule__XBasicForLoopExpression__EachExpressionAssignment_9 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19302:1: rule__XBasicForLoopExpression__EachExpressionAssignment_9 : ( ruleXExpression ) ;
     public final void rule__XBasicForLoopExpression__EachExpressionAssignment_9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19263:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19264:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19306:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19307:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19264:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19265:3: ruleXExpression
+            // InternalSignalDSL.g:19307:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19308:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); 
@@ -62905,17 +62998,17 @@
 
 
     // $ANTLR start "rule__XWhileExpression__PredicateAssignment_3"
-    // InternalSignalDSL.g:19274:1: rule__XWhileExpression__PredicateAssignment_3 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19317:1: rule__XWhileExpression__PredicateAssignment_3 : ( ruleXExpression ) ;
     public final void rule__XWhileExpression__PredicateAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19278:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19279:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19321:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19322:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19279:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19280:3: ruleXExpression
+            // InternalSignalDSL.g:19322:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19323:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); 
@@ -62950,17 +63043,17 @@
 
 
     // $ANTLR start "rule__XWhileExpression__BodyAssignment_5"
-    // InternalSignalDSL.g:19289:1: rule__XWhileExpression__BodyAssignment_5 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19332:1: rule__XWhileExpression__BodyAssignment_5 : ( ruleXExpression ) ;
     public final void rule__XWhileExpression__BodyAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19293:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19294:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19336:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19337:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19294:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19295:3: ruleXExpression
+            // InternalSignalDSL.g:19337:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19338:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); 
@@ -62995,17 +63088,17 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__BodyAssignment_2"
-    // InternalSignalDSL.g:19304:1: rule__XDoWhileExpression__BodyAssignment_2 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19347:1: rule__XDoWhileExpression__BodyAssignment_2 : ( ruleXExpression ) ;
     public final void rule__XDoWhileExpression__BodyAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19308:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19309:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19351:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19352:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19309:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19310:3: ruleXExpression
+            // InternalSignalDSL.g:19352:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19353:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); 
@@ -63040,17 +63133,17 @@
 
 
     // $ANTLR start "rule__XDoWhileExpression__PredicateAssignment_5"
-    // InternalSignalDSL.g:19319:1: rule__XDoWhileExpression__PredicateAssignment_5 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19362:1: rule__XDoWhileExpression__PredicateAssignment_5 : ( ruleXExpression ) ;
     public final void rule__XDoWhileExpression__PredicateAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19323:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19324:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19366:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19367:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19324:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19325:3: ruleXExpression
+            // InternalSignalDSL.g:19367:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19368:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); 
@@ -63085,17 +63178,17 @@
 
 
     // $ANTLR start "rule__XBlockExpression__ExpressionsAssignment_2_0"
-    // InternalSignalDSL.g:19334:1: rule__XBlockExpression__ExpressionsAssignment_2_0 : ( ruleXExpressionOrVarDeclaration ) ;
+    // InternalSignalDSL.g:19377:1: rule__XBlockExpression__ExpressionsAssignment_2_0 : ( ruleXExpressionOrVarDeclaration ) ;
     public final void rule__XBlockExpression__ExpressionsAssignment_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19338:1: ( ( ruleXExpressionOrVarDeclaration ) )
-            // InternalSignalDSL.g:19339:2: ( ruleXExpressionOrVarDeclaration )
+            // InternalSignalDSL.g:19381:1: ( ( ruleXExpressionOrVarDeclaration ) )
+            // InternalSignalDSL.g:19382:2: ( ruleXExpressionOrVarDeclaration )
             {
-            // InternalSignalDSL.g:19339:2: ( ruleXExpressionOrVarDeclaration )
-            // InternalSignalDSL.g:19340:3: ruleXExpressionOrVarDeclaration
+            // InternalSignalDSL.g:19382:2: ( ruleXExpressionOrVarDeclaration )
+            // InternalSignalDSL.g:19383:3: ruleXExpressionOrVarDeclaration
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); 
@@ -63130,28 +63223,28 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__WriteableAssignment_1_0"
-    // InternalSignalDSL.g:19349:1: rule__XVariableDeclaration__WriteableAssignment_1_0 : ( ( 'var' ) ) ;
+    // InternalSignalDSL.g:19392:1: rule__XVariableDeclaration__WriteableAssignment_1_0 : ( ( 'var' ) ) ;
     public final void rule__XVariableDeclaration__WriteableAssignment_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19353:1: ( ( ( 'var' ) ) )
-            // InternalSignalDSL.g:19354:2: ( ( 'var' ) )
+            // InternalSignalDSL.g:19396:1: ( ( ( 'var' ) ) )
+            // InternalSignalDSL.g:19397:2: ( ( 'var' ) )
             {
-            // InternalSignalDSL.g:19354:2: ( ( 'var' ) )
-            // InternalSignalDSL.g:19355:3: ( 'var' )
+            // InternalSignalDSL.g:19397:2: ( ( 'var' ) )
+            // InternalSignalDSL.g:19398:3: ( 'var' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); 
             }
-            // InternalSignalDSL.g:19356:3: ( 'var' )
-            // InternalSignalDSL.g:19357:4: 'var'
+            // InternalSignalDSL.g:19399:3: ( 'var' )
+            // InternalSignalDSL.g:19400:4: 'var'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); 
             }
-            match(input,105,FOLLOW_2); if (state.failed) return ;
+            match(input,102,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); 
             }
@@ -63183,17 +63276,17 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__TypeAssignment_2_0_0_0"
-    // InternalSignalDSL.g:19368:1: rule__XVariableDeclaration__TypeAssignment_2_0_0_0 : ( ruleJvmTypeReference ) ;
+    // InternalSignalDSL.g:19411:1: rule__XVariableDeclaration__TypeAssignment_2_0_0_0 : ( ruleJvmTypeReference ) ;
     public final void rule__XVariableDeclaration__TypeAssignment_2_0_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19372:1: ( ( ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:19373:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:19415:1: ( ( ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:19416:2: ( ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:19373:2: ( ruleJvmTypeReference )
-            // InternalSignalDSL.g:19374:3: ruleJvmTypeReference
+            // InternalSignalDSL.g:19416:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:19417:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); 
@@ -63228,17 +63321,17 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__NameAssignment_2_0_0_1"
-    // InternalSignalDSL.g:19383:1: rule__XVariableDeclaration__NameAssignment_2_0_0_1 : ( ruleValidID ) ;
+    // InternalSignalDSL.g:19426:1: rule__XVariableDeclaration__NameAssignment_2_0_0_1 : ( ruleValidID ) ;
     public final void rule__XVariableDeclaration__NameAssignment_2_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19387:1: ( ( ruleValidID ) )
-            // InternalSignalDSL.g:19388:2: ( ruleValidID )
+            // InternalSignalDSL.g:19430:1: ( ( ruleValidID ) )
+            // InternalSignalDSL.g:19431:2: ( ruleValidID )
             {
-            // InternalSignalDSL.g:19388:2: ( ruleValidID )
-            // InternalSignalDSL.g:19389:3: ruleValidID
+            // InternalSignalDSL.g:19431:2: ( ruleValidID )
+            // InternalSignalDSL.g:19432:3: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); 
@@ -63273,17 +63366,17 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__NameAssignment_2_1"
-    // InternalSignalDSL.g:19398:1: rule__XVariableDeclaration__NameAssignment_2_1 : ( ruleValidID ) ;
+    // InternalSignalDSL.g:19441:1: rule__XVariableDeclaration__NameAssignment_2_1 : ( ruleValidID ) ;
     public final void rule__XVariableDeclaration__NameAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19402:1: ( ( ruleValidID ) )
-            // InternalSignalDSL.g:19403:2: ( ruleValidID )
+            // InternalSignalDSL.g:19445:1: ( ( ruleValidID ) )
+            // InternalSignalDSL.g:19446:2: ( ruleValidID )
             {
-            // InternalSignalDSL.g:19403:2: ( ruleValidID )
-            // InternalSignalDSL.g:19404:3: ruleValidID
+            // InternalSignalDSL.g:19446:2: ( ruleValidID )
+            // InternalSignalDSL.g:19447:3: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); 
@@ -63318,17 +63411,17 @@
 
 
     // $ANTLR start "rule__XVariableDeclaration__RightAssignment_3_1"
-    // InternalSignalDSL.g:19413:1: rule__XVariableDeclaration__RightAssignment_3_1 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19456:1: rule__XVariableDeclaration__RightAssignment_3_1 : ( ruleXExpression ) ;
     public final void rule__XVariableDeclaration__RightAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19417:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19418:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19460:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19461:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19418:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19419:3: ruleXExpression
+            // InternalSignalDSL.g:19461:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19462:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); 
@@ -63363,17 +63456,17 @@
 
 
     // $ANTLR start "rule__JvmFormalParameter__ParameterTypeAssignment_0"
-    // InternalSignalDSL.g:19428:1: rule__JvmFormalParameter__ParameterTypeAssignment_0 : ( ruleJvmTypeReference ) ;
+    // InternalSignalDSL.g:19471:1: rule__JvmFormalParameter__ParameterTypeAssignment_0 : ( ruleJvmTypeReference ) ;
     public final void rule__JvmFormalParameter__ParameterTypeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19432:1: ( ( ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:19433:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:19475:1: ( ( ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:19476:2: ( ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:19433:2: ( ruleJvmTypeReference )
-            // InternalSignalDSL.g:19434:3: ruleJvmTypeReference
+            // InternalSignalDSL.g:19476:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:19477:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); 
@@ -63408,17 +63501,17 @@
 
 
     // $ANTLR start "rule__JvmFormalParameter__NameAssignment_1"
-    // InternalSignalDSL.g:19443:1: rule__JvmFormalParameter__NameAssignment_1 : ( ruleValidID ) ;
+    // InternalSignalDSL.g:19486:1: rule__JvmFormalParameter__NameAssignment_1 : ( ruleValidID ) ;
     public final void rule__JvmFormalParameter__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19447:1: ( ( ruleValidID ) )
-            // InternalSignalDSL.g:19448:2: ( ruleValidID )
+            // InternalSignalDSL.g:19490:1: ( ( ruleValidID ) )
+            // InternalSignalDSL.g:19491:2: ( ruleValidID )
             {
-            // InternalSignalDSL.g:19448:2: ( ruleValidID )
-            // InternalSignalDSL.g:19449:3: ruleValidID
+            // InternalSignalDSL.g:19491:2: ( ruleValidID )
+            // InternalSignalDSL.g:19492:3: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); 
@@ -63453,17 +63546,17 @@
 
 
     // $ANTLR start "rule__FullJvmFormalParameter__ParameterTypeAssignment_0"
-    // InternalSignalDSL.g:19458:1: rule__FullJvmFormalParameter__ParameterTypeAssignment_0 : ( ruleJvmTypeReference ) ;
+    // InternalSignalDSL.g:19501:1: rule__FullJvmFormalParameter__ParameterTypeAssignment_0 : ( ruleJvmTypeReference ) ;
     public final void rule__FullJvmFormalParameter__ParameterTypeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19462:1: ( ( ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:19463:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:19505:1: ( ( ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:19506:2: ( ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:19463:2: ( ruleJvmTypeReference )
-            // InternalSignalDSL.g:19464:3: ruleJvmTypeReference
+            // InternalSignalDSL.g:19506:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:19507:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); 
@@ -63498,17 +63591,17 @@
 
 
     // $ANTLR start "rule__FullJvmFormalParameter__NameAssignment_1"
-    // InternalSignalDSL.g:19473:1: rule__FullJvmFormalParameter__NameAssignment_1 : ( ruleValidID ) ;
+    // InternalSignalDSL.g:19516:1: rule__FullJvmFormalParameter__NameAssignment_1 : ( ruleValidID ) ;
     public final void rule__FullJvmFormalParameter__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19477:1: ( ( ruleValidID ) )
-            // InternalSignalDSL.g:19478:2: ( ruleValidID )
+            // InternalSignalDSL.g:19520:1: ( ( ruleValidID ) )
+            // InternalSignalDSL.g:19521:2: ( ruleValidID )
             {
-            // InternalSignalDSL.g:19478:2: ( ruleValidID )
-            // InternalSignalDSL.g:19479:3: ruleValidID
+            // InternalSignalDSL.g:19521:2: ( ruleValidID )
+            // InternalSignalDSL.g:19522:3: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); 
@@ -63543,17 +63636,17 @@
 
 
     // $ANTLR start "rule__XFeatureCall__TypeArgumentsAssignment_1_1"
-    // InternalSignalDSL.g:19488:1: rule__XFeatureCall__TypeArgumentsAssignment_1_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalSignalDSL.g:19531:1: rule__XFeatureCall__TypeArgumentsAssignment_1_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__XFeatureCall__TypeArgumentsAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19492:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalSignalDSL.g:19493:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:19535:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalSignalDSL.g:19536:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalSignalDSL.g:19493:2: ( ruleJvmArgumentTypeReference )
-            // InternalSignalDSL.g:19494:3: ruleJvmArgumentTypeReference
+            // InternalSignalDSL.g:19536:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:19537:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); 
@@ -63588,17 +63681,17 @@
 
 
     // $ANTLR start "rule__XFeatureCall__TypeArgumentsAssignment_1_2_1"
-    // InternalSignalDSL.g:19503:1: rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalSignalDSL.g:19546:1: rule__XFeatureCall__TypeArgumentsAssignment_1_2_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__XFeatureCall__TypeArgumentsAssignment_1_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19507:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalSignalDSL.g:19508:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:19550:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalSignalDSL.g:19551:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalSignalDSL.g:19508:2: ( ruleJvmArgumentTypeReference )
-            // InternalSignalDSL.g:19509:3: ruleJvmArgumentTypeReference
+            // InternalSignalDSL.g:19551:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:19552:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); 
@@ -63633,23 +63726,23 @@
 
 
     // $ANTLR start "rule__XFeatureCall__FeatureAssignment_2"
-    // InternalSignalDSL.g:19518:1: rule__XFeatureCall__FeatureAssignment_2 : ( ( ruleIdOrSuper ) ) ;
+    // InternalSignalDSL.g:19561:1: rule__XFeatureCall__FeatureAssignment_2 : ( ( ruleIdOrSuper ) ) ;
     public final void rule__XFeatureCall__FeatureAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19522:1: ( ( ( ruleIdOrSuper ) ) )
-            // InternalSignalDSL.g:19523:2: ( ( ruleIdOrSuper ) )
+            // InternalSignalDSL.g:19565:1: ( ( ( ruleIdOrSuper ) ) )
+            // InternalSignalDSL.g:19566:2: ( ( ruleIdOrSuper ) )
             {
-            // InternalSignalDSL.g:19523:2: ( ( ruleIdOrSuper ) )
-            // InternalSignalDSL.g:19524:3: ( ruleIdOrSuper )
+            // InternalSignalDSL.g:19566:2: ( ( ruleIdOrSuper ) )
+            // InternalSignalDSL.g:19567:3: ( ruleIdOrSuper )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); 
             }
-            // InternalSignalDSL.g:19525:3: ( ruleIdOrSuper )
-            // InternalSignalDSL.g:19526:4: ruleIdOrSuper
+            // InternalSignalDSL.g:19568:3: ( ruleIdOrSuper )
+            // InternalSignalDSL.g:19569:4: ruleIdOrSuper
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementIdOrSuperParserRuleCall_2_0_1()); 
@@ -63690,28 +63783,28 @@
 
 
     // $ANTLR start "rule__XFeatureCall__ExplicitOperationCallAssignment_3_0"
-    // InternalSignalDSL.g:19537:1: rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 : ( ( '(' ) ) ;
+    // InternalSignalDSL.g:19580:1: rule__XFeatureCall__ExplicitOperationCallAssignment_3_0 : ( ( '(' ) ) ;
     public final void rule__XFeatureCall__ExplicitOperationCallAssignment_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19541:1: ( ( ( '(' ) ) )
-            // InternalSignalDSL.g:19542:2: ( ( '(' ) )
+            // InternalSignalDSL.g:19584:1: ( ( ( '(' ) ) )
+            // InternalSignalDSL.g:19585:2: ( ( '(' ) )
             {
-            // InternalSignalDSL.g:19542:2: ( ( '(' ) )
-            // InternalSignalDSL.g:19543:3: ( '(' )
+            // InternalSignalDSL.g:19585:2: ( ( '(' ) )
+            // InternalSignalDSL.g:19586:3: ( '(' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); 
             }
-            // InternalSignalDSL.g:19544:3: ( '(' )
-            // InternalSignalDSL.g:19545:4: '('
+            // InternalSignalDSL.g:19587:3: ( '(' )
+            // InternalSignalDSL.g:19588:4: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); 
             }
-            match(input,74,FOLLOW_2); if (state.failed) return ;
+            match(input,71,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); 
             }
@@ -63743,17 +63836,17 @@
 
 
     // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0"
-    // InternalSignalDSL.g:19556:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 : ( ruleXShortClosure ) ;
+    // InternalSignalDSL.g:19599:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 : ( ruleXShortClosure ) ;
     public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19560:1: ( ( ruleXShortClosure ) )
-            // InternalSignalDSL.g:19561:2: ( ruleXShortClosure )
+            // InternalSignalDSL.g:19603:1: ( ( ruleXShortClosure ) )
+            // InternalSignalDSL.g:19604:2: ( ruleXShortClosure )
             {
-            // InternalSignalDSL.g:19561:2: ( ruleXShortClosure )
-            // InternalSignalDSL.g:19562:3: ruleXShortClosure
+            // InternalSignalDSL.g:19604:2: ( ruleXShortClosure )
+            // InternalSignalDSL.g:19605:3: ruleXShortClosure
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); 
@@ -63788,17 +63881,17 @@
 
 
     // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0"
-    // InternalSignalDSL.g:19571:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19614:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0 : ( ruleXExpression ) ;
     public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19575:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19576:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19618:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19619:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19576:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19577:3: ruleXExpression
+            // InternalSignalDSL.g:19619:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19620:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); 
@@ -63833,17 +63926,17 @@
 
 
     // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1"
-    // InternalSignalDSL.g:19586:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19629:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1 : ( ruleXExpression ) ;
     public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19590:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19591:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19633:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19634:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19591:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19592:3: ruleXExpression
+            // InternalSignalDSL.g:19634:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19635:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); 
@@ -63878,17 +63971,17 @@
 
 
     // $ANTLR start "rule__XFeatureCall__FeatureCallArgumentsAssignment_4"
-    // InternalSignalDSL.g:19601:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_4 : ( ruleXClosure ) ;
+    // InternalSignalDSL.g:19644:1: rule__XFeatureCall__FeatureCallArgumentsAssignment_4 : ( ruleXClosure ) ;
     public final void rule__XFeatureCall__FeatureCallArgumentsAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19605:1: ( ( ruleXClosure ) )
-            // InternalSignalDSL.g:19606:2: ( ruleXClosure )
+            // InternalSignalDSL.g:19648:1: ( ( ruleXClosure ) )
+            // InternalSignalDSL.g:19649:2: ( ruleXClosure )
             {
-            // InternalSignalDSL.g:19606:2: ( ruleXClosure )
-            // InternalSignalDSL.g:19607:3: ruleXClosure
+            // InternalSignalDSL.g:19649:2: ( ruleXClosure )
+            // InternalSignalDSL.g:19650:3: ruleXClosure
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); 
@@ -63923,23 +64016,23 @@
 
 
     // $ANTLR start "rule__XConstructorCall__ConstructorAssignment_2"
-    // InternalSignalDSL.g:19616:1: rule__XConstructorCall__ConstructorAssignment_2 : ( ( ruleQualifiedName ) ) ;
+    // InternalSignalDSL.g:19659:1: rule__XConstructorCall__ConstructorAssignment_2 : ( ( ruleQualifiedName ) ) ;
     public final void rule__XConstructorCall__ConstructorAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19620:1: ( ( ( ruleQualifiedName ) ) )
-            // InternalSignalDSL.g:19621:2: ( ( ruleQualifiedName ) )
+            // InternalSignalDSL.g:19663:1: ( ( ( ruleQualifiedName ) ) )
+            // InternalSignalDSL.g:19664:2: ( ( ruleQualifiedName ) )
             {
-            // InternalSignalDSL.g:19621:2: ( ( ruleQualifiedName ) )
-            // InternalSignalDSL.g:19622:3: ( ruleQualifiedName )
+            // InternalSignalDSL.g:19664:2: ( ( ruleQualifiedName ) )
+            // InternalSignalDSL.g:19665:3: ( ruleQualifiedName )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); 
             }
-            // InternalSignalDSL.g:19623:3: ( ruleQualifiedName )
-            // InternalSignalDSL.g:19624:4: ruleQualifiedName
+            // InternalSignalDSL.g:19666:3: ( ruleQualifiedName )
+            // InternalSignalDSL.g:19667:4: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorQualifiedNameParserRuleCall_2_0_1()); 
@@ -63980,17 +64073,17 @@
 
 
     // $ANTLR start "rule__XConstructorCall__TypeArgumentsAssignment_3_1"
-    // InternalSignalDSL.g:19635:1: rule__XConstructorCall__TypeArgumentsAssignment_3_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalSignalDSL.g:19678:1: rule__XConstructorCall__TypeArgumentsAssignment_3_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__XConstructorCall__TypeArgumentsAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19639:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalSignalDSL.g:19640:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:19682:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalSignalDSL.g:19683:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalSignalDSL.g:19640:2: ( ruleJvmArgumentTypeReference )
-            // InternalSignalDSL.g:19641:3: ruleJvmArgumentTypeReference
+            // InternalSignalDSL.g:19683:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:19684:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); 
@@ -64025,17 +64118,17 @@
 
 
     // $ANTLR start "rule__XConstructorCall__TypeArgumentsAssignment_3_2_1"
-    // InternalSignalDSL.g:19650:1: rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalSignalDSL.g:19693:1: rule__XConstructorCall__TypeArgumentsAssignment_3_2_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__XConstructorCall__TypeArgumentsAssignment_3_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19654:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalSignalDSL.g:19655:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:19697:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalSignalDSL.g:19698:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalSignalDSL.g:19655:2: ( ruleJvmArgumentTypeReference )
-            // InternalSignalDSL.g:19656:3: ruleJvmArgumentTypeReference
+            // InternalSignalDSL.g:19698:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:19699:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); 
@@ -64070,28 +64163,28 @@
 
 
     // $ANTLR start "rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0"
-    // InternalSignalDSL.g:19665:1: rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 : ( ( '(' ) ) ;
+    // InternalSignalDSL.g:19708:1: rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0 : ( ( '(' ) ) ;
     public final void rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19669:1: ( ( ( '(' ) ) )
-            // InternalSignalDSL.g:19670:2: ( ( '(' ) )
+            // InternalSignalDSL.g:19712:1: ( ( ( '(' ) ) )
+            // InternalSignalDSL.g:19713:2: ( ( '(' ) )
             {
-            // InternalSignalDSL.g:19670:2: ( ( '(' ) )
-            // InternalSignalDSL.g:19671:3: ( '(' )
+            // InternalSignalDSL.g:19713:2: ( ( '(' ) )
+            // InternalSignalDSL.g:19714:3: ( '(' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); 
             }
-            // InternalSignalDSL.g:19672:3: ( '(' )
-            // InternalSignalDSL.g:19673:4: '('
+            // InternalSignalDSL.g:19715:3: ( '(' )
+            // InternalSignalDSL.g:19716:4: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); 
             }
-            match(input,74,FOLLOW_2); if (state.failed) return ;
+            match(input,71,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); 
             }
@@ -64123,17 +64216,17 @@
 
 
     // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_4_1_0"
-    // InternalSignalDSL.g:19684:1: rule__XConstructorCall__ArgumentsAssignment_4_1_0 : ( ruleXShortClosure ) ;
+    // InternalSignalDSL.g:19727:1: rule__XConstructorCall__ArgumentsAssignment_4_1_0 : ( ruleXShortClosure ) ;
     public final void rule__XConstructorCall__ArgumentsAssignment_4_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19688:1: ( ( ruleXShortClosure ) )
-            // InternalSignalDSL.g:19689:2: ( ruleXShortClosure )
+            // InternalSignalDSL.g:19731:1: ( ( ruleXShortClosure ) )
+            // InternalSignalDSL.g:19732:2: ( ruleXShortClosure )
             {
-            // InternalSignalDSL.g:19689:2: ( ruleXShortClosure )
-            // InternalSignalDSL.g:19690:3: ruleXShortClosure
+            // InternalSignalDSL.g:19732:2: ( ruleXShortClosure )
+            // InternalSignalDSL.g:19733:3: ruleXShortClosure
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); 
@@ -64168,17 +64261,17 @@
 
 
     // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_4_1_1_0"
-    // InternalSignalDSL.g:19699:1: rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19742:1: rule__XConstructorCall__ArgumentsAssignment_4_1_1_0 : ( ruleXExpression ) ;
     public final void rule__XConstructorCall__ArgumentsAssignment_4_1_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19703:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19704:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19746:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19747:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19704:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19705:3: ruleXExpression
+            // InternalSignalDSL.g:19747:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19748:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); 
@@ -64213,17 +64306,17 @@
 
 
     // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1"
-    // InternalSignalDSL.g:19714:1: rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19757:1: rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1 : ( ruleXExpression ) ;
     public final void rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19718:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19719:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19761:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19762:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19719:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19720:3: ruleXExpression
+            // InternalSignalDSL.g:19762:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19763:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); 
@@ -64258,17 +64351,17 @@
 
 
     // $ANTLR start "rule__XConstructorCall__ArgumentsAssignment_5"
-    // InternalSignalDSL.g:19729:1: rule__XConstructorCall__ArgumentsAssignment_5 : ( ruleXClosure ) ;
+    // InternalSignalDSL.g:19772:1: rule__XConstructorCall__ArgumentsAssignment_5 : ( ruleXClosure ) ;
     public final void rule__XConstructorCall__ArgumentsAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19733:1: ( ( ruleXClosure ) )
-            // InternalSignalDSL.g:19734:2: ( ruleXClosure )
+            // InternalSignalDSL.g:19776:1: ( ( ruleXClosure ) )
+            // InternalSignalDSL.g:19777:2: ( ruleXClosure )
             {
-            // InternalSignalDSL.g:19734:2: ( ruleXClosure )
-            // InternalSignalDSL.g:19735:3: ruleXClosure
+            // InternalSignalDSL.g:19777:2: ( ruleXClosure )
+            // InternalSignalDSL.g:19778:3: ruleXClosure
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); 
@@ -64303,28 +64396,28 @@
 
 
     // $ANTLR start "rule__XBooleanLiteral__IsTrueAssignment_1_1"
-    // InternalSignalDSL.g:19744:1: rule__XBooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ;
+    // InternalSignalDSL.g:19787:1: rule__XBooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ;
     public final void rule__XBooleanLiteral__IsTrueAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19748:1: ( ( ( 'true' ) ) )
-            // InternalSignalDSL.g:19749:2: ( ( 'true' ) )
+            // InternalSignalDSL.g:19791:1: ( ( ( 'true' ) ) )
+            // InternalSignalDSL.g:19792:2: ( ( 'true' ) )
             {
-            // InternalSignalDSL.g:19749:2: ( ( 'true' ) )
-            // InternalSignalDSL.g:19750:3: ( 'true' )
+            // InternalSignalDSL.g:19792:2: ( ( 'true' ) )
+            // InternalSignalDSL.g:19793:3: ( 'true' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
             }
-            // InternalSignalDSL.g:19751:3: ( 'true' )
-            // InternalSignalDSL.g:19752:4: 'true'
+            // InternalSignalDSL.g:19794:3: ( 'true' )
+            // InternalSignalDSL.g:19795:4: 'true'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
             }
-            match(input,106,FOLLOW_2); if (state.failed) return ;
+            match(input,103,FOLLOW_2); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
             }
@@ -64356,17 +64449,17 @@
 
 
     // $ANTLR start "rule__XNumberLiteral__ValueAssignment_1"
-    // InternalSignalDSL.g:19763:1: rule__XNumberLiteral__ValueAssignment_1 : ( ruleNumber ) ;
+    // InternalSignalDSL.g:19806:1: rule__XNumberLiteral__ValueAssignment_1 : ( ruleNumber ) ;
     public final void rule__XNumberLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19767:1: ( ( ruleNumber ) )
-            // InternalSignalDSL.g:19768:2: ( ruleNumber )
+            // InternalSignalDSL.g:19810:1: ( ( ruleNumber ) )
+            // InternalSignalDSL.g:19811:2: ( ruleNumber )
             {
-            // InternalSignalDSL.g:19768:2: ( ruleNumber )
-            // InternalSignalDSL.g:19769:3: ruleNumber
+            // InternalSignalDSL.g:19811:2: ( ruleNumber )
+            // InternalSignalDSL.g:19812:3: ruleNumber
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); 
@@ -64401,17 +64494,17 @@
 
 
     // $ANTLR start "rule__XStringLiteral__ValueAssignment_1"
-    // InternalSignalDSL.g:19778:1: rule__XStringLiteral__ValueAssignment_1 : ( RULE_STRING ) ;
+    // InternalSignalDSL.g:19821:1: rule__XStringLiteral__ValueAssignment_1 : ( RULE_STRING ) ;
     public final void rule__XStringLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19782:1: ( ( RULE_STRING ) )
-            // InternalSignalDSL.g:19783:2: ( RULE_STRING )
+            // InternalSignalDSL.g:19825:1: ( ( RULE_STRING ) )
+            // InternalSignalDSL.g:19826:2: ( RULE_STRING )
             {
-            // InternalSignalDSL.g:19783:2: ( RULE_STRING )
-            // InternalSignalDSL.g:19784:3: RULE_STRING
+            // InternalSignalDSL.g:19826:2: ( RULE_STRING )
+            // InternalSignalDSL.g:19827:3: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
@@ -64442,23 +64535,23 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__TypeAssignment_3"
-    // InternalSignalDSL.g:19793:1: rule__XTypeLiteral__TypeAssignment_3 : ( ( ruleQualifiedName ) ) ;
+    // InternalSignalDSL.g:19836:1: rule__XTypeLiteral__TypeAssignment_3 : ( ( ruleQualifiedName ) ) ;
     public final void rule__XTypeLiteral__TypeAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19797:1: ( ( ( ruleQualifiedName ) ) )
-            // InternalSignalDSL.g:19798:2: ( ( ruleQualifiedName ) )
+            // InternalSignalDSL.g:19840:1: ( ( ( ruleQualifiedName ) ) )
+            // InternalSignalDSL.g:19841:2: ( ( ruleQualifiedName ) )
             {
-            // InternalSignalDSL.g:19798:2: ( ( ruleQualifiedName ) )
-            // InternalSignalDSL.g:19799:3: ( ruleQualifiedName )
+            // InternalSignalDSL.g:19841:2: ( ( ruleQualifiedName ) )
+            // InternalSignalDSL.g:19842:3: ( ruleQualifiedName )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); 
             }
-            // InternalSignalDSL.g:19800:3: ( ruleQualifiedName )
-            // InternalSignalDSL.g:19801:4: ruleQualifiedName
+            // InternalSignalDSL.g:19843:3: ( ruleQualifiedName )
+            // InternalSignalDSL.g:19844:4: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeQualifiedNameParserRuleCall_3_0_1()); 
@@ -64499,17 +64592,17 @@
 
 
     // $ANTLR start "rule__XTypeLiteral__ArrayDimensionsAssignment_4"
-    // InternalSignalDSL.g:19812:1: rule__XTypeLiteral__ArrayDimensionsAssignment_4 : ( ruleArrayBrackets ) ;
+    // InternalSignalDSL.g:19855:1: rule__XTypeLiteral__ArrayDimensionsAssignment_4 : ( ruleArrayBrackets ) ;
     public final void rule__XTypeLiteral__ArrayDimensionsAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19816:1: ( ( ruleArrayBrackets ) )
-            // InternalSignalDSL.g:19817:2: ( ruleArrayBrackets )
+            // InternalSignalDSL.g:19859:1: ( ( ruleArrayBrackets ) )
+            // InternalSignalDSL.g:19860:2: ( ruleArrayBrackets )
             {
-            // InternalSignalDSL.g:19817:2: ( ruleArrayBrackets )
-            // InternalSignalDSL.g:19818:3: ruleArrayBrackets
+            // InternalSignalDSL.g:19860:2: ( ruleArrayBrackets )
+            // InternalSignalDSL.g:19861:3: ruleArrayBrackets
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); 
@@ -64544,17 +64637,17 @@
 
 
     // $ANTLR start "rule__XThrowExpression__ExpressionAssignment_2"
-    // InternalSignalDSL.g:19827:1: rule__XThrowExpression__ExpressionAssignment_2 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19870:1: rule__XThrowExpression__ExpressionAssignment_2 : ( ruleXExpression ) ;
     public final void rule__XThrowExpression__ExpressionAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19831:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19832:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19874:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19875:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19832:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19833:3: ruleXExpression
+            // InternalSignalDSL.g:19875:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19876:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); 
@@ -64589,17 +64682,17 @@
 
 
     // $ANTLR start "rule__XReturnExpression__ExpressionAssignment_2"
-    // InternalSignalDSL.g:19842:1: rule__XReturnExpression__ExpressionAssignment_2 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19885:1: rule__XReturnExpression__ExpressionAssignment_2 : ( ruleXExpression ) ;
     public final void rule__XReturnExpression__ExpressionAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19846:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19847:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19889:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19890:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19847:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19848:3: ruleXExpression
+            // InternalSignalDSL.g:19890:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19891:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); 
@@ -64634,17 +64727,17 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__ExpressionAssignment_2"
-    // InternalSignalDSL.g:19857:1: rule__XTryCatchFinallyExpression__ExpressionAssignment_2 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19900:1: rule__XTryCatchFinallyExpression__ExpressionAssignment_2 : ( ruleXExpression ) ;
     public final void rule__XTryCatchFinallyExpression__ExpressionAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19861:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19862:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19904:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19905:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19862:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19863:3: ruleXExpression
+            // InternalSignalDSL.g:19905:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19906:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); 
@@ -64679,17 +64772,17 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0"
-    // InternalSignalDSL.g:19872:1: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 : ( ruleXCatchClause ) ;
+    // InternalSignalDSL.g:19915:1: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 : ( ruleXCatchClause ) ;
     public final void rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19876:1: ( ( ruleXCatchClause ) )
-            // InternalSignalDSL.g:19877:2: ( ruleXCatchClause )
+            // InternalSignalDSL.g:19919:1: ( ( ruleXCatchClause ) )
+            // InternalSignalDSL.g:19920:2: ( ruleXCatchClause )
             {
-            // InternalSignalDSL.g:19877:2: ( ruleXCatchClause )
-            // InternalSignalDSL.g:19878:3: ruleXCatchClause
+            // InternalSignalDSL.g:19920:2: ( ruleXCatchClause )
+            // InternalSignalDSL.g:19921:3: ruleXCatchClause
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); 
@@ -64724,17 +64817,17 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1"
-    // InternalSignalDSL.g:19887:1: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19930:1: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1 : ( ruleXExpression ) ;
     public final void rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19891:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19892:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19934:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19935:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19892:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19893:3: ruleXExpression
+            // InternalSignalDSL.g:19935:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19936:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); 
@@ -64769,17 +64862,17 @@
 
 
     // $ANTLR start "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1"
-    // InternalSignalDSL.g:19902:1: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19945:1: rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1 : ( ruleXExpression ) ;
     public final void rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19906:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19907:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19949:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19950:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19907:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19908:3: ruleXExpression
+            // InternalSignalDSL.g:19950:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19951:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); 
@@ -64814,17 +64907,17 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__ParamAssignment_1"
-    // InternalSignalDSL.g:19917:1: rule__XSynchronizedExpression__ParamAssignment_1 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19960:1: rule__XSynchronizedExpression__ParamAssignment_1 : ( ruleXExpression ) ;
     public final void rule__XSynchronizedExpression__ParamAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19921:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19922:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19964:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19965:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19922:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19923:3: ruleXExpression
+            // InternalSignalDSL.g:19965:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19966:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); 
@@ -64859,17 +64952,17 @@
 
 
     // $ANTLR start "rule__XSynchronizedExpression__ExpressionAssignment_3"
-    // InternalSignalDSL.g:19932:1: rule__XSynchronizedExpression__ExpressionAssignment_3 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:19975:1: rule__XSynchronizedExpression__ExpressionAssignment_3 : ( ruleXExpression ) ;
     public final void rule__XSynchronizedExpression__ExpressionAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19936:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19937:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19979:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:19980:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19937:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19938:3: ruleXExpression
+            // InternalSignalDSL.g:19980:2: ( ruleXExpression )
+            // InternalSignalDSL.g:19981:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); 
@@ -64904,17 +64997,17 @@
 
 
     // $ANTLR start "rule__XCatchClause__DeclaredParamAssignment_2"
-    // InternalSignalDSL.g:19947:1: rule__XCatchClause__DeclaredParamAssignment_2 : ( ruleFullJvmFormalParameter ) ;
+    // InternalSignalDSL.g:19990:1: rule__XCatchClause__DeclaredParamAssignment_2 : ( ruleFullJvmFormalParameter ) ;
     public final void rule__XCatchClause__DeclaredParamAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19951:1: ( ( ruleFullJvmFormalParameter ) )
-            // InternalSignalDSL.g:19952:2: ( ruleFullJvmFormalParameter )
+            // InternalSignalDSL.g:19994:1: ( ( ruleFullJvmFormalParameter ) )
+            // InternalSignalDSL.g:19995:2: ( ruleFullJvmFormalParameter )
             {
-            // InternalSignalDSL.g:19952:2: ( ruleFullJvmFormalParameter )
-            // InternalSignalDSL.g:19953:3: ruleFullJvmFormalParameter
+            // InternalSignalDSL.g:19995:2: ( ruleFullJvmFormalParameter )
+            // InternalSignalDSL.g:19996:3: ruleFullJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); 
@@ -64949,17 +65042,17 @@
 
 
     // $ANTLR start "rule__XCatchClause__ExpressionAssignment_4"
-    // InternalSignalDSL.g:19962:1: rule__XCatchClause__ExpressionAssignment_4 : ( ruleXExpression ) ;
+    // InternalSignalDSL.g:20005:1: rule__XCatchClause__ExpressionAssignment_4 : ( ruleXExpression ) ;
     public final void rule__XCatchClause__ExpressionAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19966:1: ( ( ruleXExpression ) )
-            // InternalSignalDSL.g:19967:2: ( ruleXExpression )
+            // InternalSignalDSL.g:20009:1: ( ( ruleXExpression ) )
+            // InternalSignalDSL.g:20010:2: ( ruleXExpression )
             {
-            // InternalSignalDSL.g:19967:2: ( ruleXExpression )
-            // InternalSignalDSL.g:19968:3: ruleXExpression
+            // InternalSignalDSL.g:20010:2: ( ruleXExpression )
+            // InternalSignalDSL.g:20011:3: ruleXExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); 
@@ -64994,17 +65087,17 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0"
-    // InternalSignalDSL.g:19977:1: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 : ( ruleJvmTypeReference ) ;
+    // InternalSignalDSL.g:20020:1: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0 : ( ruleJvmTypeReference ) ;
     public final void rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19981:1: ( ( ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:19982:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:20024:1: ( ( ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:20025:2: ( ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:19982:2: ( ruleJvmTypeReference )
-            // InternalSignalDSL.g:19983:3: ruleJvmTypeReference
+            // InternalSignalDSL.g:20025:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:20026:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); 
@@ -65039,17 +65132,17 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1"
-    // InternalSignalDSL.g:19992:1: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 : ( ruleJvmTypeReference ) ;
+    // InternalSignalDSL.g:20035:1: rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1 : ( ruleJvmTypeReference ) ;
     public final void rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:19996:1: ( ( ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:19997:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:20039:1: ( ( ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:20040:2: ( ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:19997:2: ( ruleJvmTypeReference )
-            // InternalSignalDSL.g:19998:3: ruleJvmTypeReference
+            // InternalSignalDSL.g:20040:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:20041:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); 
@@ -65084,17 +65177,17 @@
 
 
     // $ANTLR start "rule__XFunctionTypeRef__ReturnTypeAssignment_2"
-    // InternalSignalDSL.g:20007:1: rule__XFunctionTypeRef__ReturnTypeAssignment_2 : ( ruleJvmTypeReference ) ;
+    // InternalSignalDSL.g:20050:1: rule__XFunctionTypeRef__ReturnTypeAssignment_2 : ( ruleJvmTypeReference ) ;
     public final void rule__XFunctionTypeRef__ReturnTypeAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:20011:1: ( ( ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:20012:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:20054:1: ( ( ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:20055:2: ( ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:20012:2: ( ruleJvmTypeReference )
-            // InternalSignalDSL.g:20013:3: ruleJvmTypeReference
+            // InternalSignalDSL.g:20055:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:20056:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); 
@@ -65129,23 +65222,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__TypeAssignment_0"
-    // InternalSignalDSL.g:20022:1: rule__JvmParameterizedTypeReference__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ;
+    // InternalSignalDSL.g:20065:1: rule__JvmParameterizedTypeReference__TypeAssignment_0 : ( ( ruleQualifiedName ) ) ;
     public final void rule__JvmParameterizedTypeReference__TypeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:20026:1: ( ( ( ruleQualifiedName ) ) )
-            // InternalSignalDSL.g:20027:2: ( ( ruleQualifiedName ) )
+            // InternalSignalDSL.g:20069:1: ( ( ( ruleQualifiedName ) ) )
+            // InternalSignalDSL.g:20070:2: ( ( ruleQualifiedName ) )
             {
-            // InternalSignalDSL.g:20027:2: ( ( ruleQualifiedName ) )
-            // InternalSignalDSL.g:20028:3: ( ruleQualifiedName )
+            // InternalSignalDSL.g:20070:2: ( ( ruleQualifiedName ) )
+            // InternalSignalDSL.g:20071:3: ( ruleQualifiedName )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); 
             }
-            // InternalSignalDSL.g:20029:3: ( ruleQualifiedName )
-            // InternalSignalDSL.g:20030:4: ruleQualifiedName
+            // InternalSignalDSL.g:20072:3: ( ruleQualifiedName )
+            // InternalSignalDSL.g:20073:4: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeQualifiedNameParserRuleCall_0_0_1()); 
@@ -65186,17 +65279,17 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1"
-    // InternalSignalDSL.g:20041:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalSignalDSL.g:20084:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:20045:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalSignalDSL.g:20046:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:20088:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalSignalDSL.g:20089:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalSignalDSL.g:20046:2: ( ruleJvmArgumentTypeReference )
-            // InternalSignalDSL.g:20047:3: ruleJvmArgumentTypeReference
+            // InternalSignalDSL.g:20089:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:20090:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); 
@@ -65231,17 +65324,17 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1"
-    // InternalSignalDSL.g:20056:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalSignalDSL.g:20099:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:20060:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalSignalDSL.g:20061:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:20103:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalSignalDSL.g:20104:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalSignalDSL.g:20061:2: ( ruleJvmArgumentTypeReference )
-            // InternalSignalDSL.g:20062:3: ruleJvmArgumentTypeReference
+            // InternalSignalDSL.g:20104:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:20105:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); 
@@ -65276,23 +65369,23 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1"
-    // InternalSignalDSL.g:20071:1: rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 : ( ( ruleValidID ) ) ;
+    // InternalSignalDSL.g:20114:1: rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1 : ( ( ruleValidID ) ) ;
     public final void rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:20075:1: ( ( ( ruleValidID ) ) )
-            // InternalSignalDSL.g:20076:2: ( ( ruleValidID ) )
+            // InternalSignalDSL.g:20118:1: ( ( ( ruleValidID ) ) )
+            // InternalSignalDSL.g:20119:2: ( ( ruleValidID ) )
             {
-            // InternalSignalDSL.g:20076:2: ( ( ruleValidID ) )
-            // InternalSignalDSL.g:20077:3: ( ruleValidID )
+            // InternalSignalDSL.g:20119:2: ( ( ruleValidID ) )
+            // InternalSignalDSL.g:20120:3: ( ruleValidID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); 
             }
-            // InternalSignalDSL.g:20078:3: ( ruleValidID )
-            // InternalSignalDSL.g:20079:4: ruleValidID
+            // InternalSignalDSL.g:20121:3: ( ruleValidID )
+            // InternalSignalDSL.g:20122:4: ruleValidID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeValidIDParserRuleCall_1_4_1_0_1()); 
@@ -65333,17 +65426,17 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1"
-    // InternalSignalDSL.g:20090:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalSignalDSL.g:20133:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:20094:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalSignalDSL.g:20095:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:20137:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalSignalDSL.g:20138:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalSignalDSL.g:20095:2: ( ruleJvmArgumentTypeReference )
-            // InternalSignalDSL.g:20096:3: ruleJvmArgumentTypeReference
+            // InternalSignalDSL.g:20138:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:20139:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); 
@@ -65378,17 +65471,17 @@
 
 
     // $ANTLR start "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1"
-    // InternalSignalDSL.g:20105:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 : ( ruleJvmArgumentTypeReference ) ;
+    // InternalSignalDSL.g:20148:1: rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1 : ( ruleJvmArgumentTypeReference ) ;
     public final void rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:20109:1: ( ( ruleJvmArgumentTypeReference ) )
-            // InternalSignalDSL.g:20110:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:20152:1: ( ( ruleJvmArgumentTypeReference ) )
+            // InternalSignalDSL.g:20153:2: ( ruleJvmArgumentTypeReference )
             {
-            // InternalSignalDSL.g:20110:2: ( ruleJvmArgumentTypeReference )
-            // InternalSignalDSL.g:20111:3: ruleJvmArgumentTypeReference
+            // InternalSignalDSL.g:20153:2: ( ruleJvmArgumentTypeReference )
+            // InternalSignalDSL.g:20154:3: ruleJvmArgumentTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); 
@@ -65423,17 +65516,17 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0"
-    // InternalSignalDSL.g:20120:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 : ( ruleJvmUpperBound ) ;
+    // InternalSignalDSL.g:20163:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0 : ( ruleJvmUpperBound ) ;
     public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:20124:1: ( ( ruleJvmUpperBound ) )
-            // InternalSignalDSL.g:20125:2: ( ruleJvmUpperBound )
+            // InternalSignalDSL.g:20167:1: ( ( ruleJvmUpperBound ) )
+            // InternalSignalDSL.g:20168:2: ( ruleJvmUpperBound )
             {
-            // InternalSignalDSL.g:20125:2: ( ruleJvmUpperBound )
-            // InternalSignalDSL.g:20126:3: ruleJvmUpperBound
+            // InternalSignalDSL.g:20168:2: ( ruleJvmUpperBound )
+            // InternalSignalDSL.g:20169:3: ruleJvmUpperBound
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); 
@@ -65468,17 +65561,17 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1"
-    // InternalSignalDSL.g:20135:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 : ( ruleJvmUpperBoundAnded ) ;
+    // InternalSignalDSL.g:20178:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1 : ( ruleJvmUpperBoundAnded ) ;
     public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:20139:1: ( ( ruleJvmUpperBoundAnded ) )
-            // InternalSignalDSL.g:20140:2: ( ruleJvmUpperBoundAnded )
+            // InternalSignalDSL.g:20182:1: ( ( ruleJvmUpperBoundAnded ) )
+            // InternalSignalDSL.g:20183:2: ( ruleJvmUpperBoundAnded )
             {
-            // InternalSignalDSL.g:20140:2: ( ruleJvmUpperBoundAnded )
-            // InternalSignalDSL.g:20141:3: ruleJvmUpperBoundAnded
+            // InternalSignalDSL.g:20183:2: ( ruleJvmUpperBoundAnded )
+            // InternalSignalDSL.g:20184:3: ruleJvmUpperBoundAnded
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); 
@@ -65513,17 +65606,17 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0"
-    // InternalSignalDSL.g:20150:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 : ( ruleJvmLowerBound ) ;
+    // InternalSignalDSL.g:20193:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0 : ( ruleJvmLowerBound ) ;
     public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:20154:1: ( ( ruleJvmLowerBound ) )
-            // InternalSignalDSL.g:20155:2: ( ruleJvmLowerBound )
+            // InternalSignalDSL.g:20197:1: ( ( ruleJvmLowerBound ) )
+            // InternalSignalDSL.g:20198:2: ( ruleJvmLowerBound )
             {
-            // InternalSignalDSL.g:20155:2: ( ruleJvmLowerBound )
-            // InternalSignalDSL.g:20156:3: ruleJvmLowerBound
+            // InternalSignalDSL.g:20198:2: ( ruleJvmLowerBound )
+            // InternalSignalDSL.g:20199:3: ruleJvmLowerBound
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); 
@@ -65558,17 +65651,17 @@
 
 
     // $ANTLR start "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1"
-    // InternalSignalDSL.g:20165:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 : ( ruleJvmLowerBoundAnded ) ;
+    // InternalSignalDSL.g:20208:1: rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1 : ( ruleJvmLowerBoundAnded ) ;
     public final void rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:20169:1: ( ( ruleJvmLowerBoundAnded ) )
-            // InternalSignalDSL.g:20170:2: ( ruleJvmLowerBoundAnded )
+            // InternalSignalDSL.g:20212:1: ( ( ruleJvmLowerBoundAnded ) )
+            // InternalSignalDSL.g:20213:2: ( ruleJvmLowerBoundAnded )
             {
-            // InternalSignalDSL.g:20170:2: ( ruleJvmLowerBoundAnded )
-            // InternalSignalDSL.g:20171:3: ruleJvmLowerBoundAnded
+            // InternalSignalDSL.g:20213:2: ( ruleJvmLowerBoundAnded )
+            // InternalSignalDSL.g:20214:3: ruleJvmLowerBoundAnded
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); 
@@ -65603,17 +65696,17 @@
 
 
     // $ANTLR start "rule__JvmUpperBound__TypeReferenceAssignment_1"
-    // InternalSignalDSL.g:20180:1: rule__JvmUpperBound__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ;
+    // InternalSignalDSL.g:20223:1: rule__JvmUpperBound__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ;
     public final void rule__JvmUpperBound__TypeReferenceAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:20184:1: ( ( ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:20185:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:20227:1: ( ( ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:20228:2: ( ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:20185:2: ( ruleJvmTypeReference )
-            // InternalSignalDSL.g:20186:3: ruleJvmTypeReference
+            // InternalSignalDSL.g:20228:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:20229:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); 
@@ -65648,17 +65741,17 @@
 
 
     // $ANTLR start "rule__JvmUpperBoundAnded__TypeReferenceAssignment_1"
-    // InternalSignalDSL.g:20195:1: rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ;
+    // InternalSignalDSL.g:20238:1: rule__JvmUpperBoundAnded__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ;
     public final void rule__JvmUpperBoundAnded__TypeReferenceAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:20199:1: ( ( ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:20200:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:20242:1: ( ( ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:20243:2: ( ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:20200:2: ( ruleJvmTypeReference )
-            // InternalSignalDSL.g:20201:3: ruleJvmTypeReference
+            // InternalSignalDSL.g:20243:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:20244:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); 
@@ -65693,17 +65786,17 @@
 
 
     // $ANTLR start "rule__JvmLowerBound__TypeReferenceAssignment_1"
-    // InternalSignalDSL.g:20210:1: rule__JvmLowerBound__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ;
+    // InternalSignalDSL.g:20253:1: rule__JvmLowerBound__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ;
     public final void rule__JvmLowerBound__TypeReferenceAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:20214:1: ( ( ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:20215:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:20257:1: ( ( ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:20258:2: ( ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:20215:2: ( ruleJvmTypeReference )
-            // InternalSignalDSL.g:20216:3: ruleJvmTypeReference
+            // InternalSignalDSL.g:20258:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:20259:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); 
@@ -65738,17 +65831,17 @@
 
 
     // $ANTLR start "rule__JvmLowerBoundAnded__TypeReferenceAssignment_1"
-    // InternalSignalDSL.g:20225:1: rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ;
+    // InternalSignalDSL.g:20268:1: rule__JvmLowerBoundAnded__TypeReferenceAssignment_1 : ( ruleJvmTypeReference ) ;
     public final void rule__JvmLowerBoundAnded__TypeReferenceAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:20229:1: ( ( ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:20230:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:20272:1: ( ( ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:20273:2: ( ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:20230:2: ( ruleJvmTypeReference )
-            // InternalSignalDSL.g:20231:3: ruleJvmTypeReference
+            // InternalSignalDSL.g:20273:2: ( ruleJvmTypeReference )
+            // InternalSignalDSL.g:20274:3: ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); 
@@ -65783,17 +65876,17 @@
 
 
     // $ANTLR start "rule__XImportSection__ImportDeclarationsAssignment"
-    // InternalSignalDSL.g:20240:1: rule__XImportSection__ImportDeclarationsAssignment : ( ruleXImportDeclaration ) ;
+    // InternalSignalDSL.g:20283:1: rule__XImportSection__ImportDeclarationsAssignment : ( ruleXImportDeclaration ) ;
     public final void rule__XImportSection__ImportDeclarationsAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalSignalDSL.g:20244:1: ( ( ruleXImportDeclaration ) )
-            // InternalSignalDSL.g:20245:2: ( ruleXImportDeclaration )
+            // InternalSignalDSL.g:20287:1: ( ( ruleXImportDeclaration ) )
+            // InternalSignalDSL.g:20288:2: ( ruleXImportDeclaration )
             {
-            // InternalSignalDSL.g:20245:2: ( ruleXImportDeclaration )
-            // InternalSignalDSL.g:20246:3: ruleXImportDeclaration
+            // InternalSignalDSL.g:20288:2: ( ruleXImportDeclaration )
+            // InternalSignalDSL.g:20289:3: ruleXImportDeclaration
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportSectionAccess().getImportDeclarationsXImportDeclarationParserRuleCall_0()); 
@@ -65828,17 +65921,17 @@
 
     // $ANTLR start synpred8_InternalSignalDSL
     public final void synpred8_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:2457:2: ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) )
-        // InternalSignalDSL.g:2457:2: ( ( rule__XAnnotation__Group_3_1_0__0 ) )
+        // InternalSignalDSL.g:2482: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();
@@ -65858,17 +65951,17 @@
 
     // $ANTLR start synpred9_InternalSignalDSL
     public final void synpred9_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:2478:2: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) )
-        // InternalSignalDSL.g:2478:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) )
+        // InternalSignalDSL.g:2503: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();
@@ -65888,17 +65981,17 @@
 
     // $ANTLR start synpred10_InternalSignalDSL
     public final void synpred10_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:2499:2: ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) )
-        // InternalSignalDSL.g:2499:2: ( ( rule__XAnnotationElementValue__Group_0__0 ) )
+        // InternalSignalDSL.g:2524: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();
@@ -65918,17 +66011,17 @@
 
     // $ANTLR start synpred35_InternalSignalDSL
     public final void synpred35_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:2784:2: ( ( ( rule__OpOther__Group_6_1_0__0 ) ) )
-        // InternalSignalDSL.g:2784:2: ( ( rule__OpOther__Group_6_1_0__0 ) )
+        // InternalSignalDSL.g:2809: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();
@@ -65948,11 +66041,11 @@
 
     // $ANTLR start synpred36_InternalSignalDSL
     public final void synpred36_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:2790:2: ( ( '<' ) )
-        // InternalSignalDSL.g:2790:2: ( '<' )
+        // InternalSignalDSL.g:2815: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()); 
@@ -65968,17 +66061,17 @@
 
     // $ANTLR start synpred49_InternalSignalDSL
     public final void synpred49_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:3003:2: ( ( ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0 ) ) )
-        // 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: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();
@@ -65998,17 +66091,17 @@
 
     // $ANTLR start synpred57_InternalSignalDSL
     public final void synpred57_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:3066:2: ( ( ( ruleXForLoopExpression ) ) )
-        // InternalSignalDSL.g:3066:2: ( ( ruleXForLoopExpression ) )
+        // InternalSignalDSL.g:3091: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();
@@ -66028,11 +66121,11 @@
 
     // $ANTLR start synpred58_InternalSignalDSL
     public final void synpred58_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:3072:2: ( ( ruleXBasicForLoopExpression ) )
-        // InternalSignalDSL.g:3072:2: ( ruleXBasicForLoopExpression )
+        // InternalSignalDSL.g:3097: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()); 
@@ -66052,17 +66145,17 @@
 
     // $ANTLR start synpred71_InternalSignalDSL
     public final void synpred71_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:3195:2: ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) )
-        // InternalSignalDSL.g:3195:2: ( ( rule__XSwitchExpression__Group_2_0__0 ) )
+        // InternalSignalDSL.g:3220: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();
@@ -66082,17 +66175,17 @@
 
     // $ANTLR start synpred75_InternalSignalDSL
     public final void synpred75_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:3279:2: ( ( ( rule__XVariableDeclaration__Group_2_0__0 ) ) )
-        // InternalSignalDSL.g:3279:2: ( ( rule__XVariableDeclaration__Group_2_0__0 ) )
+        // InternalSignalDSL.g:3304: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();
@@ -66112,17 +66205,17 @@
 
     // $ANTLR start synpred76_InternalSignalDSL
     public final void synpred76_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:3300:2: ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) )
-        // InternalSignalDSL.g:3300:2: ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) )
+        // InternalSignalDSL.g:3325: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();
@@ -66142,17 +66235,17 @@
 
     // $ANTLR start synpred82_InternalSignalDSL
     public final void synpred82_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:3381:2: ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) )
-        // InternalSignalDSL.g:3381:2: ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) )
+        // InternalSignalDSL.g:3406: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();
@@ -66170,10 +66263,10 @@
     }
     // $ANTLR end synpred82_InternalSignalDSL
 
-    // $ANTLR start synpred116_InternalSignalDSL
-    public final void synpred116_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:6236:3: ( rule__XAssignment__Group_1_1__0 )
-        // InternalSignalDSL.g:6236:3: rule__XAssignment__Group_1_1__0
+    // $ANTLR start synpred113_InternalSignalDSL
+    public final void synpred113_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:6264:3: ( rule__XAssignment__Group_1_1__0 )
+        // InternalSignalDSL.g:6264:3: rule__XAssignment__Group_1_1__0
         {
         pushFollow(FOLLOW_2);
         rule__XAssignment__Group_1_1__0();
@@ -66183,12 +66276,12 @@
 
         }
     }
-    // $ANTLR end synpred116_InternalSignalDSL
+    // $ANTLR end synpred113_InternalSignalDSL
 
-    // $ANTLR start synpred118_InternalSignalDSL
-    public final void synpred118_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:6587:3: ( rule__XOrExpression__Group_1__0 )
-        // InternalSignalDSL.g:6587:3: rule__XOrExpression__Group_1__0
+    // $ANTLR start synpred115_InternalSignalDSL
+    public final void synpred115_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:6615:3: ( rule__XOrExpression__Group_1__0 )
+        // InternalSignalDSL.g:6615:3: rule__XOrExpression__Group_1__0
         {
         pushFollow(FOLLOW_2);
         rule__XOrExpression__Group_1__0();
@@ -66198,15 +66291,60 @@
 
         }
     }
+    // $ANTLR end synpred115_InternalSignalDSL
+
+    // $ANTLR start synpred116_InternalSignalDSL
+    public final void synpred116_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:6804:3: ( rule__XAndExpression__Group_1__0 )
+        // InternalSignalDSL.g:6804:3: rule__XAndExpression__Group_1__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__XAndExpression__Group_1__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred116_InternalSignalDSL
+
+    // $ANTLR start synpred117_InternalSignalDSL
+    public final void synpred117_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:6993:3: ( rule__XEqualityExpression__Group_1__0 )
+        // InternalSignalDSL.g:6993:3: rule__XEqualityExpression__Group_1__0
+        {
+        pushFollow(FOLLOW_2);
+        rule__XEqualityExpression__Group_1__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred117_InternalSignalDSL
+
+    // $ANTLR start synpred118_InternalSignalDSL
+    public final void synpred118_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:7182:3: ( rule__XRelationalExpression__Alternatives_1 )
+        // InternalSignalDSL.g:7182:3: rule__XRelationalExpression__Alternatives_1
+        {
+        pushFollow(FOLLOW_2);
+        rule__XRelationalExpression__Alternatives_1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
     // $ANTLR end synpred118_InternalSignalDSL
 
     // $ANTLR start synpred119_InternalSignalDSL
     public final void synpred119_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:6776:3: ( rule__XAndExpression__Group_1__0 )
-        // InternalSignalDSL.g:6776:3: rule__XAndExpression__Group_1__0
+        // InternalSignalDSL.g:7560:3: ( rule__XOtherOperatorExpression__Group_1__0 )
+        // InternalSignalDSL.g:7560:3: rule__XOtherOperatorExpression__Group_1__0
         {
         pushFollow(FOLLOW_2);
-        rule__XAndExpression__Group_1__0();
+        rule__XOtherOperatorExpression__Group_1__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -66217,11 +66355,11 @@
 
     // $ANTLR start synpred120_InternalSignalDSL
     public final void synpred120_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:6965:3: ( rule__XEqualityExpression__Group_1__0 )
-        // InternalSignalDSL.g:6965:3: rule__XEqualityExpression__Group_1__0
+        // InternalSignalDSL.g:8073:3: ( rule__XAdditiveExpression__Group_1__0 )
+        // InternalSignalDSL.g:8073:3: rule__XAdditiveExpression__Group_1__0
         {
         pushFollow(FOLLOW_2);
-        rule__XEqualityExpression__Group_1__0();
+        rule__XAdditiveExpression__Group_1__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -66232,11 +66370,11 @@
 
     // $ANTLR start synpred121_InternalSignalDSL
     public final void synpred121_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:7154:3: ( rule__XRelationalExpression__Alternatives_1 )
-        // InternalSignalDSL.g:7154:3: rule__XRelationalExpression__Alternatives_1
+        // InternalSignalDSL.g:8262:3: ( rule__XMultiplicativeExpression__Group_1__0 )
+        // InternalSignalDSL.g:8262:3: rule__XMultiplicativeExpression__Group_1__0
         {
         pushFollow(FOLLOW_2);
-        rule__XRelationalExpression__Alternatives_1();
+        rule__XMultiplicativeExpression__Group_1__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -66247,11 +66385,11 @@
 
     // $ANTLR start synpred122_InternalSignalDSL
     public final void synpred122_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:7532:3: ( rule__XOtherOperatorExpression__Group_1__0 )
-        // InternalSignalDSL.g:7532:3: rule__XOtherOperatorExpression__Group_1__0
+        // InternalSignalDSL.g:8532:3: ( rule__XCastedExpression__Group_1__0 )
+        // InternalSignalDSL.g:8532:3: rule__XCastedExpression__Group_1__0
         {
         pushFollow(FOLLOW_2);
-        rule__XOtherOperatorExpression__Group_1__0();
+        rule__XCastedExpression__Group_1__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -66262,11 +66400,11 @@
 
     // $ANTLR start synpred123_InternalSignalDSL
     public final void synpred123_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:8045:3: ( rule__XAdditiveExpression__Group_1__0 )
-        // InternalSignalDSL.g:8045:3: rule__XAdditiveExpression__Group_1__0
+        // InternalSignalDSL.g:8721:3: ( rule__XPostfixOperation__Group_1__0 )
+        // InternalSignalDSL.g:8721:3: rule__XPostfixOperation__Group_1__0
         {
         pushFollow(FOLLOW_2);
-        rule__XAdditiveExpression__Group_1__0();
+        rule__XPostfixOperation__Group_1__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -66277,11 +66415,11 @@
 
     // $ANTLR start synpred124_InternalSignalDSL
     public final void synpred124_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:8234:3: ( rule__XMultiplicativeExpression__Group_1__0 )
-        // InternalSignalDSL.g:8234:3: rule__XMultiplicativeExpression__Group_1__0
+        // InternalSignalDSL.g:8856:3: ( rule__XMemberFeatureCall__Alternatives_1 )
+        // InternalSignalDSL.g:8856:3: rule__XMemberFeatureCall__Alternatives_1
         {
         pushFollow(FOLLOW_2);
-        rule__XMultiplicativeExpression__Group_1__0();
+        rule__XMemberFeatureCall__Alternatives_1();
 
         state._fsp--;
         if (state.failed) return ;
@@ -66290,28 +66428,13 @@
     }
     // $ANTLR end synpred124_InternalSignalDSL
 
-    // $ANTLR start synpred125_InternalSignalDSL
-    public final void synpred125_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:8504:3: ( rule__XCastedExpression__Group_1__0 )
-        // InternalSignalDSL.g:8504:3: rule__XCastedExpression__Group_1__0
-        {
-        pushFollow(FOLLOW_2);
-        rule__XCastedExpression__Group_1__0();
-
-        state._fsp--;
-        if (state.failed) return ;
-
-        }
-    }
-    // $ANTLR end synpred125_InternalSignalDSL
-
     // $ANTLR start synpred126_InternalSignalDSL
     public final void synpred126_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:8693:3: ( rule__XPostfixOperation__Group_1__0 )
-        // InternalSignalDSL.g:8693:3: rule__XPostfixOperation__Group_1__0
+        // InternalSignalDSL.g:9154:3: ( rule__XMemberFeatureCall__Group_1_1_3__0 )
+        // InternalSignalDSL.g:9154:3: rule__XMemberFeatureCall__Group_1_1_3__0
         {
         pushFollow(FOLLOW_2);
-        rule__XPostfixOperation__Group_1__0();
+        rule__XMemberFeatureCall__Group_1_1_3__0();
 
         state._fsp--;
         if (state.failed) return ;
@@ -66322,38 +66445,8 @@
 
     // $ANTLR start synpred127_InternalSignalDSL
     public final void synpred127_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:8828:3: ( rule__XMemberFeatureCall__Alternatives_1 )
-        // InternalSignalDSL.g:8828:3: rule__XMemberFeatureCall__Alternatives_1
-        {
-        pushFollow(FOLLOW_2);
-        rule__XMemberFeatureCall__Alternatives_1();
-
-        state._fsp--;
-        if (state.failed) return ;
-
-        }
-    }
-    // $ANTLR end synpred127_InternalSignalDSL
-
-    // $ANTLR start synpred129_InternalSignalDSL
-    public final void synpred129_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:9126:3: ( rule__XMemberFeatureCall__Group_1_1_3__0 )
-        // InternalSignalDSL.g:9126:3: rule__XMemberFeatureCall__Group_1_1_3__0
-        {
-        pushFollow(FOLLOW_2);
-        rule__XMemberFeatureCall__Group_1_1_3__0();
-
-        state._fsp--;
-        if (state.failed) return ;
-
-        }
-    }
-    // $ANTLR end synpred129_InternalSignalDSL
-
-    // $ANTLR start synpred130_InternalSignalDSL
-    public final void synpred130_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:9152:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )
-        // InternalSignalDSL.g:9152:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4
+        // InternalSignalDSL.g:9180:3: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )
+        // InternalSignalDSL.g:9180:3: rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4
         {
         pushFollow(FOLLOW_2);
         rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4();
@@ -66363,12 +66456,12 @@
 
         }
     }
-    // $ANTLR end synpred130_InternalSignalDSL
+    // $ANTLR end synpred127_InternalSignalDSL
 
-    // $ANTLR start synpred138_InternalSignalDSL
-    public final void synpred138_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:10125:3: ( rule__XClosure__Group_1__0 )
-        // InternalSignalDSL.g:10125:3: rule__XClosure__Group_1__0
+    // $ANTLR start synpred135_InternalSignalDSL
+    public final void synpred135_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:10153:3: ( rule__XClosure__Group_1__0 )
+        // InternalSignalDSL.g:10153:3: rule__XClosure__Group_1__0
         {
         pushFollow(FOLLOW_2);
         rule__XClosure__Group_1__0();
@@ -66378,12 +66471,12 @@
 
         }
     }
-    // $ANTLR end synpred138_InternalSignalDSL
+    // $ANTLR end synpred135_InternalSignalDSL
 
-    // $ANTLR start synpred145_InternalSignalDSL
-    public final void synpred145_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:11096:3: ( rule__XIfExpression__Group_6__0 )
-        // InternalSignalDSL.g:11096:3: rule__XIfExpression__Group_6__0
+    // $ANTLR start synpred142_InternalSignalDSL
+    public final void synpred142_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:11124:3: ( rule__XIfExpression__Group_6__0 )
+        // InternalSignalDSL.g:11124:3: rule__XIfExpression__Group_6__0
         {
         pushFollow(FOLLOW_2);
         rule__XIfExpression__Group_6__0();
@@ -66393,12 +66486,12 @@
 
         }
     }
-    // $ANTLR end synpred145_InternalSignalDSL
+    // $ANTLR end synpred142_InternalSignalDSL
 
-    // $ANTLR start synpred148_InternalSignalDSL
-    public final void synpred148_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:11556:3: ( rule__XSwitchExpression__Group_2_1_0__0 )
-        // InternalSignalDSL.g:11556:3: rule__XSwitchExpression__Group_2_1_0__0
+    // $ANTLR start synpred145_InternalSignalDSL
+    public final void synpred145_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:11584:3: ( rule__XSwitchExpression__Group_2_1_0__0 )
+        // InternalSignalDSL.g:11584:3: rule__XSwitchExpression__Group_2_1_0__0
         {
         pushFollow(FOLLOW_2);
         rule__XSwitchExpression__Group_2_1_0__0();
@@ -66408,12 +66501,12 @@
 
         }
     }
-    // $ANTLR end synpred148_InternalSignalDSL
+    // $ANTLR end synpred145_InternalSignalDSL
 
-    // $ANTLR start synpred161_InternalSignalDSL
-    public final void synpred161_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:13689:3: ( rule__XFeatureCall__Group_3__0 )
-        // InternalSignalDSL.g:13689:3: rule__XFeatureCall__Group_3__0
+    // $ANTLR start synpred158_InternalSignalDSL
+    public final void synpred158_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:13717:3: ( rule__XFeatureCall__Group_3__0 )
+        // InternalSignalDSL.g:13717:3: rule__XFeatureCall__Group_3__0
         {
         pushFollow(FOLLOW_2);
         rule__XFeatureCall__Group_3__0();
@@ -66423,12 +66516,12 @@
 
         }
     }
-    // $ANTLR end synpred161_InternalSignalDSL
+    // $ANTLR end synpred158_InternalSignalDSL
 
-    // $ANTLR start synpred162_InternalSignalDSL
-    public final void synpred162_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:13715:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )
-        // InternalSignalDSL.g:13715:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_4
+    // $ANTLR start synpred159_InternalSignalDSL
+    public final void synpred159_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:13743:3: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )
+        // InternalSignalDSL.g:13743:3: rule__XFeatureCall__FeatureCallArgumentsAssignment_4
         {
         pushFollow(FOLLOW_2);
         rule__XFeatureCall__FeatureCallArgumentsAssignment_4();
@@ -66438,12 +66531,12 @@
 
         }
     }
-    // $ANTLR end synpred162_InternalSignalDSL
+    // $ANTLR end synpred159_InternalSignalDSL
 
-    // $ANTLR start synpred166_InternalSignalDSL
-    public final void synpred166_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:14175:3: ( rule__XConstructorCall__Group_3__0 )
-        // InternalSignalDSL.g:14175:3: rule__XConstructorCall__Group_3__0
+    // $ANTLR start synpred163_InternalSignalDSL
+    public final void synpred163_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:14203:3: ( rule__XConstructorCall__Group_3__0 )
+        // InternalSignalDSL.g:14203:3: rule__XConstructorCall__Group_3__0
         {
         pushFollow(FOLLOW_2);
         rule__XConstructorCall__Group_3__0();
@@ -66453,12 +66546,12 @@
 
         }
     }
-    // $ANTLR end synpred166_InternalSignalDSL
+    // $ANTLR end synpred163_InternalSignalDSL
 
-    // $ANTLR start synpred167_InternalSignalDSL
-    public final void synpred167_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:14202:3: ( rule__XConstructorCall__Group_4__0 )
-        // InternalSignalDSL.g:14202:3: rule__XConstructorCall__Group_4__0
+    // $ANTLR start synpred164_InternalSignalDSL
+    public final void synpred164_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:14230:3: ( rule__XConstructorCall__Group_4__0 )
+        // InternalSignalDSL.g:14230:3: rule__XConstructorCall__Group_4__0
         {
         pushFollow(FOLLOW_2);
         rule__XConstructorCall__Group_4__0();
@@ -66468,12 +66561,12 @@
 
         }
     }
-    // $ANTLR end synpred167_InternalSignalDSL
+    // $ANTLR end synpred164_InternalSignalDSL
 
-    // $ANTLR start synpred168_InternalSignalDSL
-    public final void synpred168_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:14228:3: ( rule__XConstructorCall__ArgumentsAssignment_5 )
-        // InternalSignalDSL.g:14228:3: rule__XConstructorCall__ArgumentsAssignment_5
+    // $ANTLR start synpred165_InternalSignalDSL
+    public final void synpred165_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:14256:3: ( rule__XConstructorCall__ArgumentsAssignment_5 )
+        // InternalSignalDSL.g:14256:3: rule__XConstructorCall__ArgumentsAssignment_5
         {
         pushFollow(FOLLOW_2);
         rule__XConstructorCall__ArgumentsAssignment_5();
@@ -66483,12 +66576,12 @@
 
         }
     }
-    // $ANTLR end synpred168_InternalSignalDSL
+    // $ANTLR end synpred165_InternalSignalDSL
 
-    // $ANTLR start synpred173_InternalSignalDSL
-    public final void synpred173_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:15119:3: ( rule__XReturnExpression__ExpressionAssignment_2 )
-        // InternalSignalDSL.g:15119:3: rule__XReturnExpression__ExpressionAssignment_2
+    // $ANTLR start synpred170_InternalSignalDSL
+    public final void synpred170_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:15147:3: ( rule__XReturnExpression__ExpressionAssignment_2 )
+        // InternalSignalDSL.g:15147:3: rule__XReturnExpression__ExpressionAssignment_2
         {
         pushFollow(FOLLOW_2);
         rule__XReturnExpression__ExpressionAssignment_2();
@@ -66498,12 +66591,12 @@
 
         }
     }
-    // $ANTLR end synpred173_InternalSignalDSL
+    // $ANTLR end synpred170_InternalSignalDSL
 
-    // $ANTLR start synpred174_InternalSignalDSL
-    public final void synpred174_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:15261:4: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )
-        // InternalSignalDSL.g:15261:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0
+    // $ANTLR start synpred171_InternalSignalDSL
+    public final void synpred171_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:15289:4: ( rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0 )
+        // InternalSignalDSL.g:15289:4: rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0
         {
         pushFollow(FOLLOW_2);
         rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0();
@@ -66513,12 +66606,12 @@
 
         }
     }
-    // $ANTLR end synpred174_InternalSignalDSL
+    // $ANTLR end synpred171_InternalSignalDSL
 
-    // $ANTLR start synpred175_InternalSignalDSL
-    public final void synpred175_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:15288:3: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )
-        // InternalSignalDSL.g:15288:3: rule__XTryCatchFinallyExpression__Group_3_0_1__0
+    // $ANTLR start synpred172_InternalSignalDSL
+    public final void synpred172_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:15316:3: ( rule__XTryCatchFinallyExpression__Group_3_0_1__0 )
+        // InternalSignalDSL.g:15316:3: rule__XTryCatchFinallyExpression__Group_3_0_1__0
         {
         pushFollow(FOLLOW_2);
         rule__XTryCatchFinallyExpression__Group_3_0_1__0();
@@ -66528,12 +66621,12 @@
 
         }
     }
-    // $ANTLR end synpred175_InternalSignalDSL
+    // $ANTLR end synpred172_InternalSignalDSL
 
-    // $ANTLR start synpred176_InternalSignalDSL
-    public final void synpred176_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:15801:3: ( rule__QualifiedName__Group_1__0 )
-        // InternalSignalDSL.g:15801:3: rule__QualifiedName__Group_1__0
+    // $ANTLR start synpred173_InternalSignalDSL
+    public final void synpred173_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:15829:3: ( rule__QualifiedName__Group_1__0 )
+        // InternalSignalDSL.g:15829:3: rule__QualifiedName__Group_1__0
         {
         pushFollow(FOLLOW_2);
         rule__QualifiedName__Group_1__0();
@@ -66543,12 +66636,12 @@
 
         }
     }
-    // $ANTLR end synpred176_InternalSignalDSL
+    // $ANTLR end synpred173_InternalSignalDSL
 
-    // $ANTLR start synpred178_InternalSignalDSL
-    public final void synpred178_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:16017:3: ( rule__JvmTypeReference__Group_0_1__0 )
-        // InternalSignalDSL.g:16017:3: rule__JvmTypeReference__Group_0_1__0
+    // $ANTLR start synpred175_InternalSignalDSL
+    public final void synpred175_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:16045:3: ( rule__JvmTypeReference__Group_0_1__0 )
+        // InternalSignalDSL.g:16045:3: rule__JvmTypeReference__Group_0_1__0
         {
         pushFollow(FOLLOW_2);
         rule__JvmTypeReference__Group_0_1__0();
@@ -66558,12 +66651,12 @@
 
         }
     }
-    // $ANTLR end synpred178_InternalSignalDSL
+    // $ANTLR end synpred175_InternalSignalDSL
 
-    // $ANTLR start synpred182_InternalSignalDSL
-    public final void synpred182_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:16476:3: ( rule__JvmParameterizedTypeReference__Group_1__0 )
-        // InternalSignalDSL.g:16476:3: rule__JvmParameterizedTypeReference__Group_1__0
+    // $ANTLR start synpred179_InternalSignalDSL
+    public final void synpred179_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:16504:3: ( rule__JvmParameterizedTypeReference__Group_1__0 )
+        // InternalSignalDSL.g:16504:3: rule__JvmParameterizedTypeReference__Group_1__0
         {
         pushFollow(FOLLOW_2);
         rule__JvmParameterizedTypeReference__Group_1__0();
@@ -66573,12 +66666,12 @@
 
         }
     }
-    // $ANTLR end synpred182_InternalSignalDSL
+    // $ANTLR end synpred179_InternalSignalDSL
 
-    // $ANTLR start synpred184_InternalSignalDSL
-    public final void synpred184_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:16611:3: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )
-        // InternalSignalDSL.g:16611:3: rule__JvmParameterizedTypeReference__Group_1_4__0
+    // $ANTLR start synpred181_InternalSignalDSL
+    public final void synpred181_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:16639:3: ( rule__JvmParameterizedTypeReference__Group_1_4__0 )
+        // InternalSignalDSL.g:16639:3: rule__JvmParameterizedTypeReference__Group_1_4__0
         {
         pushFollow(FOLLOW_2);
         rule__JvmParameterizedTypeReference__Group_1_4__0();
@@ -66588,12 +66681,12 @@
 
         }
     }
-    // $ANTLR end synpred184_InternalSignalDSL
+    // $ANTLR end synpred181_InternalSignalDSL
 
-    // $ANTLR start synpred185_InternalSignalDSL
-    public final void synpred185_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:16746:3: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )
-        // InternalSignalDSL.g:16746:3: rule__JvmParameterizedTypeReference__Group_1_4_2__0
+    // $ANTLR start synpred182_InternalSignalDSL
+    public final void synpred182_InternalSignalDSL_fragment() throws RecognitionException {   
+        // InternalSignalDSL.g:16774:3: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )
+        // InternalSignalDSL.g:16774:3: rule__JvmParameterizedTypeReference__Group_1_4_2__0
         {
         pushFollow(FOLLOW_2);
         rule__JvmParameterizedTypeReference__Group_1_4_2__0();
@@ -66603,7 +66696,7 @@
 
         }
     }
-    // $ANTLR end synpred185_InternalSignalDSL
+    // $ANTLR end synpred182_InternalSignalDSL
 
     // Delegated rules
 
@@ -66621,20 +66714,6 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred176_InternalSignalDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred176_InternalSignalDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
     public final boolean synpred9_InternalSignalDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -66663,11 +66742,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred130_InternalSignalDSL() {
+    public final boolean synpred179_InternalSignalDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred130_InternalSignalDSL_fragment(); // can never throw exception
+            synpred179_InternalSignalDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -66691,11 +66770,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred138_InternalSignalDSL() {
+    public final boolean synpred135_InternalSignalDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred138_InternalSignalDSL_fragment(); // can never throw exception
+            synpred135_InternalSignalDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -66705,11 +66784,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred125_InternalSignalDSL() {
+    public final boolean synpred115_InternalSignalDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred125_InternalSignalDSL_fragment(); // can never throw exception
+            synpred115_InternalSignalDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -66733,20 +66812,6 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred174_InternalSignalDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred174_InternalSignalDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
     public final boolean synpred145_InternalSignalDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -66761,34 +66826,6 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred184_InternalSignalDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred184_InternalSignalDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
-    public final boolean synpred178_InternalSignalDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred178_InternalSignalDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
     public final boolean synpred57_InternalSignalDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -66803,11 +66840,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred148_InternalSignalDSL() {
+    public final boolean synpred164_InternalSignalDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred148_InternalSignalDSL_fragment(); // can never throw exception
+            synpred164_InternalSignalDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -66817,11 +66854,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred161_InternalSignalDSL() {
+    public final boolean synpred165_InternalSignalDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred161_InternalSignalDSL_fragment(); // can never throw exception
+            synpred165_InternalSignalDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -66831,11 +66868,39 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred168_InternalSignalDSL() {
+    public final boolean synpred181_InternalSignalDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred168_InternalSignalDSL_fragment(); // can never throw exception
+            synpred181_InternalSignalDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred158_InternalSignalDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred158_InternalSignalDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred171_InternalSignalDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred171_InternalSignalDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -66943,11 +67008,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred185_InternalSignalDSL() {
+    public final boolean synpred117_InternalSignalDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred185_InternalSignalDSL_fragment(); // can never throw exception
+            synpred117_InternalSignalDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -66971,20 +67036,6 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred162_InternalSignalDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred162_InternalSignalDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
     public final boolean synpred175_InternalSignalDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -67027,11 +67078,25 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred167_InternalSignalDSL() {
+    public final boolean synpred172_InternalSignalDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred167_InternalSignalDSL_fragment(); // can never throw exception
+            synpred172_InternalSignalDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred142_InternalSignalDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred142_InternalSignalDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -67055,6 +67120,48 @@
         state.failed=false;
         return success;
     }
+    public final boolean synpred113_InternalSignalDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred113_InternalSignalDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred159_InternalSignalDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred159_InternalSignalDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred170_InternalSignalDSL() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred170_InternalSignalDSL_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
     public final boolean synpred123_InternalSignalDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -67125,11 +67232,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred166_InternalSignalDSL() {
+    public final boolean synpred163_InternalSignalDSL() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred166_InternalSignalDSL_fragment(); // can never throw exception
+            synpred163_InternalSignalDSL_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -67153,20 +67260,6 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred129_InternalSignalDSL() {
-        state.backtracking++;
-        int start = input.mark();
-        try {
-            synpred129_InternalSignalDSL_fragment(); // can never throw exception
-        } catch (RecognitionException re) {
-            System.err.println("impossible: "+re);
-        }
-        boolean success = !state.failed;
-        input.rewind(start);
-        state.backtracking--;
-        state.failed=false;
-        return success;
-    }
     public final boolean synpred173_InternalSignalDSL() {
         state.backtracking++;
         int start = input.mark();
@@ -67194,35 +67287,35 @@
     protected DFA30 dfa30 = new DFA30(this);
     protected DFA35 dfa35 = new DFA35(this);
     protected DFA38 dfa38 = new DFA38(this);
-    protected DFA68 dfa68 = new DFA68(this);
-    protected DFA74 dfa74 = new DFA74(this);
-    protected DFA81 dfa81 = new DFA81(this);
+    protected DFA69 dfa69 = new DFA69(this);
+    protected DFA75 dfa75 = new DFA75(this);
     protected DFA82 dfa82 = new DFA82(this);
-    protected DFA90 dfa90 = new DFA90(this);
-    protected DFA100 dfa100 = new DFA100(this);
-    protected DFA113 dfa113 = new DFA113(this);
+    protected DFA83 dfa83 = new DFA83(this);
+    protected DFA91 dfa91 = new DFA91(this);
+    protected DFA101 dfa101 = new DFA101(this);
     protected DFA114 dfa114 = new DFA114(this);
-    protected DFA118 dfa118 = new DFA118(this);
+    protected DFA115 dfa115 = new DFA115(this);
     protected DFA119 dfa119 = new DFA119(this);
     protected DFA120 dfa120 = new DFA120(this);
-    protected DFA125 dfa125 = new DFA125(this);
-    protected DFA134 dfa134 = new DFA134(this);
-    protected DFA137 dfa137 = new DFA137(this);
+    protected DFA121 dfa121 = new DFA121(this);
+    protected DFA126 dfa126 = new DFA126(this);
+    protected DFA135 dfa135 = new DFA135(this);
+    protected DFA138 dfa138 = new DFA138(this);
     static final String dfa_1s = "\10\uffff";
-    static final String dfa_2s = "\2\uffff\1\5\3\uffff\1\5\1\uffff";
-    static final String dfa_3s = "\1\4\1\uffff\1\53\1\uffff\1\4\1\uffff\1\53\1\uffff";
-    static final String dfa_4s = "\1\145\1\uffff\1\110\1\uffff\1\44\1\uffff\1\110\1\uffff";
-    static final String dfa_5s = "\1\uffff\1\1\1\uffff\1\4\1\uffff\1\2\1\uffff\1\3";
+    static final String dfa_2s = "\2\uffff\1\5\4\uffff\1\5";
+    static final String dfa_3s = "\1\4\1\uffff\1\53\1\uffff\1\4\2\uffff\1\53";
+    static final String dfa_4s = "\1\142\1\uffff\1\105\1\uffff\1\44\2\uffff\1\105";
+    static final String dfa_5s = "\1\uffff\1\1\1\uffff\1\4\1\uffff\1\2\1\3\1\uffff";
     static final String dfa_6s = "\10\uffff}>";
     static final String[] dfa_7s = {
-            "\1\2\51\uffff\1\1\66\uffff\1\3",
+            "\1\2\51\uffff\1\1\63\uffff\1\3",
             "",
-            "\1\4\3\uffff\1\5\17\uffff\1\5\10\uffff\1\5",
+            "\1\4\3\uffff\1\5\13\uffff\1\5\11\uffff\1\5",
             "",
-            "\1\6\37\uffff\1\7",
+            "\1\7\37\uffff\1\6",
             "",
-            "\1\4\3\uffff\1\5\17\uffff\1\5\10\uffff\1\5",
-            ""
+            "",
+            "\1\4\3\uffff\1\5\13\uffff\1\5\11\uffff\1\5"
     };
 
     static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
@@ -67247,16 +67340,16 @@
             this.transition = dfa_7;
         }
         public String getDescription() {
-            return "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 ) ) );";
+            return "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 ) ) );";
         }
     }
     static final String dfa_8s = "\43\uffff";
     static final String dfa_9s = "\1\4\1\0\41\uffff";
-    static final String dfa_10s = "\1\152\1\0\41\uffff";
+    static final String dfa_10s = "\1\147\1\0\41\uffff";
     static final String dfa_11s = "\2\uffff\1\2\37\uffff\1\1";
     static final String dfa_12s = "\1\uffff\1\0\41\uffff}>";
     static final String[] dfa_13s = {
-            "\1\1\4\2\22\uffff\1\2\6\uffff\2\2\4\uffff\1\2\4\uffff\6\2\15\uffff\1\2\3\uffff\1\2\4\uffff\2\2\3\uffff\2\2\2\uffff\1\2\1\uffff\1\2\3\uffff\10\2\1\uffff\1\2\10\uffff\1\2",
+            "\1\1\4\2\22\uffff\1\2\6\uffff\2\2\4\uffff\1\2\4\uffff\6\2\11\uffff\1\2\3\uffff\1\2\5\uffff\2\2\3\uffff\2\2\2\uffff\1\2\1\uffff\1\2\3\uffff\10\2\1\uffff\1\2\10\uffff\1\2",
             "\1\uffff",
             "",
             "",
@@ -67314,7 +67407,7 @@
             this.transition = dfa_13;
         }
         public String getDescription() {
-            return "2452:1: rule__XAnnotation__Alternatives_3_1 : ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) | ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) ) );";
+            return "2477:1: rule__XAnnotation__Alternatives_3_1 : ( ( ( rule__XAnnotation__Group_3_1_0__0 ) ) | ( ( rule__XAnnotation__ValueAssignment_3_1_1 ) ) );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -67344,7 +67437,7 @@
         }
     }
     static final String[] dfa_14s = {
-            "\5\2\22\uffff\1\2\6\uffff\2\2\4\uffff\1\2\4\uffff\6\2\15\uffff\1\2\3\uffff\1\2\4\uffff\2\2\3\uffff\1\1\1\2\2\uffff\1\2\1\uffff\1\2\3\uffff\10\2\1\uffff\1\2\10\uffff\1\2",
+            "\5\2\22\uffff\1\2\6\uffff\2\2\4\uffff\1\2\4\uffff\6\2\11\uffff\1\2\3\uffff\1\2\5\uffff\2\2\3\uffff\1\1\1\2\2\uffff\1\2\1\uffff\1\2\3\uffff\10\2\1\uffff\1\2\10\uffff\1\2",
             "\1\uffff",
             "",
             "",
@@ -67396,7 +67489,7 @@
             this.transition = dfa_14;
         }
         public String getDescription() {
-            return "2473:1: rule__XAnnotationElementValueOrCommaList__Alternatives : ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) | ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) ) );";
+            return "2498:1: rule__XAnnotationElementValueOrCommaList__Alternatives : ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0__0 ) ) | ( ( rule__XAnnotationElementValueOrCommaList__Group_1__0 ) ) );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -67440,7 +67533,7 @@
             this.transition = dfa_14;
         }
         public String getDescription() {
-            return "2494:1: rule__XAnnotationElementValue__Alternatives : ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) | ( ruleXAnnotationOrExpression ) );";
+            return "2519:1: rule__XAnnotationElementValue__Alternatives : ( ( ( rule__XAnnotationElementValue__Group_0__0 ) ) | ( ruleXAnnotationOrExpression ) );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -67472,13 +67565,13 @@
     static final String dfa_15s = "\13\uffff";
     static final String dfa_16s = "\1\32\2\uffff\1\32\7\uffff";
     static final String dfa_17s = "\1\41\2\uffff\1\36\7\uffff";
-    static final String dfa_18s = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\6\1\3";
+    static final String dfa_18s = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\3\1\6";
     static final String dfa_19s = "\13\uffff}>";
     static final String[] dfa_20s = {
             "\1\3\1\6\1\1\1\2\1\4\1\5\1\7\1\10",
             "",
             "",
-            "\1\11\3\uffff\1\12",
+            "\1\12\3\uffff\1\11",
             "",
             "",
             "",
@@ -67509,25 +67602,25 @@
             this.transition = dfa_20;
         }
         public String getDescription() {
-            return "2695:1: rule__OpOther__Alternatives : ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) );";
+            return "2720:1: rule__OpOther__Alternatives : ( ( '->' ) | ( '..<' ) | ( ( rule__OpOther__Group_2__0 ) ) | ( '..' ) | ( '=>' ) | ( ( rule__OpOther__Group_5__0 ) ) | ( ( rule__OpOther__Group_6__0 ) ) | ( '<>' ) | ( '?:' ) );";
         }
     }
     static final String dfa_21s = "\12\uffff";
     static final String dfa_22s = "\4\uffff\5\3\1\uffff";
     static final String dfa_23s = "\1\53\2\4\1\uffff\5\4\1\uffff";
-    static final String dfa_24s = "\1\147\2\61\1\uffff\5\152\1\uffff";
+    static final String dfa_24s = "\1\144\2\61\1\uffff\5\147\1\uffff";
     static final String dfa_25s = "\3\uffff\1\2\5\uffff\1\1";
     static final String dfa_26s = "\12\uffff}>";
     static final String[] dfa_27s = {
-            "\1\1\72\uffff\1\2\1\3",
+            "\1\1\67\uffff\1\2\1\3",
             "\1\4\26\uffff\1\3\21\uffff\1\5\1\6\1\7\1\10\1\3",
             "\1\4\26\uffff\1\3\21\uffff\1\5\1\6\1\7\1\10\1\3",
             "",
-            "\5\3\4\uffff\1\11\45\3\15\uffff\2\3\2\uffff\1\3\3\uffff\1\3\1\uffff\31\3\3\uffff\2\3\1\uffff\2\3",
-            "\5\3\4\uffff\1\11\45\3\15\uffff\2\3\2\uffff\1\3\3\uffff\1\3\1\uffff\31\3\3\uffff\2\3\1\uffff\2\3",
-            "\5\3\4\uffff\1\11\45\3\15\uffff\2\3\2\uffff\1\3\3\uffff\1\3\1\uffff\31\3\3\uffff\2\3\1\uffff\2\3",
-            "\5\3\4\uffff\1\11\45\3\15\uffff\2\3\2\uffff\1\3\3\uffff\1\3\1\uffff\31\3\3\uffff\2\3\1\uffff\2\3",
-            "\5\3\4\uffff\1\11\45\3\15\uffff\2\3\2\uffff\1\3\3\uffff\1\3\1\uffff\31\3\3\uffff\2\3\1\uffff\2\3",
+            "\5\3\4\uffff\1\11\45\3\11\uffff\2\3\2\uffff\1\3\4\uffff\1\3\1\uffff\31\3\3\uffff\2\3\1\uffff\2\3",
+            "\5\3\4\uffff\1\11\45\3\11\uffff\2\3\2\uffff\1\3\4\uffff\1\3\1\uffff\31\3\3\uffff\2\3\1\uffff\2\3",
+            "\5\3\4\uffff\1\11\45\3\11\uffff\2\3\2\uffff\1\3\4\uffff\1\3\1\uffff\31\3\3\uffff\2\3\1\uffff\2\3",
+            "\5\3\4\uffff\1\11\45\3\11\uffff\2\3\2\uffff\1\3\4\uffff\1\3\1\uffff\31\3\3\uffff\2\3\1\uffff\2\3",
+            "\5\3\4\uffff\1\11\45\3\11\uffff\2\3\2\uffff\1\3\4\uffff\1\3\1\uffff\31\3\3\uffff\2\3\1\uffff\2\3",
             ""
     };
 
@@ -67553,15 +67646,15 @@
             this.transition = dfa_27;
         }
         public String getDescription() {
-            return "2929:1: rule__XMemberFeatureCall__Alternatives_1 : ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) );";
+            return "2954:1: rule__XMemberFeatureCall__Alternatives_1 : ( ( ( rule__XMemberFeatureCall__Group_1_0__0 ) ) | ( ( rule__XMemberFeatureCall__Group_1_1__0 ) ) );";
         }
     }
     static final String dfa_28s = "\1\4\2\0\40\uffff";
-    static final String dfa_29s = "\1\152\2\0\40\uffff";
+    static final String dfa_29s = "\1\147\2\0\40\uffff";
     static final String dfa_30s = "\3\uffff\1\1\1\uffff\1\2\35\uffff";
     static final String dfa_31s = "\1\uffff\1\0\1\1\40\uffff}>";
     static final String[] dfa_32s = {
-            "\1\1\4\5\22\uffff\1\5\3\uffff\1\3\2\uffff\2\5\4\uffff\1\5\4\uffff\6\5\15\uffff\1\5\3\uffff\1\5\5\uffff\1\2\3\uffff\2\5\2\uffff\1\5\1\uffff\1\5\3\uffff\10\5\1\uffff\1\5\6\uffff\1\3\1\uffff\1\5",
+            "\1\1\4\5\22\uffff\1\5\3\uffff\1\3\2\uffff\2\5\4\uffff\1\5\4\uffff\6\5\11\uffff\1\5\3\uffff\1\5\6\uffff\1\2\3\uffff\2\5\2\uffff\1\5\1\uffff\1\5\3\uffff\10\5\1\uffff\1\5\6\uffff\1\3\1\uffff\1\5",
             "\1\uffff",
             "\1\uffff",
             "",
@@ -67617,7 +67710,7 @@
             this.transition = dfa_32;
         }
         public String getDescription() {
-            return "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 ) ) );";
+            return "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 int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -67663,11 +67756,11 @@
     }
     static final String dfa_33s = "\40\uffff";
     static final String dfa_34s = "\1\4\26\uffff\1\0\10\uffff";
-    static final String dfa_35s = "\1\152\26\uffff\1\0\10\uffff";
+    static final String dfa_35s = "\1\147\26\uffff\1\0\10\uffff";
     static final String dfa_36s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\6\uffff\1\6\11\uffff\1\7\1\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\10\1\11";
     static final String dfa_37s = "\27\uffff\1\0\10\uffff}>";
     static final String[] dfa_38s = {
-            "\1\5\4\14\22\uffff\1\5\21\uffff\5\5\1\14\15\uffff\1\2\3\uffff\1\27\5\uffff\1\35\3\uffff\2\14\2\uffff\1\26\1\uffff\1\3\3\uffff\1\30\1\31\1\1\2\14\1\32\1\33\1\34\1\uffff\1\4\10\uffff\1\14",
+            "\1\5\4\14\22\uffff\1\5\21\uffff\5\5\1\14\11\uffff\1\2\3\uffff\1\27\6\uffff\1\35\3\uffff\2\14\2\uffff\1\26\1\uffff\1\3\3\uffff\1\30\1\31\1\1\2\14\1\32\1\33\1\34\1\uffff\1\4\10\uffff\1\14",
             "",
             "",
             "",
@@ -67722,7 +67815,7 @@
             this.transition = dfa_38;
         }
         public String getDescription() {
-            return "3019:1: rule__XPrimaryExpression__Alternatives : ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) );";
+            return "3044:1: rule__XPrimaryExpression__Alternatives : ( ( ruleXConstructorCall ) | ( ruleXBlockExpression ) | ( ruleXSwitchExpression ) | ( ( ruleXSynchronizedExpression ) ) | ( ruleXFeatureCall ) | ( ruleXLiteral ) | ( ruleXIfExpression ) | ( ( ruleXForLoopExpression ) ) | ( ruleXBasicForLoopExpression ) | ( ruleXWhileExpression ) | ( ruleXDoWhileExpression ) | ( ruleXThrowExpression ) | ( ruleXReturnExpression ) | ( ruleXTryCatchFinallyExpression ) | ( ruleXParenthesizedExpression ) );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -67752,7 +67845,7 @@
         }
     }
     static final String[] dfa_39s = {
-            "\5\2\22\uffff\1\2\3\uffff\1\2\2\uffff\2\2\4\uffff\1\2\4\uffff\6\2\15\uffff\1\2\3\uffff\1\2\5\uffff\1\1\3\uffff\2\2\2\uffff\1\2\1\uffff\1\2\3\uffff\10\2\1\uffff\1\2\10\uffff\1\2",
+            "\5\2\22\uffff\1\2\3\uffff\1\2\2\uffff\2\2\4\uffff\1\2\4\uffff\6\2\11\uffff\1\2\3\uffff\1\2\6\uffff\1\1\3\uffff\2\2\2\uffff\1\2\1\uffff\1\2\3\uffff\10\2\1\uffff\1\2\10\uffff\1\2",
             "\1\uffff",
             "",
             "",
@@ -67804,7 +67897,7 @@
             this.transition = dfa_39;
         }
         public String getDescription() {
-            return "3190:1: rule__XSwitchExpression__Alternatives_2 : ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) );";
+            return "3215:1: rule__XSwitchExpression__Alternatives_2 : ( ( ( rule__XSwitchExpression__Group_2_0__0 ) ) | ( ( rule__XSwitchExpression__Group_2_1__0 ) ) );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -67848,7 +67941,7 @@
             this.transition = dfa_32;
         }
         public String getDescription() {
-            return "3295:1: rule__XFeatureCall__Alternatives_3_1 : ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) );";
+            return "3320:1: rule__XFeatureCall__Alternatives_3_1 : ( ( ( rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0 ) ) | ( ( rule__XFeatureCall__Group_3_1_1__0 ) ) );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -67907,7 +68000,7 @@
             this.transition = dfa_32;
         }
         public String getDescription() {
-            return "3376:1: rule__XConstructorCall__Alternatives_4_1 : ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) );";
+            return "3401:1: rule__XConstructorCall__Alternatives_4_1 : ( ( ( rule__XConstructorCall__ArgumentsAssignment_4_1_0 ) ) | ( ( rule__XConstructorCall__Group_4_1_1__0 ) ) );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -67953,11 +68046,11 @@
     }
     static final String dfa_40s = "\1\10\11\uffff";
     static final String dfa_41s = "\1\4\7\0\2\uffff";
-    static final String dfa_42s = "\1\152\7\0\2\uffff";
+    static final String dfa_42s = "\1\147\7\0\2\uffff";
     static final String dfa_43s = "\10\uffff\1\2\1\1";
-    static final String dfa_44s = "\1\uffff\1\2\1\0\1\6\1\4\1\3\1\1\1\5\2\uffff}>";
+    static final String dfa_44s = "\1\uffff\1\1\1\0\1\6\1\4\1\2\1\5\1\3\2\uffff}>";
     static final String[] dfa_45s = {
-            "\5\10\5\uffff\2\10\1\1\1\2\1\3\1\4\1\5\5\10\1\7\1\6\27\10\15\uffff\2\10\2\uffff\1\10\3\uffff\1\10\1\uffff\31\10\3\uffff\2\10\1\uffff\2\10",
+            "\5\10\5\uffff\2\10\1\1\1\2\1\3\1\4\1\5\5\10\1\7\1\6\27\10\11\uffff\2\10\2\uffff\1\10\4\uffff\1\10\1\uffff\31\10\3\uffff\2\10\1\uffff\2\10",
             "\1\uffff",
             "\1\uffff",
             "\1\uffff",
@@ -67975,11 +68068,11 @@
     static final short[] dfa_44 = DFA.unpackEncodedString(dfa_44s);
     static final short[][] dfa_45 = unpackEncodedStringArray(dfa_45s);
 
-    class DFA68 extends DFA {
+    class DFA69 extends DFA {
 
-        public DFA68(BaseRecognizer recognizer) {
+        public DFA69(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 68;
+            this.decisionNumber = 69;
             this.eot = dfa_21;
             this.eof = dfa_40;
             this.min = dfa_41;
@@ -67989,132 +68082,132 @@
             this.transition = dfa_45;
         }
         public String getDescription() {
-            return "6236:2: ( rule__XAssignment__Group_1_1__0 )?";
+            return "6264:2: ( rule__XAssignment__Group_1_1__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA68_2 = input.LA(1);
+                        int LA69_2 = input.LA(1);
 
                          
-                        int index68_2 = input.index();
+                        int index69_2 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred116_InternalSignalDSL()) ) {s = 9;}
+                        if ( (synpred113_InternalSignalDSL()) ) {s = 9;}
 
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index68_2);
+                        input.seek(index69_2);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA68_6 = input.LA(1);
+                        int LA69_1 = input.LA(1);
 
                          
-                        int index68_6 = input.index();
+                        int index69_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred116_InternalSignalDSL()) ) {s = 9;}
+                        if ( (synpred113_InternalSignalDSL()) ) {s = 9;}
 
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index68_6);
+                        input.seek(index69_1);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA68_1 = input.LA(1);
+                        int LA69_5 = input.LA(1);
 
                          
-                        int index68_1 = input.index();
+                        int index69_5 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred116_InternalSignalDSL()) ) {s = 9;}
+                        if ( (synpred113_InternalSignalDSL()) ) {s = 9;}
 
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index68_1);
+                        input.seek(index69_5);
                         if ( s>=0 ) return s;
                         break;
                     case 3 : 
-                        int LA68_5 = input.LA(1);
+                        int LA69_7 = input.LA(1);
 
                          
-                        int index68_5 = input.index();
+                        int index69_7 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred116_InternalSignalDSL()) ) {s = 9;}
+                        if ( (synpred113_InternalSignalDSL()) ) {s = 9;}
 
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index68_5);
+                        input.seek(index69_7);
                         if ( s>=0 ) return s;
                         break;
                     case 4 : 
-                        int LA68_4 = input.LA(1);
+                        int LA69_4 = input.LA(1);
 
                          
-                        int index68_4 = input.index();
+                        int index69_4 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred116_InternalSignalDSL()) ) {s = 9;}
+                        if ( (synpred113_InternalSignalDSL()) ) {s = 9;}
 
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index68_4);
+                        input.seek(index69_4);
                         if ( s>=0 ) return s;
                         break;
                     case 5 : 
-                        int LA68_7 = input.LA(1);
+                        int LA69_6 = input.LA(1);
 
                          
-                        int index68_7 = input.index();
+                        int index69_6 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred116_InternalSignalDSL()) ) {s = 9;}
+                        if ( (synpred113_InternalSignalDSL()) ) {s = 9;}
 
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index68_7);
+                        input.seek(index69_6);
                         if ( s>=0 ) return s;
                         break;
                     case 6 : 
-                        int LA68_3 = input.LA(1);
+                        int LA69_3 = input.LA(1);
 
                          
-                        int index68_3 = input.index();
+                        int index69_3 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred116_InternalSignalDSL()) ) {s = 9;}
+                        if ( (synpred113_InternalSignalDSL()) ) {s = 9;}
 
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index68_3);
+                        input.seek(index69_3);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 68, _s, input);
+                new NoViableAltException(getDescription(), 69, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_46s = "\1\1\12\uffff";
     static final String dfa_47s = "\1\4\1\uffff\10\0\1\uffff";
-    static final String dfa_48s = "\1\152\1\uffff\10\0\1\uffff";
+    static final String dfa_48s = "\1\147\1\uffff\10\0\1\uffff";
     static final String dfa_49s = "\1\uffff\1\2\10\uffff\1\1";
-    static final String dfa_50s = "\2\uffff\1\4\1\3\1\5\1\0\1\2\1\6\1\7\1\1\1\uffff}>";
+    static final String dfa_50s = "\2\uffff\1\6\1\5\1\3\1\1\1\7\1\0\1\4\1\2\1\uffff}>";
     static final String[] dfa_51s = {
-            "\5\1\5\uffff\14\1\1\3\1\2\1\4\1\5\1\6\1\7\1\10\1\11\21\1\15\uffff\2\1\2\uffff\1\1\3\uffff\1\1\1\uffff\31\1\3\uffff\2\1\1\uffff\2\1",
+            "\5\1\5\uffff\14\1\1\3\1\2\1\4\1\5\1\6\1\7\1\10\1\11\21\1\11\uffff\2\1\2\uffff\1\1\4\uffff\1\1\1\uffff\31\1\3\uffff\2\1\1\uffff\2\1",
             "",
             "\1\uffff",
             "\1\uffff",
@@ -68133,11 +68226,11 @@
     static final short[] dfa_50 = DFA.unpackEncodedString(dfa_50s);
     static final short[][] dfa_51 = unpackEncodedStringArray(dfa_51s);
 
-    class DFA74 extends DFA {
+    class DFA75 extends DFA {
 
-        public DFA74(BaseRecognizer recognizer) {
+        public DFA75(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 74;
+            this.decisionNumber = 75;
             this.eot = dfa_15;
             this.eof = dfa_46;
             this.min = dfa_47;
@@ -68147,136 +68240,136 @@
             this.transition = dfa_51;
         }
         public String getDescription() {
-            return "()* loopback of 7532:2: ( rule__XOtherOperatorExpression__Group_1__0 )*";
+            return "()* loopback of 7560:2: ( rule__XOtherOperatorExpression__Group_1__0 )*";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA74_5 = input.LA(1);
+                        int LA75_7 = input.LA(1);
 
                          
-                        int index74_5 = input.index();
+                        int index75_7 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred122_InternalSignalDSL()) ) {s = 10;}
+                        if ( (synpred119_InternalSignalDSL()) ) {s = 10;}
 
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index74_5);
+                        input.seek(index75_7);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA74_9 = input.LA(1);
+                        int LA75_5 = input.LA(1);
 
                          
-                        int index74_9 = input.index();
+                        int index75_5 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred122_InternalSignalDSL()) ) {s = 10;}
+                        if ( (synpred119_InternalSignalDSL()) ) {s = 10;}
 
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index74_9);
+                        input.seek(index75_5);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA74_6 = input.LA(1);
+                        int LA75_9 = input.LA(1);
 
                          
-                        int index74_6 = input.index();
+                        int index75_9 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred122_InternalSignalDSL()) ) {s = 10;}
+                        if ( (synpred119_InternalSignalDSL()) ) {s = 10;}
 
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index74_6);
+                        input.seek(index75_9);
                         if ( s>=0 ) return s;
                         break;
                     case 3 : 
-                        int LA74_3 = input.LA(1);
+                        int LA75_4 = input.LA(1);
 
                          
-                        int index74_3 = input.index();
+                        int index75_4 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred122_InternalSignalDSL()) ) {s = 10;}
+                        if ( (synpred119_InternalSignalDSL()) ) {s = 10;}
 
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index74_3);
+                        input.seek(index75_4);
                         if ( s>=0 ) return s;
                         break;
                     case 4 : 
-                        int LA74_2 = input.LA(1);
+                        int LA75_8 = input.LA(1);
 
                          
-                        int index74_2 = input.index();
+                        int index75_8 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred122_InternalSignalDSL()) ) {s = 10;}
+                        if ( (synpred119_InternalSignalDSL()) ) {s = 10;}
 
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index74_2);
+                        input.seek(index75_8);
                         if ( s>=0 ) return s;
                         break;
                     case 5 : 
-                        int LA74_4 = input.LA(1);
+                        int LA75_3 = input.LA(1);
 
                          
-                        int index74_4 = input.index();
+                        int index75_3 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred122_InternalSignalDSL()) ) {s = 10;}
+                        if ( (synpred119_InternalSignalDSL()) ) {s = 10;}
 
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index74_4);
+                        input.seek(index75_3);
                         if ( s>=0 ) return s;
                         break;
                     case 6 : 
-                        int LA74_7 = input.LA(1);
+                        int LA75_2 = input.LA(1);
 
                          
-                        int index74_7 = input.index();
+                        int index75_2 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred122_InternalSignalDSL()) ) {s = 10;}
+                        if ( (synpred119_InternalSignalDSL()) ) {s = 10;}
 
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index74_7);
+                        input.seek(index75_2);
                         if ( s>=0 ) return s;
                         break;
                     case 7 : 
-                        int LA74_8 = input.LA(1);
+                        int LA75_6 = input.LA(1);
 
                          
-                        int index74_8 = input.index();
+                        int index75_6 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred122_InternalSignalDSL()) ) {s = 10;}
+                        if ( (synpred119_InternalSignalDSL()) ) {s = 10;}
 
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index74_8);
+                        input.seek(index75_6);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 74, _s, input);
+                new NoViableAltException(getDescription(), 75, _s, input);
             error(nvae);
             throw nvae;
         }
@@ -68284,11 +68377,11 @@
     static final String dfa_52s = "\116\uffff";
     static final String dfa_53s = "\1\2\115\uffff";
     static final String dfa_54s = "\1\4\1\0\114\uffff";
-    static final String dfa_55s = "\1\152\1\0\114\uffff";
+    static final String dfa_55s = "\1\147\1\0\114\uffff";
     static final String dfa_56s = "\2\uffff\1\2\112\uffff\1\1";
     static final String dfa_57s = "\1\uffff\1\0\114\uffff}>";
     static final String[] dfa_58s = {
-            "\5\2\5\uffff\45\2\15\uffff\2\2\2\uffff\1\2\3\uffff\1\2\1\uffff\1\1\30\2\3\uffff\2\2\1\uffff\2\2",
+            "\5\2\5\uffff\45\2\11\uffff\2\2\2\uffff\1\2\4\uffff\1\2\1\uffff\1\1\30\2\3\uffff\2\2\1\uffff\2\2",
             "\1\uffff",
             "",
             "",
@@ -68376,11 +68469,11 @@
     static final short[] dfa_57 = DFA.unpackEncodedString(dfa_57s);
     static final short[][] dfa_58 = unpackEncodedStringArray(dfa_58s);
 
-    class DFA81 extends DFA {
+    class DFA82 extends DFA {
 
-        public DFA81(BaseRecognizer recognizer) {
+        public DFA82(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 81;
+            this.decisionNumber = 82;
             this.eot = dfa_52;
             this.eof = dfa_53;
             this.min = dfa_54;
@@ -68390,37 +68483,37 @@
             this.transition = dfa_58;
         }
         public String getDescription() {
-            return "9126:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )?";
+            return "9154:2: ( rule__XMemberFeatureCall__Group_1_1_3__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA81_1 = input.LA(1);
+                        int LA82_1 = input.LA(1);
 
                          
-                        int index81_1 = input.index();
+                        int index82_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred129_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred126_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index81_1);
+                        input.seek(index82_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 81, _s, input);
+                new NoViableAltException(getDescription(), 82, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String[] dfa_59s = {
-            "\5\2\5\uffff\45\2\15\uffff\2\2\2\uffff\1\2\3\uffff\1\2\1\uffff\5\2\1\1\23\2\3\uffff\2\2\1\uffff\2\2",
+            "\5\2\5\uffff\45\2\11\uffff\2\2\2\uffff\1\2\4\uffff\1\2\1\uffff\5\2\1\1\23\2\3\uffff\2\2\1\uffff\2\2",
             "\1\uffff",
             "",
             "",
@@ -68501,11 +68594,11 @@
     };
     static final short[][] dfa_59 = unpackEncodedStringArray(dfa_59s);
 
-    class DFA82 extends DFA {
+    class DFA83 extends DFA {
 
-        public DFA82(BaseRecognizer recognizer) {
+        public DFA83(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 82;
+            this.decisionNumber = 83;
             this.eot = dfa_52;
             this.eof = dfa_53;
             this.min = dfa_54;
@@ -68515,42 +68608,42 @@
             this.transition = dfa_59;
         }
         public String getDescription() {
-            return "9152:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )?";
+            return "9180:2: ( rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA82_1 = input.LA(1);
+                        int LA83_1 = input.LA(1);
 
                          
-                        int index82_1 = input.index();
+                        int index83_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred130_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred127_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index82_1);
+                        input.seek(index83_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 82, _s, input);
+                new NoViableAltException(getDescription(), 83, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_60s = "\46\uffff";
     static final String dfa_61s = "\1\4\2\0\43\uffff";
-    static final String dfa_62s = "\1\152\2\0\43\uffff";
+    static final String dfa_62s = "\1\147\2\0\43\uffff";
     static final String dfa_63s = "\3\uffff\1\1\1\uffff\1\2\40\uffff";
     static final String dfa_64s = "\1\uffff\1\0\1\1\43\uffff}>";
     static final String[] dfa_65s = {
-            "\1\1\4\5\22\uffff\1\5\3\uffff\1\3\2\uffff\2\5\4\uffff\1\5\3\uffff\7\5\15\uffff\1\5\3\uffff\1\5\5\uffff\1\2\2\uffff\3\5\2\uffff\1\5\1\uffff\1\5\3\uffff\10\5\1\uffff\1\5\6\uffff\1\3\2\5",
+            "\1\1\4\5\22\uffff\1\5\3\uffff\1\3\2\uffff\2\5\4\uffff\1\5\3\uffff\7\5\11\uffff\1\5\3\uffff\1\5\6\uffff\1\2\2\uffff\3\5\2\uffff\1\5\1\uffff\1\5\3\uffff\10\5\1\uffff\1\5\6\uffff\1\3\2\5",
             "\1\uffff",
             "\1\uffff",
             "",
@@ -68597,11 +68690,11 @@
     static final short[] dfa_64 = DFA.unpackEncodedString(dfa_64s);
     static final short[][] dfa_65 = unpackEncodedStringArray(dfa_65s);
 
-    class DFA90 extends DFA {
+    class DFA91 extends DFA {
 
-        public DFA90(BaseRecognizer recognizer) {
+        public DFA91(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 90;
+            this.decisionNumber = 91;
             this.eot = dfa_60;
             this.eof = dfa_60;
             this.min = dfa_61;
@@ -68611,57 +68704,57 @@
             this.transition = dfa_65;
         }
         public String getDescription() {
-            return "10125:2: ( rule__XClosure__Group_1__0 )?";
+            return "10153:2: ( rule__XClosure__Group_1__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA90_1 = input.LA(1);
+                        int LA91_1 = input.LA(1);
 
                          
-                        int index90_1 = input.index();
+                        int index91_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred138_InternalSignalDSL()) ) {s = 3;}
+                        if ( (synpred135_InternalSignalDSL()) ) {s = 3;}
 
                         else if ( (true) ) {s = 5;}
 
                          
-                        input.seek(index90_1);
+                        input.seek(index91_1);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA90_2 = input.LA(1);
+                        int LA91_2 = input.LA(1);
 
                          
-                        int index90_2 = input.index();
+                        int index91_2 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred138_InternalSignalDSL()) ) {s = 3;}
+                        if ( (synpred135_InternalSignalDSL()) ) {s = 3;}
 
                         else if ( (true) ) {s = 5;}
 
                          
-                        input.seek(index90_2);
+                        input.seek(index91_2);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 90, _s, input);
+                new NoViableAltException(getDescription(), 91, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_66s = "\42\uffff";
     static final String dfa_67s = "\1\4\2\0\37\uffff";
-    static final String dfa_68s = "\1\152\2\0\37\uffff";
+    static final String dfa_68s = "\1\147\2\0\37\uffff";
     static final String dfa_69s = "\3\uffff\1\1\1\2\35\uffff";
     static final String dfa_70s = "\1\uffff\1\0\1\1\37\uffff}>";
     static final String[] dfa_71s = {
-            "\1\1\4\4\22\uffff\1\4\3\uffff\1\3\2\uffff\2\4\4\uffff\1\4\4\uffff\6\4\15\uffff\1\4\3\uffff\1\4\5\uffff\1\2\3\uffff\2\4\2\uffff\1\4\1\uffff\1\4\3\uffff\10\4\1\uffff\1\4\10\uffff\1\4",
+            "\1\1\4\4\22\uffff\1\4\3\uffff\1\3\2\uffff\2\4\4\uffff\1\4\4\uffff\6\4\11\uffff\1\4\3\uffff\1\4\6\uffff\1\2\3\uffff\2\4\2\uffff\1\4\1\uffff\1\4\3\uffff\10\4\1\uffff\1\4\10\uffff\1\4",
             "\1\uffff",
             "\1\uffff",
             "",
@@ -68704,11 +68797,11 @@
     static final short[] dfa_70 = DFA.unpackEncodedString(dfa_70s);
     static final short[][] dfa_71 = unpackEncodedStringArray(dfa_71s);
 
-    class DFA100 extends DFA {
+    class DFA101 extends DFA {
 
-        public DFA100(BaseRecognizer recognizer) {
+        public DFA101(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 100;
+            this.decisionNumber = 101;
             this.eot = dfa_66;
             this.eof = dfa_66;
             this.min = dfa_67;
@@ -68718,90 +68811,46 @@
             this.transition = dfa_71;
         }
         public String getDescription() {
-            return "11556:2: ( rule__XSwitchExpression__Group_2_1_0__0 )?";
+            return "11584:2: ( rule__XSwitchExpression__Group_2_1_0__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA100_1 = input.LA(1);
+                        int LA101_1 = input.LA(1);
 
                          
-                        int index100_1 = input.index();
+                        int index101_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred148_InternalSignalDSL()) ) {s = 3;}
+                        if ( (synpred145_InternalSignalDSL()) ) {s = 3;}
 
                         else if ( (true) ) {s = 4;}
 
                          
-                        input.seek(index100_1);
+                        input.seek(index101_1);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA100_2 = input.LA(1);
+                        int LA101_2 = input.LA(1);
 
                          
-                        int index100_2 = input.index();
+                        int index101_2 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred148_InternalSignalDSL()) ) {s = 3;}
+                        if ( (synpred145_InternalSignalDSL()) ) {s = 3;}
 
                         else if ( (true) ) {s = 4;}
 
                          
-                        input.seek(index100_2);
+                        input.seek(index101_2);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 100, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA113 extends DFA {
-
-        public DFA113(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 113;
-            this.eot = dfa_52;
-            this.eof = dfa_53;
-            this.min = dfa_54;
-            this.max = dfa_55;
-            this.accept = dfa_56;
-            this.special = dfa_57;
-            this.transition = dfa_58;
-        }
-        public String getDescription() {
-            return "13689:2: ( rule__XFeatureCall__Group_3__0 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA113_1 = input.LA(1);
-
-                         
-                        int index113_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred161_InternalSignalDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index113_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 113, _s, input);
+                new NoViableAltException(getDescription(), 101, _s, input);
             error(nvae);
             throw nvae;
         }
@@ -68818,10 +68867,10 @@
             this.max = dfa_55;
             this.accept = dfa_56;
             this.special = dfa_57;
-            this.transition = dfa_59;
+            this.transition = dfa_58;
         }
         public String getDescription() {
-            return "13715:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )?";
+            return "13717:2: ( rule__XFeatureCall__Group_3__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -68834,7 +68883,7 @@
                         int index114_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred162_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred158_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 2;}
 
@@ -68850,8 +68899,52 @@
             throw nvae;
         }
     }
+
+    class DFA115 extends DFA {
+
+        public DFA115(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 115;
+            this.eot = dfa_52;
+            this.eof = dfa_53;
+            this.min = dfa_54;
+            this.max = dfa_55;
+            this.accept = dfa_56;
+            this.special = dfa_57;
+            this.transition = dfa_59;
+        }
+        public String getDescription() {
+            return "13743:2: ( rule__XFeatureCall__FeatureCallArgumentsAssignment_4 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA115_1 = input.LA(1);
+
+                         
+                        int index115_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred159_InternalSignalDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index115_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 115, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
     static final String[] dfa_72s = {
-            "\5\2\5\uffff\15\2\1\1\27\2\15\uffff\2\2\2\uffff\1\2\3\uffff\1\2\1\uffff\31\2\3\uffff\2\2\1\uffff\2\2",
+            "\5\2\5\uffff\15\2\1\1\27\2\11\uffff\2\2\2\uffff\1\2\4\uffff\1\2\1\uffff\31\2\3\uffff\2\2\1\uffff\2\2",
             "\1\uffff",
             "",
             "",
@@ -68932,50 +69025,6 @@
     };
     static final short[][] dfa_72 = unpackEncodedStringArray(dfa_72s);
 
-    class DFA118 extends DFA {
-
-        public DFA118(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 118;
-            this.eot = dfa_52;
-            this.eof = dfa_53;
-            this.min = dfa_54;
-            this.max = dfa_55;
-            this.accept = dfa_56;
-            this.special = dfa_57;
-            this.transition = dfa_72;
-        }
-        public String getDescription() {
-            return "14175:2: ( rule__XConstructorCall__Group_3__0 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA118_1 = input.LA(1);
-
-                         
-                        int index118_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred166_InternalSignalDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index118_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 118, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
     class DFA119 extends DFA {
 
         public DFA119(BaseRecognizer recognizer) {
@@ -68987,10 +69036,10 @@
             this.max = dfa_55;
             this.accept = dfa_56;
             this.special = dfa_57;
-            this.transition = dfa_58;
+            this.transition = dfa_72;
         }
         public String getDescription() {
-            return "14202:2: ( rule__XConstructorCall__Group_4__0 )?";
+            return "14203:2: ( rule__XConstructorCall__Group_3__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -69003,7 +69052,7 @@
                         int index119_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred167_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred163_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 2;}
 
@@ -69031,10 +69080,10 @@
             this.max = dfa_55;
             this.accept = dfa_56;
             this.special = dfa_57;
-            this.transition = dfa_59;
+            this.transition = dfa_58;
         }
         public String getDescription() {
-            return "14228:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )?";
+            return "14230:2: ( rule__XConstructorCall__Group_4__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -69047,7 +69096,7 @@
                         int index120_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred168_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred164_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 2;}
 
@@ -69063,13 +69112,57 @@
             throw nvae;
         }
     }
+
+    class DFA121 extends DFA {
+
+        public DFA121(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 121;
+            this.eot = dfa_52;
+            this.eof = dfa_53;
+            this.min = dfa_54;
+            this.max = dfa_55;
+            this.accept = dfa_56;
+            this.special = dfa_57;
+            this.transition = dfa_59;
+        }
+        public String getDescription() {
+            return "14256:2: ( rule__XConstructorCall__ArgumentsAssignment_5 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA121_1 = input.LA(1);
+
+                         
+                        int index121_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred165_InternalSignalDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index121_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 121, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
     static final String dfa_73s = "\1\41\115\uffff";
     static final String dfa_74s = "\1\4\40\0\55\uffff";
-    static final String dfa_75s = "\1\152\40\0\55\uffff";
+    static final String dfa_75s = "\1\147\40\0\55\uffff";
     static final String dfa_76s = "\41\uffff\1\2\53\uffff\1\1";
     static final String dfa_77s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\55\uffff}>";
     static final String[] dfa_78s = {
-            "\1\1\1\23\1\24\1\25\1\27\5\uffff\15\41\1\15\6\41\1\10\1\7\4\41\1\6\4\41\1\2\1\3\1\4\1\5\1\16\1\21\15\uffff\1\12\1\41\2\uffff\1\32\3\uffff\1\41\1\uffff\1\40\3\41\1\17\1\20\2\41\1\31\1\41\1\13\3\41\1\33\1\34\1\11\1\26\1\30\1\35\1\36\1\37\1\41\1\14\1\41\3\uffff\2\41\1\uffff\1\41\1\22",
+            "\1\1\1\23\1\24\1\25\1\27\5\uffff\15\41\1\15\6\41\1\10\1\7\4\41\1\6\4\41\1\2\1\3\1\4\1\5\1\16\1\21\11\uffff\1\12\1\41\2\uffff\1\32\4\uffff\1\41\1\uffff\1\40\3\41\1\17\1\20\2\41\1\31\1\41\1\13\3\41\1\33\1\34\1\11\1\26\1\30\1\35\1\36\1\37\1\41\1\14\1\41\3\uffff\2\41\1\uffff\1\41\1\22",
             "\1\uffff",
             "\1\uffff",
             "\1\uffff",
@@ -69155,11 +69248,11 @@
     static final short[] dfa_77 = DFA.unpackEncodedString(dfa_77s);
     static final short[][] dfa_78 = unpackEncodedStringArray(dfa_78s);
 
-    class DFA125 extends DFA {
+    class DFA126 extends DFA {
 
-        public DFA125(BaseRecognizer recognizer) {
+        public DFA126(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 125;
+            this.decisionNumber = 126;
             this.eot = dfa_52;
             this.eof = dfa_73;
             this.min = dfa_74;
@@ -69169,496 +69262,496 @@
             this.transition = dfa_78;
         }
         public String getDescription() {
-            return "15119:2: ( rule__XReturnExpression__ExpressionAssignment_2 )?";
+            return "15147:2: ( rule__XReturnExpression__ExpressionAssignment_2 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA125_1 = input.LA(1);
+                        int LA126_1 = input.LA(1);
 
                          
-                        int index125_1 = input.index();
+                        int index126_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_1);
+                        input.seek(index126_1);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA125_2 = input.LA(1);
+                        int LA126_2 = input.LA(1);
 
                          
-                        int index125_2 = input.index();
+                        int index126_2 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_2);
+                        input.seek(index126_2);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA125_3 = input.LA(1);
+                        int LA126_3 = input.LA(1);
 
                          
-                        int index125_3 = input.index();
+                        int index126_3 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_3);
+                        input.seek(index126_3);
                         if ( s>=0 ) return s;
                         break;
                     case 3 : 
-                        int LA125_4 = input.LA(1);
+                        int LA126_4 = input.LA(1);
 
                          
-                        int index125_4 = input.index();
+                        int index126_4 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_4);
+                        input.seek(index126_4);
                         if ( s>=0 ) return s;
                         break;
                     case 4 : 
-                        int LA125_5 = input.LA(1);
+                        int LA126_5 = input.LA(1);
 
                          
-                        int index125_5 = input.index();
+                        int index126_5 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_5);
+                        input.seek(index126_5);
                         if ( s>=0 ) return s;
                         break;
                     case 5 : 
-                        int LA125_6 = input.LA(1);
+                        int LA126_6 = input.LA(1);
 
                          
-                        int index125_6 = input.index();
+                        int index126_6 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_6);
+                        input.seek(index126_6);
                         if ( s>=0 ) return s;
                         break;
                     case 6 : 
-                        int LA125_7 = input.LA(1);
+                        int LA126_7 = input.LA(1);
 
                          
-                        int index125_7 = input.index();
+                        int index126_7 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_7);
+                        input.seek(index126_7);
                         if ( s>=0 ) return s;
                         break;
                     case 7 : 
-                        int LA125_8 = input.LA(1);
+                        int LA126_8 = input.LA(1);
 
                          
-                        int index125_8 = input.index();
+                        int index126_8 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_8);
+                        input.seek(index126_8);
                         if ( s>=0 ) return s;
                         break;
                     case 8 : 
-                        int LA125_9 = input.LA(1);
+                        int LA126_9 = input.LA(1);
 
                          
-                        int index125_9 = input.index();
+                        int index126_9 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_9);
+                        input.seek(index126_9);
                         if ( s>=0 ) return s;
                         break;
                     case 9 : 
-                        int LA125_10 = input.LA(1);
+                        int LA126_10 = input.LA(1);
 
                          
-                        int index125_10 = input.index();
+                        int index126_10 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_10);
+                        input.seek(index126_10);
                         if ( s>=0 ) return s;
                         break;
                     case 10 : 
-                        int LA125_11 = input.LA(1);
+                        int LA126_11 = input.LA(1);
 
                          
-                        int index125_11 = input.index();
+                        int index126_11 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_11);
+                        input.seek(index126_11);
                         if ( s>=0 ) return s;
                         break;
                     case 11 : 
-                        int LA125_12 = input.LA(1);
+                        int LA126_12 = input.LA(1);
 
                          
-                        int index125_12 = input.index();
+                        int index126_12 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_12);
+                        input.seek(index126_12);
                         if ( s>=0 ) return s;
                         break;
                     case 12 : 
-                        int LA125_13 = input.LA(1);
+                        int LA126_13 = input.LA(1);
 
                          
-                        int index125_13 = input.index();
+                        int index126_13 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_13);
+                        input.seek(index126_13);
                         if ( s>=0 ) return s;
                         break;
                     case 13 : 
-                        int LA125_14 = input.LA(1);
+                        int LA126_14 = input.LA(1);
 
                          
-                        int index125_14 = input.index();
+                        int index126_14 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_14);
+                        input.seek(index126_14);
                         if ( s>=0 ) return s;
                         break;
                     case 14 : 
-                        int LA125_15 = input.LA(1);
+                        int LA126_15 = input.LA(1);
 
                          
-                        int index125_15 = input.index();
+                        int index126_15 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_15);
+                        input.seek(index126_15);
                         if ( s>=0 ) return s;
                         break;
                     case 15 : 
-                        int LA125_16 = input.LA(1);
+                        int LA126_16 = input.LA(1);
 
                          
-                        int index125_16 = input.index();
+                        int index126_16 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_16);
+                        input.seek(index126_16);
                         if ( s>=0 ) return s;
                         break;
                     case 16 : 
-                        int LA125_17 = input.LA(1);
+                        int LA126_17 = input.LA(1);
 
                          
-                        int index125_17 = input.index();
+                        int index126_17 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_17);
+                        input.seek(index126_17);
                         if ( s>=0 ) return s;
                         break;
                     case 17 : 
-                        int LA125_18 = input.LA(1);
+                        int LA126_18 = input.LA(1);
 
                          
-                        int index125_18 = input.index();
+                        int index126_18 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_18);
+                        input.seek(index126_18);
                         if ( s>=0 ) return s;
                         break;
                     case 18 : 
-                        int LA125_19 = input.LA(1);
+                        int LA126_19 = input.LA(1);
 
                          
-                        int index125_19 = input.index();
+                        int index126_19 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_19);
+                        input.seek(index126_19);
                         if ( s>=0 ) return s;
                         break;
                     case 19 : 
-                        int LA125_20 = input.LA(1);
+                        int LA126_20 = input.LA(1);
 
                          
-                        int index125_20 = input.index();
+                        int index126_20 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_20);
+                        input.seek(index126_20);
                         if ( s>=0 ) return s;
                         break;
                     case 20 : 
-                        int LA125_21 = input.LA(1);
+                        int LA126_21 = input.LA(1);
 
                          
-                        int index125_21 = input.index();
+                        int index126_21 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_21);
+                        input.seek(index126_21);
                         if ( s>=0 ) return s;
                         break;
                     case 21 : 
-                        int LA125_22 = input.LA(1);
+                        int LA126_22 = input.LA(1);
 
                          
-                        int index125_22 = input.index();
+                        int index126_22 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_22);
+                        input.seek(index126_22);
                         if ( s>=0 ) return s;
                         break;
                     case 22 : 
-                        int LA125_23 = input.LA(1);
+                        int LA126_23 = input.LA(1);
 
                          
-                        int index125_23 = input.index();
+                        int index126_23 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_23);
+                        input.seek(index126_23);
                         if ( s>=0 ) return s;
                         break;
                     case 23 : 
-                        int LA125_24 = input.LA(1);
+                        int LA126_24 = input.LA(1);
 
                          
-                        int index125_24 = input.index();
+                        int index126_24 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_24);
+                        input.seek(index126_24);
                         if ( s>=0 ) return s;
                         break;
                     case 24 : 
-                        int LA125_25 = input.LA(1);
+                        int LA126_25 = input.LA(1);
 
                          
-                        int index125_25 = input.index();
+                        int index126_25 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_25);
+                        input.seek(index126_25);
                         if ( s>=0 ) return s;
                         break;
                     case 25 : 
-                        int LA125_26 = input.LA(1);
+                        int LA126_26 = input.LA(1);
 
                          
-                        int index125_26 = input.index();
+                        int index126_26 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_26);
+                        input.seek(index126_26);
                         if ( s>=0 ) return s;
                         break;
                     case 26 : 
-                        int LA125_27 = input.LA(1);
+                        int LA126_27 = input.LA(1);
 
                          
-                        int index125_27 = input.index();
+                        int index126_27 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_27);
+                        input.seek(index126_27);
                         if ( s>=0 ) return s;
                         break;
                     case 27 : 
-                        int LA125_28 = input.LA(1);
+                        int LA126_28 = input.LA(1);
 
                          
-                        int index125_28 = input.index();
+                        int index126_28 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_28);
+                        input.seek(index126_28);
                         if ( s>=0 ) return s;
                         break;
                     case 28 : 
-                        int LA125_29 = input.LA(1);
+                        int LA126_29 = input.LA(1);
 
                          
-                        int index125_29 = input.index();
+                        int index126_29 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_29);
+                        input.seek(index126_29);
                         if ( s>=0 ) return s;
                         break;
                     case 29 : 
-                        int LA125_30 = input.LA(1);
+                        int LA126_30 = input.LA(1);
 
                          
-                        int index125_30 = input.index();
+                        int index126_30 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_30);
+                        input.seek(index126_30);
                         if ( s>=0 ) return s;
                         break;
                     case 30 : 
-                        int LA125_31 = input.LA(1);
+                        int LA126_31 = input.LA(1);
 
                          
-                        int index125_31 = input.index();
+                        int index126_31 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_31);
+                        input.seek(index126_31);
                         if ( s>=0 ) return s;
                         break;
                     case 31 : 
-                        int LA125_32 = input.LA(1);
+                        int LA126_32 = input.LA(1);
 
                          
-                        int index125_32 = input.index();
+                        int index126_32 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred173_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred170_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index125_32);
+                        input.seek(index126_32);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 125, _s, input);
+                new NoViableAltException(getDescription(), 126, _s, input);
             error(nvae);
             throw nvae;
         }
@@ -69666,11 +69759,11 @@
     static final String dfa_79s = "\117\uffff";
     static final String dfa_80s = "\1\2\116\uffff";
     static final String dfa_81s = "\1\4\1\0\115\uffff";
-    static final String dfa_82s = "\1\152\1\0\115\uffff";
+    static final String dfa_82s = "\1\147\1\0\115\uffff";
     static final String dfa_83s = "\2\uffff\1\2\113\uffff\1\1";
     static final String dfa_84s = "\1\uffff\1\0\115\uffff}>";
     static final String[] dfa_85s = {
-            "\5\2\5\uffff\15\2\1\1\27\2\15\uffff\2\2\2\uffff\1\2\3\uffff\1\2\1\uffff\31\2\1\uffff\1\2\1\uffff\2\2\1\uffff\2\2",
+            "\5\2\5\uffff\15\2\1\1\27\2\11\uffff\2\2\2\uffff\1\2\4\uffff\1\2\1\uffff\31\2\1\uffff\1\2\1\uffff\2\2\1\uffff\2\2",
             "\1\uffff",
             "",
             "",
@@ -69759,11 +69852,11 @@
     static final short[] dfa_84 = DFA.unpackEncodedString(dfa_84s);
     static final short[][] dfa_85 = unpackEncodedStringArray(dfa_85s);
 
-    class DFA134 extends DFA {
+    class DFA135 extends DFA {
 
-        public DFA134(BaseRecognizer recognizer) {
+        public DFA135(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 134;
+            this.decisionNumber = 135;
             this.eot = dfa_79;
             this.eof = dfa_80;
             this.min = dfa_81;
@@ -69773,17 +69866,61 @@
             this.transition = dfa_85;
         }
         public String getDescription() {
-            return "16476:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )?";
+            return "16504:2: ( rule__JvmParameterizedTypeReference__Group_1__0 )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA134_1 = input.LA(1);
+                        int LA135_1 = input.LA(1);
 
                          
-                        int index134_1 = input.index();
+                        int index135_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred179_InternalSignalDSL()) ) {s = 78;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index135_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 135, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA138 extends DFA {
+
+        public DFA138(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 138;
+            this.eot = dfa_79;
+            this.eof = dfa_80;
+            this.min = dfa_81;
+            this.max = dfa_82;
+            this.accept = dfa_83;
+            this.special = dfa_84;
+            this.transition = dfa_85;
+        }
+        public String getDescription() {
+            return "16774:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA138_1 = input.LA(1);
+
+                         
+                        int index138_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred182_InternalSignalDSL()) ) {s = 78;}
@@ -69791,57 +69928,13 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index134_1);
+                        input.seek(index138_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 134, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA137 extends DFA {
-
-        public DFA137(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 137;
-            this.eot = dfa_79;
-            this.eof = dfa_80;
-            this.min = dfa_81;
-            this.max = dfa_82;
-            this.accept = dfa_83;
-            this.special = dfa_84;
-            this.transition = dfa_85;
-        }
-        public String getDescription() {
-            return "16746:2: ( rule__JvmParameterizedTypeReference__Group_1_4_2__0 )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA137_1 = input.LA(1);
-
-                         
-                        int index137_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred185_InternalSignalDSL()) ) {s = 78;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index137_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 137, _s, input);
+                new NoViableAltException(getDescription(), 138, _s, input);
             error(nvae);
             throw nvae;
         }
@@ -69852,41 +69945,41 @@
     public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000800000000002L});
     public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000012L});
-    public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x8000000000000000L});
-    public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x8000000000000002L});
+    public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0800000000000000L});
+    public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0800000000000002L});
     public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000006L});
-    public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000004L});
-    public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x1000000000000000L});
+    public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x6000000000000000L});
+    public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x4000000000000002L});
+    public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x4000000000000000L});
+    public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x8000000000000000L});
     public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
-    public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x01E0000000000000L});
-    public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000022L});
-    public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
-    public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
-    public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x1E00000000000000L});
-    public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0018000000000000L,0x0000000000000080L});
-    public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-    public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x6000000000000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0018000000000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0018000000000002L});
+    public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
+    public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0060000000000000L});
+    public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x2000000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000002L});
+    public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0180000000000000L});
+    public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0018000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0600000000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x2018000000000000L});
+    public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0018000000000002L});
+    public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
     public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000800000000000L});
-    public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000400000000010L,0x0000002000000000L});
-    public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
+    public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000400000000010L,0x0000000400000000L});
+    public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
     public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0001000000000010L});
     public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000001000000010L});
-    public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
-    public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0007E10C080001F0L,0x00000402FF14CE11L});
-    public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
-    public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000000000002L,0x0000000000001000L});
-    public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0007E10C080001F0L,0x00000402FF14C611L});
+    public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
+    public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+    public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x1007E10C080001F0L,0x000000805FE299C1L});
+    public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
+    public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+    public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x1007E10C080001F0L,0x000000805FE298C1L});
     public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000002000L});
-    public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0007E10C080001F0L,0x00000402FF14E611L});
-    public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
-    public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
+    public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x1007E10C080001F0L,0x000000805FE29CC1L});
+    public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L});
+    public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
     public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0001E00000000010L});
     public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x000000000C1F0000L});
     public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000008000000L});
@@ -69897,10 +69990,10 @@
     public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000008002L});
     public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000000001E00000L});
     public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000000001E00002L});
-    public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x000000000E000000L,0x0000000000010000L});
-    public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x000000000E000002L,0x0000000000010000L});
-    public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000080000010L,0x0000000000000400L});
-    public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
+    public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x000000000E000000L,0x0000000000002000L});
+    public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x000000000E000002L,0x0000000000002000L});
+    public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000080000010L,0x0000000000000080L});
+    public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L});
     public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x00000003FC000000L});
     public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x00000003FC000002L});
     public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000040000000L});
@@ -69911,60 +70004,60 @@
     public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x000000F000000000L});
     public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x000000F000000002L});
     public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000010C00000000L});
-    public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
-    public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
+    public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
+    public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000000000000002L,0x0000000000004000L});
     public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000060000000000L});
-    public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000080000000000L,0x000000C000000000L});
-    public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0000080000000002L,0x000000C000000000L});
-    public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000080000000000L,0x0000004000000000L});
+    public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000080000000000L,0x0000001800000000L});
+    public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0000080000000002L,0x0000001800000000L});
+    public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000080000000000L,0x0000000800000000L});
     public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0003E00008000010L});
-    public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008400L});
-    public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000080000010L,0x0000000800000400L});
-    public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0000000004000000L,0x0000000000001000L});
-    public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0007E10C880001F0L,0x00000502FF14CE11L});
-    public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0007E10C080001F0L,0x00000402FF14C613L});
-    public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x0007F10C880001F0L,0x00000702FF14C611L});
-    public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L});
-    public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000000080000010L,0x0000010000000400L});
-    public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0007F10C080001F2L,0x00000602FF14C611L});
-    public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L});
-    public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
-    public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L});
-    public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
-    public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0007E10C880001F0L,0x00000402FF14C611L});
-    public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x0000000080000010L,0x0000000000E01402L});
-    public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000000080000012L,0x0000000000A01400L});
-    public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
-    public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0000000080000010L,0x0000000000A01400L});
-    public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0007F10C080001F0L,0x00000602FF14C711L});
-    public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0007E10C080001F0L,0x00000402FF14C711L});
-    public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0007F10C080001F0L,0x00000602FF14C611L});
-    public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
-    public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
-    public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x0007F10C080001F0L,0x00000602FF14C613L});
-    public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x0000100000000000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
-    public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000000008000000L,0x0000000000008400L});
-    public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0004000000000000L,0x0000040000000000L});
-    public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000000000L,0x0000000008000000L});
+    public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001080L});
+    public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000080000010L,0x0000000100000080L});
+    public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000200L});
+    public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x1007E10C880001F0L,0x000000A05FE299C1L});
+    public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x3007E10C080001F0L,0x000000805FE298C1L});
+    public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x1007F10C880001F0L,0x000000E05FE298C1L});
+    public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+    public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000000080000010L,0x0000002000000080L});
+    public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x1007F10C080001F2L,0x000000C05FE298C1L});
+    public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
+    public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
+    public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
+    public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
+    public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x1007E10C880001F0L,0x000000805FE298C1L});
+    public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x2000000080000010L,0x00000000001C0280L});
+    public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000000080000012L,0x0000000000140280L});
+    public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
+    public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0000000080000010L,0x0000000000140280L});
+    public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x1007F10C080001F0L,0x000000C05FE298E1L});
+    public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x1007E10C080001F0L,0x000000805FE298E1L});
+    public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x1007F10C080001F0L,0x000000C05FE298C1L});
+    public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
+    public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
+    public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x3007F10C080001F0L,0x000000C05FE298C1L});
+    public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x0000100000000000L,0x0000004000000000L});
+    public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
+    public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000000008000000L,0x0000000000001080L});
+    public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0004000000000000L,0x0000008000000000L});
+    public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
     public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x00000000000000E0L});
-    public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x00040000000001E0L,0x000004001800C000L});
-    public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008800L});
-    public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L});
-    public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
-    public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L});
-    public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L});
-    public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0000000000000000L,0x0000000500000000L});
-    public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L});
-    public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-    public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
+    public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x00040000000001E0L,0x0000008003001800L});
+    public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001100L});
+    public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x0000000000000002L,0x0000000000001000L});
+    public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
+    public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0000000000000000L,0x0000000008000000L});
+    public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L});
+    public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0000000000000000L,0x00000000A0000000L});
+    public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
+    public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x0000000000000002L,0x0000000080000000L});
+    public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L});
     public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0000080000000000L});
     public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000080000000002L});
     public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x00000000000000C0L});
-    public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0000000080000010L,0x0000000000000C00L});
+    public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0000000080000010L,0x0000000000000180L});
     public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x0002200000000000L});
-    public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L});
-    public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x0000000000000002L,0x0000001000000000L});
+    public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
+    public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x0000000000000002L,0x0000000200000000L});
     public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x0000001000000000L});
 
 }
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.signal.runtime.feature/.gitignore b/org.eclipse.osbp.xtext.signal.runtime.feature/.gitignore
deleted file mode 100644
index b83d222..0000000
--- a/org.eclipse.osbp.xtext.signal.runtime.feature/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target/
diff --git a/org.eclipse.osbp.xtext.signal.ui/src-gen/org/eclipse/osbp/xtext/signal/ui/contentassist/AbstractSignalDSLProposalProvider.java b/org.eclipse.osbp.xtext.signal.ui/src-gen/org/eclipse/osbp/xtext/signal/ui/contentassist/AbstractSignalDSLProposalProvider.java
index b8bc9ec..7b72999 100644
--- a/org.eclipse.osbp.xtext.signal.ui/src-gen/org/eclipse/osbp/xtext/signal/ui/contentassist/AbstractSignalDSLProposalProvider.java
+++ b/org.eclipse.osbp.xtext.signal.ui/src-gen/org/eclipse/osbp/xtext/signal/ui/contentassist/AbstractSignalDSLProposalProvider.java
@@ -64,10 +64,10 @@
 	public void completeSignalHandler_Data(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeSignalHandler_Filemask(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeSignalHandler_Executiontype(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeListTransfer_Executiontype(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeSignalHandler_Filemask(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
 	public void completeListTransfer_Interchanges(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -82,6 +82,9 @@
 	public void completeSignalDatainterchange_DataRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeSignalDatainterchange_FileName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
 
 	public void complete_SignalModel(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
@@ -125,4 +128,7 @@
 	public void complete_TRANSLATABLEID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
+	public void complete_TRANSLATABLESTRING(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
 }
diff --git a/org.eclipse.osbp.xtext.signal.ui/src/org/eclipse/osbp/xtext/signal/ui/contentassist/SignalDSLProposalProvider.xtend b/org.eclipse.osbp.xtext.signal.ui/src/org/eclipse/osbp/xtext/signal/ui/contentassist/SignalDSLProposalProvider.xtend
index 5523da7..70af2b7 100644
--- a/org.eclipse.osbp.xtext.signal.ui/src/org/eclipse/osbp/xtext/signal/ui/contentassist/SignalDSLProposalProvider.xtend
+++ b/org.eclipse.osbp.xtext.signal.ui/src/org/eclipse/osbp/xtext/signal/ui/contentassist/SignalDSLProposalProvider.xtend
@@ -11,7 +11,7 @@
  * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
  * 
  * generated by Xtext 2.11.0
- *
+ * 
  */
 
 package org.eclipse.osbp.xtext.signal.ui.contentassist
@@ -33,80 +33,9 @@
 import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext
 import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor
 import org.eclipse.xtext.ui.editor.contentassist.ReplacementTextApplier
-
-/**
- * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#content-assist
- * on how to customize the content assistant.
- */
-class SignalDSLProposalProvider extends AbstractSignalDSLProposalProvider {
-	
-	@Inject TerminalsProposalProvider provider
-	@Inject BasicDSLProposalProviderHelper providerHelper
-	
-	override complete_QualifiedName(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		providerHelper.complete_PackageName(model, ruleCall, context, acceptor, this)
-	}
-	
-	
-	override completeSignalWatcher_Directory(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		directoryPickerProposal(model, context, acceptor)
-	}
-
-	def directoryPickerProposal(EObject model, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		var dirName = createCompletionProposal("Select directory...", context) as ConfigurableCompletionProposal
-		if (dirName !== null) {
-			var applier = new DirectoryNameTextApplier()
-			applier.setContext(context)
-			dirName.setTextApplier = applier
-		} 
-		acceptor.accept(dirName)
-	}
-	
-	/**
-	 * This method decided which proposals will be valid. 
-	 */
-	override protected boolean isValidProposal(String proposal, String prefix, ContentAssistContext context) {
-		var result = super.isValidProposal(proposal, prefix, context)
-		if (context.currentModel instanceof SignalHandler){
-			result = isValidProposalSignalHandlerType(proposal, prefix, (context.currentModel as SignalHandler), result)
-		}
-		return result
-	}
-	
-	def private boolean isValidProposalSignalHandlerType(String proposal, String prefix, SignalHandler handler, boolean result) {
-		
-		if(handler !== null){			
-			val watcher = EcoreUtil2.resolve(handler.eContainer, handler.eResource)
-			if(watcher !== null && watcher instanceof SignalWatcher){
-				switch((watcher as SignalWatcher).signal) {
-					case SignalTypeEnum.ALL:
-						return true
-					case SignalTypeEnum.CREATESIGNALS:
-						return SignalHandlerTypeEnum.DOAFTERCREATE.literal.equals(proposal)
-					case SignalTypeEnum.DELETESIGNALS:
-						return SignalHandlerTypeEnum.DOAFTERDELETE.literal.equals(proposal)
-					case SignalTypeEnum.MODIFYSIGNALS:
-						return SignalHandlerTypeEnum.DOAFTERMODIFY.literal.equals(proposal)
-					default:
-						return false
-				}
-			}
-		}
-		return result
-	}
-	
-	// ------------------------ delegates to TerminalsProposalProvider -----------------
-	override public void complete_INT(EObject model, RuleCall ruleCall, ContentAssistContext context,
-		ICompletionProposalAcceptor acceptor) {
-		provider.complete_INT(model, ruleCall, context, acceptor)
-	}
-
-	override public void complete_STRING(EObject model, RuleCall ruleCall, ContentAssistContext context,
-		ICompletionProposalAcceptor acceptor) {
-		provider.complete_STRING(model, ruleCall, context, acceptor)
-	}
-	
-}
+import org.eclipse.xtext.Keyword
+import org.eclipse.jface.viewers.StyledString
+import org.eclipse.osbp.xtext.signal.ui.SignalDSLDocumentationTranslator
 
 class LocaleTextApplier extends ReplacementTextApplier {
 	var ContentAssistContext context
@@ -135,8 +64,120 @@
 		var display = context.getViewer().getTextWidget().getDisplay();
 		var dirDialog = new DirectoryDialog(display.getActiveShell());
 		var dirName = dirDialog.open();
-		dirName = dirName.replace("\\", "/")
+		if (dirName !== null) {
+			dirName = dirName.replace("\\", "/")
+		} else {
+			dirName = "Directory"
+		}
 		return "\"".concat(dirName).concat("\"");
 	}
 }
 
+class SignalDSLProposalProvider extends AbstractSignalDSLProposalProvider {
+
+	@Inject TerminalsProposalProvider provider
+	@Inject BasicDSLProposalProviderHelper providerHelper
+
+	override protected StyledString getKeywordDisplayString(Keyword keyword) {
+		return BasicDSLProposalProviderHelper.getKeywordDisplayString(keyword,
+			SignalDSLDocumentationTranslator.instance())
+	}
+
+	/**
+	 * This override will enable 1 length non letter characters as keyword.
+	 */
+	override protected boolean isKeywordWorthyToPropose(Keyword keyword) {
+		return true
+	}
+
+	override complete_QualifiedName(EObject model, RuleCall ruleCall, ContentAssistContext context,
+		ICompletionProposalAcceptor acceptor) {
+		providerHelper.complete_PackageName(model, ruleCall, context, acceptor, this)
+	}
+
+	override completeSignalWatcher_Directory(EObject model, Assignment assignment, ContentAssistContext context,
+		ICompletionProposalAcceptor acceptor) {
+		directoryPickerProposal(model, context, acceptor)
+	}
+
+	def directoryPickerProposal(EObject model, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		var dirName = createCompletionProposal("Select directory...", context) as ConfigurableCompletionProposal
+		if (dirName !== null) {
+			var applier = new DirectoryNameTextApplier()
+			applier.setContext(context)
+			dirName.setTextApplier = applier
+		}
+		acceptor.accept(dirName)
+	}
+
+	/**
+	 * This method decided which proposals will be valid. 
+	 */
+	override protected boolean isValidProposal(String proposal, String prefix, ContentAssistContext context) {
+		var result = super.isValidProposal(proposal, prefix, context)
+		if (context.currentModel instanceof SignalHandler) {
+			result = isValidProposalSignalHandlerType(proposal, prefix, (context.currentModel as SignalHandler), result)
+		}
+		return result
+	}
+
+	def private boolean isValidProposalSignalHandlerType(String proposal, String prefix, SignalHandler handler,
+		boolean result) {
+
+		if (handler !== null) {
+			val watcher = (EcoreUtil2.resolve(handler.eContainer, handler.eResource) as SignalWatcher)
+			var actiontype = handler.actionType
+			// if the actiontype has not been defined yet 
+			if (actiontype.equals(SignalHandlerTypeEnum.DOAFTER)) {
+				// only doaftercreate or doaftermodify are allowed 
+				switch (watcher.signal) {
+					// case SignalTypeEnum.ALL:
+					// return true
+					case SignalTypeEnum.CREATESIGNALS:
+						return SignalHandlerTypeEnum.DOAFTERCREATE.literal.equals(proposal)
+					// case SignalTypeEnum.DELETESIGNALS:
+					// return SignalHandlerTypeEnum.DOAFTERDELETE.literal.equals(proposal)
+					case SignalTypeEnum.MODIFYSIGNALS:
+						return SignalHandlerTypeEnum.DOAFTERMODIFY.literal.equals(proposal)
+					default:
+						return false
+				}
+			}
+
+			var data = handler.data
+			// if the data block has not been defined yet
+			if (data === null) {
+				return true
+			}
+
+		}
+		return result
+	}
+
+	override complete_DataTransfer(EObject model, RuleCall ruleCall, ContentAssistContext context,
+		ICompletionProposalAcceptor acceptor) {
+		super.complete_DataTransfer(model, ruleCall, context, acceptor)
+	}
+
+	// ------------------------ delegates to TerminalsProposalProvider -----------------
+	override public void complete_INT(EObject model, RuleCall ruleCall, ContentAssistContext context,
+		ICompletionProposalAcceptor acceptor) {
+		provider.complete_INT(model, ruleCall, context, acceptor)
+	}
+
+	override public void complete_TRANSLATABLEID(EObject model, RuleCall ruleCall, ContentAssistContext context,
+		ICompletionProposalAcceptor acceptor) {
+		provider.complete_ID(model, ruleCall, context, acceptor)
+	}
+
+	override public void complete_TRANSLATABLESTRING(EObject model, RuleCall ruleCall, ContentAssistContext context,
+		ICompletionProposalAcceptor acceptor) {
+		provider.complete_STRING(model, ruleCall, context, acceptor)
+	}
+
+	override public void complete_STRING(EObject model, RuleCall ruleCall, ContentAssistContext context,
+		ICompletionProposalAcceptor acceptor) {
+		provider.complete_STRING(model, ruleCall, context, acceptor)
+	}
+
+}
diff --git a/org.eclipse.osbp.xtext.signal.ui/xtend-gen/org/eclipse/osbp/xtext/signal/ui/contentassist/DirectoryNameTextApplier.java b/org.eclipse.osbp.xtext.signal.ui/xtend-gen/org/eclipse/osbp/xtext/signal/ui/contentassist/DirectoryNameTextApplier.java
index 5983690..14e0956 100644
--- a/org.eclipse.osbp.xtext.signal.ui/xtend-gen/org/eclipse/osbp/xtext/signal/ui/contentassist/DirectoryNameTextApplier.java
+++ b/org.eclipse.osbp.xtext.signal.ui/xtend-gen/org/eclipse/osbp/xtext/signal/ui/contentassist/DirectoryNameTextApplier.java
@@ -34,7 +34,11 @@
     Shell _activeShell = display.getActiveShell();
     DirectoryDialog dirDialog = new DirectoryDialog(_activeShell);
     String dirName = dirDialog.open();
-    dirName = dirName.replace("\\", "/");
+    if ((dirName != null)) {
+      dirName = dirName.replace("\\", "/");
+    } else {
+      dirName = "Directory";
+    }
     return "\"".concat(dirName).concat("\"");
   }
 }
diff --git a/org.eclipse.osbp.xtext.signal.ui/xtend-gen/org/eclipse/osbp/xtext/signal/ui/contentassist/SignalDSLProposalProvider.java b/org.eclipse.osbp.xtext.signal.ui/xtend-gen/org/eclipse/osbp/xtext/signal/ui/contentassist/SignalDSLProposalProvider.java
index c2c5e3f..2e563ae 100644
--- a/org.eclipse.osbp.xtext.signal.ui/xtend-gen/org/eclipse/osbp/xtext/signal/ui/contentassist/SignalDSLProposalProvider.java
+++ b/org.eclipse.osbp.xtext.signal.ui/xtend-gen/org/eclipse/osbp/xtext/signal/ui/contentassist/SignalDSLProposalProvider.java
@@ -16,25 +16,25 @@
 import com.google.inject.Inject;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.jface.viewers.StyledString;
 import org.eclipse.osbp.xtext.basic.ui.contentassist.BasicDSLProposalProviderHelper;
+import org.eclipse.osbp.xtext.signal.DataTransfer;
 import org.eclipse.osbp.xtext.signal.SignalHandler;
 import org.eclipse.osbp.xtext.signal.SignalHandlerTypeEnum;
 import org.eclipse.osbp.xtext.signal.SignalTypeEnum;
 import org.eclipse.osbp.xtext.signal.SignalWatcher;
+import org.eclipse.osbp.xtext.signal.ui.SignalDSLDocumentationTranslator;
 import org.eclipse.osbp.xtext.signal.ui.contentassist.AbstractSignalDSLProposalProvider;
 import org.eclipse.osbp.xtext.signal.ui.contentassist.DirectoryNameTextApplier;
 import org.eclipse.xtext.Assignment;
 import org.eclipse.xtext.EcoreUtil2;
+import org.eclipse.xtext.Keyword;
 import org.eclipse.xtext.RuleCall;
 import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider;
 import org.eclipse.xtext.ui.editor.contentassist.ConfigurableCompletionProposal;
 import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
 import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
 
-/**
- * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#content-assist
- * on how to customize the content assistant.
- */
 @SuppressWarnings("all")
 public class SignalDSLProposalProvider extends AbstractSignalDSLProposalProvider {
   @Inject
@@ -44,6 +44,20 @@
   private BasicDSLProposalProviderHelper providerHelper;
   
   @Override
+  protected StyledString getKeywordDisplayString(final Keyword keyword) {
+    return BasicDSLProposalProviderHelper.getKeywordDisplayString(keyword, 
+      SignalDSLDocumentationTranslator.instance());
+  }
+  
+  /**
+   * This override will enable 1 length non letter characters as keyword.
+   */
+  @Override
+  protected boolean isKeywordWorthyToPropose(final Keyword keyword) {
+    return true;
+  }
+  
+  @Override
   public void complete_QualifiedName(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
     this.providerHelper.complete_PackageName(model, ruleCall, context, acceptor, this);
   }
@@ -80,17 +94,16 @@
   
   private boolean isValidProposalSignalHandlerType(final String proposal, final String prefix, final SignalHandler handler, final boolean result) {
     if ((handler != null)) {
-      final EObject watcher = EcoreUtil2.resolve(handler.eContainer(), handler.eResource());
-      if (((watcher != null) && (watcher instanceof SignalWatcher))) {
-        SignalTypeEnum _signal = ((SignalWatcher) watcher).getSignal();
+      EObject _resolve = EcoreUtil2.resolve(handler.eContainer(), handler.eResource());
+      final SignalWatcher watcher = ((SignalWatcher) _resolve);
+      SignalHandlerTypeEnum actiontype = handler.getActionType();
+      boolean _equals = actiontype.equals(SignalHandlerTypeEnum.DOAFTER);
+      if (_equals) {
+        SignalTypeEnum _signal = watcher.getSignal();
         if (_signal != null) {
           switch (_signal) {
-            case ALL:
-              return true;
             case CREATESIGNALS:
               return SignalHandlerTypeEnum.DOAFTERCREATE.getLiteral().equals(proposal);
-            case DELETESIGNALS:
-              return SignalHandlerTypeEnum.DOAFTERDELETE.getLiteral().equals(proposal);
             case MODIFYSIGNALS:
               return SignalHandlerTypeEnum.DOAFTERMODIFY.getLiteral().equals(proposal);
             default:
@@ -100,16 +113,35 @@
           return false;
         }
       }
+      DataTransfer data = handler.getData();
+      if ((data == null)) {
+        return true;
+      }
     }
     return result;
   }
   
   @Override
+  public void complete_DataTransfer(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
+    super.complete_DataTransfer(model, ruleCall, context, acceptor);
+  }
+  
+  @Override
   public void complete_INT(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
     this.provider.complete_INT(model, ruleCall, context, acceptor);
   }
   
   @Override
+  public void complete_TRANSLATABLEID(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
+    this.provider.complete_ID(model, ruleCall, context, acceptor);
+  }
+  
+  @Override
+  public void complete_TRANSLATABLESTRING(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
+    this.provider.complete_STRING(model, ruleCall, context, acceptor);
+  }
+  
+  @Override
   public void complete_STRING(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
     this.provider.complete_STRING(model, ruleCall, context, acceptor);
   }
diff --git a/org.eclipse.osbp.xtext.signal/.classpath b/org.eclipse.osbp.xtext.signal/.classpath
index c728579..41f9893 100644
--- a/org.eclipse.osbp.xtext.signal/.classpath
+++ b/org.eclipse.osbp.xtext.signal/.classpath
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="src-gen"/>
 	<classpathentry kind="src" path="emf-gen"/>
 	<classpathentry kind="src" path="xtend-gen"/>
+	<classpathentry kind="src" path="model"/>
 	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/org.eclipse.osbp.xtext.signal/.gitignore b/org.eclipse.osbp.xtext.signal/.gitignore
deleted file mode 100644
index 6edb112..0000000
--- a/org.eclipse.osbp.xtext.signal/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/bin/
-/target/
-/.antlr-generator-3.2.0-patch.jar
diff --git a/org.eclipse.osbp.xtext.signal/build.properties b/org.eclipse.osbp.xtext.signal/build.properties
index ec6b974..11967f9 100644
--- a/org.eclipse.osbp.xtext.signal/build.properties
+++ b/org.eclipse.osbp.xtext.signal/build.properties
@@ -22,4 +22,5 @@
 source.. = src/,\
 			src-gen/,\
 			emf-gen/,\
-			xtend-gen
+			xtend-gen/,\
+			model/
diff --git a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/ListTransfer.java b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/ListTransfer.java
index b2c4a37..941b3b5 100644
--- a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/ListTransfer.java
+++ b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/ListTransfer.java
@@ -25,7 +25,6 @@
  * The following features are supported:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.osbp.xtext.signal.ListTransfer#getExecutiontype <em>Executiontype</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.signal.ListTransfer#getInterchanges <em>Interchanges</em>}</li>
  * </ul>
  *
@@ -35,35 +34,6 @@
  */
 public interface ListTransfer extends DataTransfer {
 	/**
-	 * Returns the value of the '<em><b>Executiontype</b></em>' attribute.
-	 * The literals are from the enumeration {@link org.eclipse.osbp.xtext.signal.SignalExecutionTypeEnum}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Executiontype</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Executiontype</em>' attribute.
-	 * @see org.eclipse.osbp.xtext.signal.SignalExecutionTypeEnum
-	 * @see #setExecutiontype(SignalExecutionTypeEnum)
-	 * @see org.eclipse.osbp.xtext.signal.SignalDSLPackage#getListTransfer_Executiontype()
-	 * @model unique="false"
-	 * @generated
-	 */
-	SignalExecutionTypeEnum getExecutiontype();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.osbp.xtext.signal.ListTransfer#getExecutiontype <em>Executiontype</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Executiontype</em>' attribute.
-	 * @see org.eclipse.osbp.xtext.signal.SignalExecutionTypeEnum
-	 * @see #getExecutiontype()
-	 * @generated
-	 */
-	void setExecutiontype(SignalExecutionTypeEnum value);
-
-	/**
 	 * Returns the value of the '<em><b>Interchanges</b></em>' containment reference list.
 	 * The list contents are of type {@link org.eclipse.osbp.xtext.signal.SignalDatainterchange}.
 	 * <!-- begin-user-doc -->
diff --git a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalDSLPackage.java b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalDSLPackage.java
index 6abf39f..8cbbcbf 100644
--- a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalDSLPackage.java
+++ b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalDSLPackage.java
@@ -187,22 +187,13 @@
 	int SIGNAL_PACKAGE__WATCHERS = OSBPTypesPackage.LPACKAGE_FEATURE_COUNT + 0;
 
 	/**
-	 * The feature id for the '<em><b>Handlers</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SIGNAL_PACKAGE__HANDLERS = OSBPTypesPackage.LPACKAGE_FEATURE_COUNT + 1;
-
-	/**
 	 * The number of structural features of the '<em>Signal Package</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int SIGNAL_PACKAGE_FEATURE_COUNT = OSBPTypesPackage.LPACKAGE_FEATURE_COUNT + 2;
+	int SIGNAL_PACKAGE_FEATURE_COUNT = OSBPTypesPackage.LPACKAGE_FEATURE_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>EResolve Proxy</em>' operation.
@@ -379,22 +370,22 @@
 	int SIGNAL_HANDLER__FILEMASK = SIGNAL_LAZY_RESOLVER_FEATURE_COUNT + 2;
 
 	/**
-	 * The feature id for the '<em><b>Datainterchanges</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SIGNAL_HANDLER__DATAINTERCHANGES = SIGNAL_LAZY_RESOLVER_FEATURE_COUNT + 3;
-
-	/**
 	 * The feature id for the '<em><b>Data</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int SIGNAL_HANDLER__DATA = SIGNAL_LAZY_RESOLVER_FEATURE_COUNT + 4;
+	int SIGNAL_HANDLER__DATA = SIGNAL_LAZY_RESOLVER_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Executiontype</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SIGNAL_HANDLER__EXECUTIONTYPE = SIGNAL_LAZY_RESOLVER_FEATURE_COUNT + 4;
 
 	/**
 	 * The number of structural features of the '<em>Signal Handler</em>' class.
@@ -489,13 +480,22 @@
 	int SIGNAL_DATAINTERCHANGE__DATA_REF = SIGNAL_PROCESSOR_FEATURE_COUNT + 1;
 
 	/**
+	 * The feature id for the '<em><b>File Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SIGNAL_DATAINTERCHANGE__FILE_NAME = SIGNAL_PROCESSOR_FEATURE_COUNT + 2;
+
+	/**
 	 * The number of structural features of the '<em>Signal Datainterchange</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int SIGNAL_DATAINTERCHANGE_FEATURE_COUNT = SIGNAL_PROCESSOR_FEATURE_COUNT + 2;
+	int SIGNAL_DATAINTERCHANGE_FEATURE_COUNT = SIGNAL_PROCESSOR_FEATURE_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>EResolve Proxy</em>' operation.
@@ -609,22 +609,13 @@
 	int LIST_TRANSFER = 10;
 
 	/**
-	 * The feature id for the '<em><b>Executiontype</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LIST_TRANSFER__EXECUTIONTYPE = DATA_TRANSFER_FEATURE_COUNT + 0;
-
-	/**
 	 * The feature id for the '<em><b>Interchanges</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LIST_TRANSFER__INTERCHANGES = DATA_TRANSFER_FEATURE_COUNT + 1;
+	int LIST_TRANSFER__INTERCHANGES = DATA_TRANSFER_FEATURE_COUNT + 0;
 
 	/**
 	 * The number of structural features of the '<em>List Transfer</em>' class.
@@ -633,7 +624,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LIST_TRANSFER_FEATURE_COUNT = DATA_TRANSFER_FEATURE_COUNT + 2;
+	int LIST_TRANSFER_FEATURE_COUNT = DATA_TRANSFER_FEATURE_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>EResolve Proxy</em>' operation.
@@ -778,17 +769,6 @@
 	EReference getSignalPackage_Watchers();
 
 	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.signal.SignalPackage#getHandlers <em>Handlers</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Handlers</em>'.
-	 * @see org.eclipse.osbp.xtext.signal.SignalPackage#getHandlers()
-	 * @see #getSignalPackage()
-	 * @generated
-	 */
-	EReference getSignalPackage_Handlers();
-
-	/**
 	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.signal.SignalBase <em>Signal Base</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -907,17 +887,6 @@
 	EAttribute getSignalHandler_Filemask();
 
 	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.signal.SignalHandler#getDatainterchanges <em>Datainterchanges</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Datainterchanges</em>'.
-	 * @see org.eclipse.osbp.xtext.signal.SignalHandler#getDatainterchanges()
-	 * @see #getSignalHandler()
-	 * @generated
-	 */
-	EReference getSignalHandler_Datainterchanges();
-
-	/**
 	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.xtext.signal.SignalHandler#getData <em>Data</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -929,6 +898,17 @@
 	EReference getSignalHandler_Data();
 
 	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.signal.SignalHandler#getExecutiontype <em>Executiontype</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Executiontype</em>'.
+	 * @see org.eclipse.osbp.xtext.signal.SignalHandler#getExecutiontype()
+	 * @see #getSignalHandler()
+	 * @generated
+	 */
+	EAttribute getSignalHandler_Executiontype();
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.signal.SignalProcessor <em>Signal Processor</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -971,6 +951,17 @@
 	EReference getSignalDatainterchange_DataRef();
 
 	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.signal.SignalDatainterchange#getFileName <em>File Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>File Name</em>'.
+	 * @see org.eclipse.osbp.xtext.signal.SignalDatainterchange#getFileName()
+	 * @see #getSignalDatainterchange()
+	 * @generated
+	 */
+	EAttribute getSignalDatainterchange_FileName();
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.osbp.xtext.signal.DataTransfer <em>Data Transfer</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1012,17 +1003,6 @@
 	EClass getListTransfer();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.xtext.signal.ListTransfer#getExecutiontype <em>Executiontype</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Executiontype</em>'.
-	 * @see org.eclipse.osbp.xtext.signal.ListTransfer#getExecutiontype()
-	 * @see #getListTransfer()
-	 * @generated
-	 */
-	EAttribute getListTransfer_Executiontype();
-
-	/**
 	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.xtext.signal.ListTransfer#getInterchanges <em>Interchanges</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1170,14 +1150,6 @@
 		EReference SIGNAL_PACKAGE__WATCHERS = eINSTANCE.getSignalPackage_Watchers();
 
 		/**
-		 * The meta object literal for the '<em><b>Handlers</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference SIGNAL_PACKAGE__HANDLERS = eINSTANCE.getSignalPackage_Handlers();
-
-		/**
 		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.signal.impl.SignalBaseImpl <em>Signal Base</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -1272,14 +1244,6 @@
 		EAttribute SIGNAL_HANDLER__FILEMASK = eINSTANCE.getSignalHandler_Filemask();
 
 		/**
-		 * The meta object literal for the '<em><b>Datainterchanges</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference SIGNAL_HANDLER__DATAINTERCHANGES = eINSTANCE.getSignalHandler_Datainterchanges();
-
-		/**
 		 * The meta object literal for the '<em><b>Data</b></em>' containment reference feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -1288,6 +1252,14 @@
 		EReference SIGNAL_HANDLER__DATA = eINSTANCE.getSignalHandler_Data();
 
 		/**
+		 * The meta object literal for the '<em><b>Executiontype</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SIGNAL_HANDLER__EXECUTIONTYPE = eINSTANCE.getSignalHandler_Executiontype();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.signal.SignalProcessor <em>Signal Processor</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -1324,6 +1296,14 @@
 		EReference SIGNAL_DATAINTERCHANGE__DATA_REF = eINSTANCE.getSignalDatainterchange_DataRef();
 
 		/**
+		 * The meta object literal for the '<em><b>File Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SIGNAL_DATAINTERCHANGE__FILE_NAME = eINSTANCE.getSignalDatainterchange_FileName();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.osbp.xtext.signal.impl.DataTransferImpl <em>Data Transfer</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -1362,14 +1342,6 @@
 		EClass LIST_TRANSFER = eINSTANCE.getListTransfer();
 
 		/**
-		 * The meta object literal for the '<em><b>Executiontype</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute LIST_TRANSFER__EXECUTIONTYPE = eINSTANCE.getListTransfer_Executiontype();
-
-		/**
 		 * The meta object literal for the '<em><b>Interchanges</b></em>' containment reference list feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
diff --git a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalDatainterchange.java b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalDatainterchange.java
index 30b8a64..361b431 100644
--- a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalDatainterchange.java
+++ b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalDatainterchange.java
@@ -27,6 +27,7 @@
  * <ul>
  *   <li>{@link org.eclipse.osbp.xtext.signal.SignalDatainterchange#getDataAction <em>Data Action</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.signal.SignalDatainterchange#getDataRef <em>Data Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.signal.SignalDatainterchange#getFileName <em>File Name</em>}</li>
  * </ul>
  *
  * @see org.eclipse.osbp.xtext.signal.SignalDSLPackage#getSignalDatainterchange()
@@ -89,4 +90,30 @@
 	 */
 	void setDataRef(DataInterchange value);
 
+	/**
+	 * Returns the value of the '<em><b>File Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>File Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>File Name</em>' attribute.
+	 * @see #setFileName(String)
+	 * @see org.eclipse.osbp.xtext.signal.SignalDSLPackage#getSignalDatainterchange_FileName()
+	 * @model unique="false"
+	 * @generated
+	 */
+	String getFileName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.signal.SignalDatainterchange#getFileName <em>File Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>File Name</em>' attribute.
+	 * @see #getFileName()
+	 * @generated
+	 */
+	void setFileName(String value);
+
 } // SignalDatainterchange
diff --git a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalHandler.java b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalHandler.java
index ae9dbcd..451412c 100644
--- a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalHandler.java
+++ b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalHandler.java
@@ -14,7 +14,6 @@
  */
 package org.eclipse.osbp.xtext.signal;
 
-import org.eclipse.emf.common.util.EList;
 
 /**
  * <!-- begin-user-doc -->
@@ -28,8 +27,8 @@
  *   <li>{@link org.eclipse.osbp.xtext.signal.SignalHandler#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.signal.SignalHandler#getActionType <em>Action Type</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.signal.SignalHandler#getFilemask <em>Filemask</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.signal.SignalHandler#getDatainterchanges <em>Datainterchanges</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.signal.SignalHandler#getData <em>Data</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.signal.SignalHandler#getExecutiontype <em>Executiontype</em>}</li>
  * </ul>
  *
  * @see org.eclipse.osbp.xtext.signal.SignalDSLPackage#getSignalHandler()
@@ -119,22 +118,6 @@
 	void setFilemask(String value);
 
 	/**
-	 * Returns the value of the '<em><b>Datainterchanges</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.osbp.xtext.signal.SignalDatainterchange}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Datainterchanges</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Datainterchanges</em>' containment reference list.
-	 * @see org.eclipse.osbp.xtext.signal.SignalDSLPackage#getSignalHandler_Datainterchanges()
-	 * @model containment="true"
-	 * @generated
-	 */
-	EList<SignalDatainterchange> getDatainterchanges();
-
-	/**
 	 * Returns the value of the '<em><b>Data</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <p>
@@ -160,4 +143,33 @@
 	 */
 	void setData(DataTransfer value);
 
+	/**
+	 * Returns the value of the '<em><b>Executiontype</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.eclipse.osbp.xtext.signal.SignalExecutionTypeEnum}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Executiontype</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Executiontype</em>' attribute.
+	 * @see org.eclipse.osbp.xtext.signal.SignalExecutionTypeEnum
+	 * @see #setExecutiontype(SignalExecutionTypeEnum)
+	 * @see org.eclipse.osbp.xtext.signal.SignalDSLPackage#getSignalHandler_Executiontype()
+	 * @model unique="false"
+	 * @generated
+	 */
+	SignalExecutionTypeEnum getExecutiontype();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.xtext.signal.SignalHandler#getExecutiontype <em>Executiontype</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Executiontype</em>' attribute.
+	 * @see org.eclipse.osbp.xtext.signal.SignalExecutionTypeEnum
+	 * @see #getExecutiontype()
+	 * @generated
+	 */
+	void setExecutiontype(SignalExecutionTypeEnum value);
+
 } // SignalHandler
diff --git a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalHandlerTypeEnum.java b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalHandlerTypeEnum.java
index b9cc24c..ee5e22d 100644
--- a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalHandlerTypeEnum.java
+++ b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalHandlerTypeEnum.java
@@ -58,17 +58,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	DOAFTERCREATE(0, "doaftercreate", "doAfterCreate"),
-
-	/**
-	 * The '<em><b>Doafterdelete</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #DOAFTERDELETE_VALUE
-	 * @generated
-	 * @ordered
-	 */
-	DOAFTERDELETE(0, "doafterdelete", "doAfterDelete");
+	DOAFTERCREATE(0, "doaftercreate", "doAfterCreate");
 
 	/**
 	 * The '<em><b>Doafter</b></em>' literal value.
@@ -116,21 +106,6 @@
 	public static final int DOAFTERCREATE_VALUE = 0;
 
 	/**
-	 * The '<em><b>Doafterdelete</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Doafterdelete</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #DOAFTERDELETE
-	 * @model name="doafterdelete" literal="doAfterDelete"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int DOAFTERDELETE_VALUE = 0;
-
-	/**
 	 * An array of all the '<em><b>Signal Handler Type Enum</b></em>' enumerators.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -141,7 +116,6 @@
 			DOAFTER,
 			DOAFTERMODIFY,
 			DOAFTERCREATE,
-			DOAFTERDELETE,
 		};
 
 	/**
diff --git a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalPackage.java b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalPackage.java
index 974974e..627153b 100644
--- a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalPackage.java
+++ b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalPackage.java
@@ -28,7 +28,6 @@
  * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.xtext.signal.SignalPackage#getWatchers <em>Watchers</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.signal.SignalPackage#getHandlers <em>Handlers</em>}</li>
  * </ul>
  *
  * @see org.eclipse.osbp.xtext.signal.SignalDSLPackage#getSignalPackage()
@@ -52,20 +51,4 @@
 	 */
 	EList<SignalWatcher> getWatchers();
 
-	/**
-	 * Returns the value of the '<em><b>Handlers</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.osbp.xtext.signal.SignalHandler}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Handlers</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Handlers</em>' containment reference list.
-	 * @see org.eclipse.osbp.xtext.signal.SignalDSLPackage#getSignalPackage_Handlers()
-	 * @model containment="true"
-	 * @generated
-	 */
-	EList<SignalHandler> getHandlers();
-
 } // SignalPackage
diff --git a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalTypeEnum.java b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalTypeEnum.java
index d4a7ac7..8fdd0e8 100644
--- a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalTypeEnum.java
+++ b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/SignalTypeEnum.java
@@ -31,16 +31,6 @@
  */
 public enum SignalTypeEnum implements Enumerator {
 	/**
-	 * The '<em><b>All</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #ALL_VALUE
-	 * @generated
-	 * @ordered
-	 */
-	ALL(0, "all", "all"),
-
-	/**
 	 * The '<em><b>Createsignals</b></em>' literal object.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -51,16 +41,6 @@
 	CREATESIGNALS(0, "createsignals", "createSignals"),
 
 	/**
-	 * The '<em><b>Deletesignals</b></em>' literal object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #DELETESIGNALS_VALUE
-	 * @generated
-	 * @ordered
-	 */
-	DELETESIGNALS(0, "deletesignals", "deleteSignals"),
-
-	/**
 	 * The '<em><b>Modifysignals</b></em>' literal object.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -71,21 +51,6 @@
 	MODIFYSIGNALS(0, "modifysignals", "modifySignals");
 
 	/**
-	 * The '<em><b>All</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>All</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #ALL
-	 * @model name="all"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int ALL_VALUE = 0;
-
-	/**
 	 * The '<em><b>Createsignals</b></em>' literal value.
 	 * <!-- begin-user-doc -->
 	 * <p>
@@ -101,21 +66,6 @@
 	public static final int CREATESIGNALS_VALUE = 0;
 
 	/**
-	 * The '<em><b>Deletesignals</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Deletesignals</b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #DELETESIGNALS
-	 * @model name="deletesignals" literal="deleteSignals"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int DELETESIGNALS_VALUE = 0;
-
-	/**
 	 * The '<em><b>Modifysignals</b></em>' literal value.
 	 * <!-- begin-user-doc -->
 	 * <p>
@@ -138,9 +88,7 @@
 	 */
 	private static final SignalTypeEnum[] VALUES_ARRAY =
 		new SignalTypeEnum[] {
-			ALL,
 			CREATESIGNALS,
-			DELETESIGNALS,
 			MODIFYSIGNALS,
 		};
 
@@ -198,7 +146,7 @@
 	 */
 	public static SignalTypeEnum get(int value) {
 		switch (value) {
-			case ALL_VALUE: return ALL;
+			case CREATESIGNALS_VALUE: return CREATESIGNALS;
 		}
 		return null;
 	}
diff --git a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/ListTransferImpl.java b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/ListTransferImpl.java
index 0024caf..bdf899a 100644
--- a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/ListTransferImpl.java
+++ b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/ListTransferImpl.java
@@ -16,7 +16,6 @@
 
 import java.util.Collection;
 
-import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.NotificationChain;
 
 import org.eclipse.emf.common.util.EList;
@@ -24,15 +23,12 @@
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
 
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
 
 import org.eclipse.osbp.xtext.signal.ListTransfer;
 import org.eclipse.osbp.xtext.signal.SignalDSLPackage;
 import org.eclipse.osbp.xtext.signal.SignalDatainterchange;
-import org.eclipse.osbp.xtext.signal.SignalExecutionTypeEnum;
 
 /**
  * <!-- begin-user-doc -->
@@ -42,7 +38,6 @@
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.osbp.xtext.signal.impl.ListTransferImpl#getExecutiontype <em>Executiontype</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.signal.impl.ListTransferImpl#getInterchanges <em>Interchanges</em>}</li>
  * </ul>
  *
@@ -50,26 +45,6 @@
  */
 public class ListTransferImpl extends DataTransferImpl implements ListTransfer {
 	/**
-	 * The default value of the '{@link #getExecutiontype() <em>Executiontype</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getExecutiontype()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final SignalExecutionTypeEnum EXECUTIONTYPE_EDEFAULT = SignalExecutionTypeEnum.SYNC;
-
-	/**
-	 * The cached value of the '{@link #getExecutiontype() <em>Executiontype</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getExecutiontype()
-	 * @generated
-	 * @ordered
-	 */
-	protected SignalExecutionTypeEnum executiontype = EXECUTIONTYPE_EDEFAULT;
-
-	/**
 	 * The cached value of the '{@link #getInterchanges() <em>Interchanges</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -103,27 +78,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public SignalExecutionTypeEnum getExecutiontype() {
-		return executiontype;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setExecutiontype(SignalExecutionTypeEnum newExecutiontype) {
-		SignalExecutionTypeEnum oldExecutiontype = executiontype;
-		executiontype = newExecutiontype == null ? EXECUTIONTYPE_EDEFAULT : newExecutiontype;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, SignalDSLPackage.LIST_TRANSFER__EXECUTIONTYPE, oldExecutiontype, executiontype));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	public EList<SignalDatainterchange> getInterchanges() {
 		if (interchanges == null) {
 			interchanges = new EObjectContainmentEList<SignalDatainterchange>(SignalDatainterchange.class, this, SignalDSLPackage.LIST_TRANSFER__INTERCHANGES);
@@ -153,8 +107,6 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case SignalDSLPackage.LIST_TRANSFER__EXECUTIONTYPE:
-				return getExecutiontype();
 			case SignalDSLPackage.LIST_TRANSFER__INTERCHANGES:
 				return getInterchanges();
 		}
@@ -170,9 +122,6 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case SignalDSLPackage.LIST_TRANSFER__EXECUTIONTYPE:
-				setExecutiontype((SignalExecutionTypeEnum)newValue);
-				return;
 			case SignalDSLPackage.LIST_TRANSFER__INTERCHANGES:
 				getInterchanges().clear();
 				getInterchanges().addAll((Collection<? extends SignalDatainterchange>)newValue);
@@ -189,9 +138,6 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case SignalDSLPackage.LIST_TRANSFER__EXECUTIONTYPE:
-				setExecutiontype(EXECUTIONTYPE_EDEFAULT);
-				return;
 			case SignalDSLPackage.LIST_TRANSFER__INTERCHANGES:
 				getInterchanges().clear();
 				return;
@@ -207,28 +153,10 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case SignalDSLPackage.LIST_TRANSFER__EXECUTIONTYPE:
-				return executiontype != EXECUTIONTYPE_EDEFAULT;
 			case SignalDSLPackage.LIST_TRANSFER__INTERCHANGES:
 				return interchanges != null && !interchanges.isEmpty();
 		}
 		return super.eIsSet(featureID);
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (executiontype: ");
-		result.append(executiontype);
-		result.append(')');
-		return result.toString();
-	}
-
 } //ListTransferImpl
diff --git a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalDSLPackageImpl.java b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalDSLPackageImpl.java
index 0a4f01c..2d9f1e8 100644
--- a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalDSLPackageImpl.java
+++ b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalDSLPackageImpl.java
@@ -301,15 +301,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getSignalPackage_Handlers() {
-		return (EReference)signalPackageEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	public EClass getSignalBase() {
 		return signalBaseEClass;
 	}
@@ -409,7 +400,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getSignalHandler_Datainterchanges() {
+	public EReference getSignalHandler_Data() {
 		return (EReference)signalHandlerEClass.getEStructuralFeatures().get(3);
 	}
 
@@ -418,8 +409,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getSignalHandler_Data() {
-		return (EReference)signalHandlerEClass.getEStructuralFeatures().get(4);
+	public EAttribute getSignalHandler_Executiontype() {
+		return (EAttribute)signalHandlerEClass.getEStructuralFeatures().get(4);
 	}
 
 	/**
@@ -463,6 +454,15 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EAttribute getSignalDatainterchange_FileName() {
+		return (EAttribute)signalDatainterchangeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getDataTransfer() {
 		return dataTransferEClass;
 	}
@@ -499,17 +499,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getListTransfer_Executiontype() {
-		return (EAttribute)listTransferEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	public EReference getListTransfer_Interchanges() {
-		return (EReference)listTransferEClass.getEStructuralFeatures().get(1);
+		return (EReference)listTransferEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -594,7 +585,6 @@
 
 		signalPackageEClass = createEClass(SIGNAL_PACKAGE);
 		createEReference(signalPackageEClass, SIGNAL_PACKAGE__WATCHERS);
-		createEReference(signalPackageEClass, SIGNAL_PACKAGE__HANDLERS);
 
 		signalBaseEClass = createEClass(SIGNAL_BASE);
 		createEAttribute(signalBaseEClass, SIGNAL_BASE__NAME);
@@ -609,14 +599,15 @@
 		createEAttribute(signalHandlerEClass, SIGNAL_HANDLER__NAME);
 		createEAttribute(signalHandlerEClass, SIGNAL_HANDLER__ACTION_TYPE);
 		createEAttribute(signalHandlerEClass, SIGNAL_HANDLER__FILEMASK);
-		createEReference(signalHandlerEClass, SIGNAL_HANDLER__DATAINTERCHANGES);
 		createEReference(signalHandlerEClass, SIGNAL_HANDLER__DATA);
+		createEAttribute(signalHandlerEClass, SIGNAL_HANDLER__EXECUTIONTYPE);
 
 		signalProcessorEClass = createEClass(SIGNAL_PROCESSOR);
 
 		signalDatainterchangeEClass = createEClass(SIGNAL_DATAINTERCHANGE);
 		createEAttribute(signalDatainterchangeEClass, SIGNAL_DATAINTERCHANGE__DATA_ACTION);
 		createEReference(signalDatainterchangeEClass, SIGNAL_DATAINTERCHANGE__DATA_REF);
+		createEAttribute(signalDatainterchangeEClass, SIGNAL_DATAINTERCHANGE__FILE_NAME);
 
 		dataTransferEClass = createEClass(DATA_TRANSFER);
 
@@ -624,7 +615,6 @@
 		createEReference(singleTransferEClass, SINGLE_TRANSFER__INTERCHANGE);
 
 		listTransferEClass = createEClass(LIST_TRANSFER);
-		createEAttribute(listTransferEClass, LIST_TRANSFER__EXECUTIONTYPE);
 		createEReference(listTransferEClass, LIST_TRANSFER__INTERCHANGES);
 
 		// Create enums
@@ -693,7 +683,6 @@
 
 		initEClass(signalPackageEClass, SignalPackage.class, "SignalPackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getSignalPackage_Watchers(), this.getSignalWatcher(), null, "watchers", null, 0, -1, SignalPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getSignalPackage_Handlers(), this.getSignalHandler(), null, "handlers", null, 0, -1, SignalPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(signalBaseEClass, SignalBase.class, "SignalBase", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getSignalBase_Name(), theEcorePackage.getEString(), "name", null, 0, 1, SignalBase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -708,14 +697,15 @@
 		initEAttribute(getSignalHandler_Name(), theEcorePackage.getEString(), "name", null, 0, 1, SignalHandler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getSignalHandler_ActionType(), this.getSignalHandlerTypeEnum(), "actionType", null, 0, 1, SignalHandler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getSignalHandler_Filemask(), theEcorePackage.getEString(), "filemask", null, 0, 1, SignalHandler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getSignalHandler_Datainterchanges(), this.getSignalDatainterchange(), null, "datainterchanges", null, 0, -1, SignalHandler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getSignalHandler_Data(), this.getDataTransfer(), null, "data", null, 0, 1, SignalHandler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getSignalHandler_Executiontype(), this.getSignalExecutionTypeEnum(), "executiontype", null, 0, 1, SignalHandler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(signalProcessorEClass, SignalProcessor.class, "SignalProcessor", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 
 		initEClass(signalDatainterchangeEClass, SignalDatainterchange.class, "SignalDatainterchange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getSignalDatainterchange_DataAction(), this.getSignalActionEnum(), "dataAction", null, 0, 1, SignalDatainterchange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getSignalDatainterchange_DataRef(), theDataDSLPackage.getDataInterchange(), null, "dataRef", null, 0, 1, SignalDatainterchange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getSignalDatainterchange_FileName(), theEcorePackage.getEString(), "fileName", null, 0, 1, SignalDatainterchange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(dataTransferEClass, DataTransfer.class, "DataTransfer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 
@@ -723,7 +713,6 @@
 		initEReference(getSingleTransfer_Interchange(), this.getSignalDatainterchange(), null, "interchange", null, 0, 1, SingleTransfer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(listTransferEClass, ListTransfer.class, "ListTransfer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getListTransfer_Executiontype(), this.getSignalExecutionTypeEnum(), "executiontype", null, 0, 1, ListTransfer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getListTransfer_Interchanges(), this.getSignalDatainterchange(), null, "interchanges", null, 0, -1, ListTransfer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		// Initialize enums and add enum literals
@@ -731,12 +720,9 @@
 		addEEnumLiteral(signalHandlerTypeEnumEEnum, SignalHandlerTypeEnum.DOAFTER);
 		addEEnumLiteral(signalHandlerTypeEnumEEnum, SignalHandlerTypeEnum.DOAFTERMODIFY);
 		addEEnumLiteral(signalHandlerTypeEnumEEnum, SignalHandlerTypeEnum.DOAFTERCREATE);
-		addEEnumLiteral(signalHandlerTypeEnumEEnum, SignalHandlerTypeEnum.DOAFTERDELETE);
 
 		initEEnum(signalTypeEnumEEnum, SignalTypeEnum.class, "SignalTypeEnum");
-		addEEnumLiteral(signalTypeEnumEEnum, SignalTypeEnum.ALL);
 		addEEnumLiteral(signalTypeEnumEEnum, SignalTypeEnum.CREATESIGNALS);
-		addEEnumLiteral(signalTypeEnumEEnum, SignalTypeEnum.DELETESIGNALS);
 		addEEnumLiteral(signalTypeEnumEEnum, SignalTypeEnum.MODIFYSIGNALS);
 
 		initEEnum(signalActionEnumEEnum, SignalActionEnum.class, "SignalActionEnum");
diff --git a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalDatainterchangeImpl.java b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalDatainterchangeImpl.java
index d4e685f..eb528cf 100644
--- a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalDatainterchangeImpl.java
+++ b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalDatainterchangeImpl.java
@@ -37,6 +37,7 @@
  * <ul>
  *   <li>{@link org.eclipse.osbp.xtext.signal.impl.SignalDatainterchangeImpl#getDataAction <em>Data Action</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.signal.impl.SignalDatainterchangeImpl#getDataRef <em>Data Ref</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.signal.impl.SignalDatainterchangeImpl#getFileName <em>File Name</em>}</li>
  * </ul>
  *
  * @generated
@@ -73,6 +74,26 @@
 	protected DataInterchange dataRef;
 
 	/**
+	 * The default value of the '{@link #getFileName() <em>File Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFileName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String FILE_NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getFileName() <em>File Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFileName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String fileName = FILE_NAME_EDEFAULT;
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -155,6 +176,27 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public String getFileName() {
+		return fileName;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFileName(String newFileName) {
+		String oldFileName = fileName;
+		fileName = newFileName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, SignalDSLPackage.SIGNAL_DATAINTERCHANGE__FILE_NAME, oldFileName, fileName));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
@@ -163,6 +205,8 @@
 			case SignalDSLPackage.SIGNAL_DATAINTERCHANGE__DATA_REF:
 				if (resolve) return getDataRef();
 				return basicGetDataRef();
+			case SignalDSLPackage.SIGNAL_DATAINTERCHANGE__FILE_NAME:
+				return getFileName();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -181,6 +225,9 @@
 			case SignalDSLPackage.SIGNAL_DATAINTERCHANGE__DATA_REF:
 				setDataRef((DataInterchange)newValue);
 				return;
+			case SignalDSLPackage.SIGNAL_DATAINTERCHANGE__FILE_NAME:
+				setFileName((String)newValue);
+				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -199,6 +246,9 @@
 			case SignalDSLPackage.SIGNAL_DATAINTERCHANGE__DATA_REF:
 				setDataRef((DataInterchange)null);
 				return;
+			case SignalDSLPackage.SIGNAL_DATAINTERCHANGE__FILE_NAME:
+				setFileName(FILE_NAME_EDEFAULT);
+				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -215,6 +265,8 @@
 				return dataAction != DATA_ACTION_EDEFAULT;
 			case SignalDSLPackage.SIGNAL_DATAINTERCHANGE__DATA_REF:
 				return dataRef != null;
+			case SignalDSLPackage.SIGNAL_DATAINTERCHANGE__FILE_NAME:
+				return FILE_NAME_EDEFAULT == null ? fileName != null : !FILE_NAME_EDEFAULT.equals(fileName);
 		}
 		return super.eIsSet(featureID);
 	}
@@ -231,6 +283,8 @@
 		StringBuffer result = new StringBuffer(super.toString());
 		result.append(" (dataAction: ");
 		result.append(dataAction);
+		result.append(", fileName: ");
+		result.append(fileName);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalHandlerImpl.java b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalHandlerImpl.java
index cbb2305..4d3933a 100644
--- a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalHandlerImpl.java
+++ b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalHandlerImpl.java
@@ -14,24 +14,17 @@
  */
 package org.eclipse.osbp.xtext.signal.impl;
 
-import java.util.Collection;
-
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.NotificationChain;
 
-import org.eclipse.emf.common.util.EList;
-
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
 
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
 import org.eclipse.osbp.xtext.signal.DataTransfer;
 import org.eclipse.osbp.xtext.signal.SignalDSLPackage;
-import org.eclipse.osbp.xtext.signal.SignalDatainterchange;
+import org.eclipse.osbp.xtext.signal.SignalExecutionTypeEnum;
 import org.eclipse.osbp.xtext.signal.SignalHandler;
 import org.eclipse.osbp.xtext.signal.SignalHandlerTypeEnum;
 
@@ -46,8 +39,8 @@
  *   <li>{@link org.eclipse.osbp.xtext.signal.impl.SignalHandlerImpl#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.signal.impl.SignalHandlerImpl#getActionType <em>Action Type</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.signal.impl.SignalHandlerImpl#getFilemask <em>Filemask</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.signal.impl.SignalHandlerImpl#getDatainterchanges <em>Datainterchanges</em>}</li>
  *   <li>{@link org.eclipse.osbp.xtext.signal.impl.SignalHandlerImpl#getData <em>Data</em>}</li>
+ *   <li>{@link org.eclipse.osbp.xtext.signal.impl.SignalHandlerImpl#getExecutiontype <em>Executiontype</em>}</li>
  * </ul>
  *
  * @generated
@@ -114,16 +107,6 @@
 	protected String filemask = FILEMASK_EDEFAULT;
 
 	/**
-	 * The cached value of the '{@link #getDatainterchanges() <em>Datainterchanges</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDatainterchanges()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<SignalDatainterchange> datainterchanges;
-
-	/**
 	 * The cached value of the '{@link #getData() <em>Data</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -134,6 +117,26 @@
 	protected DataTransfer data;
 
 	/**
+	 * The default value of the '{@link #getExecutiontype() <em>Executiontype</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getExecutiontype()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final SignalExecutionTypeEnum EXECUTIONTYPE_EDEFAULT = SignalExecutionTypeEnum.SYNC;
+
+	/**
+	 * The cached value of the '{@link #getExecutiontype() <em>Executiontype</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getExecutiontype()
+	 * @generated
+	 * @ordered
+	 */
+	protected SignalExecutionTypeEnum executiontype = EXECUTIONTYPE_EDEFAULT;
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -220,18 +223,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EList<SignalDatainterchange> getDatainterchanges() {
-		if (datainterchanges == null) {
-			datainterchanges = new EObjectContainmentEList<SignalDatainterchange>(SignalDatainterchange.class, this, SignalDSLPackage.SIGNAL_HANDLER__DATAINTERCHANGES);
-		}
-		return datainterchanges;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	public DataTransfer getData() {
 		return data;
 	}
@@ -275,11 +266,30 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public SignalExecutionTypeEnum getExecutiontype() {
+		return executiontype;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setExecutiontype(SignalExecutionTypeEnum newExecutiontype) {
+		SignalExecutionTypeEnum oldExecutiontype = executiontype;
+		executiontype = newExecutiontype == null ? EXECUTIONTYPE_EDEFAULT : newExecutiontype;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, SignalDSLPackage.SIGNAL_HANDLER__EXECUTIONTYPE, oldExecutiontype, executiontype));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case SignalDSLPackage.SIGNAL_HANDLER__DATAINTERCHANGES:
-				return ((InternalEList<?>)getDatainterchanges()).basicRemove(otherEnd, msgs);
 			case SignalDSLPackage.SIGNAL_HANDLER__DATA:
 				return basicSetData(null, msgs);
 		}
@@ -300,10 +310,10 @@
 				return getActionType();
 			case SignalDSLPackage.SIGNAL_HANDLER__FILEMASK:
 				return getFilemask();
-			case SignalDSLPackage.SIGNAL_HANDLER__DATAINTERCHANGES:
-				return getDatainterchanges();
 			case SignalDSLPackage.SIGNAL_HANDLER__DATA:
 				return getData();
+			case SignalDSLPackage.SIGNAL_HANDLER__EXECUTIONTYPE:
+				return getExecutiontype();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -313,7 +323,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@SuppressWarnings("unchecked")
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
@@ -326,13 +335,12 @@
 			case SignalDSLPackage.SIGNAL_HANDLER__FILEMASK:
 				setFilemask((String)newValue);
 				return;
-			case SignalDSLPackage.SIGNAL_HANDLER__DATAINTERCHANGES:
-				getDatainterchanges().clear();
-				getDatainterchanges().addAll((Collection<? extends SignalDatainterchange>)newValue);
-				return;
 			case SignalDSLPackage.SIGNAL_HANDLER__DATA:
 				setData((DataTransfer)newValue);
 				return;
+			case SignalDSLPackage.SIGNAL_HANDLER__EXECUTIONTYPE:
+				setExecutiontype((SignalExecutionTypeEnum)newValue);
+				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -354,12 +362,12 @@
 			case SignalDSLPackage.SIGNAL_HANDLER__FILEMASK:
 				setFilemask(FILEMASK_EDEFAULT);
 				return;
-			case SignalDSLPackage.SIGNAL_HANDLER__DATAINTERCHANGES:
-				getDatainterchanges().clear();
-				return;
 			case SignalDSLPackage.SIGNAL_HANDLER__DATA:
 				setData((DataTransfer)null);
 				return;
+			case SignalDSLPackage.SIGNAL_HANDLER__EXECUTIONTYPE:
+				setExecutiontype(EXECUTIONTYPE_EDEFAULT);
+				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -378,10 +386,10 @@
 				return actionType != ACTION_TYPE_EDEFAULT;
 			case SignalDSLPackage.SIGNAL_HANDLER__FILEMASK:
 				return FILEMASK_EDEFAULT == null ? filemask != null : !FILEMASK_EDEFAULT.equals(filemask);
-			case SignalDSLPackage.SIGNAL_HANDLER__DATAINTERCHANGES:
-				return datainterchanges != null && !datainterchanges.isEmpty();
 			case SignalDSLPackage.SIGNAL_HANDLER__DATA:
 				return data != null;
+			case SignalDSLPackage.SIGNAL_HANDLER__EXECUTIONTYPE:
+				return executiontype != EXECUTIONTYPE_EDEFAULT;
 		}
 		return super.eIsSet(featureID);
 	}
@@ -402,6 +410,8 @@
 		result.append(actionType);
 		result.append(", filemask: ");
 		result.append(filemask);
+		result.append(", executiontype: ");
+		result.append(executiontype);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalPackageImpl.java b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalPackageImpl.java
index 00db54d..f0b3fab 100644
--- a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalPackageImpl.java
+++ b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalPackageImpl.java
@@ -29,7 +29,6 @@
 import org.eclipse.osbp.dsl.semantic.common.types.impl.LPackageImpl;
 
 import org.eclipse.osbp.xtext.signal.SignalDSLPackage;
-import org.eclipse.osbp.xtext.signal.SignalHandler;
 import org.eclipse.osbp.xtext.signal.SignalPackage;
 import org.eclipse.osbp.xtext.signal.SignalWatcher;
 
@@ -42,7 +41,6 @@
  * </p>
  * <ul>
  *   <li>{@link org.eclipse.osbp.xtext.signal.impl.SignalPackageImpl#getWatchers <em>Watchers</em>}</li>
- *   <li>{@link org.eclipse.osbp.xtext.signal.impl.SignalPackageImpl#getHandlers <em>Handlers</em>}</li>
  * </ul>
  *
  * @generated
@@ -59,16 +57,6 @@
 	protected EList<SignalWatcher> watchers;
 
 	/**
-	 * The cached value of the '{@link #getHandlers() <em>Handlers</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getHandlers()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<SignalHandler> handlers;
-
-	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -104,25 +92,11 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EList<SignalHandler> getHandlers() {
-		if (handlers == null) {
-			handlers = new EObjectContainmentEList<SignalHandler>(SignalHandler.class, this, SignalDSLPackage.SIGNAL_PACKAGE__HANDLERS);
-		}
-		return handlers;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
 			case SignalDSLPackage.SIGNAL_PACKAGE__WATCHERS:
 				return ((InternalEList<?>)getWatchers()).basicRemove(otherEnd, msgs);
-			case SignalDSLPackage.SIGNAL_PACKAGE__HANDLERS:
-				return ((InternalEList<?>)getHandlers()).basicRemove(otherEnd, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
 	}
@@ -137,8 +111,6 @@
 		switch (featureID) {
 			case SignalDSLPackage.SIGNAL_PACKAGE__WATCHERS:
 				return getWatchers();
-			case SignalDSLPackage.SIGNAL_PACKAGE__HANDLERS:
-				return getHandlers();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -156,10 +128,6 @@
 				getWatchers().clear();
 				getWatchers().addAll((Collection<? extends SignalWatcher>)newValue);
 				return;
-			case SignalDSLPackage.SIGNAL_PACKAGE__HANDLERS:
-				getHandlers().clear();
-				getHandlers().addAll((Collection<? extends SignalHandler>)newValue);
-				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -175,9 +143,6 @@
 			case SignalDSLPackage.SIGNAL_PACKAGE__WATCHERS:
 				getWatchers().clear();
 				return;
-			case SignalDSLPackage.SIGNAL_PACKAGE__HANDLERS:
-				getHandlers().clear();
-				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -192,8 +157,6 @@
 		switch (featureID) {
 			case SignalDSLPackage.SIGNAL_PACKAGE__WATCHERS:
 				return watchers != null && !watchers.isEmpty();
-			case SignalDSLPackage.SIGNAL_PACKAGE__HANDLERS:
-				return handlers != null && !handlers.isEmpty();
 		}
 		return super.eIsSet(featureID);
 	}
diff --git a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalWatcherImpl.java b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalWatcherImpl.java
index 3866c33..e69db30 100644
--- a/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalWatcherImpl.java
+++ b/org.eclipse.osbp.xtext.signal/emf-gen/org/eclipse/osbp/xtext/signal/impl/SignalWatcherImpl.java
@@ -99,7 +99,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final SignalTypeEnum SIGNAL_EDEFAULT = SignalTypeEnum.ALL;
+	protected static final SignalTypeEnum SIGNAL_EDEFAULT = SignalTypeEnum.CREATESIGNALS;
 
 	/**
 	 * The cached value of the '{@link #getSignal() <em>Signal</em>}' attribute.
diff --git a/org.eclipse.osbp.xtext.signal/model/SignalDSL.xcore b/org.eclipse.osbp.xtext.signal/model/SignalDSL.xcore
index e5e5acd..e971238 100644
--- a/org.eclipse.osbp.xtext.signal/model/SignalDSL.xcore
+++ b/org.eclipse.osbp.xtext.signal/model/SignalDSL.xcore
@@ -45,7 +45,6 @@
 
 class SignalPackage extends LPackage {
 	contains SignalWatcher[] watchers
-	contains SignalHandler[] handlers
 }
 
 class SignalBase extends SignalLazyResolver{
@@ -63,8 +62,8 @@
 	String name
 	SignalHandlerTypeEnum actionType
 	String filemask
-	contains SignalDatainterchange[] datainterchanges
 	contains DataTransfer data
+	SignalExecutionTypeEnum executiontype
 //	contains SignalNotification notification
 }
 
@@ -73,6 +72,7 @@
 class SignalDatainterchange extends SignalProcessor {
 	SignalActionEnum dataAction
 	refers DataInterchange dataRef
+	String fileName
 }
 
 class DataTransfer extends SignalLazyResolver {
@@ -83,21 +83,20 @@
 }
 
 class ListTransfer extends DataTransfer {
-	SignalExecutionTypeEnum executiontype
 	contains SignalDatainterchange[] interchanges
 }
 
 enum SignalHandlerTypeEnum {
 	doafter as 'doAfter'	
+//	doafterdelete as 'doAfterDelete'
 	doaftermodify as 'doAfterModify'
 	doaftercreate as 'doAfterCreate'
-	doafterdelete as 'doAfterDelete'
 }
 
 enum SignalTypeEnum{
-	all as 'all'
+//	all as 'all'
+//	deletesignals as 'deleteSignals' 
 	createsignals as 'createSignals' 
-	deletesignals as 'deleteSignals' 
 	modifysignals as 'modifySignals'
 }
 
diff --git a/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/SignalDSL.xtextbin b/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/SignalDSL.xtextbin
new file mode 100644
index 0000000..17c810a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/SignalDSL.xtextbin
Binary files differ
diff --git a/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/parser/antlr/internal/InternalSignalDSL.g b/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/parser/antlr/internal/InternalSignalDSL.g
index 51cfbaf..09723b3 100644
--- a/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/parser/antlr/internal/InternalSignalDSL.g
+++ b/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/parser/antlr/internal/InternalSignalDSL.g
@@ -205,7 +205,7 @@
 			{
 				newLeafNode(otherlv_5, grammarAccess.getSignalPackageAccess().getRightCurlyBracketKeyword_3_2());
 			}
-		)
+		)?
 	)
 ;
 
@@ -238,19 +238,20 @@
 		}
 		(
 			(
-				lv_name_2_0=RULE_ID
 				{
-					newLeafNode(lv_name_2_0, grammarAccess.getSignalWatcherAccess().getNameIDTerminalRuleCall_2_0());
+					newCompositeNode(grammarAccess.getSignalWatcherAccess().getNameTRANSLATABLEIDParserRuleCall_2_0());
 				}
+				lv_name_2_0=ruleTRANSLATABLEID
 				{
 					if ($current==null) {
-						$current = createModelElement(grammarAccess.getSignalWatcherRule());
+						$current = createModelElementForParent(grammarAccess.getSignalWatcherRule());
 					}
-					setWithLastConsumed(
+					set(
 						$current,
 						"name",
 						lv_name_2_0,
-						"org.eclipse.xtext.xbase.Xtype.ID");
+						"org.eclipse.osbp.xtext.signal.SignalDSL.TRANSLATABLEID");
+					afterParserOrEnumRuleCall();
 				}
 			)
 		)
@@ -358,19 +359,20 @@
 		}
 		(
 			(
-				lv_name_2_0=RULE_ID
 				{
-					newLeafNode(lv_name_2_0, grammarAccess.getSignalHandlerAccess().getNameIDTerminalRuleCall_2_0());
+					newCompositeNode(grammarAccess.getSignalHandlerAccess().getNameTRANSLATABLEIDParserRuleCall_2_0());
 				}
+				lv_name_2_0=ruleTRANSLATABLEID
 				{
 					if ($current==null) {
-						$current = createModelElement(grammarAccess.getSignalHandlerRule());
+						$current = createModelElementForParent(grammarAccess.getSignalHandlerRule());
 					}
-					setWithLastConsumed(
+					set(
 						$current,
 						"name",
 						lv_name_2_0,
-						"org.eclipse.xtext.xbase.Xtype.ID");
+						"org.eclipse.osbp.xtext.signal.SignalDSL.TRANSLATABLEID");
+					afterParserOrEnumRuleCall();
 				}
 			)
 		)
@@ -412,13 +414,28 @@
 				}
 			)
 		)
-		otherlv_5='for'
+		(
+			(
+				{
+					newCompositeNode(grammarAccess.getSignalHandlerAccess().getExecutiontypeSignalExecutionTypeEnumEnumRuleCall_5_0());
+				}
+				lv_executiontype_5_0=ruleSignalExecutionTypeEnum
+				{
+					if ($current==null) {
+						$current = createModelElementForParent(grammarAccess.getSignalHandlerRule());
+					}
+					set(
+						$current,
+						"executiontype",
+						lv_executiontype_5_0,
+						"org.eclipse.osbp.xtext.signal.SignalDSL.SignalExecutionTypeEnum");
+					afterParserOrEnumRuleCall();
+				}
+			)
+		)?
+		otherlv_6='forFileMask'
 		{
-			newLeafNode(otherlv_5, grammarAccess.getSignalHandlerAccess().getForKeyword_5());
-		}
-		otherlv_6='fileMask'
-		{
-			newLeafNode(otherlv_6, grammarAccess.getSignalHandlerAccess().getFileMaskKeyword_6());
+			newLeafNode(otherlv_6, grammarAccess.getSignalHandlerAccess().getForFileMaskKeyword_6());
 		}
 		(
 			(
@@ -504,35 +521,16 @@
 		{
 			newLeafNode(otherlv_1, grammarAccess.getListTransferAccess().getDataTransferKeyword_1());
 		}
-		(
-			(
-				{
-					newCompositeNode(grammarAccess.getListTransferAccess().getExecutiontypeSignalExecutionTypeEnumEnumRuleCall_2_0());
-				}
-				lv_executiontype_2_0=ruleSignalExecutionTypeEnum
-				{
-					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getListTransferRule());
-					}
-					set(
-						$current,
-						"executiontype",
-						lv_executiontype_2_0,
-						"org.eclipse.osbp.xtext.signal.SignalDSL.SignalExecutionTypeEnum");
-					afterParserOrEnumRuleCall();
-				}
-			)
-		)?
-		otherlv_3='{'
+		otherlv_2='{'
 		{
-			newLeafNode(otherlv_3, grammarAccess.getListTransferAccess().getLeftCurlyBracketKeyword_3());
+			newLeafNode(otherlv_2, grammarAccess.getListTransferAccess().getLeftCurlyBracketKeyword_2());
 		}
 		(
 			(
 				{
-					newCompositeNode(grammarAccess.getListTransferAccess().getInterchangesSignalDatainterchangeParserRuleCall_4_0());
+					newCompositeNode(grammarAccess.getListTransferAccess().getInterchangesSignalDatainterchangeParserRuleCall_3_0());
 				}
-				lv_interchanges_4_0=ruleSignalDatainterchange
+				lv_interchanges_3_0=ruleSignalDatainterchange
 				{
 					if ($current==null) {
 						$current = createModelElementForParent(grammarAccess.getListTransferRule());
@@ -540,15 +538,15 @@
 					add(
 						$current,
 						"interchanges",
-						lv_interchanges_4_0,
+						lv_interchanges_3_0,
 						"org.eclipse.osbp.xtext.signal.SignalDSL.SignalDatainterchange");
 					afterParserOrEnumRuleCall();
 				}
 			)
 		)*
-		otherlv_5='}'
+		otherlv_4='}'
 		{
-			newLeafNode(otherlv_5, grammarAccess.getListTransferAccess().getRightCurlyBracketKeyword_5());
+			newLeafNode(otherlv_4, grammarAccess.getListTransferAccess().getRightCurlyBracketKeyword_4());
 		}
 	)
 ;
@@ -637,9 +635,55 @@
 				}
 			)
 		)
+		otherlv_2='fileName'
+		{
+			newLeafNode(otherlv_2, grammarAccess.getSignalDatainterchangeAccess().getFileNameKeyword_2());
+		}
+		(
+			(
+				lv_fileName_3_0=RULE_STRING
+				{
+					newLeafNode(lv_fileName_3_0, grammarAccess.getSignalDatainterchangeAccess().getFileNameSTRINGTerminalRuleCall_3_0());
+				}
+				{
+					if ($current==null) {
+						$current = createModelElement(grammarAccess.getSignalDatainterchangeRule());
+					}
+					setWithLastConsumed(
+						$current,
+						"fileName",
+						lv_fileName_3_0,
+						"org.eclipse.xtext.xbase.Xtype.STRING");
+				}
+			)
+		)
 	)
 ;
 
+// Entry rule entryRuleTRANSLATABLEID
+entryRuleTRANSLATABLEID returns [String current=null]:
+	{ newCompositeNode(grammarAccess.getTRANSLATABLEIDRule()); }
+	iv_ruleTRANSLATABLEID=ruleTRANSLATABLEID
+	{ $current=$iv_ruleTRANSLATABLEID.current.getText(); }
+	EOF;
+
+// Rule TRANSLATABLEID
+ruleTRANSLATABLEID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+@init {
+	enterRule();
+}
+@after {
+	leaveRule();
+}:
+	this_ID_0=RULE_ID
+	{
+		$current.merge(this_ID_0);
+	}
+	{
+		newLeafNode(this_ID_0, grammarAccess.getTRANSLATABLEIDAccess().getIDTerminalRuleCall());
+	}
+;
+
 // Entry rule entryRuleXImportDeclaration
 entryRuleXImportDeclaration returns [EObject current=null]:
 	{ newCompositeNode(grammarAccess.getXImportDeclarationRule()); }
@@ -7538,34 +7582,18 @@
 }:
 	(
 		(
-			enumLiteral_0='all'
+			enumLiteral_0='createSignals'
 			{
-				$current = grammarAccess.getSignalTypeEnumAccess().getAllEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-				newLeafNode(enumLiteral_0, grammarAccess.getSignalTypeEnumAccess().getAllEnumLiteralDeclaration_0());
+				$current = grammarAccess.getSignalTypeEnumAccess().getCreatesignalsEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+				newLeafNode(enumLiteral_0, grammarAccess.getSignalTypeEnumAccess().getCreatesignalsEnumLiteralDeclaration_0());
 			}
 		)
 		    |
 		(
-			enumLiteral_1='createSignals'
+			enumLiteral_1='modifySignals'
 			{
-				$current = grammarAccess.getSignalTypeEnumAccess().getCreatesignalsEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-				newLeafNode(enumLiteral_1, grammarAccess.getSignalTypeEnumAccess().getCreatesignalsEnumLiteralDeclaration_1());
-			}
-		)
-		    |
-		(
-			enumLiteral_2='modifySignals'
-			{
-				$current = grammarAccess.getSignalTypeEnumAccess().getModifysignalsEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
-				newLeafNode(enumLiteral_2, grammarAccess.getSignalTypeEnumAccess().getModifysignalsEnumLiteralDeclaration_2());
-			}
-		)
-		    |
-		(
-			enumLiteral_3='deleteSignals'
-			{
-				$current = grammarAccess.getSignalTypeEnumAccess().getDeletesignalsEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
-				newLeafNode(enumLiteral_3, grammarAccess.getSignalTypeEnumAccess().getDeletesignalsEnumLiteralDeclaration_3());
+				$current = grammarAccess.getSignalTypeEnumAccess().getModifysignalsEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+				newLeafNode(enumLiteral_1, grammarAccess.getSignalTypeEnumAccess().getModifysignalsEnumLiteralDeclaration_1());
 			}
 		)
 	)
@@ -7581,34 +7609,18 @@
 }:
 	(
 		(
-			enumLiteral_0='doAfter'
+			enumLiteral_0='doAfterModify'
 			{
-				$current = grammarAccess.getSignalHandlerTypeEnumAccess().getDoafterEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-				newLeafNode(enumLiteral_0, grammarAccess.getSignalHandlerTypeEnumAccess().getDoafterEnumLiteralDeclaration_0());
+				$current = grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftermodifyEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+				newLeafNode(enumLiteral_0, grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftermodifyEnumLiteralDeclaration_0());
 			}
 		)
 		    |
 		(
-			enumLiteral_1='doAfterModify'
+			enumLiteral_1='doAfterCreate'
 			{
-				$current = grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftermodifyEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-				newLeafNode(enumLiteral_1, grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftermodifyEnumLiteralDeclaration_1());
-			}
-		)
-		    |
-		(
-			enumLiteral_2='doAfterCreate'
-			{
-				$current = grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftercreateEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
-				newLeafNode(enumLiteral_2, grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftercreateEnumLiteralDeclaration_2());
-			}
-		)
-		    |
-		(
-			enumLiteral_3='doAfterDelete'
-			{
-				$current = grammarAccess.getSignalHandlerTypeEnumAccess().getDoafterdeleteEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
-				newLeafNode(enumLiteral_3, grammarAccess.getSignalHandlerTypeEnumAccess().getDoafterdeleteEnumLiteralDeclaration_3());
+				$current = grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftercreateEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+				newLeafNode(enumLiteral_1, grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftercreateEnumLiteralDeclaration_1());
 			}
 		)
 	)
diff --git a/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/parser/antlr/internal/InternalSignalDSL.tokens b/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/parser/antlr/internal/InternalSignalDSL.tokens
index 188e174..e8ef6af 100644
--- a/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/parser/antlr/internal/InternalSignalDSL.tokens
+++ b/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/parser/antlr/internal/InternalSignalDSL.tokens
@@ -1,113 +1,107 @@
-'!'=62
-'!='=47
-'!=='=49
-'#'=33
-'%'=61
-'%='=40
-'&&'=45
-'&'=94
-'('=29
-')'=31
-'*'=25
-'**'=59
-'*='=38
-'+'=57
-'++'=64
-'+='=36
-','=30
-'-'=58
-'--'=65
-'-='=37
-'->'=51
-'.'=66
-'..'=53
-'..<'=52
-'/'=60
-'/='=39
-':'=73
-'::'=67
-';'=27
-'<'=41
-'<>'=55
-'='=32
-'=='=46
-'==='=48
-'=>'=54
-'>'=42
-'>='=43
-'?'=93
-'?.'=68
-'?:'=56
-'@'=28
+'!'=63
+'!='=48
+'!=='=50
+'#'=34
+'%'=62
+'%='=41
+'&&'=46
+'&'=95
+'('=30
+')'=32
+'*'=26
+'**'=60
+'*='=39
+'+'=58
+'++'=65
+'+='=37
+','=31
+'-'=59
+'--'=66
+'-='=38
+'->'=52
+'.'=67
+'..'=54
+'..<'=53
+'/'=61
+'/='=40
+':'=74
+'::'=68
+';'=28
+'<'=42
+'<>'=56
+'='=33
+'=='=47
+'==='=49
+'=>'=55
+'>'=43
+'>='=44
+'?'=94
+'?.'=69
+'?:'=57
+'@'=29
 'DataTransfer'=21
-'Export'=96
-'Import'=95
-'['=34
-']'=35
-'all'=97
-'as'=63
-'asynch'=106
-'case'=75
-'catch'=92
+'Export'=97
+'Import'=96
+'['=35
+']'=36
+'as'=64
+'asynch'=103
+'case'=76
+'catch'=93
 'createSignals'=98
-'default'=74
-'deleteSignals'=100
+'default'=75
 'directory'=17
-'do'=77
-'doAfter'=101
-'doAfterCreate'=103
-'doAfterDelete'=104
-'doAfterModify'=102
-'else'=71
-'extends'=80
-'extension'=24
-'false'=83
-'fileMask'=20
-'finally'=90
+'do'=78
+'doAfterCreate'=101
+'doAfterModify'=100
+'else'=72
+'extends'=81
+'extension'=25
+'false'=84
+'fileName'=22
+'finally'=91
 'for'=18
+'forFileMask'=20
 'handler'=19
-'if'=70
-'import'=22
-'instanceof'=50
+'if'=71
+'import'=23
+'instanceof'=51
 'modifySignals'=99
-'new'=82
-'ns'=26
-'null'=85
+'new'=83
+'ns'=27
+'null'=86
 'package'=13
-'return'=88
-'static'=23
-'super'=81
-'switch'=72
-'synch'=105
-'synchronized'=91
-'throw'=87
-'true'=84
-'try'=89
-'typeof'=86
-'val'=79
-'var'=78
+'return'=89
+'static'=24
+'super'=82
+'switch'=73
+'synch'=102
+'synchronized'=92
+'throw'=88
+'true'=85
+'try'=90
+'typeof'=87
+'val'=80
+'var'=79
 'watcher'=16
-'while'=76
+'while'=77
 '{'=14
-'|'=69
-'||'=44
+'|'=70
+'||'=45
 '}'=15
 RULE_ANY_OTHER=12
 RULE_DECIMAL=8
 RULE_HEX=6
-RULE_ID=4
+RULE_ID=5
 RULE_INT=7
 RULE_ML_COMMENT=9
 RULE_SL_COMMENT=10
-RULE_STRING=5
+RULE_STRING=4
 RULE_WS=11
 T__100=100
 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/src-gen/org/eclipse/osbp/xtext/signal/parser/antlr/internal/InternalSignalDSLLexer.java b/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/parser/antlr/internal/InternalSignalDSLLexer.java
index 1cfb354..74f50fc 100644
--- a/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/parser/antlr/internal/InternalSignalDSLLexer.java
+++ b/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/parser/antlr/internal/InternalSignalDSLLexer.java
@@ -25,7 +25,7 @@
     public static final int T__54=54;
     public static final int T__60=60;
     public static final int T__61=61;
-    public static final int RULE_ID=4;
+    public static final int RULE_ID=5;
     public static final int RULE_INT=7;
     public static final int T__66=66;
     public static final int RULE_ML_COMMENT=9;
@@ -90,7 +90,7 @@
     public static final int T__70=70;
     public static final int T__71=71;
     public static final int T__72=72;
-    public static final int RULE_STRING=5;
+    public static final int RULE_STRING=4;
     public static final int RULE_SL_COMMENT=10;
     public static final int T__77=77;
     public static final int T__78=78;
@@ -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
@@ -280,10 +277,10 @@
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:18:7: ( 'fileMask' )
-            // InternalSignalDSL.g:18:9: 'fileMask'
+            // InternalSignalDSL.g:18:7: ( 'forFileMask' )
+            // InternalSignalDSL.g:18:9: 'forFileMask'
             {
-            match("fileMask"); 
+            match("forFileMask"); 
 
 
             }
@@ -322,10 +319,10 @@
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:20:7: ( 'import' )
-            // InternalSignalDSL.g:20:9: 'import'
+            // InternalSignalDSL.g:20:7: ( 'fileName' )
+            // InternalSignalDSL.g:20:9: 'fileName'
             {
-            match("import"); 
+            match("fileName"); 
 
 
             }
@@ -343,10 +340,10 @@
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:21:7: ( 'static' )
-            // InternalSignalDSL.g:21:9: 'static'
+            // InternalSignalDSL.g:21:7: ( 'import' )
+            // InternalSignalDSL.g:21:9: 'import'
             {
-            match("static"); 
+            match("import"); 
 
 
             }
@@ -364,10 +361,10 @@
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:22:7: ( 'extension' )
-            // InternalSignalDSL.g:22:9: 'extension'
+            // InternalSignalDSL.g:22:7: ( 'static' )
+            // InternalSignalDSL.g:22:9: 'static'
             {
-            match("extension"); 
+            match("static"); 
 
 
             }
@@ -385,10 +382,11 @@
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:23:7: ( '*' )
-            // InternalSignalDSL.g:23:9: '*'
+            // InternalSignalDSL.g:23:7: ( 'extension' )
+            // InternalSignalDSL.g:23:9: 'extension'
             {
-            match('*'); 
+            match("extension"); 
+
 
             }
 
@@ -405,11 +403,10 @@
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:24:7: ( 'ns' )
-            // InternalSignalDSL.g:24:9: 'ns'
+            // InternalSignalDSL.g:24:7: ( '*' )
+            // InternalSignalDSL.g:24:9: '*'
             {
-            match("ns"); 
-
+            match('*'); 
 
             }
 
@@ -426,10 +423,11 @@
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:25:7: ( ';' )
-            // InternalSignalDSL.g:25:9: ';'
+            // InternalSignalDSL.g:25:7: ( 'ns' )
+            // InternalSignalDSL.g:25:9: 'ns'
             {
-            match(';'); 
+            match("ns"); 
+
 
             }
 
@@ -446,10 +444,10 @@
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:26:7: ( '@' )
-            // InternalSignalDSL.g:26:9: '@'
+            // InternalSignalDSL.g:26:7: ( ';' )
+            // InternalSignalDSL.g:26:9: ';'
             {
-            match('@'); 
+            match(';'); 
 
             }
 
@@ -466,10 +464,10 @@
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:27:7: ( '(' )
-            // InternalSignalDSL.g:27:9: '('
+            // InternalSignalDSL.g:27:7: ( '@' )
+            // InternalSignalDSL.g:27:9: '@'
             {
-            match('('); 
+            match('@'); 
 
             }
 
@@ -486,10 +484,10 @@
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:28:7: ( ',' )
-            // InternalSignalDSL.g:28:9: ','
+            // InternalSignalDSL.g:28:7: ( '(' )
+            // InternalSignalDSL.g:28:9: '('
             {
-            match(','); 
+            match('('); 
 
             }
 
@@ -506,10 +504,10 @@
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:29:7: ( ')' )
-            // InternalSignalDSL.g:29:9: ')'
+            // InternalSignalDSL.g:29:7: ( ',' )
+            // InternalSignalDSL.g:29:9: ','
             {
-            match(')'); 
+            match(','); 
 
             }
 
@@ -526,10 +524,10 @@
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:30:7: ( '=' )
-            // InternalSignalDSL.g:30:9: '='
+            // InternalSignalDSL.g:30:7: ( ')' )
+            // InternalSignalDSL.g:30:9: ')'
             {
-            match('='); 
+            match(')'); 
 
             }
 
@@ -546,10 +544,10 @@
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:31:7: ( '#' )
-            // InternalSignalDSL.g:31:9: '#'
+            // InternalSignalDSL.g:31:7: ( '=' )
+            // InternalSignalDSL.g:31:9: '='
             {
-            match('#'); 
+            match('='); 
 
             }
 
@@ -566,10 +564,10 @@
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:32:7: ( '[' )
-            // InternalSignalDSL.g:32:9: '['
+            // InternalSignalDSL.g:32:7: ( '#' )
+            // InternalSignalDSL.g:32:9: '#'
             {
-            match('['); 
+            match('#'); 
 
             }
 
@@ -586,10 +584,10 @@
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:33:7: ( ']' )
-            // InternalSignalDSL.g:33:9: ']'
+            // InternalSignalDSL.g:33:7: ( '[' )
+            // InternalSignalDSL.g:33:9: '['
             {
-            match(']'); 
+            match('['); 
 
             }
 
@@ -606,11 +604,10 @@
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:34:7: ( '+=' )
-            // InternalSignalDSL.g:34:9: '+='
+            // InternalSignalDSL.g:34:7: ( ']' )
+            // InternalSignalDSL.g:34:9: ']'
             {
-            match("+="); 
-
+            match(']'); 
 
             }
 
@@ -627,10 +624,10 @@
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:35:7: ( '-=' )
-            // InternalSignalDSL.g:35:9: '-='
+            // InternalSignalDSL.g:35:7: ( '+=' )
+            // InternalSignalDSL.g:35:9: '+='
             {
-            match("-="); 
+            match("+="); 
 
 
             }
@@ -648,10 +645,10 @@
         try {
             int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:36:7: ( '*=' )
-            // InternalSignalDSL.g:36:9: '*='
+            // InternalSignalDSL.g:36:7: ( '-=' )
+            // InternalSignalDSL.g:36:9: '-='
             {
-            match("*="); 
+            match("-="); 
 
 
             }
@@ -669,10 +666,10 @@
         try {
             int _type = T__39;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:37:7: ( '/=' )
-            // InternalSignalDSL.g:37:9: '/='
+            // InternalSignalDSL.g:37:7: ( '*=' )
+            // InternalSignalDSL.g:37:9: '*='
             {
-            match("/="); 
+            match("*="); 
 
 
             }
@@ -690,10 +687,10 @@
         try {
             int _type = T__40;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:38:7: ( '%=' )
-            // InternalSignalDSL.g:38:9: '%='
+            // InternalSignalDSL.g:38:7: ( '/=' )
+            // InternalSignalDSL.g:38:9: '/='
             {
-            match("%="); 
+            match("/="); 
 
 
             }
@@ -711,10 +708,11 @@
         try {
             int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:39:7: ( '<' )
-            // InternalSignalDSL.g:39:9: '<'
+            // InternalSignalDSL.g:39:7: ( '%=' )
+            // InternalSignalDSL.g:39:9: '%='
             {
-            match('<'); 
+            match("%="); 
+
 
             }
 
@@ -731,10 +729,10 @@
         try {
             int _type = T__42;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:40:7: ( '>' )
-            // InternalSignalDSL.g:40:9: '>'
+            // InternalSignalDSL.g:40:7: ( '<' )
+            // InternalSignalDSL.g:40:9: '<'
             {
-            match('>'); 
+            match('<'); 
 
             }
 
@@ -751,11 +749,10 @@
         try {
             int _type = T__43;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:41:7: ( '>=' )
-            // InternalSignalDSL.g:41:9: '>='
+            // InternalSignalDSL.g:41:7: ( '>' )
+            // InternalSignalDSL.g:41:9: '>'
             {
-            match(">="); 
-
+            match('>'); 
 
             }
 
@@ -772,10 +769,10 @@
         try {
             int _type = T__44;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:42:7: ( '||' )
-            // InternalSignalDSL.g:42:9: '||'
+            // InternalSignalDSL.g:42:7: ( '>=' )
+            // InternalSignalDSL.g:42:9: '>='
             {
-            match("||"); 
+            match(">="); 
 
 
             }
@@ -793,10 +790,10 @@
         try {
             int _type = T__45;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:43:7: ( '&&' )
-            // InternalSignalDSL.g:43:9: '&&'
+            // InternalSignalDSL.g:43:7: ( '||' )
+            // InternalSignalDSL.g:43:9: '||'
             {
-            match("&&"); 
+            match("||"); 
 
 
             }
@@ -814,10 +811,10 @@
         try {
             int _type = T__46;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:44:7: ( '==' )
-            // InternalSignalDSL.g:44:9: '=='
+            // InternalSignalDSL.g:44:7: ( '&&' )
+            // InternalSignalDSL.g:44:9: '&&'
             {
-            match("=="); 
+            match("&&"); 
 
 
             }
@@ -835,10 +832,10 @@
         try {
             int _type = T__47;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:45:7: ( '!=' )
-            // InternalSignalDSL.g:45:9: '!='
+            // InternalSignalDSL.g:45:7: ( '==' )
+            // InternalSignalDSL.g:45:9: '=='
             {
-            match("!="); 
+            match("=="); 
 
 
             }
@@ -856,10 +853,10 @@
         try {
             int _type = T__48;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:46:7: ( '===' )
-            // InternalSignalDSL.g:46:9: '==='
+            // InternalSignalDSL.g:46:7: ( '!=' )
+            // InternalSignalDSL.g:46:9: '!='
             {
-            match("==="); 
+            match("!="); 
 
 
             }
@@ -877,10 +874,10 @@
         try {
             int _type = T__49;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:47:7: ( '!==' )
-            // InternalSignalDSL.g:47:9: '!=='
+            // InternalSignalDSL.g:47:7: ( '===' )
+            // InternalSignalDSL.g:47:9: '==='
             {
-            match("!=="); 
+            match("==="); 
 
 
             }
@@ -898,10 +895,10 @@
         try {
             int _type = T__50;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:48:7: ( 'instanceof' )
-            // InternalSignalDSL.g:48:9: 'instanceof'
+            // InternalSignalDSL.g:48:7: ( '!==' )
+            // InternalSignalDSL.g:48:9: '!=='
             {
-            match("instanceof"); 
+            match("!=="); 
 
 
             }
@@ -919,10 +916,10 @@
         try {
             int _type = T__51;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:49:7: ( '->' )
-            // InternalSignalDSL.g:49:9: '->'
+            // InternalSignalDSL.g:49:7: ( 'instanceof' )
+            // InternalSignalDSL.g:49:9: 'instanceof'
             {
-            match("->"); 
+            match("instanceof"); 
 
 
             }
@@ -940,10 +937,10 @@
         try {
             int _type = T__52;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:50:7: ( '..<' )
-            // InternalSignalDSL.g:50:9: '..<'
+            // InternalSignalDSL.g:50:7: ( '->' )
+            // InternalSignalDSL.g:50:9: '->'
             {
-            match("..<"); 
+            match("->"); 
 
 
             }
@@ -961,10 +958,10 @@
         try {
             int _type = T__53;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:51:7: ( '..' )
-            // InternalSignalDSL.g:51:9: '..'
+            // InternalSignalDSL.g:51:7: ( '..<' )
+            // InternalSignalDSL.g:51:9: '..<'
             {
-            match(".."); 
+            match("..<"); 
 
 
             }
@@ -982,10 +979,10 @@
         try {
             int _type = T__54;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:52:7: ( '=>' )
-            // InternalSignalDSL.g:52:9: '=>'
+            // InternalSignalDSL.g:52:7: ( '..' )
+            // InternalSignalDSL.g:52:9: '..'
             {
-            match("=>"); 
+            match(".."); 
 
 
             }
@@ -1003,10 +1000,10 @@
         try {
             int _type = T__55;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:53:7: ( '<>' )
-            // InternalSignalDSL.g:53:9: '<>'
+            // InternalSignalDSL.g:53:7: ( '=>' )
+            // InternalSignalDSL.g:53:9: '=>'
             {
-            match("<>"); 
+            match("=>"); 
 
 
             }
@@ -1024,10 +1021,10 @@
         try {
             int _type = T__56;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:54:7: ( '?:' )
-            // InternalSignalDSL.g:54:9: '?:'
+            // InternalSignalDSL.g:54:7: ( '<>' )
+            // InternalSignalDSL.g:54:9: '<>'
             {
-            match("?:"); 
+            match("<>"); 
 
 
             }
@@ -1045,10 +1042,11 @@
         try {
             int _type = T__57;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:55:7: ( '+' )
-            // InternalSignalDSL.g:55:9: '+'
+            // InternalSignalDSL.g:55:7: ( '?:' )
+            // InternalSignalDSL.g:55:9: '?:'
             {
-            match('+'); 
+            match("?:"); 
+
 
             }
 
@@ -1065,10 +1063,10 @@
         try {
             int _type = T__58;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:56:7: ( '-' )
-            // InternalSignalDSL.g:56:9: '-'
+            // InternalSignalDSL.g:56:7: ( '+' )
+            // InternalSignalDSL.g:56:9: '+'
             {
-            match('-'); 
+            match('+'); 
 
             }
 
@@ -1085,11 +1083,10 @@
         try {
             int _type = T__59;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:57:7: ( '**' )
-            // InternalSignalDSL.g:57:9: '**'
+            // InternalSignalDSL.g:57:7: ( '-' )
+            // InternalSignalDSL.g:57:9: '-'
             {
-            match("**"); 
-
+            match('-'); 
 
             }
 
@@ -1106,10 +1103,11 @@
         try {
             int _type = T__60;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:58:7: ( '/' )
-            // InternalSignalDSL.g:58:9: '/'
+            // InternalSignalDSL.g:58:7: ( '**' )
+            // InternalSignalDSL.g:58:9: '**'
             {
-            match('/'); 
+            match("**"); 
+
 
             }
 
@@ -1126,10 +1124,10 @@
         try {
             int _type = T__61;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:59:7: ( '%' )
-            // InternalSignalDSL.g:59:9: '%'
+            // InternalSignalDSL.g:59:7: ( '/' )
+            // InternalSignalDSL.g:59:9: '/'
             {
-            match('%'); 
+            match('/'); 
 
             }
 
@@ -1146,10 +1144,10 @@
         try {
             int _type = T__62;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:60:7: ( '!' )
-            // InternalSignalDSL.g:60:9: '!'
+            // InternalSignalDSL.g:60:7: ( '%' )
+            // InternalSignalDSL.g:60:9: '%'
             {
-            match('!'); 
+            match('%'); 
 
             }
 
@@ -1166,11 +1164,10 @@
         try {
             int _type = T__63;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:61:7: ( 'as' )
-            // InternalSignalDSL.g:61:9: 'as'
+            // InternalSignalDSL.g:61:7: ( '!' )
+            // InternalSignalDSL.g:61:9: '!'
             {
-            match("as"); 
-
+            match('!'); 
 
             }
 
@@ -1187,10 +1184,10 @@
         try {
             int _type = T__64;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:62:7: ( '++' )
-            // InternalSignalDSL.g:62:9: '++'
+            // InternalSignalDSL.g:62:7: ( 'as' )
+            // InternalSignalDSL.g:62:9: 'as'
             {
-            match("++"); 
+            match("as"); 
 
 
             }
@@ -1208,10 +1205,10 @@
         try {
             int _type = T__65;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:63:7: ( '--' )
-            // InternalSignalDSL.g:63:9: '--'
+            // InternalSignalDSL.g:63:7: ( '++' )
+            // InternalSignalDSL.g:63:9: '++'
             {
-            match("--"); 
+            match("++"); 
 
 
             }
@@ -1229,10 +1226,11 @@
         try {
             int _type = T__66;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:64:7: ( '.' )
-            // InternalSignalDSL.g:64:9: '.'
+            // InternalSignalDSL.g:64:7: ( '--' )
+            // InternalSignalDSL.g:64:9: '--'
             {
-            match('.'); 
+            match("--"); 
+
 
             }
 
@@ -1249,11 +1247,10 @@
         try {
             int _type = T__67;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:65:7: ( '::' )
-            // InternalSignalDSL.g:65:9: '::'
+            // InternalSignalDSL.g:65:7: ( '.' )
+            // InternalSignalDSL.g:65:9: '.'
             {
-            match("::"); 
-
+            match('.'); 
 
             }
 
@@ -1270,10 +1267,10 @@
         try {
             int _type = T__68;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:66:7: ( '?.' )
-            // InternalSignalDSL.g:66:9: '?.'
+            // InternalSignalDSL.g:66:7: ( '::' )
+            // InternalSignalDSL.g:66:9: '::'
             {
-            match("?."); 
+            match("::"); 
 
 
             }
@@ -1291,10 +1288,11 @@
         try {
             int _type = T__69;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:67:7: ( '|' )
-            // InternalSignalDSL.g:67:9: '|'
+            // InternalSignalDSL.g:67:7: ( '?.' )
+            // InternalSignalDSL.g:67:9: '?.'
             {
-            match('|'); 
+            match("?."); 
+
 
             }
 
@@ -1311,11 +1309,10 @@
         try {
             int _type = T__70;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:68:7: ( 'if' )
-            // InternalSignalDSL.g:68:9: 'if'
+            // InternalSignalDSL.g:68:7: ( '|' )
+            // InternalSignalDSL.g:68:9: '|'
             {
-            match("if"); 
-
+            match('|'); 
 
             }
 
@@ -1332,10 +1329,10 @@
         try {
             int _type = T__71;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:69:7: ( 'else' )
-            // InternalSignalDSL.g:69:9: 'else'
+            // InternalSignalDSL.g:69:7: ( 'if' )
+            // InternalSignalDSL.g:69:9: 'if'
             {
-            match("else"); 
+            match("if"); 
 
 
             }
@@ -1353,10 +1350,10 @@
         try {
             int _type = T__72;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:70:7: ( 'switch' )
-            // InternalSignalDSL.g:70:9: 'switch'
+            // InternalSignalDSL.g:70:7: ( 'else' )
+            // InternalSignalDSL.g:70:9: 'else'
             {
-            match("switch"); 
+            match("else"); 
 
 
             }
@@ -1374,10 +1371,11 @@
         try {
             int _type = T__73;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:71:7: ( ':' )
-            // InternalSignalDSL.g:71:9: ':'
+            // InternalSignalDSL.g:71:7: ( 'switch' )
+            // InternalSignalDSL.g:71:9: 'switch'
             {
-            match(':'); 
+            match("switch"); 
+
 
             }
 
@@ -1394,11 +1392,10 @@
         try {
             int _type = T__74;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:72:7: ( 'default' )
-            // InternalSignalDSL.g:72:9: 'default'
+            // InternalSignalDSL.g:72:7: ( ':' )
+            // InternalSignalDSL.g:72:9: ':'
             {
-            match("default"); 
-
+            match(':'); 
 
             }
 
@@ -1415,10 +1412,10 @@
         try {
             int _type = T__75;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:73:7: ( 'case' )
-            // InternalSignalDSL.g:73:9: 'case'
+            // InternalSignalDSL.g:73:7: ( 'default' )
+            // InternalSignalDSL.g:73:9: 'default'
             {
-            match("case"); 
+            match("default"); 
 
 
             }
@@ -1436,10 +1433,10 @@
         try {
             int _type = T__76;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:74:7: ( 'while' )
-            // InternalSignalDSL.g:74:9: 'while'
+            // InternalSignalDSL.g:74:7: ( 'case' )
+            // InternalSignalDSL.g:74:9: 'case'
             {
-            match("while"); 
+            match("case"); 
 
 
             }
@@ -1457,10 +1454,10 @@
         try {
             int _type = T__77;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:75:7: ( 'do' )
-            // InternalSignalDSL.g:75:9: 'do'
+            // InternalSignalDSL.g:75:7: ( 'while' )
+            // InternalSignalDSL.g:75:9: 'while'
             {
-            match("do"); 
+            match("while"); 
 
 
             }
@@ -1478,10 +1475,10 @@
         try {
             int _type = T__78;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:76:7: ( 'var' )
-            // InternalSignalDSL.g:76:9: 'var'
+            // InternalSignalDSL.g:76:7: ( 'do' )
+            // InternalSignalDSL.g:76:9: 'do'
             {
-            match("var"); 
+            match("do"); 
 
 
             }
@@ -1499,10 +1496,10 @@
         try {
             int _type = T__79;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:77:7: ( 'val' )
-            // InternalSignalDSL.g:77:9: 'val'
+            // InternalSignalDSL.g:77:7: ( 'var' )
+            // InternalSignalDSL.g:77:9: 'var'
             {
-            match("val"); 
+            match("var"); 
 
 
             }
@@ -1520,10 +1517,10 @@
         try {
             int _type = T__80;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:78:7: ( 'extends' )
-            // InternalSignalDSL.g:78:9: 'extends'
+            // InternalSignalDSL.g:78:7: ( 'val' )
+            // InternalSignalDSL.g:78:9: 'val'
             {
-            match("extends"); 
+            match("val"); 
 
 
             }
@@ -1541,10 +1538,10 @@
         try {
             int _type = T__81;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:79:7: ( 'super' )
-            // InternalSignalDSL.g:79:9: 'super'
+            // InternalSignalDSL.g:79:7: ( 'extends' )
+            // InternalSignalDSL.g:79:9: 'extends'
             {
-            match("super"); 
+            match("extends"); 
 
 
             }
@@ -1562,10 +1559,10 @@
         try {
             int _type = T__82;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:80:7: ( 'new' )
-            // InternalSignalDSL.g:80:9: 'new'
+            // InternalSignalDSL.g:80:7: ( 'super' )
+            // InternalSignalDSL.g:80:9: 'super'
             {
-            match("new"); 
+            match("super"); 
 
 
             }
@@ -1583,10 +1580,10 @@
         try {
             int _type = T__83;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:81:7: ( 'false' )
-            // InternalSignalDSL.g:81:9: 'false'
+            // InternalSignalDSL.g:81:7: ( 'new' )
+            // InternalSignalDSL.g:81:9: 'new'
             {
-            match("false"); 
+            match("new"); 
 
 
             }
@@ -1604,10 +1601,10 @@
         try {
             int _type = T__84;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:82:7: ( 'true' )
-            // InternalSignalDSL.g:82:9: 'true'
+            // InternalSignalDSL.g:82:7: ( 'false' )
+            // InternalSignalDSL.g:82:9: 'false'
             {
-            match("true"); 
+            match("false"); 
 
 
             }
@@ -1625,10 +1622,10 @@
         try {
             int _type = T__85;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:83:7: ( 'null' )
-            // InternalSignalDSL.g:83:9: 'null'
+            // InternalSignalDSL.g:83:7: ( 'true' )
+            // InternalSignalDSL.g:83:9: 'true'
             {
-            match("null"); 
+            match("true"); 
 
 
             }
@@ -1646,10 +1643,10 @@
         try {
             int _type = T__86;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:84:7: ( 'typeof' )
-            // InternalSignalDSL.g:84:9: 'typeof'
+            // InternalSignalDSL.g:84:7: ( 'null' )
+            // InternalSignalDSL.g:84:9: 'null'
             {
-            match("typeof"); 
+            match("null"); 
 
 
             }
@@ -1667,10 +1664,10 @@
         try {
             int _type = T__87;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:85:7: ( 'throw' )
-            // InternalSignalDSL.g:85:9: 'throw'
+            // InternalSignalDSL.g:85:7: ( 'typeof' )
+            // InternalSignalDSL.g:85:9: 'typeof'
             {
-            match("throw"); 
+            match("typeof"); 
 
 
             }
@@ -1688,10 +1685,10 @@
         try {
             int _type = T__88;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:86:7: ( 'return' )
-            // InternalSignalDSL.g:86:9: 'return'
+            // InternalSignalDSL.g:86:7: ( 'throw' )
+            // InternalSignalDSL.g:86:9: 'throw'
             {
-            match("return"); 
+            match("throw"); 
 
 
             }
@@ -1709,10 +1706,10 @@
         try {
             int _type = T__89;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:87:7: ( 'try' )
-            // InternalSignalDSL.g:87:9: 'try'
+            // InternalSignalDSL.g:87:7: ( 'return' )
+            // InternalSignalDSL.g:87:9: 'return'
             {
-            match("try"); 
+            match("return"); 
 
 
             }
@@ -1730,10 +1727,10 @@
         try {
             int _type = T__90;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:88:7: ( 'finally' )
-            // InternalSignalDSL.g:88:9: 'finally'
+            // InternalSignalDSL.g:88:7: ( 'try' )
+            // InternalSignalDSL.g:88:9: 'try'
             {
-            match("finally"); 
+            match("try"); 
 
 
             }
@@ -1751,10 +1748,10 @@
         try {
             int _type = T__91;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:89:7: ( 'synchronized' )
-            // InternalSignalDSL.g:89:9: 'synchronized'
+            // InternalSignalDSL.g:89:7: ( 'finally' )
+            // InternalSignalDSL.g:89:9: 'finally'
             {
-            match("synchronized"); 
+            match("finally"); 
 
 
             }
@@ -1772,10 +1769,10 @@
         try {
             int _type = T__92;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:90:7: ( 'catch' )
-            // InternalSignalDSL.g:90:9: 'catch'
+            // InternalSignalDSL.g:90:7: ( 'synchronized' )
+            // InternalSignalDSL.g:90:9: 'synchronized'
             {
-            match("catch"); 
+            match("synchronized"); 
 
 
             }
@@ -1793,10 +1790,11 @@
         try {
             int _type = T__93;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:91:7: ( '?' )
-            // InternalSignalDSL.g:91:9: '?'
+            // InternalSignalDSL.g:91:7: ( 'catch' )
+            // InternalSignalDSL.g:91:9: 'catch'
             {
-            match('?'); 
+            match("catch"); 
+
 
             }
 
@@ -1813,10 +1811,10 @@
         try {
             int _type = T__94;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:92:7: ( '&' )
-            // InternalSignalDSL.g:92:9: '&'
+            // InternalSignalDSL.g:92:7: ( '?' )
+            // InternalSignalDSL.g:92:9: '?'
             {
-            match('&'); 
+            match('?'); 
 
             }
 
@@ -1833,11 +1831,10 @@
         try {
             int _type = T__95;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:93:7: ( 'Import' )
-            // InternalSignalDSL.g:93:9: 'Import'
+            // InternalSignalDSL.g:93:7: ( '&' )
+            // InternalSignalDSL.g:93:9: '&'
             {
-            match("Import"); 
-
+            match('&'); 
 
             }
 
@@ -1854,10 +1851,10 @@
         try {
             int _type = T__96;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:94:7: ( 'Export' )
-            // InternalSignalDSL.g:94:9: 'Export'
+            // InternalSignalDSL.g:94:7: ( 'Import' )
+            // InternalSignalDSL.g:94:9: 'Import'
             {
-            match("Export"); 
+            match("Import"); 
 
 
             }
@@ -1875,10 +1872,10 @@
         try {
             int _type = T__97;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:95:7: ( 'all' )
-            // InternalSignalDSL.g:95:9: 'all'
+            // InternalSignalDSL.g:95:7: ( 'Export' )
+            // InternalSignalDSL.g:95:9: 'Export'
             {
-            match("all"); 
+            match("Export"); 
 
 
             }
@@ -1938,10 +1935,10 @@
         try {
             int _type = T__100;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:98:8: ( 'deleteSignals' )
-            // InternalSignalDSL.g:98:10: 'deleteSignals'
+            // InternalSignalDSL.g:98:8: ( 'doAfterModify' )
+            // InternalSignalDSL.g:98:10: 'doAfterModify'
             {
-            match("deleteSignals"); 
+            match("doAfterModify"); 
 
 
             }
@@ -1959,10 +1956,10 @@
         try {
             int _type = T__101;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:99:8: ( 'doAfter' )
-            // InternalSignalDSL.g:99:10: 'doAfter'
+            // InternalSignalDSL.g:99:8: ( 'doAfterCreate' )
+            // InternalSignalDSL.g:99:10: 'doAfterCreate'
             {
-            match("doAfter"); 
+            match("doAfterCreate"); 
 
 
             }
@@ -1980,10 +1977,10 @@
         try {
             int _type = T__102;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:100:8: ( 'doAfterModify' )
-            // InternalSignalDSL.g:100:10: 'doAfterModify'
+            // InternalSignalDSL.g:100:8: ( 'synch' )
+            // InternalSignalDSL.g:100:10: 'synch'
             {
-            match("doAfterModify"); 
+            match("synch"); 
 
 
             }
@@ -2001,71 +1998,8 @@
         try {
             int _type = T__103;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:101:8: ( 'doAfterCreate' )
-            // InternalSignalDSL.g:101:10: 'doAfterCreate'
-            {
-            match("doAfterCreate"); 
-
-
-            }
-
-            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: ( 'doAfterDelete' )
-            // InternalSignalDSL.g:102:10: 'doAfterDelete'
-            {
-            match("doAfterDelete"); 
-
-
-            }
-
-            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: ( 'synch' )
-            // InternalSignalDSL.g:103:10: 'synch'
-            {
-            match("synch"); 
-
-
-            }
-
-            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: ( 'asynch' )
-            // InternalSignalDSL.g:104:10: 'asynch'
+            // InternalSignalDSL.g:101:8: ( 'asynch' )
+            // InternalSignalDSL.g:101:10: 'asynch'
             {
             match("asynch"); 
 
@@ -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:7644:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? )
-            // InternalSignalDSL.g:7644:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+            // InternalSignalDSL.g:7656:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? )
+            // InternalSignalDSL.g:7656:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
             {
-            // InternalSignalDSL.g:7644:12: ( '0x' | '0X' )
+            // InternalSignalDSL.g:7656:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -2116,7 +2050,7 @@
             }
             switch (alt1) {
                 case 1 :
-                    // InternalSignalDSL.g:7644:13: '0x'
+                    // InternalSignalDSL.g:7656:13: '0x'
                     {
                     match("0x"); 
 
@@ -2124,7 +2058,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:7644:18: '0X'
+                    // InternalSignalDSL.g:7656:18: '0X'
                     {
                     match("0X"); 
 
@@ -2134,7 +2068,7 @@
 
             }
 
-            // InternalSignalDSL.g:7644:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
+            // InternalSignalDSL.g:7656:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
             int cnt2=0;
             loop2:
             do {
@@ -2172,7 +2106,7 @@
                 cnt2++;
             } while (true);
 
-            // InternalSignalDSL.g:7644:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+            // InternalSignalDSL.g:7656: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:7644:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+                    // InternalSignalDSL.g:7656:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
                     {
                     match('#'); 
-                    // InternalSignalDSL.g:7644:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+                    // InternalSignalDSL.g:7656: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:7644:64: ( 'b' | 'B' ) ( 'i' | 'I' )
+                            // InternalSignalDSL.g:7656: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:7644:84: ( 'l' | 'L' )
+                            // InternalSignalDSL.g:7656: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:7646:10: ( '0' .. '9' ( '0' .. '9' | '_' )* )
-            // InternalSignalDSL.g:7646:12: '0' .. '9' ( '0' .. '9' | '_' )*
+            // InternalSignalDSL.g:7658:10: ( '0' .. '9' ( '0' .. '9' | '_' )* )
+            // InternalSignalDSL.g:7658:12: '0' .. '9' ( '0' .. '9' | '_' )*
             {
             matchRange('0','9'); 
-            // InternalSignalDSL.g:7646:21: ( '0' .. '9' | '_' )*
+            // InternalSignalDSL.g:7658:21: ( '0' .. '9' | '_' )*
             loop5:
             do {
                 int alt5=2;
@@ -2318,11 +2252,11 @@
         try {
             int _type = RULE_DECIMAL;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:7648:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? )
-            // InternalSignalDSL.g:7648:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+            // InternalSignalDSL.g:7660:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? )
+            // InternalSignalDSL.g:7660:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
             {
             mRULE_INT(); 
-            // InternalSignalDSL.g:7648:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )?
+            // InternalSignalDSL.g:7660:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )?
             int alt7=2;
             int LA7_0 = input.LA(1);
 
@@ -2331,7 +2265,7 @@
             }
             switch (alt7) {
                 case 1 :
-                    // InternalSignalDSL.g:7648:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT
+                    // InternalSignalDSL.g:7660: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:7648:36: ( '+' | '-' )?
+                    // InternalSignalDSL.g:7660:36: ( '+' | '-' )?
                     int alt6=2;
                     int LA6_0 = input.LA(1);
 
@@ -2375,7 +2309,7 @@
 
             }
 
-            // InternalSignalDSL.g:7648:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+            // InternalSignalDSL.g:7660: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:7648:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' )
+                    // InternalSignalDSL.g:7660: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:7648:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' )
+                    // InternalSignalDSL.g:7660: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:7650:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* )
-            // InternalSignalDSL.g:7650:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+            // InternalSignalDSL.g:7662:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* )
+            // InternalSignalDSL.g:7662:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
             {
-            // InternalSignalDSL.g:7650:11: ( '^' )?
+            // InternalSignalDSL.g:7662:11: ( '^' )?
             int alt9=2;
             int LA9_0 = input.LA(1);
 
@@ -2456,7 +2390,7 @@
             }
             switch (alt9) {
                 case 1 :
-                    // InternalSignalDSL.g:7650:11: '^'
+                    // InternalSignalDSL.g:7662:11: '^'
                     {
                     match('^'); 
 
@@ -2474,7 +2408,7 @@
                 recover(mse);
                 throw mse;}
 
-            // InternalSignalDSL.g:7650:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+            // InternalSignalDSL.g:7662: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:7652:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) )
-            // InternalSignalDSL.g:7652:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+            // InternalSignalDSL.g:7664:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) )
+            // InternalSignalDSL.g:7664:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
             {
-            // InternalSignalDSL.g:7652:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+            // InternalSignalDSL.g:7664:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
             int alt15=2;
             int LA15_0 = input.LA(1);
 
@@ -2544,10 +2478,10 @@
             }
             switch (alt15) {
                 case 1 :
-                    // InternalSignalDSL.g:7652:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )?
+                    // InternalSignalDSL.g:7664:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )?
                     {
                     match('\"'); 
-                    // InternalSignalDSL.g:7652:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    // InternalSignalDSL.g:7664:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
                     loop11:
                     do {
                         int alt11=3;
@@ -2563,7 +2497,7 @@
 
                         switch (alt11) {
                     	case 1 :
-                    	    // InternalSignalDSL.g:7652:21: '\\\\' .
+                    	    // InternalSignalDSL.g:7664:21: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -2571,7 +2505,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // InternalSignalDSL.g:7652:28: ~ ( ( '\\\\' | '\"' ) )
+                    	    // InternalSignalDSL.g:7664: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:7652:44: ( '\"' )?
+                    // InternalSignalDSL.g:7664:44: ( '\"' )?
                     int alt12=2;
                     int LA12_0 = input.LA(1);
 
@@ -2600,7 +2534,7 @@
                     }
                     switch (alt12) {
                         case 1 :
-                            // InternalSignalDSL.g:7652:44: '\"'
+                            // InternalSignalDSL.g:7664:44: '\"'
                             {
                             match('\"'); 
 
@@ -2613,10 +2547,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:7652:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )?
+                    // InternalSignalDSL.g:7664:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )?
                     {
                     match('\''); 
-                    // InternalSignalDSL.g:7652:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    // InternalSignalDSL.g:7664:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
                     loop13:
                     do {
                         int alt13=3;
@@ -2632,7 +2566,7 @@
 
                         switch (alt13) {
                     	case 1 :
-                    	    // InternalSignalDSL.g:7652:55: '\\\\' .
+                    	    // InternalSignalDSL.g:7664:55: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -2640,7 +2574,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // InternalSignalDSL.g:7652:62: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // InternalSignalDSL.g:7664: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:7652:79: ( '\\'' )?
+                    // InternalSignalDSL.g:7664:79: ( '\\'' )?
                     int alt14=2;
                     int LA14_0 = input.LA(1);
 
@@ -2669,7 +2603,7 @@
                     }
                     switch (alt14) {
                         case 1 :
-                            // InternalSignalDSL.g:7652:79: '\\''
+                            // InternalSignalDSL.g:7664:79: '\\''
                             {
                             match('\''); 
 
@@ -2700,12 +2634,12 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:7654:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // InternalSignalDSL.g:7654:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // InternalSignalDSL.g:7666:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // InternalSignalDSL.g:7666:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // InternalSignalDSL.g:7654:24: ( options {greedy=false; } : . )*
+            // InternalSignalDSL.g:7666:24: ( options {greedy=false; } : . )*
             loop16:
             do {
                 int alt16=2;
@@ -2730,7 +2664,7 @@
 
                 switch (alt16) {
             	case 1 :
-            	    // InternalSignalDSL.g:7654:52: .
+            	    // InternalSignalDSL.g:7666:52: .
             	    {
             	    matchAny(); 
 
@@ -2760,12 +2694,12 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:7656:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // InternalSignalDSL.g:7656:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // InternalSignalDSL.g:7668:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // InternalSignalDSL.g:7668:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // InternalSignalDSL.g:7656:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            // InternalSignalDSL.g:7668:24: (~ ( ( '\\n' | '\\r' ) ) )*
             loop17:
             do {
                 int alt17=2;
@@ -2778,7 +2712,7 @@
 
                 switch (alt17) {
             	case 1 :
-            	    // InternalSignalDSL.g:7656:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // InternalSignalDSL.g:7668: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:7656:40: ( ( '\\r' )? '\\n' )?
+            // InternalSignalDSL.g:7668:40: ( ( '\\r' )? '\\n' )?
             int alt19=2;
             int LA19_0 = input.LA(1);
 
@@ -2807,9 +2741,9 @@
             }
             switch (alt19) {
                 case 1 :
-                    // InternalSignalDSL.g:7656:41: ( '\\r' )? '\\n'
+                    // InternalSignalDSL.g:7668:41: ( '\\r' )? '\\n'
                     {
-                    // InternalSignalDSL.g:7656:41: ( '\\r' )?
+                    // InternalSignalDSL.g:7668:41: ( '\\r' )?
                     int alt18=2;
                     int LA18_0 = input.LA(1);
 
@@ -2818,7 +2752,7 @@
                     }
                     switch (alt18) {
                         case 1 :
-                            // InternalSignalDSL.g:7656:41: '\\r'
+                            // InternalSignalDSL.g:7668:41: '\\r'
                             {
                             match('\r'); 
 
@@ -2850,10 +2784,10 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalSignalDSL.g:7658:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // InternalSignalDSL.g:7658:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // InternalSignalDSL.g:7670:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // InternalSignalDSL.g:7670:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // InternalSignalDSL.g:7658:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // InternalSignalDSL.g:7670: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:7660:16: ( . )
-            // InternalSignalDSL.g:7660:18: .
+            // InternalSignalDSL.g:7672:16: ( . )
+            // InternalSignalDSL.g:7672: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,17 +3569,17 @@
 
     protected DFA21 dfa21 = new DFA21(this);
     static final String DFA21_eotS =
-        "\1\uffff\1\64\2\uffff\10\64\1\114\1\64\5\uffff\1\127\3\uffff\1\135\1\141\1\145\1\147\1\151\1\153\1\155\1\157\1\161\1\163\1\166\1\64\1\172\7\64\2\u0087\1\62\5\uffff\1\64\3\uffff\4\64\1\u0092\7\64\1\u009b\6\64\3\uffff\1\u00a2\2\64\5\uffff\1\u00a6\32\uffff\1\u00a8\1\uffff\1\u00aa\4\uffff\1\u00ac\1\64\2\uffff\12\64\1\uffff\1\u0087\4\uffff\7\64\1\uffff\1\u00c2\7\64\1\uffff\6\64\1\uffff\1\u00d0\1\64\6\uffff\1\64\1\uffff\1\u00d3\3\64\1\u00d7\1\u00d8\1\64\1\u00da\15\64\1\uffff\14\64\1\u00f4\1\uffff\1\u00f5\1\64\1\uffff\1\u00f7\2\64\2\uffff\1\u00fa\1\uffff\10\64\1\u0103\6\64\1\u010a\6\64\1\u0111\1\u0113\1\64\2\uffff\1\64\1\uffff\1\u0117\1\64\1\uffff\1\64\1\u011a\6\64\1\uffff\6\64\1\uffff\2\64\1\u0129\1\64\1\u012b\1\u012c\1\uffff\1\64\1\uffff\2\64\1\u0130\1\uffff\1\64\1\u0132\1\uffff\1\u0133\1\u0134\1\u0135\1\64\1\u0137\1\u0138\1\64\1\u013a\1\64\1\u013f\1\64\1\u0141\1\u0142\1\64\1\uffff\1\64\2\uffff\2\64\1\u0147\1\uffff\1\64\4\uffff\1\64\2\uffff\1\64\1\uffff\4\64\1\uffff\1\u014f\2\uffff\4\64\1\uffff\2\64\1\u0156\4\64\1\uffff\3\64\1\u015e\2\64\1\uffff\5\64\1\u0166\1\64\1\uffff\7\64\1\uffff\7\64\1\u0176\1\u0177\2\64\1\u017a\1\u017b\1\u017c\1\u017d\2\uffff\1\u017e\1\u017f\6\uffff";
+        "\1\uffff\1\64\2\uffff\10\64\1\114\1\64\5\uffff\1\127\3\uffff\1\135\1\141\1\145\1\147\1\151\1\153\1\155\1\157\1\161\1\163\1\166\1\64\1\171\7\64\2\u0086\1\62\5\uffff\1\64\3\uffff\4\64\1\u0090\7\64\1\u0099\6\64\3\uffff\1\u00a0\2\64\5\uffff\1\u00a4\32\uffff\1\u00a6\1\uffff\1\u00a8\4\uffff\1\u00aa\2\uffff\12\64\1\uffff\1\u0086\4\uffff\6\64\1\uffff\1\u00bf\7\64\1\uffff\6\64\1\uffff\1\u00cd\1\64\6\uffff\1\64\1\uffff\3\64\1\u00d3\1\u00d4\1\64\1\u00d6\15\64\1\uffff\14\64\1\u00f0\1\uffff\1\u00f1\1\64\1\u00f3\2\64\2\uffff\1\u00f6\1\uffff\10\64\1\u00ff\6\64\1\u0106\6\64\1\u010d\1\u010f\1\64\2\uffff\1\64\1\uffff\1\u0113\1\64\1\uffff\1\64\1\u0116\6\64\1\uffff\6\64\1\uffff\2\64\1\u0125\1\64\1\u0127\1\u0128\1\uffff\1\64\1\uffff\2\64\1\u012c\1\uffff\1\64\1\u012e\1\uffff\1\u012f\1\u0130\1\u0131\1\64\1\u0133\1\u0134\1\64\1\u0136\3\64\1\u013b\1\u013c\1\64\1\uffff\1\64\2\uffff\2\64\1\u0141\1\uffff\1\64\4\uffff\1\64\2\uffff\1\64\1\uffff\3\64\1\u0148\2\uffff\4\64\1\uffff\2\64\1\u014f\3\64\1\uffff\3\64\1\u0156\2\64\1\uffff\4\64\1\u015d\1\64\1\uffff\4\64\1\u0163\1\64\1\uffff\5\64\1\uffff\1\u016a\1\u016b\2\64\1\u016e\1\u016f\2\uffff\1\u0170\1\u0171\4\uffff";
     static final String DFA21_eofS =
-        "\u0180\uffff";
+        "\u0172\uffff";
     static final String DFA21_minS =
-        "\1\0\1\141\2\uffff\1\141\1\145\3\141\1\146\1\164\1\154\1\52\1\145\5\uffff\1\75\3\uffff\1\53\1\55\1\52\1\75\1\76\1\75\1\174\1\46\1\75\2\56\1\154\1\72\2\141\1\150\1\145\1\155\1\170\1\157\2\60\1\44\5\uffff\1\143\3\uffff\1\164\1\151\1\162\1\146\1\44\1\162\2\154\1\156\1\164\1\160\1\163\1\44\1\141\1\151\1\160\1\156\1\164\1\163\3\uffff\1\44\1\167\1\154\5\uffff\1\75\32\uffff\1\75\1\uffff\1\74\4\uffff\1\44\1\154\2\uffff\1\163\1\145\1\154\1\165\1\160\1\162\1\164\2\160\1\144\1\uffff\1\60\4\uffff\1\153\1\143\1\154\1\145\1\141\1\145\1\146\1\uffff\1\44\1\145\1\141\1\163\1\144\1\141\1\157\1\164\1\uffff\2\164\1\145\1\143\2\145\1\uffff\1\44\1\154\6\uffff\1\156\1\uffff\1\44\1\145\1\143\1\141\2\44\1\145\1\44\1\145\1\157\1\165\2\157\1\151\1\141\1\150\1\145\1\143\1\165\2\164\1\uffff\1\115\1\154\1\145\1\154\1\124\1\162\1\141\1\151\1\143\1\162\1\150\1\156\1\44\1\uffff\1\44\1\143\1\uffff\1\44\1\150\1\164\2\uffff\1\44\1\uffff\1\157\1\167\3\162\1\146\1\147\1\145\1\44\1\164\1\154\2\145\1\141\1\154\1\44\1\145\1\162\1\164\1\156\1\143\1\150\2\44\1\144\2\uffff\1\150\1\uffff\1\44\1\145\1\uffff\1\146\1\44\1\156\2\164\1\171\1\145\1\162\1\uffff\1\157\1\164\1\123\1\162\1\163\1\171\1\uffff\1\162\1\141\1\44\1\143\2\44\1\uffff\1\157\1\uffff\1\151\1\163\1\44\1\uffff\1\123\1\44\1\uffff\3\44\1\123\2\44\1\162\1\44\1\151\1\44\1\153\2\44\1\156\1\uffff\1\145\2\uffff\1\156\1\157\1\44\1\uffff\1\151\4\uffff\1\151\2\uffff\1\171\1\uffff\1\147\1\157\1\162\1\145\1\uffff\1\44\2\uffff\1\163\1\157\1\151\1\156\1\uffff\2\147\1\44\1\156\1\144\1\145\1\154\1\uffff\2\146\1\172\1\44\2\156\1\uffff\1\141\1\151\1\141\2\145\1\44\1\145\1\uffff\2\141\1\154\1\146\2\164\1\162\1\uffff\1\144\2\154\1\163\1\171\2\145\2\44\2\163\4\44\2\uffff\2\44\6\uffff";
+        "\1\0\1\141\2\uffff\1\141\1\145\3\141\1\146\1\164\1\154\1\52\1\145\5\uffff\1\75\3\uffff\1\53\1\55\1\52\1\75\1\76\1\75\1\174\1\46\1\75\2\56\1\163\1\72\2\141\1\150\1\145\1\155\1\170\1\157\2\60\1\44\5\uffff\1\143\3\uffff\1\164\1\151\1\162\1\146\1\44\1\162\2\154\1\156\1\164\1\160\1\163\1\44\1\141\1\151\1\160\1\156\1\164\1\163\3\uffff\1\44\1\167\1\154\5\uffff\1\75\32\uffff\1\75\1\uffff\1\74\4\uffff\1\44\2\uffff\1\163\1\145\1\154\1\165\1\160\1\162\1\164\2\160\1\144\1\uffff\1\60\4\uffff\1\153\1\143\1\154\1\145\1\141\1\146\1\uffff\1\44\1\145\1\141\1\163\1\144\1\141\1\157\1\164\1\uffff\2\164\1\145\1\143\2\145\1\uffff\1\44\1\154\6\uffff\1\156\1\uffff\1\145\1\143\1\141\2\44\1\145\1\44\1\145\1\157\1\165\2\157\1\151\1\141\1\150\1\145\1\143\1\165\1\164\1\151\1\uffff\1\116\1\154\1\145\1\154\1\124\1\162\1\141\1\151\1\143\1\162\1\150\1\156\1\44\1\uffff\1\44\1\143\1\44\1\150\1\164\2\uffff\1\44\1\uffff\1\157\1\167\3\162\1\146\1\147\1\145\1\44\1\164\1\154\1\145\1\154\1\141\1\154\1\44\1\145\1\162\1\164\1\156\1\143\1\150\2\44\1\144\2\uffff\1\150\1\uffff\1\44\1\145\1\uffff\1\146\1\44\1\156\2\164\1\171\1\145\1\162\1\uffff\1\157\1\164\1\162\1\145\1\155\1\171\1\uffff\1\162\1\141\1\44\1\143\2\44\1\uffff\1\157\1\uffff\1\151\1\163\1\44\1\uffff\1\123\1\44\1\uffff\3\44\1\123\2\44\1\162\1\44\1\103\1\115\1\145\2\44\1\156\1\uffff\1\145\2\uffff\1\156\1\157\1\44\1\uffff\1\151\4\uffff\1\151\2\uffff\1\171\1\uffff\1\157\1\162\1\141\1\44\2\uffff\1\163\1\157\1\151\1\156\1\uffff\2\147\1\44\1\144\1\145\1\163\1\uffff\2\146\1\172\1\44\2\156\1\uffff\1\151\1\141\1\153\1\145\1\44\1\145\1\uffff\2\141\1\146\1\164\1\44\1\162\1\uffff\1\144\2\154\1\171\1\145\1\uffff\2\44\2\163\2\44\2\uffff\2\44\4\uffff";
     static final String DFA21_maxS =
-        "\1\uffff\1\141\2\uffff\1\150\2\157\2\141\1\156\1\171\1\170\1\75\1\165\5\uffff\1\76\3\uffff\1\75\1\76\2\75\1\76\1\75\1\174\1\46\1\75\1\56\1\72\1\163\1\72\1\162\1\141\1\171\1\145\1\155\1\170\1\157\1\170\1\154\1\172\5\uffff\1\143\3\uffff\1\164\1\151\1\162\1\154\1\172\1\162\1\156\1\154\1\156\1\164\1\160\1\163\1\172\1\141\1\151\1\160\1\156\1\164\1\163\3\uffff\1\172\1\167\1\154\5\uffff\1\75\32\uffff\1\75\1\uffff\1\74\4\uffff\1\172\1\154\2\uffff\1\164\1\145\1\162\1\171\1\160\1\162\1\164\2\160\1\144\1\uffff\1\154\4\uffff\1\153\1\143\1\154\1\145\1\141\1\145\1\146\1\uffff\1\172\1\145\1\141\1\163\1\144\1\141\1\157\1\164\1\uffff\2\164\1\145\1\143\2\145\1\uffff\1\172\1\154\6\uffff\1\156\1\uffff\1\172\1\145\1\143\1\141\2\172\1\145\1\172\1\145\1\157\1\165\2\157\1\151\1\141\1\150\1\145\1\143\1\165\2\164\1\uffff\1\115\1\154\1\145\1\154\1\124\1\162\1\141\1\151\1\143\1\162\1\150\1\156\1\172\1\uffff\1\172\1\143\1\uffff\1\172\1\150\1\164\2\uffff\1\172\1\uffff\1\157\1\167\3\162\1\146\1\147\1\145\1\172\1\164\1\154\2\145\1\141\1\154\1\172\1\145\1\162\1\164\1\156\1\143\1\150\2\172\1\163\2\uffff\1\150\1\uffff\1\172\1\145\1\uffff\1\146\1\172\1\156\2\164\1\171\1\145\1\162\1\uffff\1\157\1\164\1\123\1\162\1\163\1\171\1\uffff\1\162\1\141\1\172\1\143\2\172\1\uffff\1\157\1\uffff\1\151\1\163\1\172\1\uffff\1\123\1\172\1\uffff\3\172\1\123\2\172\1\162\1\172\1\151\1\172\1\153\2\172\1\156\1\uffff\1\145\2\uffff\1\156\1\157\1\172\1\uffff\1\151\4\uffff\1\151\2\uffff\1\171\1\uffff\1\147\1\157\1\162\1\145\1\uffff\1\172\2\uffff\1\163\1\157\1\151\1\156\1\uffff\2\147\1\172\1\156\1\144\1\145\1\154\1\uffff\2\146\2\172\2\156\1\uffff\1\141\1\151\1\141\2\145\1\172\1\145\1\uffff\2\141\1\154\1\146\2\164\1\162\1\uffff\1\144\2\154\1\163\1\171\2\145\2\172\2\163\4\172\2\uffff\2\172\6\uffff";
+        "\1\uffff\1\141\2\uffff\1\150\2\157\2\141\1\156\1\171\1\170\1\75\1\165\5\uffff\1\76\3\uffff\1\75\1\76\2\75\1\76\1\75\1\174\1\46\1\75\1\56\1\72\1\163\1\72\1\162\1\141\1\171\1\145\1\155\1\170\1\157\1\170\1\154\1\172\5\uffff\1\143\3\uffff\1\164\1\151\1\162\1\146\1\172\1\162\1\156\1\154\1\156\1\164\1\160\1\163\1\172\1\141\1\151\1\160\1\156\1\164\1\163\3\uffff\1\172\1\167\1\154\5\uffff\1\75\32\uffff\1\75\1\uffff\1\74\4\uffff\1\172\2\uffff\1\164\1\145\1\162\1\171\1\160\1\162\1\164\2\160\1\144\1\uffff\1\154\4\uffff\1\153\1\143\1\154\1\145\1\141\1\146\1\uffff\1\172\1\145\1\141\1\163\1\144\1\141\1\157\1\164\1\uffff\2\164\1\145\1\143\2\145\1\uffff\1\172\1\154\6\uffff\1\156\1\uffff\1\145\1\143\1\141\2\172\1\145\1\172\1\145\1\157\1\165\2\157\1\151\1\141\1\150\1\145\1\143\1\165\1\164\1\151\1\uffff\1\116\1\154\1\145\1\154\1\124\1\162\1\141\1\151\1\143\1\162\1\150\1\156\1\172\1\uffff\1\172\1\143\1\172\1\150\1\164\2\uffff\1\172\1\uffff\1\157\1\167\3\162\1\146\1\147\1\145\1\172\1\164\1\154\1\145\1\154\1\141\1\154\1\172\1\145\1\162\1\164\1\156\1\143\1\150\2\172\1\163\2\uffff\1\150\1\uffff\1\172\1\145\1\uffff\1\146\1\172\1\156\2\164\1\171\1\145\1\162\1\uffff\1\157\1\164\1\162\1\145\1\155\1\171\1\uffff\1\162\1\141\1\172\1\143\2\172\1\uffff\1\157\1\uffff\1\151\1\163\1\172\1\uffff\1\123\1\172\1\uffff\3\172\1\123\2\172\1\162\1\172\2\115\1\145\2\172\1\156\1\uffff\1\145\2\uffff\1\156\1\157\1\172\1\uffff\1\151\4\uffff\1\151\2\uffff\1\171\1\uffff\1\157\1\162\1\141\1\172\2\uffff\1\163\1\157\1\151\1\156\1\uffff\2\147\1\172\1\144\1\145\1\163\1\uffff\2\146\2\172\2\156\1\uffff\1\151\1\141\1\153\1\145\1\172\1\145\1\uffff\2\141\1\146\1\164\1\172\1\162\1\uffff\1\144\2\154\1\171\1\145\1\uffff\2\172\2\163\2\172\2\uffff\2\172\4\uffff";
     static final String DFA21_acceptS =
-        "\2\uffff\1\2\1\3\12\uffff\1\17\1\20\1\21\1\22\1\23\1\uffff\1\25\1\26\1\27\27\uffff\1\142\2\143\1\146\1\147\1\uffff\1\142\1\2\1\3\23\uffff\1\32\1\57\1\15\3\uffff\1\17\1\20\1\21\1\22\1\23\1\uffff\1\52\1\24\1\25\1\26\1\27\1\30\1\64\1\55\1\31\1\47\1\65\1\56\1\33\1\144\1\145\1\60\1\34\1\61\1\53\1\35\1\37\1\36\1\40\1\71\1\41\1\122\1\uffff\1\62\1\uffff\1\66\1\54\1\70\1\121\2\uffff\1\67\1\75\12\uffff\1\137\1\uffff\1\140\1\141\1\143\1\146\7\uffff\1\101\10\uffff\1\72\6\uffff\1\16\2\uffff\1\44\1\42\1\45\1\43\1\50\1\51\1\uffff\1\63\25\uffff\1\6\15\uffff\1\106\2\uffff\1\125\3\uffff\1\102\1\103\1\uffff\1\115\31\uffff\1\73\1\111\1\uffff\1\77\2\uffff\1\110\10\uffff\1\100\6\uffff\1\107\6\uffff\1\105\1\uffff\1\135\3\uffff\1\120\2\uffff\1\113\16\uffff\1\12\1\uffff\1\13\1\74\3\uffff\1\136\1\uffff\1\112\1\114\1\123\1\124\1\uffff\1\1\1\4\1\uffff\1\76\4\uffff\1\131\1\uffff\1\116\1\7\4\uffff\1\104\7\uffff\1\10\6\uffff\1\5\7\uffff\1\14\7\uffff\1\46\17\uffff\1\11\1\117\2\uffff\1\130\1\132\1\133\1\134\1\126\1\127";
+        "\2\uffff\1\2\1\3\12\uffff\1\20\1\21\1\22\1\23\1\24\1\uffff\1\26\1\27\1\30\27\uffff\1\137\2\140\1\143\1\144\1\uffff\1\137\1\2\1\3\23\uffff\1\33\1\60\1\16\3\uffff\1\20\1\21\1\22\1\23\1\24\1\uffff\1\53\1\25\1\26\1\27\1\30\1\31\1\65\1\56\1\32\1\50\1\66\1\57\1\34\1\141\1\142\1\61\1\35\1\62\1\54\1\36\1\40\1\37\1\41\1\72\1\42\1\123\1\uffff\1\63\1\uffff\1\67\1\55\1\71\1\122\1\uffff\1\70\1\76\12\uffff\1\134\1\uffff\1\135\1\136\1\140\1\143\6\uffff\1\102\10\uffff\1\73\6\uffff\1\17\2\uffff\1\45\1\43\1\46\1\44\1\51\1\52\1\uffff\1\64\24\uffff\1\6\15\uffff\1\107\5\uffff\1\103\1\104\1\uffff\1\116\31\uffff\1\74\1\112\1\uffff\1\100\2\uffff\1\111\10\uffff\1\101\6\uffff\1\110\6\uffff\1\106\1\uffff\1\132\3\uffff\1\121\2\uffff\1\114\16\uffff\1\13\1\uffff\1\14\1\75\3\uffff\1\133\1\uffff\1\113\1\115\1\124\1\125\1\uffff\1\1\1\4\1\uffff\1\77\4\uffff\1\117\1\7\4\uffff\1\105\6\uffff\1\12\6\uffff\1\5\6\uffff\1\15\6\uffff\1\47\5\uffff\1\10\6\uffff\1\11\1\120\2\uffff\1\130\1\131\1\126\1\127";
     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\37\1\57\1\24\1\56\1\32\1\36\1\60\1\20\1\22\1\14\1\27\1\21\1\30\1\40\1\31\1\53\11\54\1\43\1\16\1\33\1\23\1\34\1\41\1\17\3\56\1\10\1\51\3\56\1\50\21\56\1\25\1\62\1\26\1\55\1\56\1\62\1\42\1\56\1\44\1\5\1\13\1\6\1\56\1\7\1\11\3\56\1\52\1\15\1\56\1\1\1\56\1\47\1\12\1\46\1\56\1\45\1\4\3\56\1\2\1\35\1\3\uff82\62",
             "\1\63",
@@ -3702,52 +3615,79 @@
             "\1\160",
             "\1\162",
             "\1\165\13\uffff\1\164",
-            "\1\170\6\uffff\1\167",
-            "\1\171",
-            "\1\173\20\uffff\1\174",
-            "\1\175",
-            "\1\u0080\11\uffff\1\176\6\uffff\1\177",
+            "\1\167",
+            "\1\170",
+            "\1\172\20\uffff\1\173",
+            "\1\174",
+            "\1\177\11\uffff\1\175\6\uffff\1\176",
+            "\1\u0080",
             "\1\u0081",
             "\1\u0082",
             "\1\u0083",
-            "\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",
+            "\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\64\34\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "",
             "",
             "",
             "",
             "",
+            "\1\u008a",
+            "",
+            "",
+            "",
             "\1\u008b",
-            "",
-            "",
-            "",
             "\1\u008c",
             "\1\u008d",
             "\1\u008e",
-            "\1\u008f\5\uffff\1\u0090",
-            "\1\64\13\uffff\12\64\7\uffff\1\u0091\31\64\4\uffff\1\64\1\uffff\32\64",
-            "\1\u0093",
-            "\1\u0094\1\uffff\1\u0095",
+            "\1\64\13\uffff\12\64\7\uffff\1\u008f\31\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u0091",
+            "\1\u0092\1\uffff\1\u0093",
+            "\1\u0094",
+            "\1\u0095",
             "\1\u0096",
             "\1\u0097",
             "\1\u0098",
-            "\1\u0099",
-            "\1\u009a",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u009a",
+            "\1\u009b",
             "\1\u009c",
             "\1\u009d",
             "\1\u009e",
             "\1\u009f",
-            "\1\u00a0",
-            "\1\u00a1",
             "",
             "",
             "",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u00a1",
+            "\1\u00a2",
+            "",
+            "",
+            "",
+            "",
+            "",
             "\1\u00a3",
-            "\1\u00a4",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
             "",
             "",
             "",
@@ -3755,100 +3695,74 @@
             "",
             "\1\u00a5",
             "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
             "\1\u00a7",
             "",
-            "\1\u00a9",
             "",
             "",
             "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\30\64\1\u00a9\1\64",
             "",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\30\64\1\u00ab\1\64",
+            "",
+            "\1\u00ab\1\u00ac",
             "\1\u00ad",
-            "",
-            "",
-            "\1\u00ae\1\u00af",
-            "\1\u00b0",
-            "\1\u00b2\5\uffff\1\u00b1",
-            "\1\u00b3\3\uffff\1\u00b4",
+            "\1\u00af\5\uffff\1\u00ae",
+            "\1\u00b0\3\uffff\1\u00b1",
+            "\1\u00b2",
+            "\1\u00b3",
+            "\1\u00b4",
             "\1\u00b5",
             "\1\u00b6",
             "\1\u00b7",
+            "",
+            "\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\u00b8",
             "\1\u00b9",
             "\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\u00bb",
             "\1\u00bc",
             "\1\u00bd",
-            "\1\u00be",
-            "\1\u00bf",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\5\64\1\u00be\24\64\4\uffff\1\64\1\uffff\32\64",
             "\1\u00c0",
             "\1\u00c1",
-            "",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u00c2",
             "\1\u00c3",
             "\1\u00c4",
             "\1\u00c5",
             "\1\u00c6",
+            "",
             "\1\u00c7",
             "\1\u00c8",
             "\1\u00c9",
-            "",
             "\1\u00ca",
             "\1\u00cb",
             "\1\u00cc",
-            "\1\u00cd",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "\1\u00ce",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
             "\1\u00cf",
             "",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u00d0",
             "\1\u00d1",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
             "\1\u00d2",
-            "",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
-            "\1\u00d4",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "\1\u00d5",
-            "\1\u00d6",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u00d7",
+            "\1\u00d8",
             "\1\u00d9",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u00da",
             "\1\u00db",
             "\1\u00dc",
             "\1\u00dd",
@@ -3858,11 +3772,11 @@
             "\1\u00e1",
             "\1\u00e2",
             "\1\u00e3",
+            "",
             "\1\u00e4",
             "\1\u00e5",
             "\1\u00e6",
             "\1\u00e7",
-            "",
             "\1\u00e8",
             "\1\u00e9",
             "\1\u00ea",
@@ -3871,175 +3785,162 @@
             "\1\u00ed",
             "\1\u00ee",
             "\1\u00ef",
-            "\1\u00f0",
-            "\1\u00f1",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "\1\u00f2",
-            "\1\u00f3",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u00f4",
+            "\1\u00f5",
+            "",
             "",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
-            "\1\u00f6",
             "",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u00f7",
             "\1\u00f8",
             "\1\u00f9",
-            "",
-            "",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
-            "",
+            "\1\u00fa",
             "\1\u00fb",
             "\1\u00fc",
             "\1\u00fd",
             "\1\u00fe",
-            "\1\u00ff",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "\1\u0100",
             "\1\u0101",
             "\1\u0102",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u0103",
             "\1\u0104",
             "\1\u0105",
-            "\1\u0106",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "\1\u0107",
             "\1\u0108",
             "\1\u0109",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u010a",
             "\1\u010b",
             "\1\u010c",
-            "\1\u010d",
-            "\1\u010e",
-            "\1\u010f",
-            "\1\u0110",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\21\64\1\u0112\10\64",
-            "\1\u0115\16\uffff\1\u0114",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\21\64\1\u010e\10\64",
+            "\1\u0111\16\uffff\1\u0110",
             "",
             "",
-            "\1\u0116",
+            "\1\u0112",
             "",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u0114",
+            "",
+            "\1\u0115",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u0117",
             "\1\u0118",
-            "",
             "\1\u0119",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u011a",
             "\1\u011b",
             "\1\u011c",
+            "",
             "\1\u011d",
             "\1\u011e",
             "\1\u011f",
             "\1\u0120",
-            "",
             "\1\u0121",
             "\1\u0122",
+            "",
             "\1\u0123",
             "\1\u0124",
-            "\1\u0125",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "\1\u0126",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "",
-            "\1\u0127",
-            "\1\u0128",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u0129",
+            "",
             "\1\u012a",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u012b",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "",
             "\1\u012d",
-            "",
-            "\1\u012e",
-            "\1\u012f",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
-            "",
-            "\1\u0131",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
-            "\1\u0136",
+            "\1\u0132",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u0135",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u0138\11\uffff\1\u0137",
             "\1\u0139",
+            "\1\u013a",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
-            "\1\u013b",
-            "\1\64\13\uffff\12\64\7\uffff\2\64\1\u013d\1\u013e\10\64\1\u013c\15\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u013d",
+            "",
+            "\1\u013e",
+            "",
+            "",
+            "\1\u013f",
             "\1\u0140",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "",
+            "\1\u0142",
+            "",
+            "",
+            "",
+            "",
             "\1\u0143",
             "",
+            "",
             "\1\u0144",
             "",
-            "",
             "\1\u0145",
             "\1\u0146",
+            "\1\u0147",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "",
-            "\1\u0148",
-            "",
-            "",
-            "",
             "",
             "\1\u0149",
-            "",
-            "",
             "\1\u014a",
-            "",
             "\1\u014b",
             "\1\u014c",
+            "",
             "\1\u014d",
             "\1\u014e",
-            "",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
-            "",
-            "",
             "\1\u0150",
             "\1\u0151",
             "\1\u0152",
-            "\1\u0153",
             "",
+            "\1\u0153",
             "\1\u0154",
             "\1\u0155",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "\1\u0157",
             "\1\u0158",
+            "",
             "\1\u0159",
             "\1\u015a",
-            "",
             "\1\u015b",
             "\1\u015c",
-            "\1\u015d",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\u015e",
+            "",
             "\1\u015f",
             "\1\u0160",
-            "",
             "\1\u0161",
             "\1\u0162",
-            "\1\u0163",
-            "\1\u0164",
-            "\1\u0165",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
-            "\1\u0167",
+            "\1\u0164",
             "",
+            "\1\u0165",
+            "\1\u0166",
+            "\1\u0167",
             "\1\u0168",
             "\1\u0169",
-            "\1\u016a",
-            "\1\u016b",
+            "",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "\1\u016c",
             "\1\u016d",
-            "\1\u016e",
-            "",
-            "\1\u016f",
-            "\1\u0170",
-            "\1\u0171",
-            "\1\u0172",
-            "\1\u0173",
-            "\1\u0174",
-            "\1\u0175",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
-            "\1\u0178",
-            "\1\u0179",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
-            "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "\1\64\13\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
             "",
@@ -4049,8 +3950,6 @@
             "",
             "",
             "",
-            "",
-            "",
             ""
     };
 
@@ -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;
diff --git a/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/parser/antlr/internal/InternalSignalDSLParser.java b/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/parser/antlr/internal/InternalSignalDSLParser.java
index aacce78..5d60b0c 100644
--- a/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/parser/antlr/internal/InternalSignalDSLParser.java
+++ b/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/parser/antlr/internal/InternalSignalDSLParser.java
@@ -38,7 +38,7 @@
 @SuppressWarnings("all")
 public class InternalSignalDSLParser extends AbstractInternalAntlrParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "'{'", "'}'", "'watcher'", "'directory'", "'for'", "'handler'", "'fileMask'", "'DataTransfer'", "'import'", "'static'", "'extension'", "'*'", "'ns'", "';'", "'@'", "'('", "','", "')'", "'='", "'#'", "'['", "']'", "'+='", "'-='", "'*='", "'/='", "'%='", "'<'", "'>'", "'>='", "'||'", "'&&'", "'=='", "'!='", "'==='", "'!=='", "'instanceof'", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'**'", "'/'", "'%'", "'!'", "'as'", "'++'", "'--'", "'.'", "'::'", "'?.'", "'|'", "'if'", "'else'", "'switch'", "':'", "'default'", "'case'", "'while'", "'do'", "'var'", "'val'", "'extends'", "'super'", "'new'", "'false'", "'true'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'", "'Import'", "'Export'", "'all'", "'createSignals'", "'modifySignals'", "'deleteSignals'", "'doAfter'", "'doAfterModify'", "'doAfterCreate'", "'doAfterDelete'", "'synch'", "'asynch'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "'{'", "'}'", "'watcher'", "'directory'", "'for'", "'handler'", "'forFileMask'", "'DataTransfer'", "'fileName'", "'import'", "'static'", "'extension'", "'*'", "'ns'", "';'", "'@'", "'('", "','", "')'", "'='", "'#'", "'['", "']'", "'+='", "'-='", "'*='", "'/='", "'%='", "'<'", "'>'", "'>='", "'||'", "'&&'", "'=='", "'!='", "'==='", "'!=='", "'instanceof'", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'**'", "'/'", "'%'", "'!'", "'as'", "'++'", "'--'", "'.'", "'::'", "'?.'", "'|'", "'if'", "'else'", "'switch'", "':'", "'default'", "'case'", "'while'", "'do'", "'var'", "'val'", "'extends'", "'super'", "'new'", "'false'", "'true'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'", "'Import'", "'Export'", "'createSignals'", "'modifySignals'", "'doAfterModify'", "'doAfterCreate'", "'synch'", "'asynch'"
     };
     public static final int RULE_HEX=6;
     public static final int T__50=50;
@@ -53,7 +53,7 @@
     public static final int T__54=54;
     public static final int T__60=60;
     public static final int T__61=61;
-    public static final int RULE_ID=4;
+    public static final int RULE_ID=5;
     public static final int RULE_INT=7;
     public static final int T__66=66;
     public static final int RULE_ML_COMMENT=9;
@@ -118,7 +118,7 @@
     public static final int T__70=70;
     public static final int T__71=71;
     public static final int T__72=72;
-    public static final int RULE_STRING=5;
+    public static final int RULE_STRING=4;
     public static final int RULE_SL_COMMENT=10;
     public static final int T__77=77;
     public static final int T__78=78;
@@ -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
@@ -248,7 +245,7 @@
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0==22) ) {
+            if ( (LA1_0==23) ) {
                 alt1=1;
             }
             switch (alt1) {
@@ -408,7 +405,7 @@
 
 
     // $ANTLR start "ruleSignalPackage"
-    // InternalSignalDSL.g:142:1: ruleSignalPackage returns [EObject current=null] : ( () otherlv_1= 'package' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= '{' ( (lv_watchers_4_0= ruleSignalWatcher ) )* otherlv_5= '}' ) ) ;
+    // InternalSignalDSL.g:142:1: ruleSignalPackage returns [EObject current=null] : ( () otherlv_1= 'package' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= '{' ( (lv_watchers_4_0= ruleSignalWatcher ) )* otherlv_5= '}' )? ) ;
     public final EObject ruleSignalPackage() throws RecognitionException {
         EObject current = null;
 
@@ -424,11 +421,11 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:148:2: ( ( () otherlv_1= 'package' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= '{' ( (lv_watchers_4_0= ruleSignalWatcher ) )* otherlv_5= '}' ) ) )
-            // InternalSignalDSL.g:149:2: ( () otherlv_1= 'package' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= '{' ( (lv_watchers_4_0= ruleSignalWatcher ) )* otherlv_5= '}' ) )
+            // InternalSignalDSL.g:148:2: ( ( () otherlv_1= 'package' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= '{' ( (lv_watchers_4_0= ruleSignalWatcher ) )* otherlv_5= '}' )? ) )
+            // InternalSignalDSL.g:149:2: ( () otherlv_1= 'package' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= '{' ( (lv_watchers_4_0= ruleSignalWatcher ) )* otherlv_5= '}' )? )
             {
-            // InternalSignalDSL.g:149:2: ( () otherlv_1= 'package' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= '{' ( (lv_watchers_4_0= ruleSignalWatcher ) )* otherlv_5= '}' ) )
-            // InternalSignalDSL.g:150:3: () otherlv_1= 'package' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= '{' ( (lv_watchers_4_0= ruleSignalWatcher ) )* otherlv_5= '}' )
+            // InternalSignalDSL.g:149:2: ( () otherlv_1= 'package' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= '{' ( (lv_watchers_4_0= ruleSignalWatcher ) )* otherlv_5= '}' )? )
+            // InternalSignalDSL.g:150:3: () otherlv_1= 'package' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= '{' ( (lv_watchers_4_0= ruleSignalWatcher ) )* otherlv_5= '}' )?
             {
             // InternalSignalDSL.g:150:3: ()
             // InternalSignalDSL.g:151:4: 
@@ -484,74 +481,85 @@
 
             }
 
-            // InternalSignalDSL.g:180:3: (otherlv_3= '{' ( (lv_watchers_4_0= ruleSignalWatcher ) )* otherlv_5= '}' )
-            // InternalSignalDSL.g:181:4: otherlv_3= '{' ( (lv_watchers_4_0= ruleSignalWatcher ) )* otherlv_5= '}'
-            {
-            otherlv_3=(Token)match(input,14,FOLLOW_6); if (state.failed) return current;
-            if ( state.backtracking==0 ) {
+            // InternalSignalDSL.g:180:3: (otherlv_3= '{' ( (lv_watchers_4_0= ruleSignalWatcher ) )* otherlv_5= '}' )?
+            int alt4=2;
+            int LA4_0 = input.LA(1);
 
-              				newLeafNode(otherlv_3, grammarAccess.getSignalPackageAccess().getLeftCurlyBracketKeyword_3_0());
-              			
+            if ( (LA4_0==14) ) {
+                alt4=1;
             }
-            // InternalSignalDSL.g:185:4: ( (lv_watchers_4_0= ruleSignalWatcher ) )*
-            loop3:
-            do {
-                int alt3=2;
-                int LA3_0 = input.LA(1);
+            switch (alt4) {
+                case 1 :
+                    // InternalSignalDSL.g:181:4: otherlv_3= '{' ( (lv_watchers_4_0= ruleSignalWatcher ) )* otherlv_5= '}'
+                    {
+                    otherlv_3=(Token)match(input,14,FOLLOW_6); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                if ( (LA3_0==16) ) {
-                    alt3=1;
-                }
+                      				newLeafNode(otherlv_3, grammarAccess.getSignalPackageAccess().getLeftCurlyBracketKeyword_3_0());
+                      			
+                    }
+                    // InternalSignalDSL.g:185:4: ( (lv_watchers_4_0= ruleSignalWatcher ) )*
+                    loop3:
+                    do {
+                        int alt3=2;
+                        int LA3_0 = input.LA(1);
+
+                        if ( (LA3_0==16) ) {
+                            alt3=1;
+                        }
 
 
-                switch (alt3) {
-            	case 1 :
-            	    // InternalSignalDSL.g:186:5: (lv_watchers_4_0= ruleSignalWatcher )
-            	    {
-            	    // InternalSignalDSL.g:186:5: (lv_watchers_4_0= ruleSignalWatcher )
-            	    // InternalSignalDSL.g:187:6: lv_watchers_4_0= ruleSignalWatcher
-            	    {
-            	    if ( state.backtracking==0 ) {
+                        switch (alt3) {
+                    	case 1 :
+                    	    // InternalSignalDSL.g:186:5: (lv_watchers_4_0= ruleSignalWatcher )
+                    	    {
+                    	    // InternalSignalDSL.g:186:5: (lv_watchers_4_0= ruleSignalWatcher )
+                    	    // InternalSignalDSL.g:187:6: lv_watchers_4_0= ruleSignalWatcher
+                    	    {
+                    	    if ( state.backtracking==0 ) {
 
-            	      						newCompositeNode(grammarAccess.getSignalPackageAccess().getWatchersSignalWatcherParserRuleCall_3_1_0());
-            	      					
-            	    }
-            	    pushFollow(FOLLOW_6);
-            	    lv_watchers_4_0=ruleSignalWatcher();
+                    	      						newCompositeNode(grammarAccess.getSignalPackageAccess().getWatchersSignalWatcherParserRuleCall_3_1_0());
+                    	      					
+                    	    }
+                    	    pushFollow(FOLLOW_6);
+                    	    lv_watchers_4_0=ruleSignalWatcher();
 
-            	    state._fsp--;
-            	    if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
+                    	    state._fsp--;
+                    	    if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
 
-            	      						if (current==null) {
-            	      							current = createModelElementForParent(grammarAccess.getSignalPackageRule());
-            	      						}
-            	      						add(
-            	      							current,
-            	      							"watchers",
-            	      							lv_watchers_4_0,
-            	      							"org.eclipse.osbp.xtext.signal.SignalDSL.SignalWatcher");
-            	      						afterParserOrEnumRuleCall();
-            	      					
-            	    }
+                    	      						if (current==null) {
+                    	      							current = createModelElementForParent(grammarAccess.getSignalPackageRule());
+                    	      						}
+                    	      						add(
+                    	      							current,
+                    	      							"watchers",
+                    	      							lv_watchers_4_0,
+                    	      							"org.eclipse.osbp.xtext.signal.SignalDSL.SignalWatcher");
+                    	      						afterParserOrEnumRuleCall();
+                    	      					
+                    	    }
 
-            	    }
+                    	    }
 
 
-            	    }
-            	    break;
+                    	    }
+                    	    break;
 
-            	default :
-            	    break loop3;
-                }
-            } while (true);
+                    	default :
+                    	    break loop3;
+                        }
+                    } while (true);
 
-            otherlv_5=(Token)match(input,15,FOLLOW_2); if (state.failed) return current;
-            if ( state.backtracking==0 ) {
+                    otherlv_5=(Token)match(input,15,FOLLOW_2); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-              				newLeafNode(otherlv_5, grammarAccess.getSignalPackageAccess().getRightCurlyBracketKeyword_3_2());
-              			
-            }
+                      				newLeafNode(otherlv_5, grammarAccess.getSignalPackageAccess().getRightCurlyBracketKeyword_3_2());
+                      			
+                    }
+
+                    }
+                    break;
 
             }
 
@@ -620,17 +628,18 @@
 
 
     // $ANTLR start "ruleSignalWatcher"
-    // InternalSignalDSL.g:220:1: ruleSignalWatcher returns [EObject current=null] : ( () otherlv_1= 'watcher' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= 'directory' ( (lv_directory_4_0= RULE_STRING ) ) otherlv_5= 'for' ( (lv_signal_6_0= ruleSignalTypeEnum ) ) otherlv_7= '{' ( (lv_handlers_8_0= ruleSignalHandler ) )* otherlv_9= '}' ) ;
+    // InternalSignalDSL.g:220:1: ruleSignalWatcher returns [EObject current=null] : ( () otherlv_1= 'watcher' ( (lv_name_2_0= ruleTRANSLATABLEID ) ) otherlv_3= 'directory' ( (lv_directory_4_0= RULE_STRING ) ) otherlv_5= 'for' ( (lv_signal_6_0= ruleSignalTypeEnum ) ) otherlv_7= '{' ( (lv_handlers_8_0= ruleSignalHandler ) )* otherlv_9= '}' ) ;
     public final EObject ruleSignalWatcher() throws RecognitionException {
         EObject current = null;
 
         Token otherlv_1=null;
-        Token lv_name_2_0=null;
         Token otherlv_3=null;
         Token lv_directory_4_0=null;
         Token otherlv_5=null;
         Token otherlv_7=null;
         Token otherlv_9=null;
+        AntlrDatatypeRuleToken lv_name_2_0 = null;
+
         Enumerator lv_signal_6_0 = null;
 
         EObject lv_handlers_8_0 = null;
@@ -640,11 +649,11 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:226:2: ( ( () otherlv_1= 'watcher' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= 'directory' ( (lv_directory_4_0= RULE_STRING ) ) otherlv_5= 'for' ( (lv_signal_6_0= ruleSignalTypeEnum ) ) otherlv_7= '{' ( (lv_handlers_8_0= ruleSignalHandler ) )* otherlv_9= '}' ) )
-            // InternalSignalDSL.g:227:2: ( () otherlv_1= 'watcher' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= 'directory' ( (lv_directory_4_0= RULE_STRING ) ) otherlv_5= 'for' ( (lv_signal_6_0= ruleSignalTypeEnum ) ) otherlv_7= '{' ( (lv_handlers_8_0= ruleSignalHandler ) )* otherlv_9= '}' )
+            // InternalSignalDSL.g:226:2: ( ( () otherlv_1= 'watcher' ( (lv_name_2_0= ruleTRANSLATABLEID ) ) otherlv_3= 'directory' ( (lv_directory_4_0= RULE_STRING ) ) otherlv_5= 'for' ( (lv_signal_6_0= ruleSignalTypeEnum ) ) otherlv_7= '{' ( (lv_handlers_8_0= ruleSignalHandler ) )* otherlv_9= '}' ) )
+            // InternalSignalDSL.g:227:2: ( () otherlv_1= 'watcher' ( (lv_name_2_0= ruleTRANSLATABLEID ) ) otherlv_3= 'directory' ( (lv_directory_4_0= RULE_STRING ) ) otherlv_5= 'for' ( (lv_signal_6_0= ruleSignalTypeEnum ) ) otherlv_7= '{' ( (lv_handlers_8_0= ruleSignalHandler ) )* otherlv_9= '}' )
             {
-            // InternalSignalDSL.g:227:2: ( () otherlv_1= 'watcher' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= 'directory' ( (lv_directory_4_0= RULE_STRING ) ) otherlv_5= 'for' ( (lv_signal_6_0= ruleSignalTypeEnum ) ) otherlv_7= '{' ( (lv_handlers_8_0= ruleSignalHandler ) )* otherlv_9= '}' )
-            // InternalSignalDSL.g:228:3: () otherlv_1= 'watcher' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= 'directory' ( (lv_directory_4_0= RULE_STRING ) ) otherlv_5= 'for' ( (lv_signal_6_0= ruleSignalTypeEnum ) ) otherlv_7= '{' ( (lv_handlers_8_0= ruleSignalHandler ) )* otherlv_9= '}'
+            // InternalSignalDSL.g:227:2: ( () otherlv_1= 'watcher' ( (lv_name_2_0= ruleTRANSLATABLEID ) ) otherlv_3= 'directory' ( (lv_directory_4_0= RULE_STRING ) ) otherlv_5= 'for' ( (lv_signal_6_0= ruleSignalTypeEnum ) ) otherlv_7= '{' ( (lv_handlers_8_0= ruleSignalHandler ) )* otherlv_9= '}' )
+            // InternalSignalDSL.g:228:3: () otherlv_1= 'watcher' ( (lv_name_2_0= ruleTRANSLATABLEID ) ) otherlv_3= 'directory' ( (lv_directory_4_0= RULE_STRING ) ) otherlv_5= 'for' ( (lv_signal_6_0= ruleSignalTypeEnum ) ) otherlv_7= '{' ( (lv_handlers_8_0= ruleSignalHandler ) )* otherlv_9= '}'
             {
             // InternalSignalDSL.g:228:3: ()
             // InternalSignalDSL.g:229:4: 
@@ -665,28 +674,33 @@
               			newLeafNode(otherlv_1, grammarAccess.getSignalWatcherAccess().getWatcherKeyword_1());
               		
             }
-            // InternalSignalDSL.g:239:3: ( (lv_name_2_0= RULE_ID ) )
-            // InternalSignalDSL.g:240:4: (lv_name_2_0= RULE_ID )
+            // InternalSignalDSL.g:239:3: ( (lv_name_2_0= ruleTRANSLATABLEID ) )
+            // InternalSignalDSL.g:240:4: (lv_name_2_0= ruleTRANSLATABLEID )
             {
-            // InternalSignalDSL.g:240:4: (lv_name_2_0= RULE_ID )
-            // InternalSignalDSL.g:241:5: lv_name_2_0= RULE_ID
+            // InternalSignalDSL.g:240:4: (lv_name_2_0= ruleTRANSLATABLEID )
+            // InternalSignalDSL.g:241:5: lv_name_2_0= ruleTRANSLATABLEID
             {
-            lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_7); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              					newLeafNode(lv_name_2_0, grammarAccess.getSignalWatcherAccess().getNameIDTerminalRuleCall_2_0());
+              					newCompositeNode(grammarAccess.getSignalWatcherAccess().getNameTRANSLATABLEIDParserRuleCall_2_0());
               				
             }
+            pushFollow(FOLLOW_7);
+            lv_name_2_0=ruleTRANSLATABLEID();
+
+            state._fsp--;
+            if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					if (current==null) {
-              						current = createModelElement(grammarAccess.getSignalWatcherRule());
+              						current = createModelElementForParent(grammarAccess.getSignalWatcherRule());
               					}
-              					setWithLastConsumed(
+              					set(
               						current,
               						"name",
               						lv_name_2_0,
-              						"org.eclipse.xtext.xbase.Xtype.ID");
+              						"org.eclipse.osbp.xtext.signal.SignalDSL.TRANSLATABLEID");
+              					afterParserOrEnumRuleCall();
               				
             }
 
@@ -701,11 +715,11 @@
               			newLeafNode(otherlv_3, grammarAccess.getSignalWatcherAccess().getDirectoryKeyword_3());
               		
             }
-            // InternalSignalDSL.g:261:3: ( (lv_directory_4_0= RULE_STRING ) )
-            // InternalSignalDSL.g:262:4: (lv_directory_4_0= RULE_STRING )
+            // InternalSignalDSL.g:262:3: ( (lv_directory_4_0= RULE_STRING ) )
+            // InternalSignalDSL.g:263:4: (lv_directory_4_0= RULE_STRING )
             {
-            // InternalSignalDSL.g:262:4: (lv_directory_4_0= RULE_STRING )
-            // InternalSignalDSL.g:263:5: lv_directory_4_0= RULE_STRING
+            // InternalSignalDSL.g:263:4: (lv_directory_4_0= RULE_STRING )
+            // InternalSignalDSL.g:264:5: lv_directory_4_0= RULE_STRING
             {
             lv_directory_4_0=(Token)match(input,RULE_STRING,FOLLOW_9); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -737,18 +751,18 @@
               			newLeafNode(otherlv_5, grammarAccess.getSignalWatcherAccess().getForKeyword_5());
               		
             }
-            // InternalSignalDSL.g:283:3: ( (lv_signal_6_0= ruleSignalTypeEnum ) )
-            // InternalSignalDSL.g:284:4: (lv_signal_6_0= ruleSignalTypeEnum )
+            // InternalSignalDSL.g:284:3: ( (lv_signal_6_0= ruleSignalTypeEnum ) )
+            // InternalSignalDSL.g:285:4: (lv_signal_6_0= ruleSignalTypeEnum )
             {
-            // InternalSignalDSL.g:284:4: (lv_signal_6_0= ruleSignalTypeEnum )
-            // InternalSignalDSL.g:285:5: lv_signal_6_0= ruleSignalTypeEnum
+            // InternalSignalDSL.g:285:4: (lv_signal_6_0= ruleSignalTypeEnum )
+            // InternalSignalDSL.g:286:5: lv_signal_6_0= ruleSignalTypeEnum
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getSignalWatcherAccess().getSignalSignalTypeEnumEnumRuleCall_6_0());
               				
             }
-            pushFollow(FOLLOW_5);
+            pushFollow(FOLLOW_11);
             lv_signal_6_0=ruleSignalTypeEnum();
 
             state._fsp--;
@@ -772,36 +786,36 @@
 
             }
 
-            otherlv_7=(Token)match(input,14,FOLLOW_11); if (state.failed) return current;
+            otherlv_7=(Token)match(input,14,FOLLOW_12); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_7, grammarAccess.getSignalWatcherAccess().getLeftCurlyBracketKeyword_7());
               		
             }
-            // InternalSignalDSL.g:306:3: ( (lv_handlers_8_0= ruleSignalHandler ) )*
-            loop4:
+            // InternalSignalDSL.g:307:3: ( (lv_handlers_8_0= ruleSignalHandler ) )*
+            loop5:
             do {
-                int alt4=2;
-                int LA4_0 = input.LA(1);
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                if ( (LA4_0==19) ) {
-                    alt4=1;
+                if ( (LA5_0==19) ) {
+                    alt5=1;
                 }
 
 
-                switch (alt4) {
+                switch (alt5) {
             	case 1 :
-            	    // InternalSignalDSL.g:307:4: (lv_handlers_8_0= ruleSignalHandler )
+            	    // InternalSignalDSL.g:308:4: (lv_handlers_8_0= ruleSignalHandler )
             	    {
-            	    // InternalSignalDSL.g:307:4: (lv_handlers_8_0= ruleSignalHandler )
-            	    // InternalSignalDSL.g:308:5: lv_handlers_8_0= ruleSignalHandler
+            	    // InternalSignalDSL.g:308:4: (lv_handlers_8_0= ruleSignalHandler )
+            	    // InternalSignalDSL.g:309:5: lv_handlers_8_0= ruleSignalHandler
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      					newCompositeNode(grammarAccess.getSignalWatcherAccess().getHandlersSignalHandlerParserRuleCall_8_0());
             	      				
             	    }
-            	    pushFollow(FOLLOW_11);
+            	    pushFollow(FOLLOW_12);
             	    lv_handlers_8_0=ruleSignalHandler();
 
             	    state._fsp--;
@@ -827,7 +841,7 @@
             	    break;
 
             	default :
-            	    break loop4;
+            	    break loop5;
                 }
             } while (true);
 
@@ -862,7 +876,7 @@
 
 
     // $ANTLR start "entryRuleSignalHandler"
-    // InternalSignalDSL.g:333:1: entryRuleSignalHandler returns [EObject current=null] : iv_ruleSignalHandler= ruleSignalHandler EOF ;
+    // InternalSignalDSL.g:334:1: entryRuleSignalHandler returns [EObject current=null] : iv_ruleSignalHandler= ruleSignalHandler EOF ;
     public final EObject entryRuleSignalHandler() throws RecognitionException {
         EObject current = null;
 
@@ -870,8 +884,8 @@
 
 
         try {
-            // InternalSignalDSL.g:333:54: (iv_ruleSignalHandler= ruleSignalHandler EOF )
-            // InternalSignalDSL.g:334:2: iv_ruleSignalHandler= ruleSignalHandler EOF
+            // InternalSignalDSL.g:334:54: (iv_ruleSignalHandler= ruleSignalHandler EOF )
+            // InternalSignalDSL.g:335:2: iv_ruleSignalHandler= ruleSignalHandler EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getSignalHandlerRule()); 
@@ -902,32 +916,34 @@
 
 
     // $ANTLR start "ruleSignalHandler"
-    // InternalSignalDSL.g:340:1: ruleSignalHandler returns [EObject current=null] : ( () otherlv_1= 'handler' ( (lv_name_2_0= RULE_ID ) ) ( (lv_actionType_3_0= ruleSignalHandlerTypeEnum ) ) ( (lv_data_4_0= ruleDataTransfer ) ) otherlv_5= 'for' otherlv_6= 'fileMask' ( (lv_filemask_7_0= RULE_STRING ) ) ) ;
+    // InternalSignalDSL.g:341:1: ruleSignalHandler returns [EObject current=null] : ( () otherlv_1= 'handler' ( (lv_name_2_0= ruleTRANSLATABLEID ) ) ( (lv_actionType_3_0= ruleSignalHandlerTypeEnum ) ) ( (lv_data_4_0= ruleDataTransfer ) ) ( (lv_executiontype_5_0= ruleSignalExecutionTypeEnum ) )? otherlv_6= 'forFileMask' ( (lv_filemask_7_0= RULE_STRING ) ) ) ;
     public final EObject ruleSignalHandler() throws RecognitionException {
         EObject current = null;
 
         Token otherlv_1=null;
-        Token lv_name_2_0=null;
-        Token otherlv_5=null;
         Token otherlv_6=null;
         Token lv_filemask_7_0=null;
+        AntlrDatatypeRuleToken lv_name_2_0 = null;
+
         Enumerator lv_actionType_3_0 = null;
 
         EObject lv_data_4_0 = null;
 
+        Enumerator lv_executiontype_5_0 = null;
+
 
 
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:346:2: ( ( () otherlv_1= 'handler' ( (lv_name_2_0= RULE_ID ) ) ( (lv_actionType_3_0= ruleSignalHandlerTypeEnum ) ) ( (lv_data_4_0= ruleDataTransfer ) ) otherlv_5= 'for' otherlv_6= 'fileMask' ( (lv_filemask_7_0= RULE_STRING ) ) ) )
-            // InternalSignalDSL.g:347:2: ( () otherlv_1= 'handler' ( (lv_name_2_0= RULE_ID ) ) ( (lv_actionType_3_0= ruleSignalHandlerTypeEnum ) ) ( (lv_data_4_0= ruleDataTransfer ) ) otherlv_5= 'for' otherlv_6= 'fileMask' ( (lv_filemask_7_0= RULE_STRING ) ) )
+            // InternalSignalDSL.g:347:2: ( ( () otherlv_1= 'handler' ( (lv_name_2_0= ruleTRANSLATABLEID ) ) ( (lv_actionType_3_0= ruleSignalHandlerTypeEnum ) ) ( (lv_data_4_0= ruleDataTransfer ) ) ( (lv_executiontype_5_0= ruleSignalExecutionTypeEnum ) )? otherlv_6= 'forFileMask' ( (lv_filemask_7_0= RULE_STRING ) ) ) )
+            // InternalSignalDSL.g:348:2: ( () otherlv_1= 'handler' ( (lv_name_2_0= ruleTRANSLATABLEID ) ) ( (lv_actionType_3_0= ruleSignalHandlerTypeEnum ) ) ( (lv_data_4_0= ruleDataTransfer ) ) ( (lv_executiontype_5_0= ruleSignalExecutionTypeEnum ) )? otherlv_6= 'forFileMask' ( (lv_filemask_7_0= RULE_STRING ) ) )
             {
-            // InternalSignalDSL.g:347:2: ( () otherlv_1= 'handler' ( (lv_name_2_0= RULE_ID ) ) ( (lv_actionType_3_0= ruleSignalHandlerTypeEnum ) ) ( (lv_data_4_0= ruleDataTransfer ) ) otherlv_5= 'for' otherlv_6= 'fileMask' ( (lv_filemask_7_0= RULE_STRING ) ) )
-            // InternalSignalDSL.g:348:3: () otherlv_1= 'handler' ( (lv_name_2_0= RULE_ID ) ) ( (lv_actionType_3_0= ruleSignalHandlerTypeEnum ) ) ( (lv_data_4_0= ruleDataTransfer ) ) otherlv_5= 'for' otherlv_6= 'fileMask' ( (lv_filemask_7_0= RULE_STRING ) )
+            // InternalSignalDSL.g:348:2: ( () otherlv_1= 'handler' ( (lv_name_2_0= ruleTRANSLATABLEID ) ) ( (lv_actionType_3_0= ruleSignalHandlerTypeEnum ) ) ( (lv_data_4_0= ruleDataTransfer ) ) ( (lv_executiontype_5_0= ruleSignalExecutionTypeEnum ) )? otherlv_6= 'forFileMask' ( (lv_filemask_7_0= RULE_STRING ) ) )
+            // InternalSignalDSL.g:349:3: () otherlv_1= 'handler' ( (lv_name_2_0= ruleTRANSLATABLEID ) ) ( (lv_actionType_3_0= ruleSignalHandlerTypeEnum ) ) ( (lv_data_4_0= ruleDataTransfer ) ) ( (lv_executiontype_5_0= ruleSignalExecutionTypeEnum ) )? otherlv_6= 'forFileMask' ( (lv_filemask_7_0= RULE_STRING ) )
             {
-            // InternalSignalDSL.g:348:3: ()
-            // InternalSignalDSL.g:349:4: 
+            // InternalSignalDSL.g:349:3: ()
+            // InternalSignalDSL.g:350:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -945,28 +961,33 @@
               			newLeafNode(otherlv_1, grammarAccess.getSignalHandlerAccess().getHandlerKeyword_1());
               		
             }
-            // InternalSignalDSL.g:359:3: ( (lv_name_2_0= RULE_ID ) )
-            // InternalSignalDSL.g:360:4: (lv_name_2_0= RULE_ID )
+            // InternalSignalDSL.g:360:3: ( (lv_name_2_0= ruleTRANSLATABLEID ) )
+            // InternalSignalDSL.g:361:4: (lv_name_2_0= ruleTRANSLATABLEID )
             {
-            // InternalSignalDSL.g:360:4: (lv_name_2_0= RULE_ID )
-            // InternalSignalDSL.g:361:5: lv_name_2_0= RULE_ID
+            // InternalSignalDSL.g:361:4: (lv_name_2_0= ruleTRANSLATABLEID )
+            // InternalSignalDSL.g:362:5: lv_name_2_0= ruleTRANSLATABLEID
             {
-            lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_12); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              					newLeafNode(lv_name_2_0, grammarAccess.getSignalHandlerAccess().getNameIDTerminalRuleCall_2_0());
+              					newCompositeNode(grammarAccess.getSignalHandlerAccess().getNameTRANSLATABLEIDParserRuleCall_2_0());
               				
             }
+            pushFollow(FOLLOW_13);
+            lv_name_2_0=ruleTRANSLATABLEID();
+
+            state._fsp--;
+            if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					if (current==null) {
-              						current = createModelElement(grammarAccess.getSignalHandlerRule());
+              						current = createModelElementForParent(grammarAccess.getSignalHandlerRule());
               					}
-              					setWithLastConsumed(
+              					set(
               						current,
               						"name",
               						lv_name_2_0,
-              						"org.eclipse.xtext.xbase.Xtype.ID");
+              						"org.eclipse.osbp.xtext.signal.SignalDSL.TRANSLATABLEID");
+              					afterParserOrEnumRuleCall();
               				
             }
 
@@ -975,18 +996,18 @@
 
             }
 
-            // InternalSignalDSL.g:377:3: ( (lv_actionType_3_0= ruleSignalHandlerTypeEnum ) )
-            // InternalSignalDSL.g:378:4: (lv_actionType_3_0= ruleSignalHandlerTypeEnum )
+            // InternalSignalDSL.g:379:3: ( (lv_actionType_3_0= ruleSignalHandlerTypeEnum ) )
+            // InternalSignalDSL.g:380:4: (lv_actionType_3_0= ruleSignalHandlerTypeEnum )
             {
-            // InternalSignalDSL.g:378:4: (lv_actionType_3_0= ruleSignalHandlerTypeEnum )
-            // InternalSignalDSL.g:379:5: lv_actionType_3_0= ruleSignalHandlerTypeEnum
+            // InternalSignalDSL.g:380:4: (lv_actionType_3_0= ruleSignalHandlerTypeEnum )
+            // InternalSignalDSL.g:381:5: lv_actionType_3_0= ruleSignalHandlerTypeEnum
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getSignalHandlerAccess().getActionTypeSignalHandlerTypeEnumEnumRuleCall_3_0());
               				
             }
-            pushFollow(FOLLOW_13);
+            pushFollow(FOLLOW_14);
             lv_actionType_3_0=ruleSignalHandlerTypeEnum();
 
             state._fsp--;
@@ -1010,18 +1031,18 @@
 
             }
 
-            // InternalSignalDSL.g:396:3: ( (lv_data_4_0= ruleDataTransfer ) )
-            // InternalSignalDSL.g:397:4: (lv_data_4_0= ruleDataTransfer )
+            // InternalSignalDSL.g:398:3: ( (lv_data_4_0= ruleDataTransfer ) )
+            // InternalSignalDSL.g:399:4: (lv_data_4_0= ruleDataTransfer )
             {
-            // InternalSignalDSL.g:397:4: (lv_data_4_0= ruleDataTransfer )
-            // InternalSignalDSL.g:398:5: lv_data_4_0= ruleDataTransfer
+            // InternalSignalDSL.g:399:4: (lv_data_4_0= ruleDataTransfer )
+            // InternalSignalDSL.g:400:5: lv_data_4_0= ruleDataTransfer
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getSignalHandlerAccess().getDataDataTransferParserRuleCall_4_0());
               				
             }
-            pushFollow(FOLLOW_9);
+            pushFollow(FOLLOW_15);
             lv_data_4_0=ruleDataTransfer();
 
             state._fsp--;
@@ -1045,23 +1066,63 @@
 
             }
 
-            otherlv_5=(Token)match(input,18,FOLLOW_14); if (state.failed) return current;
-            if ( state.backtracking==0 ) {
+            // InternalSignalDSL.g:417:3: ( (lv_executiontype_5_0= ruleSignalExecutionTypeEnum ) )?
+            int alt6=2;
+            int LA6_0 = input.LA(1);
 
-              			newLeafNode(otherlv_5, grammarAccess.getSignalHandlerAccess().getForKeyword_5());
-              		
+            if ( ((LA6_0>=102 && LA6_0<=103)) ) {
+                alt6=1;
             }
+            switch (alt6) {
+                case 1 :
+                    // InternalSignalDSL.g:418:4: (lv_executiontype_5_0= ruleSignalExecutionTypeEnum )
+                    {
+                    // InternalSignalDSL.g:418:4: (lv_executiontype_5_0= ruleSignalExecutionTypeEnum )
+                    // InternalSignalDSL.g:419:5: lv_executiontype_5_0= ruleSignalExecutionTypeEnum
+                    {
+                    if ( state.backtracking==0 ) {
+
+                      					newCompositeNode(grammarAccess.getSignalHandlerAccess().getExecutiontypeSignalExecutionTypeEnumEnumRuleCall_5_0());
+                      				
+                    }
+                    pushFollow(FOLLOW_16);
+                    lv_executiontype_5_0=ruleSignalExecutionTypeEnum();
+
+                    state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      					if (current==null) {
+                      						current = createModelElementForParent(grammarAccess.getSignalHandlerRule());
+                      					}
+                      					set(
+                      						current,
+                      						"executiontype",
+                      						lv_executiontype_5_0,
+                      						"org.eclipse.osbp.xtext.signal.SignalDSL.SignalExecutionTypeEnum");
+                      					afterParserOrEnumRuleCall();
+                      				
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
             otherlv_6=(Token)match(input,20,FOLLOW_8); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              			newLeafNode(otherlv_6, grammarAccess.getSignalHandlerAccess().getFileMaskKeyword_6());
+              			newLeafNode(otherlv_6, grammarAccess.getSignalHandlerAccess().getForFileMaskKeyword_6());
               		
             }
-            // InternalSignalDSL.g:423:3: ( (lv_filemask_7_0= RULE_STRING ) )
-            // InternalSignalDSL.g:424:4: (lv_filemask_7_0= RULE_STRING )
+            // InternalSignalDSL.g:440:3: ( (lv_filemask_7_0= RULE_STRING ) )
+            // InternalSignalDSL.g:441:4: (lv_filemask_7_0= RULE_STRING )
             {
-            // InternalSignalDSL.g:424:4: (lv_filemask_7_0= RULE_STRING )
-            // InternalSignalDSL.g:425:5: lv_filemask_7_0= RULE_STRING
+            // InternalSignalDSL.g:441:4: (lv_filemask_7_0= RULE_STRING )
+            // InternalSignalDSL.g:442:5: lv_filemask_7_0= RULE_STRING
             {
             lv_filemask_7_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -1112,7 +1173,7 @@
 
 
     // $ANTLR start "entryRuleDataTransfer"
-    // InternalSignalDSL.g:445:1: entryRuleDataTransfer returns [EObject current=null] : iv_ruleDataTransfer= ruleDataTransfer EOF ;
+    // InternalSignalDSL.g:462:1: entryRuleDataTransfer returns [EObject current=null] : iv_ruleDataTransfer= ruleDataTransfer EOF ;
     public final EObject entryRuleDataTransfer() throws RecognitionException {
         EObject current = null;
 
@@ -1120,8 +1181,8 @@
 
 
         try {
-            // InternalSignalDSL.g:445:53: (iv_ruleDataTransfer= ruleDataTransfer EOF )
-            // InternalSignalDSL.g:446:2: iv_ruleDataTransfer= ruleDataTransfer EOF
+            // InternalSignalDSL.g:462:53: (iv_ruleDataTransfer= ruleDataTransfer EOF )
+            // InternalSignalDSL.g:463:2: iv_ruleDataTransfer= ruleDataTransfer EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getDataTransferRule()); 
@@ -1152,7 +1213,7 @@
 
 
     // $ANTLR start "ruleDataTransfer"
-    // InternalSignalDSL.g:452:1: ruleDataTransfer returns [EObject current=null] : (this_SingleTransfer_0= ruleSingleTransfer | this_ListTransfer_1= ruleListTransfer ) ;
+    // InternalSignalDSL.g:469:1: ruleDataTransfer returns [EObject current=null] : (this_SingleTransfer_0= ruleSingleTransfer | this_ListTransfer_1= ruleListTransfer ) ;
     public final EObject ruleDataTransfer() throws RecognitionException {
         EObject current = null;
 
@@ -1165,29 +1226,29 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:458:2: ( (this_SingleTransfer_0= ruleSingleTransfer | this_ListTransfer_1= ruleListTransfer ) )
-            // InternalSignalDSL.g:459:2: (this_SingleTransfer_0= ruleSingleTransfer | this_ListTransfer_1= ruleListTransfer )
+            // InternalSignalDSL.g:475:2: ( (this_SingleTransfer_0= ruleSingleTransfer | this_ListTransfer_1= ruleListTransfer ) )
+            // InternalSignalDSL.g:476:2: (this_SingleTransfer_0= ruleSingleTransfer | this_ListTransfer_1= ruleListTransfer )
             {
-            // InternalSignalDSL.g:459:2: (this_SingleTransfer_0= ruleSingleTransfer | this_ListTransfer_1= ruleListTransfer )
-            int alt5=2;
-            int LA5_0 = input.LA(1);
+            // InternalSignalDSL.g:476:2: (this_SingleTransfer_0= ruleSingleTransfer | this_ListTransfer_1= ruleListTransfer )
+            int alt7=2;
+            int LA7_0 = input.LA(1);
 
-            if ( ((LA5_0>=95 && LA5_0<=96)) ) {
-                alt5=1;
+            if ( ((LA7_0>=96 && LA7_0<=97)) ) {
+                alt7=1;
             }
-            else if ( (LA5_0==21) ) {
-                alt5=2;
+            else if ( (LA7_0==21) ) {
+                alt7=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 5, 0, input);
+                    new NoViableAltException("", 7, 0, input);
 
                 throw nvae;
             }
-            switch (alt5) {
+            switch (alt7) {
                 case 1 :
-                    // InternalSignalDSL.g:460:3: this_SingleTransfer_0= ruleSingleTransfer
+                    // InternalSignalDSL.g:477:3: this_SingleTransfer_0= ruleSingleTransfer
                     {
                     if ( state.backtracking==0 ) {
 
@@ -1209,7 +1270,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:469:3: this_ListTransfer_1= ruleListTransfer
+                    // InternalSignalDSL.g:486:3: this_ListTransfer_1= ruleListTransfer
                     {
                     if ( state.backtracking==0 ) {
 
@@ -1255,7 +1316,7 @@
 
 
     // $ANTLR start "entryRuleListTransfer"
-    // InternalSignalDSL.g:481:1: entryRuleListTransfer returns [EObject current=null] : iv_ruleListTransfer= ruleListTransfer EOF ;
+    // InternalSignalDSL.g:498:1: entryRuleListTransfer returns [EObject current=null] : iv_ruleListTransfer= ruleListTransfer EOF ;
     public final EObject entryRuleListTransfer() throws RecognitionException {
         EObject current = null;
 
@@ -1263,8 +1324,8 @@
 
 
         try {
-            // InternalSignalDSL.g:481:53: (iv_ruleListTransfer= ruleListTransfer EOF )
-            // InternalSignalDSL.g:482:2: iv_ruleListTransfer= ruleListTransfer EOF
+            // InternalSignalDSL.g:498:53: (iv_ruleListTransfer= ruleListTransfer EOF )
+            // InternalSignalDSL.g:499:2: iv_ruleListTransfer= ruleListTransfer EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getListTransferRule()); 
@@ -1295,30 +1356,28 @@
 
 
     // $ANTLR start "ruleListTransfer"
-    // InternalSignalDSL.g:488:1: ruleListTransfer returns [EObject current=null] : ( () otherlv_1= 'DataTransfer' ( (lv_executiontype_2_0= ruleSignalExecutionTypeEnum ) )? otherlv_3= '{' ( (lv_interchanges_4_0= ruleSignalDatainterchange ) )* otherlv_5= '}' ) ;
+    // InternalSignalDSL.g:505:1: ruleListTransfer returns [EObject current=null] : ( () otherlv_1= 'DataTransfer' otherlv_2= '{' ( (lv_interchanges_3_0= ruleSignalDatainterchange ) )* otherlv_4= '}' ) ;
     public final EObject ruleListTransfer() throws RecognitionException {
         EObject current = null;
 
         Token otherlv_1=null;
-        Token otherlv_3=null;
-        Token otherlv_5=null;
-        Enumerator lv_executiontype_2_0 = null;
-
-        EObject lv_interchanges_4_0 = null;
+        Token otherlv_2=null;
+        Token otherlv_4=null;
+        EObject lv_interchanges_3_0 = null;
 
 
 
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:494:2: ( ( () otherlv_1= 'DataTransfer' ( (lv_executiontype_2_0= ruleSignalExecutionTypeEnum ) )? otherlv_3= '{' ( (lv_interchanges_4_0= ruleSignalDatainterchange ) )* otherlv_5= '}' ) )
-            // InternalSignalDSL.g:495:2: ( () otherlv_1= 'DataTransfer' ( (lv_executiontype_2_0= ruleSignalExecutionTypeEnum ) )? otherlv_3= '{' ( (lv_interchanges_4_0= ruleSignalDatainterchange ) )* otherlv_5= '}' )
+            // InternalSignalDSL.g:511:2: ( ( () otherlv_1= 'DataTransfer' otherlv_2= '{' ( (lv_interchanges_3_0= ruleSignalDatainterchange ) )* otherlv_4= '}' ) )
+            // InternalSignalDSL.g:512:2: ( () otherlv_1= 'DataTransfer' otherlv_2= '{' ( (lv_interchanges_3_0= ruleSignalDatainterchange ) )* otherlv_4= '}' )
             {
-            // InternalSignalDSL.g:495:2: ( () otherlv_1= 'DataTransfer' ( (lv_executiontype_2_0= ruleSignalExecutionTypeEnum ) )? otherlv_3= '{' ( (lv_interchanges_4_0= ruleSignalDatainterchange ) )* otherlv_5= '}' )
-            // InternalSignalDSL.g:496:3: () otherlv_1= 'DataTransfer' ( (lv_executiontype_2_0= ruleSignalExecutionTypeEnum ) )? otherlv_3= '{' ( (lv_interchanges_4_0= ruleSignalDatainterchange ) )* otherlv_5= '}'
+            // InternalSignalDSL.g:512:2: ( () otherlv_1= 'DataTransfer' otherlv_2= '{' ( (lv_interchanges_3_0= ruleSignalDatainterchange ) )* otherlv_4= '}' )
+            // InternalSignalDSL.g:513:3: () otherlv_1= 'DataTransfer' otherlv_2= '{' ( (lv_interchanges_3_0= ruleSignalDatainterchange ) )* otherlv_4= '}'
             {
-            // InternalSignalDSL.g:496:3: ()
-            // InternalSignalDSL.g:497:4: 
+            // InternalSignalDSL.g:513:3: ()
+            // InternalSignalDSL.g:514:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -1330,89 +1389,43 @@
 
             }
 
-            otherlv_1=(Token)match(input,21,FOLLOW_15); if (state.failed) return current;
+            otherlv_1=(Token)match(input,21,FOLLOW_11); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getListTransferAccess().getDataTransferKeyword_1());
               		
             }
-            // InternalSignalDSL.g:507:3: ( (lv_executiontype_2_0= ruleSignalExecutionTypeEnum ) )?
-            int alt6=2;
-            int LA6_0 = input.LA(1);
-
-            if ( ((LA6_0>=105 && LA6_0<=106)) ) {
-                alt6=1;
-            }
-            switch (alt6) {
-                case 1 :
-                    // InternalSignalDSL.g:508:4: (lv_executiontype_2_0= ruleSignalExecutionTypeEnum )
-                    {
-                    // InternalSignalDSL.g:508:4: (lv_executiontype_2_0= ruleSignalExecutionTypeEnum )
-                    // InternalSignalDSL.g:509:5: lv_executiontype_2_0= ruleSignalExecutionTypeEnum
-                    {
-                    if ( state.backtracking==0 ) {
-
-                      					newCompositeNode(grammarAccess.getListTransferAccess().getExecutiontypeSignalExecutionTypeEnumEnumRuleCall_2_0());
-                      				
-                    }
-                    pushFollow(FOLLOW_5);
-                    lv_executiontype_2_0=ruleSignalExecutionTypeEnum();
-
-                    state._fsp--;
-                    if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      					if (current==null) {
-                      						current = createModelElementForParent(grammarAccess.getListTransferRule());
-                      					}
-                      					set(
-                      						current,
-                      						"executiontype",
-                      						lv_executiontype_2_0,
-                      						"org.eclipse.osbp.xtext.signal.SignalDSL.SignalExecutionTypeEnum");
-                      					afterParserOrEnumRuleCall();
-                      				
-                    }
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_3=(Token)match(input,14,FOLLOW_16); if (state.failed) return current;
+            otherlv_2=(Token)match(input,14,FOLLOW_17); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              			newLeafNode(otherlv_3, grammarAccess.getListTransferAccess().getLeftCurlyBracketKeyword_3());
+              			newLeafNode(otherlv_2, grammarAccess.getListTransferAccess().getLeftCurlyBracketKeyword_2());
               		
             }
-            // InternalSignalDSL.g:530:3: ( (lv_interchanges_4_0= ruleSignalDatainterchange ) )*
-            loop7:
+            // InternalSignalDSL.g:528:3: ( (lv_interchanges_3_0= ruleSignalDatainterchange ) )*
+            loop8:
             do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
+                int alt8=2;
+                int LA8_0 = input.LA(1);
 
-                if ( ((LA7_0>=95 && LA7_0<=96)) ) {
-                    alt7=1;
+                if ( ((LA8_0>=96 && LA8_0<=97)) ) {
+                    alt8=1;
                 }
 
 
-                switch (alt7) {
+                switch (alt8) {
             	case 1 :
-            	    // InternalSignalDSL.g:531:4: (lv_interchanges_4_0= ruleSignalDatainterchange )
+            	    // InternalSignalDSL.g:529:4: (lv_interchanges_3_0= ruleSignalDatainterchange )
             	    {
-            	    // InternalSignalDSL.g:531:4: (lv_interchanges_4_0= ruleSignalDatainterchange )
-            	    // InternalSignalDSL.g:532:5: lv_interchanges_4_0= ruleSignalDatainterchange
+            	    // InternalSignalDSL.g:529:4: (lv_interchanges_3_0= ruleSignalDatainterchange )
+            	    // InternalSignalDSL.g:530:5: lv_interchanges_3_0= ruleSignalDatainterchange
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      					newCompositeNode(grammarAccess.getListTransferAccess().getInterchangesSignalDatainterchangeParserRuleCall_4_0());
+            	      					newCompositeNode(grammarAccess.getListTransferAccess().getInterchangesSignalDatainterchangeParserRuleCall_3_0());
             	      				
             	    }
-            	    pushFollow(FOLLOW_16);
-            	    lv_interchanges_4_0=ruleSignalDatainterchange();
+            	    pushFollow(FOLLOW_17);
+            	    lv_interchanges_3_0=ruleSignalDatainterchange();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -1424,7 +1437,7 @@
             	      					add(
             	      						current,
             	      						"interchanges",
-            	      						lv_interchanges_4_0,
+            	      						lv_interchanges_3_0,
             	      						"org.eclipse.osbp.xtext.signal.SignalDSL.SignalDatainterchange");
             	      					afterParserOrEnumRuleCall();
             	      				
@@ -1437,14 +1450,14 @@
             	    break;
 
             	default :
-            	    break loop7;
+            	    break loop8;
                 }
             } while (true);
 
-            otherlv_5=(Token)match(input,15,FOLLOW_2); if (state.failed) return current;
+            otherlv_4=(Token)match(input,15,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              			newLeafNode(otherlv_5, grammarAccess.getListTransferAccess().getRightCurlyBracketKeyword_5());
+              			newLeafNode(otherlv_4, grammarAccess.getListTransferAccess().getRightCurlyBracketKeyword_4());
               		
             }
 
@@ -1472,7 +1485,7 @@
 
 
     // $ANTLR start "entryRuleSingleTransfer"
-    // InternalSignalDSL.g:557:1: entryRuleSingleTransfer returns [EObject current=null] : iv_ruleSingleTransfer= ruleSingleTransfer EOF ;
+    // InternalSignalDSL.g:555:1: entryRuleSingleTransfer returns [EObject current=null] : iv_ruleSingleTransfer= ruleSingleTransfer EOF ;
     public final EObject entryRuleSingleTransfer() throws RecognitionException {
         EObject current = null;
 
@@ -1480,8 +1493,8 @@
 
 
         try {
-            // InternalSignalDSL.g:557:55: (iv_ruleSingleTransfer= ruleSingleTransfer EOF )
-            // InternalSignalDSL.g:558:2: iv_ruleSingleTransfer= ruleSingleTransfer EOF
+            // InternalSignalDSL.g:555:55: (iv_ruleSingleTransfer= ruleSingleTransfer EOF )
+            // InternalSignalDSL.g:556:2: iv_ruleSingleTransfer= ruleSingleTransfer EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getSingleTransferRule()); 
@@ -1512,7 +1525,7 @@
 
 
     // $ANTLR start "ruleSingleTransfer"
-    // InternalSignalDSL.g:564:1: ruleSingleTransfer returns [EObject current=null] : ( (lv_interchange_0_0= ruleSignalDatainterchange ) ) ;
+    // InternalSignalDSL.g:562:1: ruleSingleTransfer returns [EObject current=null] : ( (lv_interchange_0_0= ruleSignalDatainterchange ) ) ;
     public final EObject ruleSingleTransfer() throws RecognitionException {
         EObject current = null;
 
@@ -1523,14 +1536,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:570:2: ( ( (lv_interchange_0_0= ruleSignalDatainterchange ) ) )
-            // InternalSignalDSL.g:571:2: ( (lv_interchange_0_0= ruleSignalDatainterchange ) )
+            // InternalSignalDSL.g:568:2: ( ( (lv_interchange_0_0= ruleSignalDatainterchange ) ) )
+            // InternalSignalDSL.g:569:2: ( (lv_interchange_0_0= ruleSignalDatainterchange ) )
             {
-            // InternalSignalDSL.g:571:2: ( (lv_interchange_0_0= ruleSignalDatainterchange ) )
-            // InternalSignalDSL.g:572:3: (lv_interchange_0_0= ruleSignalDatainterchange )
+            // InternalSignalDSL.g:569:2: ( (lv_interchange_0_0= ruleSignalDatainterchange ) )
+            // InternalSignalDSL.g:570:3: (lv_interchange_0_0= ruleSignalDatainterchange )
             {
-            // InternalSignalDSL.g:572:3: (lv_interchange_0_0= ruleSignalDatainterchange )
-            // InternalSignalDSL.g:573:4: lv_interchange_0_0= ruleSignalDatainterchange
+            // InternalSignalDSL.g:570:3: (lv_interchange_0_0= ruleSignalDatainterchange )
+            // InternalSignalDSL.g:571:4: lv_interchange_0_0= ruleSignalDatainterchange
             {
             if ( state.backtracking==0 ) {
 
@@ -1583,7 +1596,7 @@
 
 
     // $ANTLR start "entryRuleSignalDatainterchange"
-    // InternalSignalDSL.g:593:1: entryRuleSignalDatainterchange returns [EObject current=null] : iv_ruleSignalDatainterchange= ruleSignalDatainterchange EOF ;
+    // InternalSignalDSL.g:591:1: entryRuleSignalDatainterchange returns [EObject current=null] : iv_ruleSignalDatainterchange= ruleSignalDatainterchange EOF ;
     public final EObject entryRuleSignalDatainterchange() throws RecognitionException {
         EObject current = null;
 
@@ -1591,8 +1604,8 @@
 
 
         try {
-            // InternalSignalDSL.g:593:62: (iv_ruleSignalDatainterchange= ruleSignalDatainterchange EOF )
-            // InternalSignalDSL.g:594:2: iv_ruleSignalDatainterchange= ruleSignalDatainterchange EOF
+            // InternalSignalDSL.g:591:62: (iv_ruleSignalDatainterchange= ruleSignalDatainterchange EOF )
+            // InternalSignalDSL.g:592:2: iv_ruleSignalDatainterchange= ruleSignalDatainterchange EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getSignalDatainterchangeRule()); 
@@ -1623,11 +1636,13 @@
 
 
     // $ANTLR start "ruleSignalDatainterchange"
-    // InternalSignalDSL.g:600:1: ruleSignalDatainterchange returns [EObject current=null] : ( ( (lv_dataAction_0_0= ruleSignalActionEnum ) ) ( (otherlv_1= RULE_ID ) ) ) ;
+    // InternalSignalDSL.g:598:1: ruleSignalDatainterchange returns [EObject current=null] : ( ( (lv_dataAction_0_0= ruleSignalActionEnum ) ) ( (otherlv_1= RULE_ID ) ) otherlv_2= 'fileName' ( (lv_fileName_3_0= RULE_STRING ) ) ) ;
     public final EObject ruleSignalDatainterchange() throws RecognitionException {
         EObject current = null;
 
         Token otherlv_1=null;
+        Token otherlv_2=null;
+        Token lv_fileName_3_0=null;
         Enumerator lv_dataAction_0_0 = null;
 
 
@@ -1635,17 +1650,17 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:606:2: ( ( ( (lv_dataAction_0_0= ruleSignalActionEnum ) ) ( (otherlv_1= RULE_ID ) ) ) )
-            // InternalSignalDSL.g:607:2: ( ( (lv_dataAction_0_0= ruleSignalActionEnum ) ) ( (otherlv_1= RULE_ID ) ) )
+            // InternalSignalDSL.g:604:2: ( ( ( (lv_dataAction_0_0= ruleSignalActionEnum ) ) ( (otherlv_1= RULE_ID ) ) otherlv_2= 'fileName' ( (lv_fileName_3_0= RULE_STRING ) ) ) )
+            // InternalSignalDSL.g:605:2: ( ( (lv_dataAction_0_0= ruleSignalActionEnum ) ) ( (otherlv_1= RULE_ID ) ) otherlv_2= 'fileName' ( (lv_fileName_3_0= RULE_STRING ) ) )
             {
-            // InternalSignalDSL.g:607:2: ( ( (lv_dataAction_0_0= ruleSignalActionEnum ) ) ( (otherlv_1= RULE_ID ) ) )
-            // InternalSignalDSL.g:608:3: ( (lv_dataAction_0_0= ruleSignalActionEnum ) ) ( (otherlv_1= RULE_ID ) )
+            // InternalSignalDSL.g:605:2: ( ( (lv_dataAction_0_0= ruleSignalActionEnum ) ) ( (otherlv_1= RULE_ID ) ) otherlv_2= 'fileName' ( (lv_fileName_3_0= RULE_STRING ) ) )
+            // InternalSignalDSL.g:606:3: ( (lv_dataAction_0_0= ruleSignalActionEnum ) ) ( (otherlv_1= RULE_ID ) ) otherlv_2= 'fileName' ( (lv_fileName_3_0= RULE_STRING ) )
             {
-            // InternalSignalDSL.g:608:3: ( (lv_dataAction_0_0= ruleSignalActionEnum ) )
-            // InternalSignalDSL.g:609:4: (lv_dataAction_0_0= ruleSignalActionEnum )
+            // InternalSignalDSL.g:606:3: ( (lv_dataAction_0_0= ruleSignalActionEnum ) )
+            // InternalSignalDSL.g:607:4: (lv_dataAction_0_0= ruleSignalActionEnum )
             {
-            // InternalSignalDSL.g:609:4: (lv_dataAction_0_0= ruleSignalActionEnum )
-            // InternalSignalDSL.g:610:5: lv_dataAction_0_0= ruleSignalActionEnum
+            // InternalSignalDSL.g:607:4: (lv_dataAction_0_0= ruleSignalActionEnum )
+            // InternalSignalDSL.g:608:5: lv_dataAction_0_0= ruleSignalActionEnum
             {
             if ( state.backtracking==0 ) {
 
@@ -1676,11 +1691,11 @@
 
             }
 
-            // InternalSignalDSL.g:627:3: ( (otherlv_1= RULE_ID ) )
-            // InternalSignalDSL.g:628:4: (otherlv_1= RULE_ID )
+            // InternalSignalDSL.g:625:3: ( (otherlv_1= RULE_ID ) )
+            // InternalSignalDSL.g:626:4: (otherlv_1= RULE_ID )
             {
-            // InternalSignalDSL.g:628:4: (otherlv_1= RULE_ID )
-            // InternalSignalDSL.g:629:5: otherlv_1= RULE_ID
+            // InternalSignalDSL.g:626:4: (otherlv_1= RULE_ID )
+            // InternalSignalDSL.g:627:5: otherlv_1= RULE_ID
             {
             if ( state.backtracking==0 ) {
 
@@ -1689,7 +1704,7 @@
               					}
               				
             }
-            otherlv_1=(Token)match(input,RULE_ID,FOLLOW_2); if (state.failed) return current;
+            otherlv_1=(Token)match(input,RULE_ID,FOLLOW_18); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_1, grammarAccess.getSignalDatainterchangeAccess().getDataRefDataInterchangeCrossReference_1_0());
@@ -1701,6 +1716,42 @@
 
             }
 
+            otherlv_2=(Token)match(input,22,FOLLOW_8); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              			newLeafNode(otherlv_2, grammarAccess.getSignalDatainterchangeAccess().getFileNameKeyword_2());
+              		
+            }
+            // InternalSignalDSL.g:642:3: ( (lv_fileName_3_0= RULE_STRING ) )
+            // InternalSignalDSL.g:643:4: (lv_fileName_3_0= RULE_STRING )
+            {
+            // InternalSignalDSL.g:643:4: (lv_fileName_3_0= RULE_STRING )
+            // InternalSignalDSL.g:644:5: lv_fileName_3_0= RULE_STRING
+            {
+            lv_fileName_3_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              					newLeafNode(lv_fileName_3_0, grammarAccess.getSignalDatainterchangeAccess().getFileNameSTRINGTerminalRuleCall_3_0());
+              				
+            }
+            if ( state.backtracking==0 ) {
+
+              					if (current==null) {
+              						current = createModelElement(grammarAccess.getSignalDatainterchangeRule());
+              					}
+              					setWithLastConsumed(
+              						current,
+              						"fileName",
+              						lv_fileName_3_0,
+              						"org.eclipse.xtext.xbase.Xtype.STRING");
+              				
+            }
+
+            }
+
+
+            }
+
 
             }
 
@@ -1725,8 +1776,94 @@
     // $ANTLR end "ruleSignalDatainterchange"
 
 
+    // $ANTLR start "entryRuleTRANSLATABLEID"
+    // InternalSignalDSL.g:664:1: entryRuleTRANSLATABLEID returns [String current=null] : iv_ruleTRANSLATABLEID= ruleTRANSLATABLEID EOF ;
+    public final String entryRuleTRANSLATABLEID() throws RecognitionException {
+        String current = null;
+
+        AntlrDatatypeRuleToken iv_ruleTRANSLATABLEID = null;
+
+
+        try {
+            // InternalSignalDSL.g:664:54: (iv_ruleTRANSLATABLEID= ruleTRANSLATABLEID EOF )
+            // InternalSignalDSL.g:665:2: iv_ruleTRANSLATABLEID= ruleTRANSLATABLEID EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getTRANSLATABLEIDRule()); 
+            }
+            pushFollow(FOLLOW_1);
+            iv_ruleTRANSLATABLEID=ruleTRANSLATABLEID();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleTRANSLATABLEID.getText(); 
+            }
+            match(input,EOF,FOLLOW_2); if (state.failed) return current;
+
+            }
+
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleTRANSLATABLEID"
+
+
+    // $ANTLR start "ruleTRANSLATABLEID"
+    // InternalSignalDSL.g:671:1: ruleTRANSLATABLEID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_ID_0= RULE_ID ;
+    public final AntlrDatatypeRuleToken ruleTRANSLATABLEID() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+        Token this_ID_0=null;
+
+
+        	enterRule();
+
+        try {
+            // InternalSignalDSL.g:677:2: (this_ID_0= RULE_ID )
+            // InternalSignalDSL.g:678:2: this_ID_0= RULE_ID
+            {
+            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_2); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              		current.merge(this_ID_0);
+              	
+            }
+            if ( state.backtracking==0 ) {
+
+              		newLeafNode(this_ID_0, grammarAccess.getTRANSLATABLEIDAccess().getIDTerminalRuleCall());
+              	
+            }
+
+            }
+
+            if ( state.backtracking==0 ) {
+
+              	leaveRule();
+
+            }
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleTRANSLATABLEID"
+
+
     // $ANTLR start "entryRuleXImportDeclaration"
-    // InternalSignalDSL.g:644:1: entryRuleXImportDeclaration returns [EObject current=null] : iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ;
+    // InternalSignalDSL.g:688:1: entryRuleXImportDeclaration returns [EObject current=null] : iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ;
     public final EObject entryRuleXImportDeclaration() throws RecognitionException {
         EObject current = null;
 
@@ -1734,8 +1871,8 @@
 
 
         try {
-            // InternalSignalDSL.g:644:59: (iv_ruleXImportDeclaration= ruleXImportDeclaration EOF )
-            // InternalSignalDSL.g:645:2: iv_ruleXImportDeclaration= ruleXImportDeclaration EOF
+            // InternalSignalDSL.g:688:59: (iv_ruleXImportDeclaration= ruleXImportDeclaration EOF )
+            // InternalSignalDSL.g:689:2: iv_ruleXImportDeclaration= ruleXImportDeclaration EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXImportDeclarationRule()); 
@@ -1766,7 +1903,7 @@
 
 
     // $ANTLR start "ruleXImportDeclaration"
-    // InternalSignalDSL.g:651:1: ruleXImportDeclaration returns [EObject current=null] : ( () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )? ) ;
+    // InternalSignalDSL.g:695:1: ruleXImportDeclaration returns [EObject current=null] : ( () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )? ) ;
     public final EObject ruleXImportDeclaration() throws RecognitionException {
         EObject current = null;
 
@@ -1787,14 +1924,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:657:2: ( ( () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )? ) )
-            // InternalSignalDSL.g:658:2: ( () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )? )
+            // InternalSignalDSL.g:701:2: ( ( () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )? ) )
+            // InternalSignalDSL.g:702:2: ( () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )? )
             {
-            // InternalSignalDSL.g:658:2: ( () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )? )
-            // InternalSignalDSL.g:659:3: () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )?
+            // InternalSignalDSL.g:702:2: ( () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )? )
+            // InternalSignalDSL.g:703:3: () otherlv_1= 'import' ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) ) (otherlv_11= ';' )?
             {
-            // InternalSignalDSL.g:659:3: ()
-            // InternalSignalDSL.g:660:4: 
+            // InternalSignalDSL.g:703:3: ()
+            // InternalSignalDSL.g:704:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -1806,29 +1943,29 @@
 
             }
 
-            otherlv_1=(Token)match(input,22,FOLLOW_17); if (state.failed) return current;
+            otherlv_1=(Token)match(input,23,FOLLOW_19); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXImportDeclarationAccess().getImportKeyword_1());
               		
             }
-            // InternalSignalDSL.g:670:3: ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) )
-            int alt10=4;
-            alt10 = dfa10.predict(input);
-            switch (alt10) {
+            // InternalSignalDSL.g:714:3: ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) )
+            int alt11=4;
+            alt11 = dfa11.predict(input);
+            switch (alt11) {
                 case 1 :
-                    // InternalSignalDSL.g:671:4: ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) )
+                    // InternalSignalDSL.g:715:4: ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) )
                     {
-                    // InternalSignalDSL.g:671:4: ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) )
-                    // InternalSignalDSL.g:672:5: ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) )
+                    // InternalSignalDSL.g:715:4: ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) )
+                    // InternalSignalDSL.g:716:5: ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) )
                     {
-                    // InternalSignalDSL.g:672:5: ( (lv_static_2_0= 'static' ) )
-                    // InternalSignalDSL.g:673:6: (lv_static_2_0= 'static' )
+                    // InternalSignalDSL.g:716:5: ( (lv_static_2_0= 'static' ) )
+                    // InternalSignalDSL.g:717:6: (lv_static_2_0= 'static' )
                     {
-                    // InternalSignalDSL.g:673:6: (lv_static_2_0= 'static' )
-                    // InternalSignalDSL.g:674:7: lv_static_2_0= 'static'
+                    // InternalSignalDSL.g:717:6: (lv_static_2_0= 'static' )
+                    // InternalSignalDSL.g:718:7: lv_static_2_0= 'static'
                     {
-                    lv_static_2_0=(Token)match(input,23,FOLLOW_18); if (state.failed) return current;
+                    lv_static_2_0=(Token)match(input,24,FOLLOW_20); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       							newLeafNode(lv_static_2_0, grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_2_0_0_0());
@@ -1848,21 +1985,21 @@
 
                     }
 
-                    // InternalSignalDSL.g:686:5: ( (lv_extension_3_0= 'extension' ) )?
-                    int alt8=2;
-                    int LA8_0 = input.LA(1);
+                    // InternalSignalDSL.g:730:5: ( (lv_extension_3_0= 'extension' ) )?
+                    int alt9=2;
+                    int LA9_0 = input.LA(1);
 
-                    if ( (LA8_0==24) ) {
-                        alt8=1;
+                    if ( (LA9_0==25) ) {
+                        alt9=1;
                     }
-                    switch (alt8) {
+                    switch (alt9) {
                         case 1 :
-                            // InternalSignalDSL.g:687:6: (lv_extension_3_0= 'extension' )
+                            // InternalSignalDSL.g:731:6: (lv_extension_3_0= 'extension' )
                             {
-                            // InternalSignalDSL.g:687:6: (lv_extension_3_0= 'extension' )
-                            // InternalSignalDSL.g:688:7: lv_extension_3_0= 'extension'
+                            // InternalSignalDSL.g:731:6: (lv_extension_3_0= 'extension' )
+                            // InternalSignalDSL.g:732:7: lv_extension_3_0= 'extension'
                             {
-                            lv_extension_3_0=(Token)match(input,24,FOLLOW_18); if (state.failed) return current;
+                            lv_extension_3_0=(Token)match(input,25,FOLLOW_20); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               							newLeafNode(lv_extension_3_0, grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_2_0_1_0());
@@ -1885,11 +2022,11 @@
 
                     }
 
-                    // InternalSignalDSL.g:700:5: ( ( ruleQualifiedNameInStaticImport ) )
-                    // InternalSignalDSL.g:701:6: ( ruleQualifiedNameInStaticImport )
+                    // InternalSignalDSL.g:744:5: ( ( ruleQualifiedNameInStaticImport ) )
+                    // InternalSignalDSL.g:745:6: ( ruleQualifiedNameInStaticImport )
                     {
-                    // InternalSignalDSL.g:701:6: ( ruleQualifiedNameInStaticImport )
-                    // InternalSignalDSL.g:702:7: ruleQualifiedNameInStaticImport
+                    // InternalSignalDSL.g:745:6: ( ruleQualifiedNameInStaticImport )
+                    // InternalSignalDSL.g:746:7: ruleQualifiedNameInStaticImport
                     {
                     if ( state.backtracking==0 ) {
 
@@ -1903,7 +2040,7 @@
                       							newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_2_0_2_0());
                       						
                     }
-                    pushFollow(FOLLOW_19);
+                    pushFollow(FOLLOW_21);
                     ruleQualifiedNameInStaticImport();
 
                     state._fsp--;
@@ -1919,34 +2056,34 @@
 
                     }
 
-                    // InternalSignalDSL.g:716:5: ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) )
-                    int alt9=2;
-                    int LA9_0 = input.LA(1);
+                    // InternalSignalDSL.g:760:5: ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) )
+                    int alt10=2;
+                    int LA10_0 = input.LA(1);
 
-                    if ( (LA9_0==25) ) {
-                        alt9=1;
+                    if ( (LA10_0==26) ) {
+                        alt10=1;
                     }
-                    else if ( (LA9_0==RULE_ID) ) {
-                        alt9=2;
+                    else if ( (LA10_0==RULE_ID) ) {
+                        alt10=2;
                     }
                     else {
                         if (state.backtracking>0) {state.failed=true; return current;}
                         NoViableAltException nvae =
-                            new NoViableAltException("", 9, 0, input);
+                            new NoViableAltException("", 10, 0, input);
 
                         throw nvae;
                     }
-                    switch (alt9) {
+                    switch (alt10) {
                         case 1 :
-                            // InternalSignalDSL.g:717:6: ( (lv_wildcard_5_0= '*' ) )
+                            // InternalSignalDSL.g:761:6: ( (lv_wildcard_5_0= '*' ) )
                             {
-                            // InternalSignalDSL.g:717:6: ( (lv_wildcard_5_0= '*' ) )
-                            // InternalSignalDSL.g:718:7: (lv_wildcard_5_0= '*' )
+                            // InternalSignalDSL.g:761:6: ( (lv_wildcard_5_0= '*' ) )
+                            // InternalSignalDSL.g:762:7: (lv_wildcard_5_0= '*' )
                             {
-                            // InternalSignalDSL.g:718:7: (lv_wildcard_5_0= '*' )
-                            // InternalSignalDSL.g:719:8: lv_wildcard_5_0= '*'
+                            // InternalSignalDSL.g:762:7: (lv_wildcard_5_0= '*' )
+                            // InternalSignalDSL.g:763:8: lv_wildcard_5_0= '*'
                             {
-                            lv_wildcard_5_0=(Token)match(input,25,FOLLOW_20); if (state.failed) return current;
+                            lv_wildcard_5_0=(Token)match(input,26,FOLLOW_22); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               								newLeafNode(lv_wildcard_5_0, grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_2_0_3_0_0());
@@ -1970,20 +2107,20 @@
                             }
                             break;
                         case 2 :
-                            // InternalSignalDSL.g:732:6: ( (lv_memberName_6_0= ruleValidID ) )
+                            // InternalSignalDSL.g:776:6: ( (lv_memberName_6_0= ruleValidID ) )
                             {
-                            // InternalSignalDSL.g:732:6: ( (lv_memberName_6_0= ruleValidID ) )
-                            // InternalSignalDSL.g:733:7: (lv_memberName_6_0= ruleValidID )
+                            // InternalSignalDSL.g:776:6: ( (lv_memberName_6_0= ruleValidID ) )
+                            // InternalSignalDSL.g:777:7: (lv_memberName_6_0= ruleValidID )
                             {
-                            // InternalSignalDSL.g:733:7: (lv_memberName_6_0= ruleValidID )
-                            // InternalSignalDSL.g:734:8: lv_memberName_6_0= ruleValidID
+                            // InternalSignalDSL.g:777:7: (lv_memberName_6_0= ruleValidID )
+                            // InternalSignalDSL.g:778:8: lv_memberName_6_0= ruleValidID
                             {
                             if ( state.backtracking==0 ) {
 
                               								newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_2_0_3_1_0());
                               							
                             }
-                            pushFollow(FOLLOW_20);
+                            pushFollow(FOLLOW_22);
                             lv_memberName_6_0=ruleValidID();
 
                             state._fsp--;
@@ -2020,13 +2157,13 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:754:4: ( ( ruleQualifiedName ) )
+                    // InternalSignalDSL.g:798:4: ( ( ruleQualifiedName ) )
                     {
-                    // InternalSignalDSL.g:754:4: ( ( ruleQualifiedName ) )
-                    // InternalSignalDSL.g:755:5: ( ruleQualifiedName )
+                    // InternalSignalDSL.g:798:4: ( ( ruleQualifiedName ) )
+                    // InternalSignalDSL.g:799:5: ( ruleQualifiedName )
                     {
-                    // InternalSignalDSL.g:755:5: ( ruleQualifiedName )
-                    // InternalSignalDSL.g:756:6: ruleQualifiedName
+                    // InternalSignalDSL.g:799:5: ( ruleQualifiedName )
+                    // InternalSignalDSL.g:800:6: ruleQualifiedName
                     {
                     if ( state.backtracking==0 ) {
 
@@ -2040,7 +2177,7 @@
                       						newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_2_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_20);
+                    pushFollow(FOLLOW_22);
                     ruleQualifiedName();
 
                     state._fsp--;
@@ -2060,20 +2197,20 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:771:4: ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) )
+                    // InternalSignalDSL.g:815:4: ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) )
                     {
-                    // InternalSignalDSL.g:771:4: ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) )
-                    // InternalSignalDSL.g:772:5: (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard )
+                    // InternalSignalDSL.g:815:4: ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) )
+                    // InternalSignalDSL.g:816:5: (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard )
                     {
-                    // InternalSignalDSL.g:772:5: (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard )
-                    // InternalSignalDSL.g:773:6: lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard
+                    // InternalSignalDSL.g:816:5: (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard )
+                    // InternalSignalDSL.g:817:6: lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_2_2_0());
                       					
                     }
-                    pushFollow(FOLLOW_20);
+                    pushFollow(FOLLOW_22);
                     lv_importedNamespace_8_0=ruleQualifiedNameWithWildcard();
 
                     state._fsp--;
@@ -2101,18 +2238,18 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:791:4: ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) )
+                    // InternalSignalDSL.g:835:4: ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) )
                     {
-                    // InternalSignalDSL.g:791:4: ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) )
-                    // InternalSignalDSL.g:792:5: ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) )
+                    // InternalSignalDSL.g:835:4: ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) )
+                    // InternalSignalDSL.g:836:5: ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) )
                     {
-                    // InternalSignalDSL.g:792:5: ( (lv_fqnImport_9_0= 'ns' ) )
-                    // InternalSignalDSL.g:793:6: (lv_fqnImport_9_0= 'ns' )
+                    // InternalSignalDSL.g:836:5: ( (lv_fqnImport_9_0= 'ns' ) )
+                    // InternalSignalDSL.g:837:6: (lv_fqnImport_9_0= 'ns' )
                     {
-                    // InternalSignalDSL.g:793:6: (lv_fqnImport_9_0= 'ns' )
-                    // InternalSignalDSL.g:794:7: lv_fqnImport_9_0= 'ns'
+                    // InternalSignalDSL.g:837:6: (lv_fqnImport_9_0= 'ns' )
+                    // InternalSignalDSL.g:838:7: lv_fqnImport_9_0= 'ns'
                     {
-                    lv_fqnImport_9_0=(Token)match(input,26,FOLLOW_4); if (state.failed) return current;
+                    lv_fqnImport_9_0=(Token)match(input,27,FOLLOW_4); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       							newLeafNode(lv_fqnImport_9_0, grammarAccess.getXImportDeclarationAccess().getFqnImportNsKeyword_2_3_0_0());
@@ -2132,18 +2269,18 @@
 
                     }
 
-                    // InternalSignalDSL.g:806:5: ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) )
-                    // InternalSignalDSL.g:807:6: (lv_importedFullyQualifiedName_10_0= ruleQualifiedName )
+                    // InternalSignalDSL.g:850:5: ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) )
+                    // InternalSignalDSL.g:851:6: (lv_importedFullyQualifiedName_10_0= ruleQualifiedName )
                     {
-                    // InternalSignalDSL.g:807:6: (lv_importedFullyQualifiedName_10_0= ruleQualifiedName )
-                    // InternalSignalDSL.g:808:7: lv_importedFullyQualifiedName_10_0= ruleQualifiedName
+                    // InternalSignalDSL.g:851:6: (lv_importedFullyQualifiedName_10_0= ruleQualifiedName )
+                    // InternalSignalDSL.g:852:7: lv_importedFullyQualifiedName_10_0= ruleQualifiedName
                     {
                     if ( state.backtracking==0 ) {
 
                       							newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedFullyQualifiedNameQualifiedNameParserRuleCall_2_3_1_0());
                       						
                     }
-                    pushFollow(FOLLOW_20);
+                    pushFollow(FOLLOW_22);
                     lv_importedFullyQualifiedName_10_0=ruleQualifiedName();
 
                     state._fsp--;
@@ -2176,18 +2313,18 @@
 
             }
 
-            // InternalSignalDSL.g:827:3: (otherlv_11= ';' )?
-            int alt11=2;
-            int LA11_0 = input.LA(1);
+            // InternalSignalDSL.g:871:3: (otherlv_11= ';' )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
 
-            if ( (LA11_0==27) ) {
-                alt11=1;
+            if ( (LA12_0==28) ) {
+                alt12=1;
             }
-            switch (alt11) {
+            switch (alt12) {
                 case 1 :
-                    // InternalSignalDSL.g:828:4: otherlv_11= ';'
+                    // InternalSignalDSL.g:872:4: otherlv_11= ';'
                     {
-                    otherlv_11=(Token)match(input,27,FOLLOW_2); if (state.failed) return current;
+                    otherlv_11=(Token)match(input,28,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_11, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_3());
@@ -2224,7 +2361,7 @@
 
 
     // $ANTLR start "entryRuleXAnnotation"
-    // InternalSignalDSL.g:837:1: entryRuleXAnnotation returns [EObject current=null] : iv_ruleXAnnotation= ruleXAnnotation EOF ;
+    // InternalSignalDSL.g:881:1: entryRuleXAnnotation returns [EObject current=null] : iv_ruleXAnnotation= ruleXAnnotation EOF ;
     public final EObject entryRuleXAnnotation() throws RecognitionException {
         EObject current = null;
 
@@ -2232,8 +2369,8 @@
 
 
         try {
-            // InternalSignalDSL.g:837:52: (iv_ruleXAnnotation= ruleXAnnotation EOF )
-            // InternalSignalDSL.g:838:2: iv_ruleXAnnotation= ruleXAnnotation EOF
+            // InternalSignalDSL.g:881:52: (iv_ruleXAnnotation= ruleXAnnotation EOF )
+            // InternalSignalDSL.g:882:2: iv_ruleXAnnotation= ruleXAnnotation EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXAnnotationRule()); 
@@ -2264,7 +2401,7 @@
 
 
     // $ANTLR start "ruleXAnnotation"
-    // InternalSignalDSL.g:844:1: ruleXAnnotation returns [EObject current=null] : ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? ) ;
+    // InternalSignalDSL.g:888:1: ruleXAnnotation returns [EObject current=null] : ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? ) ;
     public final EObject ruleXAnnotation() throws RecognitionException {
         EObject current = null;
 
@@ -2283,14 +2420,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:850:2: ( ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? ) )
-            // InternalSignalDSL.g:851:2: ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? )
+            // InternalSignalDSL.g:894:2: ( ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? ) )
+            // InternalSignalDSL.g:895:2: ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? )
             {
-            // InternalSignalDSL.g:851:2: ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? )
-            // InternalSignalDSL.g:852:3: () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )?
+            // InternalSignalDSL.g:895:2: ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? )
+            // InternalSignalDSL.g:896:3: () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )?
             {
-            // InternalSignalDSL.g:852:3: ()
-            // InternalSignalDSL.g:853:4: 
+            // InternalSignalDSL.g:896:3: ()
+            // InternalSignalDSL.g:897:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -2302,17 +2439,17 @@
 
             }
 
-            otherlv_1=(Token)match(input,28,FOLLOW_4); if (state.failed) return current;
+            otherlv_1=(Token)match(input,29,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_1());
               		
             }
-            // InternalSignalDSL.g:863:3: ( ( ruleQualifiedName ) )
-            // InternalSignalDSL.g:864:4: ( ruleQualifiedName )
+            // InternalSignalDSL.g:907:3: ( ( ruleQualifiedName ) )
+            // InternalSignalDSL.g:908:4: ( ruleQualifiedName )
             {
-            // InternalSignalDSL.g:864:4: ( ruleQualifiedName )
-            // InternalSignalDSL.g:865:5: ruleQualifiedName
+            // InternalSignalDSL.g:908:4: ( ruleQualifiedName )
+            // InternalSignalDSL.g:909:5: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
 
@@ -2326,7 +2463,7 @@
               					newCompositeNode(grammarAccess.getXAnnotationAccess().getAnnotationTypeJvmAnnotationTypeCrossReference_2_0());
               				
             }
-            pushFollow(FOLLOW_21);
+            pushFollow(FOLLOW_23);
             ruleQualifiedName();
 
             state._fsp--;
@@ -2342,21 +2479,21 @@
 
             }
 
-            // InternalSignalDSL.g:879:3: ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
+            // InternalSignalDSL.g:923:3: ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )?
+            int alt15=2;
+            int LA15_0 = input.LA(1);
 
-            if ( (LA14_0==29) && (synpred1_InternalSignalDSL())) {
-                alt14=1;
+            if ( (LA15_0==30) && (synpred1_InternalSignalDSL())) {
+                alt15=1;
             }
-            switch (alt14) {
+            switch (alt15) {
                 case 1 :
-                    // InternalSignalDSL.g:880:4: ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')'
+                    // InternalSignalDSL.g:924:4: ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')'
                     {
-                    // InternalSignalDSL.g:880:4: ( ( '(' )=>otherlv_3= '(' )
-                    // InternalSignalDSL.g:881:5: ( '(' )=>otherlv_3= '('
+                    // InternalSignalDSL.g:924:4: ( ( '(' )=>otherlv_3= '(' )
+                    // InternalSignalDSL.g:925:5: ( '(' )=>otherlv_3= '('
                     {
-                    otherlv_3=(Token)match(input,29,FOLLOW_22); if (state.failed) return current;
+                    otherlv_3=(Token)match(input,30,FOLLOW_24); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(otherlv_3, grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0());
@@ -2365,28 +2502,28 @@
 
                     }
 
-                    // InternalSignalDSL.g:887:4: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )?
-                    int alt13=3;
-                    alt13 = dfa13.predict(input);
-                    switch (alt13) {
+                    // InternalSignalDSL.g:931:4: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )?
+                    int alt14=3;
+                    alt14 = dfa14.predict(input);
+                    switch (alt14) {
                         case 1 :
-                            // InternalSignalDSL.g:888:5: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* )
+                            // InternalSignalDSL.g:932:5: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* )
                             {
-                            // InternalSignalDSL.g:888:5: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* )
-                            // InternalSignalDSL.g:889:6: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )*
+                            // InternalSignalDSL.g:932:5: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* )
+                            // InternalSignalDSL.g:933:6: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )*
                             {
-                            // InternalSignalDSL.g:889:6: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) )
-                            // InternalSignalDSL.g:890:7: ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair )
+                            // InternalSignalDSL.g:933:6: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) )
+                            // InternalSignalDSL.g:934:7: ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair )
                             {
-                            // InternalSignalDSL.g:899:7: (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair )
-                            // InternalSignalDSL.g:900:8: lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair
+                            // InternalSignalDSL.g:943:7: (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair )
+                            // InternalSignalDSL.g:944:8: lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair
                             {
                             if ( state.backtracking==0 ) {
 
                               								newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_0_0());
                               							
                             }
-                            pushFollow(FOLLOW_23);
+                            pushFollow(FOLLOW_25);
                             lv_elementValuePairs_4_0=ruleXAnnotationElementValuePair();
 
                             state._fsp--;
@@ -2410,39 +2547,39 @@
 
                             }
 
-                            // InternalSignalDSL.g:917:6: (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )*
-                            loop12:
+                            // InternalSignalDSL.g:961:6: (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )*
+                            loop13:
                             do {
-                                int alt12=2;
-                                int LA12_0 = input.LA(1);
+                                int alt13=2;
+                                int LA13_0 = input.LA(1);
 
-                                if ( (LA12_0==30) ) {
-                                    alt12=1;
+                                if ( (LA13_0==31) ) {
+                                    alt13=1;
                                 }
 
 
-                                switch (alt12) {
+                                switch (alt13) {
                             	case 1 :
-                            	    // InternalSignalDSL.g:918:7: otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) )
+                            	    // InternalSignalDSL.g:962:7: otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) )
                             	    {
-                            	    otherlv_5=(Token)match(input,30,FOLLOW_4); if (state.failed) return current;
+                            	    otherlv_5=(Token)match(input,31,FOLLOW_4); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	      							newLeafNode(otherlv_5, grammarAccess.getXAnnotationAccess().getCommaKeyword_3_1_0_1_0());
                             	      						
                             	    }
-                            	    // InternalSignalDSL.g:922:7: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) )
-                            	    // InternalSignalDSL.g:923:8: ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair )
+                            	    // InternalSignalDSL.g:966:7: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) )
+                            	    // InternalSignalDSL.g:967:8: ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair )
                             	    {
-                            	    // InternalSignalDSL.g:932:8: (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair )
-                            	    // InternalSignalDSL.g:933:9: lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair
+                            	    // InternalSignalDSL.g:976:8: (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair )
+                            	    // InternalSignalDSL.g:977:9: lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair
                             	    {
                             	    if ( state.backtracking==0 ) {
 
                             	      									newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_1_1_0());
                             	      								
                             	    }
-                            	    pushFollow(FOLLOW_23);
+                            	    pushFollow(FOLLOW_25);
                             	    lv_elementValuePairs_6_0=ruleXAnnotationElementValuePair();
 
                             	    state._fsp--;
@@ -2471,7 +2608,7 @@
                             	    break;
 
                             	default :
-                            	    break loop12;
+                            	    break loop13;
                                 }
                             } while (true);
 
@@ -2482,20 +2619,20 @@
                             }
                             break;
                         case 2 :
-                            // InternalSignalDSL.g:953:5: ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) )
+                            // InternalSignalDSL.g:997:5: ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) )
                             {
-                            // InternalSignalDSL.g:953:5: ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) )
-                            // InternalSignalDSL.g:954:6: (lv_value_7_0= ruleXAnnotationElementValueOrCommaList )
+                            // InternalSignalDSL.g:997:5: ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) )
+                            // InternalSignalDSL.g:998:6: (lv_value_7_0= ruleXAnnotationElementValueOrCommaList )
                             {
-                            // InternalSignalDSL.g:954:6: (lv_value_7_0= ruleXAnnotationElementValueOrCommaList )
-                            // InternalSignalDSL.g:955:7: lv_value_7_0= ruleXAnnotationElementValueOrCommaList
+                            // InternalSignalDSL.g:998:6: (lv_value_7_0= ruleXAnnotationElementValueOrCommaList )
+                            // InternalSignalDSL.g:999:7: lv_value_7_0= ruleXAnnotationElementValueOrCommaList
                             {
                             if ( state.backtracking==0 ) {
 
                               							newCompositeNode(grammarAccess.getXAnnotationAccess().getValueXAnnotationElementValueOrCommaListParserRuleCall_3_1_1_0());
                               						
                             }
-                            pushFollow(FOLLOW_24);
+                            pushFollow(FOLLOW_26);
                             lv_value_7_0=ruleXAnnotationElementValueOrCommaList();
 
                             state._fsp--;
@@ -2525,7 +2662,7 @@
 
                     }
 
-                    otherlv_8=(Token)match(input,31,FOLLOW_2); if (state.failed) return current;
+                    otherlv_8=(Token)match(input,32,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_8, grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2());
@@ -2562,7 +2699,7 @@
 
 
     // $ANTLR start "entryRuleXAnnotationElementValuePair"
-    // InternalSignalDSL.g:982:1: entryRuleXAnnotationElementValuePair returns [EObject current=null] : iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF ;
+    // InternalSignalDSL.g:1026:1: entryRuleXAnnotationElementValuePair returns [EObject current=null] : iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF ;
     public final EObject entryRuleXAnnotationElementValuePair() throws RecognitionException {
         EObject current = null;
 
@@ -2570,8 +2707,8 @@
 
 
         try {
-            // InternalSignalDSL.g:982:68: (iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF )
-            // InternalSignalDSL.g:983:2: iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF
+            // InternalSignalDSL.g:1026:68: (iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF )
+            // InternalSignalDSL.g:1027:2: iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXAnnotationElementValuePairRule()); 
@@ -2602,7 +2739,7 @@
 
 
     // $ANTLR start "ruleXAnnotationElementValuePair"
-    // InternalSignalDSL.g:989:1: ruleXAnnotationElementValuePair returns [EObject current=null] : ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) ) ;
+    // InternalSignalDSL.g:1033:1: ruleXAnnotationElementValuePair returns [EObject current=null] : ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) ) ;
     public final EObject ruleXAnnotationElementValuePair() throws RecognitionException {
         EObject current = null;
 
@@ -2614,23 +2751,23 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:995:2: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) ) )
-            // InternalSignalDSL.g:996:2: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) )
+            // InternalSignalDSL.g:1039:2: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) ) )
+            // InternalSignalDSL.g:1040:2: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) )
             {
-            // InternalSignalDSL.g:996:2: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) )
-            // InternalSignalDSL.g:997:3: ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) )
+            // InternalSignalDSL.g:1040:2: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) )
+            // InternalSignalDSL.g:1041:3: ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) )
             {
-            // InternalSignalDSL.g:997:3: ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) )
-            // InternalSignalDSL.g:998:4: ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' )
+            // InternalSignalDSL.g:1041:3: ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) )
+            // InternalSignalDSL.g:1042:4: ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' )
             {
-            // InternalSignalDSL.g:1007:4: ( ( ( ruleValidID ) ) otherlv_1= '=' )
-            // InternalSignalDSL.g:1008:5: ( ( ruleValidID ) ) otherlv_1= '='
+            // InternalSignalDSL.g:1051:4: ( ( ( ruleValidID ) ) otherlv_1= '=' )
+            // InternalSignalDSL.g:1052:5: ( ( ruleValidID ) ) otherlv_1= '='
             {
-            // InternalSignalDSL.g:1008:5: ( ( ruleValidID ) )
-            // InternalSignalDSL.g:1009:6: ( ruleValidID )
+            // InternalSignalDSL.g:1052:5: ( ( ruleValidID ) )
+            // InternalSignalDSL.g:1053:6: ( ruleValidID )
             {
-            // InternalSignalDSL.g:1009:6: ( ruleValidID )
-            // InternalSignalDSL.g:1010:7: ruleValidID
+            // InternalSignalDSL.g:1053:6: ( ruleValidID )
+            // InternalSignalDSL.g:1054:7: ruleValidID
             {
             if ( state.backtracking==0 ) {
 
@@ -2644,7 +2781,7 @@
               							newCompositeNode(grammarAccess.getXAnnotationElementValuePairAccess().getElementJvmOperationCrossReference_0_0_0_0());
               						
             }
-            pushFollow(FOLLOW_25);
+            pushFollow(FOLLOW_27);
             ruleValidID();
 
             state._fsp--;
@@ -2660,7 +2797,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,32,FOLLOW_26); if (state.failed) return current;
+            otherlv_1=(Token)match(input,33,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValuePairAccess().getEqualsSignKeyword_0_0_1());
@@ -2672,11 +2809,11 @@
 
             }
 
-            // InternalSignalDSL.g:1030:3: ( (lv_value_2_0= ruleXAnnotationElementValue ) )
-            // InternalSignalDSL.g:1031:4: (lv_value_2_0= ruleXAnnotationElementValue )
+            // InternalSignalDSL.g:1074:3: ( (lv_value_2_0= ruleXAnnotationElementValue ) )
+            // InternalSignalDSL.g:1075:4: (lv_value_2_0= ruleXAnnotationElementValue )
             {
-            // InternalSignalDSL.g:1031:4: (lv_value_2_0= ruleXAnnotationElementValue )
-            // InternalSignalDSL.g:1032:5: lv_value_2_0= ruleXAnnotationElementValue
+            // InternalSignalDSL.g:1075:4: (lv_value_2_0= ruleXAnnotationElementValue )
+            // InternalSignalDSL.g:1076:5: lv_value_2_0= ruleXAnnotationElementValue
             {
             if ( state.backtracking==0 ) {
 
@@ -2732,7 +2869,7 @@
 
 
     // $ANTLR start "entryRuleXAnnotationElementValueOrCommaList"
-    // InternalSignalDSL.g:1053:1: entryRuleXAnnotationElementValueOrCommaList returns [EObject current=null] : iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF ;
+    // InternalSignalDSL.g:1097:1: entryRuleXAnnotationElementValueOrCommaList returns [EObject current=null] : iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF ;
     public final EObject entryRuleXAnnotationElementValueOrCommaList() throws RecognitionException {
         EObject current = null;
 
@@ -2740,8 +2877,8 @@
 
 
         try {
-            // InternalSignalDSL.g:1053:75: (iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF )
-            // InternalSignalDSL.g:1054:2: iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF
+            // InternalSignalDSL.g:1097:75: (iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF )
+            // InternalSignalDSL.g:1098:2: iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListRule()); 
@@ -2772,7 +2909,7 @@
 
 
     // $ANTLR start "ruleXAnnotationElementValueOrCommaList"
-    // InternalSignalDSL.g:1060:1: ruleXAnnotationElementValueOrCommaList returns [EObject current=null] : ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) ) ;
+    // InternalSignalDSL.g:1104:1: ruleXAnnotationElementValueOrCommaList returns [EObject current=null] : ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) ) ;
     public final EObject ruleXAnnotationElementValueOrCommaList() throws RecognitionException {
         EObject current = null;
 
@@ -2794,27 +2931,27 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:1066:2: ( ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) ) )
-            // InternalSignalDSL.g:1067:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )
+            // InternalSignalDSL.g:1110:2: ( ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) ) )
+            // InternalSignalDSL.g:1111:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )
             {
-            // InternalSignalDSL.g:1067:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )
-            int alt19=2;
-            alt19 = dfa19.predict(input);
-            switch (alt19) {
+            // InternalSignalDSL.g:1111:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )
+            int alt20=2;
+            alt20 = dfa20.predict(input);
+            switch (alt20) {
                 case 1 :
-                    // InternalSignalDSL.g:1068:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
+                    // InternalSignalDSL.g:1112:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
                     {
-                    // InternalSignalDSL.g:1068:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
-                    // InternalSignalDSL.g:1069:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']'
+                    // InternalSignalDSL.g:1112:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
+                    // InternalSignalDSL.g:1113:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']'
                     {
-                    // InternalSignalDSL.g:1069:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) )
-                    // InternalSignalDSL.g:1070:5: ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' )
+                    // InternalSignalDSL.g:1113:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) )
+                    // InternalSignalDSL.g:1114:5: ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' )
                     {
-                    // InternalSignalDSL.g:1077:5: ( () otherlv_1= '#' otherlv_2= '[' )
-                    // InternalSignalDSL.g:1078:6: () otherlv_1= '#' otherlv_2= '['
+                    // InternalSignalDSL.g:1121:5: ( () otherlv_1= '#' otherlv_2= '[' )
+                    // InternalSignalDSL.g:1122:6: () otherlv_1= '#' otherlv_2= '['
                     {
-                    // InternalSignalDSL.g:1078:6: ()
-                    // InternalSignalDSL.g:1079:7: 
+                    // InternalSignalDSL.g:1122:6: ()
+                    // InternalSignalDSL.g:1123:7: 
                     {
                     if ( state.backtracking==0 ) {
 
@@ -2826,13 +2963,13 @@
 
                     }
 
-                    otherlv_1=(Token)match(input,33,FOLLOW_27); if (state.failed) return current;
+                    otherlv_1=(Token)match(input,34,FOLLOW_29); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getNumberSignKeyword_0_0_0_1());
                       					
                     }
-                    otherlv_2=(Token)match(input,34,FOLLOW_28); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,35,FOLLOW_30); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getLeftSquareBracketKeyword_0_0_0_2());
@@ -2844,29 +2981,29 @@
 
                     }
 
-                    // InternalSignalDSL.g:1095:4: ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )?
-                    int alt16=2;
-                    int LA16_0 = input.LA(1);
+                    // InternalSignalDSL.g:1139:4: ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )?
+                    int alt17=2;
+                    int LA17_0 = input.LA(1);
 
-                    if ( ((LA16_0>=RULE_ID && LA16_0<=RULE_DECIMAL)||LA16_0==14||LA16_0==18||(LA16_0>=22 && LA16_0<=24)||(LA16_0>=28 && LA16_0<=29)||(LA16_0>=33 && LA16_0<=34)||LA16_0==41||(LA16_0>=57 && LA16_0<=58)||LA16_0==62||LA16_0==70||LA16_0==72||(LA16_0>=76 && LA16_0<=77)||(LA16_0>=80 && LA16_0<=89)||LA16_0==91) ) {
-                        alt16=1;
+                    if ( ((LA17_0>=RULE_STRING && LA17_0<=RULE_DECIMAL)||LA17_0==14||LA17_0==18||(LA17_0>=23 && LA17_0<=25)||(LA17_0>=29 && LA17_0<=30)||(LA17_0>=34 && LA17_0<=35)||LA17_0==42||(LA17_0>=58 && LA17_0<=59)||LA17_0==63||LA17_0==71||LA17_0==73||(LA17_0>=77 && LA17_0<=78)||(LA17_0>=81 && LA17_0<=90)||LA17_0==92) ) {
+                        alt17=1;
                     }
-                    switch (alt16) {
+                    switch (alt17) {
                         case 1 :
-                            // InternalSignalDSL.g:1096:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
+                            // InternalSignalDSL.g:1140:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
                             {
-                            // InternalSignalDSL.g:1096:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) )
-                            // InternalSignalDSL.g:1097:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
+                            // InternalSignalDSL.g:1140:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) )
+                            // InternalSignalDSL.g:1141:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
                             {
-                            // InternalSignalDSL.g:1097:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
-                            // InternalSignalDSL.g:1098:7: lv_elements_3_0= ruleXAnnotationOrExpression
+                            // InternalSignalDSL.g:1141:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
+                            // InternalSignalDSL.g:1142:7: lv_elements_3_0= ruleXAnnotationOrExpression
                             {
                             if ( state.backtracking==0 ) {
 
                               							newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0());
                               						
                             }
-                            pushFollow(FOLLOW_29);
+                            pushFollow(FOLLOW_31);
                             lv_elements_3_0=ruleXAnnotationOrExpression();
 
                             state._fsp--;
@@ -2890,39 +3027,39 @@
 
                             }
 
-                            // InternalSignalDSL.g:1115:5: (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
-                            loop15:
+                            // InternalSignalDSL.g:1159:5: (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
+                            loop16:
                             do {
-                                int alt15=2;
-                                int LA15_0 = input.LA(1);
+                                int alt16=2;
+                                int LA16_0 = input.LA(1);
 
-                                if ( (LA15_0==30) ) {
-                                    alt15=1;
+                                if ( (LA16_0==31) ) {
+                                    alt16=1;
                                 }
 
 
-                                switch (alt15) {
+                                switch (alt16) {
                             	case 1 :
-                            	    // InternalSignalDSL.g:1116:6: otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
+                            	    // InternalSignalDSL.g:1160:6: otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
                             	    {
-                            	    otherlv_4=(Token)match(input,30,FOLLOW_26); if (state.failed) return current;
+                            	    otherlv_4=(Token)match(input,31,FOLLOW_28); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	      						newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_0_1_1_0());
                             	      					
                             	    }
-                            	    // InternalSignalDSL.g:1120:6: ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
-                            	    // InternalSignalDSL.g:1121:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
+                            	    // InternalSignalDSL.g:1164:6: ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
+                            	    // InternalSignalDSL.g:1165:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
                             	    {
-                            	    // InternalSignalDSL.g:1121:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
-                            	    // InternalSignalDSL.g:1122:8: lv_elements_5_0= ruleXAnnotationOrExpression
+                            	    // InternalSignalDSL.g:1165:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
+                            	    // InternalSignalDSL.g:1166:8: lv_elements_5_0= ruleXAnnotationOrExpression
                             	    {
                             	    if ( state.backtracking==0 ) {
 
                             	      								newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0());
                             	      							
                             	    }
-                            	    pushFollow(FOLLOW_29);
+                            	    pushFollow(FOLLOW_31);
                             	    lv_elements_5_0=ruleXAnnotationOrExpression();
 
                             	    state._fsp--;
@@ -2951,7 +3088,7 @@
                             	    break;
 
                             	default :
-                            	    break loop15;
+                            	    break loop16;
                                 }
                             } while (true);
 
@@ -2961,7 +3098,7 @@
 
                     }
 
-                    otherlv_6=(Token)match(input,35,FOLLOW_2); if (state.failed) return current;
+                    otherlv_6=(Token)match(input,36,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getRightSquareBracketKeyword_0_2());
@@ -2974,17 +3111,17 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:1147:3: (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? )
+                    // InternalSignalDSL.g:1191:3: (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? )
                     {
-                    // InternalSignalDSL.g:1147:3: (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? )
-                    // InternalSignalDSL.g:1148:4: this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )?
+                    // InternalSignalDSL.g:1191:3: (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? )
+                    // InternalSignalDSL.g:1192:4: this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )?
                     {
                     if ( state.backtracking==0 ) {
 
                       				newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXAnnotationOrExpressionParserRuleCall_1_0());
                       			
                     }
-                    pushFollow(FOLLOW_30);
+                    pushFollow(FOLLOW_32);
                     this_XAnnotationOrExpression_7=ruleXAnnotationOrExpression();
 
                     state._fsp--;
@@ -2995,19 +3132,19 @@
                       				afterParserOrEnumRuleCall();
                       			
                     }
-                    // InternalSignalDSL.g:1156:4: ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )?
-                    int alt18=2;
-                    int LA18_0 = input.LA(1);
+                    // InternalSignalDSL.g:1200:4: ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )?
+                    int alt19=2;
+                    int LA19_0 = input.LA(1);
 
-                    if ( (LA18_0==30) ) {
-                        alt18=1;
+                    if ( (LA19_0==31) ) {
+                        alt19=1;
                     }
-                    switch (alt18) {
+                    switch (alt19) {
                         case 1 :
-                            // InternalSignalDSL.g:1157:5: () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+
+                            // InternalSignalDSL.g:1201:5: () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+
                             {
-                            // InternalSignalDSL.g:1157:5: ()
-                            // InternalSignalDSL.g:1158:6: 
+                            // InternalSignalDSL.g:1201:5: ()
+                            // InternalSignalDSL.g:1202:6: 
                             {
                             if ( state.backtracking==0 ) {
 
@@ -3019,40 +3156,40 @@
 
                             }
 
-                            // InternalSignalDSL.g:1164:5: (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+
-                            int cnt17=0;
-                            loop17:
+                            // InternalSignalDSL.g:1208:5: (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+
+                            int cnt18=0;
+                            loop18:
                             do {
-                                int alt17=2;
-                                int LA17_0 = input.LA(1);
+                                int alt18=2;
+                                int LA18_0 = input.LA(1);
 
-                                if ( (LA17_0==30) ) {
-                                    alt17=1;
+                                if ( (LA18_0==31) ) {
+                                    alt18=1;
                                 }
 
 
-                                switch (alt17) {
+                                switch (alt18) {
                             	case 1 :
-                            	    // InternalSignalDSL.g:1165:6: otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) )
+                            	    // InternalSignalDSL.g:1209:6: otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) )
                             	    {
-                            	    otherlv_9=(Token)match(input,30,FOLLOW_26); if (state.failed) return current;
+                            	    otherlv_9=(Token)match(input,31,FOLLOW_28); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	      						newLeafNode(otherlv_9, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_1_1_1_0());
                             	      					
                             	    }
-                            	    // InternalSignalDSL.g:1169:6: ( (lv_elements_10_0= ruleXAnnotationOrExpression ) )
-                            	    // InternalSignalDSL.g:1170:7: (lv_elements_10_0= ruleXAnnotationOrExpression )
+                            	    // InternalSignalDSL.g:1213:6: ( (lv_elements_10_0= ruleXAnnotationOrExpression ) )
+                            	    // InternalSignalDSL.g:1214:7: (lv_elements_10_0= ruleXAnnotationOrExpression )
                             	    {
-                            	    // InternalSignalDSL.g:1170:7: (lv_elements_10_0= ruleXAnnotationOrExpression )
-                            	    // InternalSignalDSL.g:1171:8: lv_elements_10_0= ruleXAnnotationOrExpression
+                            	    // InternalSignalDSL.g:1214:7: (lv_elements_10_0= ruleXAnnotationOrExpression )
+                            	    // InternalSignalDSL.g:1215:8: lv_elements_10_0= ruleXAnnotationOrExpression
                             	    {
                             	    if ( state.backtracking==0 ) {
 
                             	      								newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_1_1_1_1_0());
                             	      							
                             	    }
-                            	    pushFollow(FOLLOW_30);
+                            	    pushFollow(FOLLOW_32);
                             	    lv_elements_10_0=ruleXAnnotationOrExpression();
 
                             	    state._fsp--;
@@ -3081,13 +3218,13 @@
                             	    break;
 
                             	default :
-                            	    if ( cnt17 >= 1 ) break loop17;
+                            	    if ( cnt18 >= 1 ) break loop18;
                             	    if (state.backtracking>0) {state.failed=true; return current;}
                                         EarlyExitException eee =
-                                            new EarlyExitException(17, input);
+                                            new EarlyExitException(18, input);
                                         throw eee;
                                 }
-                                cnt17++;
+                                cnt18++;
                             } while (true);
 
 
@@ -3127,7 +3264,7 @@
 
 
     // $ANTLR start "entryRuleXAnnotationElementValue"
-    // InternalSignalDSL.g:1195:1: entryRuleXAnnotationElementValue returns [EObject current=null] : iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF ;
+    // InternalSignalDSL.g:1239:1: entryRuleXAnnotationElementValue returns [EObject current=null] : iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF ;
     public final EObject entryRuleXAnnotationElementValue() throws RecognitionException {
         EObject current = null;
 
@@ -3135,8 +3272,8 @@
 
 
         try {
-            // InternalSignalDSL.g:1195:64: (iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF )
-            // InternalSignalDSL.g:1196:2: iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF
+            // InternalSignalDSL.g:1239:64: (iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF )
+            // InternalSignalDSL.g:1240:2: iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXAnnotationElementValueRule()); 
@@ -3167,7 +3304,7 @@
 
 
     // $ANTLR start "ruleXAnnotationElementValue"
-    // InternalSignalDSL.g:1202:1: ruleXAnnotationElementValue returns [EObject current=null] : ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ) ;
+    // InternalSignalDSL.g:1246:1: ruleXAnnotationElementValue returns [EObject current=null] : ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ) ;
     public final EObject ruleXAnnotationElementValue() throws RecognitionException {
         EObject current = null;
 
@@ -3186,27 +3323,27 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:1208:2: ( ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ) )
-            // InternalSignalDSL.g:1209:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )
+            // InternalSignalDSL.g:1252:2: ( ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ) )
+            // InternalSignalDSL.g:1253:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )
             {
-            // InternalSignalDSL.g:1209:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )
-            int alt22=2;
-            alt22 = dfa22.predict(input);
-            switch (alt22) {
+            // InternalSignalDSL.g:1253:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )
+            int alt23=2;
+            alt23 = dfa23.predict(input);
+            switch (alt23) {
                 case 1 :
-                    // InternalSignalDSL.g:1210:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
+                    // InternalSignalDSL.g:1254:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
                     {
-                    // InternalSignalDSL.g:1210:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
-                    // InternalSignalDSL.g:1211:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']'
+                    // InternalSignalDSL.g:1254:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
+                    // InternalSignalDSL.g:1255:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']'
                     {
-                    // InternalSignalDSL.g:1211:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) )
-                    // InternalSignalDSL.g:1212:5: ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' )
+                    // InternalSignalDSL.g:1255:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) )
+                    // InternalSignalDSL.g:1256:5: ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' )
                     {
-                    // InternalSignalDSL.g:1219:5: ( () otherlv_1= '#' otherlv_2= '[' )
-                    // InternalSignalDSL.g:1220:6: () otherlv_1= '#' otherlv_2= '['
+                    // InternalSignalDSL.g:1263:5: ( () otherlv_1= '#' otherlv_2= '[' )
+                    // InternalSignalDSL.g:1264:6: () otherlv_1= '#' otherlv_2= '['
                     {
-                    // InternalSignalDSL.g:1220:6: ()
-                    // InternalSignalDSL.g:1221:7: 
+                    // InternalSignalDSL.g:1264:6: ()
+                    // InternalSignalDSL.g:1265:7: 
                     {
                     if ( state.backtracking==0 ) {
 
@@ -3218,13 +3355,13 @@
 
                     }
 
-                    otherlv_1=(Token)match(input,33,FOLLOW_27); if (state.failed) return current;
+                    otherlv_1=(Token)match(input,34,FOLLOW_29); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueAccess().getNumberSignKeyword_0_0_0_1());
                       					
                     }
-                    otherlv_2=(Token)match(input,34,FOLLOW_28); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,35,FOLLOW_30); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueAccess().getLeftSquareBracketKeyword_0_0_0_2());
@@ -3236,29 +3373,29 @@
 
                     }
 
-                    // InternalSignalDSL.g:1237:4: ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )?
-                    int alt21=2;
-                    int LA21_0 = input.LA(1);
+                    // InternalSignalDSL.g:1281:4: ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )?
+                    int alt22=2;
+                    int LA22_0 = input.LA(1);
 
-                    if ( ((LA21_0>=RULE_ID && LA21_0<=RULE_DECIMAL)||LA21_0==14||LA21_0==18||(LA21_0>=22 && LA21_0<=24)||(LA21_0>=28 && LA21_0<=29)||(LA21_0>=33 && LA21_0<=34)||LA21_0==41||(LA21_0>=57 && LA21_0<=58)||LA21_0==62||LA21_0==70||LA21_0==72||(LA21_0>=76 && LA21_0<=77)||(LA21_0>=80 && LA21_0<=89)||LA21_0==91) ) {
-                        alt21=1;
+                    if ( ((LA22_0>=RULE_STRING && LA22_0<=RULE_DECIMAL)||LA22_0==14||LA22_0==18||(LA22_0>=23 && LA22_0<=25)||(LA22_0>=29 && LA22_0<=30)||(LA22_0>=34 && LA22_0<=35)||LA22_0==42||(LA22_0>=58 && LA22_0<=59)||LA22_0==63||LA22_0==71||LA22_0==73||(LA22_0>=77 && LA22_0<=78)||(LA22_0>=81 && LA22_0<=90)||LA22_0==92) ) {
+                        alt22=1;
                     }
-                    switch (alt21) {
+                    switch (alt22) {
                         case 1 :
-                            // InternalSignalDSL.g:1238:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
+                            // InternalSignalDSL.g:1282:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
                             {
-                            // InternalSignalDSL.g:1238:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) )
-                            // InternalSignalDSL.g:1239:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
+                            // InternalSignalDSL.g:1282:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) )
+                            // InternalSignalDSL.g:1283:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
                             {
-                            // InternalSignalDSL.g:1239:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
-                            // InternalSignalDSL.g:1240:7: lv_elements_3_0= ruleXAnnotationOrExpression
+                            // InternalSignalDSL.g:1283:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
+                            // InternalSignalDSL.g:1284:7: lv_elements_3_0= ruleXAnnotationOrExpression
                             {
                             if ( state.backtracking==0 ) {
 
                               							newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0());
                               						
                             }
-                            pushFollow(FOLLOW_29);
+                            pushFollow(FOLLOW_31);
                             lv_elements_3_0=ruleXAnnotationOrExpression();
 
                             state._fsp--;
@@ -3282,39 +3419,39 @@
 
                             }
 
-                            // InternalSignalDSL.g:1257:5: (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
-                            loop20:
+                            // InternalSignalDSL.g:1301:5: (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
+                            loop21:
                             do {
-                                int alt20=2;
-                                int LA20_0 = input.LA(1);
+                                int alt21=2;
+                                int LA21_0 = input.LA(1);
 
-                                if ( (LA20_0==30) ) {
-                                    alt20=1;
+                                if ( (LA21_0==31) ) {
+                                    alt21=1;
                                 }
 
 
-                                switch (alt20) {
+                                switch (alt21) {
                             	case 1 :
-                            	    // InternalSignalDSL.g:1258:6: otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
+                            	    // InternalSignalDSL.g:1302:6: otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
                             	    {
-                            	    otherlv_4=(Token)match(input,30,FOLLOW_26); if (state.failed) return current;
+                            	    otherlv_4=(Token)match(input,31,FOLLOW_28); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	      						newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueAccess().getCommaKeyword_0_1_1_0());
                             	      					
                             	    }
-                            	    // InternalSignalDSL.g:1262:6: ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
-                            	    // InternalSignalDSL.g:1263:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
+                            	    // InternalSignalDSL.g:1306:6: ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
+                            	    // InternalSignalDSL.g:1307:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
                             	    {
-                            	    // InternalSignalDSL.g:1263:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
-                            	    // InternalSignalDSL.g:1264:8: lv_elements_5_0= ruleXAnnotationOrExpression
+                            	    // InternalSignalDSL.g:1307:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
+                            	    // InternalSignalDSL.g:1308:8: lv_elements_5_0= ruleXAnnotationOrExpression
                             	    {
                             	    if ( state.backtracking==0 ) {
 
                             	      								newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0());
                             	      							
                             	    }
-                            	    pushFollow(FOLLOW_29);
+                            	    pushFollow(FOLLOW_31);
                             	    lv_elements_5_0=ruleXAnnotationOrExpression();
 
                             	    state._fsp--;
@@ -3343,7 +3480,7 @@
                             	    break;
 
                             	default :
-                            	    break loop20;
+                            	    break loop21;
                                 }
                             } while (true);
 
@@ -3353,7 +3490,7 @@
 
                     }
 
-                    otherlv_6=(Token)match(input,35,FOLLOW_2); if (state.failed) return current;
+                    otherlv_6=(Token)match(input,36,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueAccess().getRightSquareBracketKeyword_0_2());
@@ -3366,7 +3503,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:1289:3: this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression
+                    // InternalSignalDSL.g:1333:3: this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -3412,7 +3549,7 @@
 
 
     // $ANTLR start "entryRuleXAnnotationOrExpression"
-    // InternalSignalDSL.g:1301:1: entryRuleXAnnotationOrExpression returns [EObject current=null] : iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF ;
+    // InternalSignalDSL.g:1345:1: entryRuleXAnnotationOrExpression returns [EObject current=null] : iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF ;
     public final EObject entryRuleXAnnotationOrExpression() throws RecognitionException {
         EObject current = null;
 
@@ -3420,8 +3557,8 @@
 
 
         try {
-            // InternalSignalDSL.g:1301:64: (iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF )
-            // InternalSignalDSL.g:1302:2: iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF
+            // InternalSignalDSL.g:1345:64: (iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF )
+            // InternalSignalDSL.g:1346:2: iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXAnnotationOrExpressionRule()); 
@@ -3452,7 +3589,7 @@
 
 
     // $ANTLR start "ruleXAnnotationOrExpression"
-    // InternalSignalDSL.g:1308:1: ruleXAnnotationOrExpression returns [EObject current=null] : (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression ) ;
+    // InternalSignalDSL.g:1352:1: ruleXAnnotationOrExpression returns [EObject current=null] : (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression ) ;
     public final EObject ruleXAnnotationOrExpression() throws RecognitionException {
         EObject current = null;
 
@@ -3465,29 +3602,29 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:1314:2: ( (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression ) )
-            // InternalSignalDSL.g:1315:2: (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression )
+            // InternalSignalDSL.g:1358:2: ( (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression ) )
+            // InternalSignalDSL.g:1359:2: (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression )
             {
-            // InternalSignalDSL.g:1315:2: (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression )
-            int alt23=2;
-            int LA23_0 = input.LA(1);
+            // InternalSignalDSL.g:1359:2: (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression )
+            int alt24=2;
+            int LA24_0 = input.LA(1);
 
-            if ( (LA23_0==28) ) {
-                alt23=1;
+            if ( (LA24_0==29) ) {
+                alt24=1;
             }
-            else if ( ((LA23_0>=RULE_ID && LA23_0<=RULE_DECIMAL)||LA23_0==14||LA23_0==18||(LA23_0>=22 && LA23_0<=24)||LA23_0==29||(LA23_0>=33 && LA23_0<=34)||LA23_0==41||(LA23_0>=57 && LA23_0<=58)||LA23_0==62||LA23_0==70||LA23_0==72||(LA23_0>=76 && LA23_0<=77)||(LA23_0>=80 && LA23_0<=89)||LA23_0==91) ) {
-                alt23=2;
+            else if ( ((LA24_0>=RULE_STRING && LA24_0<=RULE_DECIMAL)||LA24_0==14||LA24_0==18||(LA24_0>=23 && LA24_0<=25)||LA24_0==30||(LA24_0>=34 && LA24_0<=35)||LA24_0==42||(LA24_0>=58 && LA24_0<=59)||LA24_0==63||LA24_0==71||LA24_0==73||(LA24_0>=77 && LA24_0<=78)||(LA24_0>=81 && LA24_0<=90)||LA24_0==92) ) {
+                alt24=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 23, 0, input);
+                    new NoViableAltException("", 24, 0, input);
 
                 throw nvae;
             }
-            switch (alt23) {
+            switch (alt24) {
                 case 1 :
-                    // InternalSignalDSL.g:1316:3: this_XAnnotation_0= ruleXAnnotation
+                    // InternalSignalDSL.g:1360:3: this_XAnnotation_0= ruleXAnnotation
                     {
                     if ( state.backtracking==0 ) {
 
@@ -3509,7 +3646,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:1325:3: this_XExpression_1= ruleXExpression
+                    // InternalSignalDSL.g:1369:3: this_XExpression_1= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -3555,7 +3692,7 @@
 
 
     // $ANTLR start "entryRuleXExpression"
-    // InternalSignalDSL.g:1337:1: entryRuleXExpression returns [EObject current=null] : iv_ruleXExpression= ruleXExpression EOF ;
+    // InternalSignalDSL.g:1381:1: entryRuleXExpression returns [EObject current=null] : iv_ruleXExpression= ruleXExpression EOF ;
     public final EObject entryRuleXExpression() throws RecognitionException {
         EObject current = null;
 
@@ -3563,8 +3700,8 @@
 
 
         try {
-            // InternalSignalDSL.g:1337:52: (iv_ruleXExpression= ruleXExpression EOF )
-            // InternalSignalDSL.g:1338:2: iv_ruleXExpression= ruleXExpression EOF
+            // InternalSignalDSL.g:1381:52: (iv_ruleXExpression= ruleXExpression EOF )
+            // InternalSignalDSL.g:1382:2: iv_ruleXExpression= ruleXExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXExpressionRule()); 
@@ -3595,7 +3732,7 @@
 
 
     // $ANTLR start "ruleXExpression"
-    // InternalSignalDSL.g:1344:1: ruleXExpression returns [EObject current=null] : this_XAssignment_0= ruleXAssignment ;
+    // InternalSignalDSL.g:1388:1: ruleXExpression returns [EObject current=null] : this_XAssignment_0= ruleXAssignment ;
     public final EObject ruleXExpression() throws RecognitionException {
         EObject current = null;
 
@@ -3606,8 +3743,8 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:1350:2: (this_XAssignment_0= ruleXAssignment )
-            // InternalSignalDSL.g:1351:2: this_XAssignment_0= ruleXAssignment
+            // InternalSignalDSL.g:1394:2: (this_XAssignment_0= ruleXAssignment )
+            // InternalSignalDSL.g:1395:2: this_XAssignment_0= ruleXAssignment
             {
             if ( state.backtracking==0 ) {
 
@@ -3647,7 +3784,7 @@
 
 
     // $ANTLR start "entryRuleXAssignment"
-    // InternalSignalDSL.g:1362:1: entryRuleXAssignment returns [EObject current=null] : iv_ruleXAssignment= ruleXAssignment EOF ;
+    // InternalSignalDSL.g:1406:1: entryRuleXAssignment returns [EObject current=null] : iv_ruleXAssignment= ruleXAssignment EOF ;
     public final EObject entryRuleXAssignment() throws RecognitionException {
         EObject current = null;
 
@@ -3655,8 +3792,8 @@
 
 
         try {
-            // InternalSignalDSL.g:1362:52: (iv_ruleXAssignment= ruleXAssignment EOF )
-            // InternalSignalDSL.g:1363:2: iv_ruleXAssignment= ruleXAssignment EOF
+            // InternalSignalDSL.g:1406:52: (iv_ruleXAssignment= ruleXAssignment EOF )
+            // InternalSignalDSL.g:1407:2: iv_ruleXAssignment= ruleXAssignment EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXAssignmentRule()); 
@@ -3687,7 +3824,7 @@
 
 
     // $ANTLR start "ruleXAssignment"
-    // InternalSignalDSL.g:1369:1: ruleXAssignment returns [EObject current=null] : ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ;
+    // InternalSignalDSL.g:1413:1: ruleXAssignment returns [EObject current=null] : ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ;
     public final EObject ruleXAssignment() throws RecognitionException {
         EObject current = null;
 
@@ -3702,83 +3839,45 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:1375:2: ( ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) )
-            // InternalSignalDSL.g:1376:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )
+            // InternalSignalDSL.g:1419:2: ( ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) )
+            // InternalSignalDSL.g:1420:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )
             {
-            // InternalSignalDSL.g:1376:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )
-            int alt25=2;
+            // InternalSignalDSL.g:1420:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )
+            int alt26=2;
             switch ( input.LA(1) ) {
             case RULE_ID:
                 {
-                int LA25_1 = input.LA(2);
+                int LA26_1 = input.LA(2);
 
-                if ( (LA25_1==32) ) {
-                    alt25=1;
+                if ( (LA26_1==33) ) {
+                    alt26=1;
                 }
-                else if ( (LA25_1==EOF||(LA25_1>=RULE_ID && LA25_1<=RULE_DECIMAL)||(LA25_1>=14 && LA25_1<=15)||LA25_1==18||(LA25_1>=22 && LA25_1<=25)||LA25_1==27||(LA25_1>=29 && LA25_1<=31)||(LA25_1>=33 && LA25_1<=68)||(LA25_1>=70 && LA25_1<=92)) ) {
-                    alt25=2;
+                else if ( (LA26_1==EOF||(LA26_1>=RULE_STRING && LA26_1<=RULE_DECIMAL)||(LA26_1>=14 && LA26_1<=15)||LA26_1==18||(LA26_1>=23 && LA26_1<=26)||LA26_1==28||(LA26_1>=30 && LA26_1<=32)||(LA26_1>=34 && LA26_1<=69)||(LA26_1>=71 && LA26_1<=93)) ) {
+                    alt26=2;
                 }
                 else {
                     if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 25, 1, input);
+                        new NoViableAltException("", 26, 1, input);
 
                     throw nvae;
                 }
                 }
                 break;
-            case 80:
+            case 81:
                 {
-                int LA25_2 = input.LA(2);
+                int LA26_2 = input.LA(2);
 
-                if ( (LA25_2==EOF||(LA25_2>=RULE_ID && LA25_2<=RULE_DECIMAL)||(LA25_2>=14 && LA25_2<=15)||LA25_2==18||(LA25_2>=22 && LA25_2<=25)||LA25_2==27||(LA25_2>=29 && LA25_2<=31)||(LA25_2>=33 && LA25_2<=68)||(LA25_2>=70 && LA25_2<=92)) ) {
-                    alt25=2;
+                if ( (LA26_2==EOF||(LA26_2>=RULE_STRING && LA26_2<=RULE_DECIMAL)||(LA26_2>=14 && LA26_2<=15)||LA26_2==18||(LA26_2>=23 && LA26_2<=26)||LA26_2==28||(LA26_2>=30 && LA26_2<=32)||(LA26_2>=34 && LA26_2<=69)||(LA26_2>=71 && LA26_2<=93)) ) {
+                    alt26=2;
                 }
-                else if ( (LA25_2==32) ) {
-                    alt25=1;
+                else if ( (LA26_2==33) ) {
+                    alt26=1;
                 }
                 else {
                     if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 25, 2, input);
-
-                    throw nvae;
-                }
-                }
-                break;
-            case 23:
-                {
-                int LA25_3 = input.LA(2);
-
-                if ( (LA25_3==EOF||(LA25_3>=RULE_ID && LA25_3<=RULE_DECIMAL)||(LA25_3>=14 && LA25_3<=15)||LA25_3==18||(LA25_3>=22 && LA25_3<=25)||LA25_3==27||(LA25_3>=29 && LA25_3<=31)||(LA25_3>=33 && LA25_3<=68)||(LA25_3>=70 && LA25_3<=92)) ) {
-                    alt25=2;
-                }
-                else if ( (LA25_3==32) ) {
-                    alt25=1;
-                }
-                else {
-                    if (state.backtracking>0) {state.failed=true; return current;}
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 25, 3, input);
-
-                    throw nvae;
-                }
-                }
-                break;
-            case 22:
-                {
-                int LA25_4 = input.LA(2);
-
-                if ( (LA25_4==32) ) {
-                    alt25=1;
-                }
-                else if ( (LA25_4==EOF||(LA25_4>=RULE_ID && LA25_4<=RULE_DECIMAL)||(LA25_4>=14 && LA25_4<=15)||LA25_4==18||(LA25_4>=22 && LA25_4<=25)||LA25_4==27||(LA25_4>=29 && LA25_4<=31)||(LA25_4>=33 && LA25_4<=68)||(LA25_4>=70 && LA25_4<=92)) ) {
-                    alt25=2;
-                }
-                else {
-                    if (state.backtracking>0) {state.failed=true; return current;}
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 25, 4, input);
+                        new NoViableAltException("", 26, 2, input);
 
                     throw nvae;
                 }
@@ -3786,18 +3885,56 @@
                 break;
             case 24:
                 {
-                int LA25_5 = input.LA(2);
+                int LA26_3 = input.LA(2);
 
-                if ( (LA25_5==EOF||(LA25_5>=RULE_ID && LA25_5<=RULE_DECIMAL)||(LA25_5>=14 && LA25_5<=15)||LA25_5==18||(LA25_5>=22 && LA25_5<=25)||LA25_5==27||(LA25_5>=29 && LA25_5<=31)||(LA25_5>=33 && LA25_5<=68)||(LA25_5>=70 && LA25_5<=92)) ) {
-                    alt25=2;
+                if ( (LA26_3==EOF||(LA26_3>=RULE_STRING && LA26_3<=RULE_DECIMAL)||(LA26_3>=14 && LA26_3<=15)||LA26_3==18||(LA26_3>=23 && LA26_3<=26)||LA26_3==28||(LA26_3>=30 && LA26_3<=32)||(LA26_3>=34 && LA26_3<=69)||(LA26_3>=71 && LA26_3<=93)) ) {
+                    alt26=2;
                 }
-                else if ( (LA25_5==32) ) {
-                    alt25=1;
+                else if ( (LA26_3==33) ) {
+                    alt26=1;
                 }
                 else {
                     if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 25, 5, input);
+                        new NoViableAltException("", 26, 3, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case 23:
+                {
+                int LA26_4 = input.LA(2);
+
+                if ( (LA26_4==33) ) {
+                    alt26=1;
+                }
+                else if ( (LA26_4==EOF||(LA26_4>=RULE_STRING && LA26_4<=RULE_DECIMAL)||(LA26_4>=14 && LA26_4<=15)||LA26_4==18||(LA26_4>=23 && LA26_4<=26)||LA26_4==28||(LA26_4>=30 && LA26_4<=32)||(LA26_4>=34 && LA26_4<=69)||(LA26_4>=71 && LA26_4<=93)) ) {
+                    alt26=2;
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 26, 4, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case 25:
+                {
+                int LA26_5 = input.LA(2);
+
+                if ( (LA26_5==EOF||(LA26_5>=RULE_STRING && LA26_5<=RULE_DECIMAL)||(LA26_5>=14 && LA26_5<=15)||LA26_5==18||(LA26_5>=23 && LA26_5<=26)||LA26_5==28||(LA26_5>=30 && LA26_5<=32)||(LA26_5>=34 && LA26_5<=69)||(LA26_5>=71 && LA26_5<=93)) ) {
+                    alt26=2;
+                }
+                else if ( (LA26_5==33) ) {
+                    alt26=1;
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 26, 5, input);
 
                     throw nvae;
                 }
@@ -3809,18 +3946,17 @@
             case RULE_DECIMAL:
             case 14:
             case 18:
-            case 29:
-            case 33:
+            case 30:
             case 34:
-            case 41:
-            case 57:
+            case 35:
+            case 42:
             case 58:
-            case 62:
-            case 70:
-            case 72:
-            case 76:
+            case 59:
+            case 63:
+            case 71:
+            case 73:
             case 77:
-            case 81:
+            case 78:
             case 82:
             case 83:
             case 84:
@@ -3829,28 +3965,29 @@
             case 87:
             case 88:
             case 89:
-            case 91:
+            case 90:
+            case 92:
                 {
-                alt25=2;
+                alt26=2;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 25, 0, input);
+                    new NoViableAltException("", 26, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt25) {
+            switch (alt26) {
                 case 1 :
-                    // InternalSignalDSL.g:1377:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) )
+                    // InternalSignalDSL.g:1421:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) )
                     {
-                    // InternalSignalDSL.g:1377:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) )
-                    // InternalSignalDSL.g:1378:4: () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) )
+                    // InternalSignalDSL.g:1421:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) )
+                    // InternalSignalDSL.g:1422:4: () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) )
                     {
-                    // InternalSignalDSL.g:1378:4: ()
-                    // InternalSignalDSL.g:1379:5: 
+                    // InternalSignalDSL.g:1422:4: ()
+                    // InternalSignalDSL.g:1423:5: 
                     {
                     if ( state.backtracking==0 ) {
 
@@ -3862,11 +3999,11 @@
 
                     }
 
-                    // InternalSignalDSL.g:1385:4: ( ( ruleFeatureCallID ) )
-                    // InternalSignalDSL.g:1386:5: ( ruleFeatureCallID )
+                    // InternalSignalDSL.g:1429:4: ( ( ruleFeatureCallID ) )
+                    // InternalSignalDSL.g:1430:5: ( ruleFeatureCallID )
                     {
-                    // InternalSignalDSL.g:1386:5: ( ruleFeatureCallID )
-                    // InternalSignalDSL.g:1387:6: ruleFeatureCallID
+                    // InternalSignalDSL.g:1430:5: ( ruleFeatureCallID )
+                    // InternalSignalDSL.g:1431:6: ruleFeatureCallID
                     {
                     if ( state.backtracking==0 ) {
 
@@ -3880,7 +4017,7 @@
                       						newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_25);
+                    pushFollow(FOLLOW_27);
                     ruleFeatureCallID();
 
                     state._fsp--;
@@ -3901,7 +4038,7 @@
                       				newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2());
                       			
                     }
-                    pushFollow(FOLLOW_26);
+                    pushFollow(FOLLOW_28);
                     ruleOpSingleAssign();
 
                     state._fsp--;
@@ -3911,11 +4048,11 @@
                       				afterParserOrEnumRuleCall();
                       			
                     }
-                    // InternalSignalDSL.g:1408:4: ( (lv_value_3_0= ruleXAssignment ) )
-                    // InternalSignalDSL.g:1409:5: (lv_value_3_0= ruleXAssignment )
+                    // InternalSignalDSL.g:1452:4: ( (lv_value_3_0= ruleXAssignment ) )
+                    // InternalSignalDSL.g:1453:5: (lv_value_3_0= ruleXAssignment )
                     {
-                    // InternalSignalDSL.g:1409:5: (lv_value_3_0= ruleXAssignment )
-                    // InternalSignalDSL.g:1410:6: lv_value_3_0= ruleXAssignment
+                    // InternalSignalDSL.g:1453:5: (lv_value_3_0= ruleXAssignment )
+                    // InternalSignalDSL.g:1454:6: lv_value_3_0= ruleXAssignment
                     {
                     if ( state.backtracking==0 ) {
 
@@ -3953,17 +4090,17 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:1429:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? )
+                    // InternalSignalDSL.g:1473:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? )
                     {
-                    // InternalSignalDSL.g:1429:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? )
-                    // InternalSignalDSL.g:1430:4: this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?
+                    // InternalSignalDSL.g:1473:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? )
+                    // InternalSignalDSL.g:1474:4: this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?
                     {
                     if ( state.backtracking==0 ) {
 
                       				newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0());
                       			
                     }
-                    pushFollow(FOLLOW_31);
+                    pushFollow(FOLLOW_33);
                     this_XOrExpression_4=ruleXOrExpression();
 
                     state._fsp--;
@@ -3974,21 +4111,21 @@
                       				afterParserOrEnumRuleCall();
                       			
                     }
-                    // InternalSignalDSL.g:1438:4: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?
-                    int alt24=2;
-                    alt24 = dfa24.predict(input);
-                    switch (alt24) {
+                    // InternalSignalDSL.g:1482:4: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?
+                    int alt25=2;
+                    alt25 = dfa25.predict(input);
+                    switch (alt25) {
                         case 1 :
-                            // InternalSignalDSL.g:1439:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) )
+                            // InternalSignalDSL.g:1483:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) )
                             {
-                            // InternalSignalDSL.g:1439:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) )
-                            // InternalSignalDSL.g:1440:6: ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) )
+                            // InternalSignalDSL.g:1483:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) )
+                            // InternalSignalDSL.g:1484:6: ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) )
                             {
-                            // InternalSignalDSL.g:1450:6: ( () ( ( ruleOpMultiAssign ) ) )
-                            // InternalSignalDSL.g:1451:7: () ( ( ruleOpMultiAssign ) )
+                            // InternalSignalDSL.g:1494:6: ( () ( ( ruleOpMultiAssign ) ) )
+                            // InternalSignalDSL.g:1495:7: () ( ( ruleOpMultiAssign ) )
                             {
-                            // InternalSignalDSL.g:1451:7: ()
-                            // InternalSignalDSL.g:1452:8: 
+                            // InternalSignalDSL.g:1495:7: ()
+                            // InternalSignalDSL.g:1496:8: 
                             {
                             if ( state.backtracking==0 ) {
 
@@ -4000,11 +4137,11 @@
 
                             }
 
-                            // InternalSignalDSL.g:1458:7: ( ( ruleOpMultiAssign ) )
-                            // InternalSignalDSL.g:1459:8: ( ruleOpMultiAssign )
+                            // InternalSignalDSL.g:1502:7: ( ( ruleOpMultiAssign ) )
+                            // InternalSignalDSL.g:1503:8: ( ruleOpMultiAssign )
                             {
-                            // InternalSignalDSL.g:1459:8: ( ruleOpMultiAssign )
-                            // InternalSignalDSL.g:1460:9: ruleOpMultiAssign
+                            // InternalSignalDSL.g:1503:8: ( ruleOpMultiAssign )
+                            // InternalSignalDSL.g:1504:9: ruleOpMultiAssign
                             {
                             if ( state.backtracking==0 ) {
 
@@ -4018,7 +4155,7 @@
                               									newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0());
                               								
                             }
-                            pushFollow(FOLLOW_26);
+                            pushFollow(FOLLOW_28);
                             ruleOpMultiAssign();
 
                             state._fsp--;
@@ -4040,11 +4177,11 @@
 
                             }
 
-                            // InternalSignalDSL.g:1476:5: ( (lv_rightOperand_7_0= ruleXAssignment ) )
-                            // InternalSignalDSL.g:1477:6: (lv_rightOperand_7_0= ruleXAssignment )
+                            // InternalSignalDSL.g:1520:5: ( (lv_rightOperand_7_0= ruleXAssignment ) )
+                            // InternalSignalDSL.g:1521:6: (lv_rightOperand_7_0= ruleXAssignment )
                             {
-                            // InternalSignalDSL.g:1477:6: (lv_rightOperand_7_0= ruleXAssignment )
-                            // InternalSignalDSL.g:1478:7: lv_rightOperand_7_0= ruleXAssignment
+                            // InternalSignalDSL.g:1521:6: (lv_rightOperand_7_0= ruleXAssignment )
+                            // InternalSignalDSL.g:1522:7: lv_rightOperand_7_0= ruleXAssignment
                             {
                             if ( state.backtracking==0 ) {
 
@@ -4112,7 +4249,7 @@
 
 
     // $ANTLR start "entryRuleOpSingleAssign"
-    // InternalSignalDSL.g:1501:1: entryRuleOpSingleAssign returns [String current=null] : iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ;
+    // InternalSignalDSL.g:1545:1: entryRuleOpSingleAssign returns [String current=null] : iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ;
     public final String entryRuleOpSingleAssign() throws RecognitionException {
         String current = null;
 
@@ -4120,8 +4257,8 @@
 
 
         try {
-            // InternalSignalDSL.g:1501:54: (iv_ruleOpSingleAssign= ruleOpSingleAssign EOF )
-            // InternalSignalDSL.g:1502:2: iv_ruleOpSingleAssign= ruleOpSingleAssign EOF
+            // InternalSignalDSL.g:1545:54: (iv_ruleOpSingleAssign= ruleOpSingleAssign EOF )
+            // InternalSignalDSL.g:1546:2: iv_ruleOpSingleAssign= ruleOpSingleAssign EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getOpSingleAssignRule()); 
@@ -4152,7 +4289,7 @@
 
 
     // $ANTLR start "ruleOpSingleAssign"
-    // InternalSignalDSL.g:1508:1: ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '=' ;
+    // InternalSignalDSL.g:1552:1: ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '=' ;
     public final AntlrDatatypeRuleToken ruleOpSingleAssign() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -4162,10 +4299,10 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:1514:2: (kw= '=' )
-            // InternalSignalDSL.g:1515:2: kw= '='
+            // InternalSignalDSL.g:1558:2: (kw= '=' )
+            // InternalSignalDSL.g:1559:2: kw= '='
             {
-            kw=(Token)match(input,32,FOLLOW_2); if (state.failed) return current;
+            kw=(Token)match(input,33,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               		current.merge(kw);
@@ -4194,7 +4331,7 @@
 
 
     // $ANTLR start "entryRuleOpMultiAssign"
-    // InternalSignalDSL.g:1523:1: entryRuleOpMultiAssign returns [String current=null] : iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ;
+    // InternalSignalDSL.g:1567:1: entryRuleOpMultiAssign returns [String current=null] : iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ;
     public final String entryRuleOpMultiAssign() throws RecognitionException {
         String current = null;
 
@@ -4202,8 +4339,8 @@
 
 
         try {
-            // InternalSignalDSL.g:1523:53: (iv_ruleOpMultiAssign= ruleOpMultiAssign EOF )
-            // InternalSignalDSL.g:1524:2: iv_ruleOpMultiAssign= ruleOpMultiAssign EOF
+            // InternalSignalDSL.g:1567:53: (iv_ruleOpMultiAssign= ruleOpMultiAssign EOF )
+            // InternalSignalDSL.g:1568:2: iv_ruleOpMultiAssign= ruleOpMultiAssign EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getOpMultiAssignRule()); 
@@ -4234,7 +4371,7 @@
 
 
     // $ANTLR start "ruleOpMultiAssign"
-    // InternalSignalDSL.g:1530:1: ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ;
+    // InternalSignalDSL.g:1574:1: ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ;
     public final AntlrDatatypeRuleToken ruleOpMultiAssign() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -4244,60 +4381,60 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:1536:2: ( (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) )
-            // InternalSignalDSL.g:1537:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) )
+            // InternalSignalDSL.g:1580:2: ( (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) )
+            // InternalSignalDSL.g:1581:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) )
             {
-            // InternalSignalDSL.g:1537:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) )
-            int alt27=7;
+            // InternalSignalDSL.g:1581:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) )
+            int alt28=7;
             switch ( input.LA(1) ) {
-            case 36:
-                {
-                alt27=1;
-                }
-                break;
             case 37:
                 {
-                alt27=2;
+                alt28=1;
                 }
                 break;
             case 38:
                 {
-                alt27=3;
+                alt28=2;
                 }
                 break;
             case 39:
                 {
-                alt27=4;
+                alt28=3;
                 }
                 break;
             case 40:
                 {
-                alt27=5;
+                alt28=4;
                 }
                 break;
             case 41:
                 {
-                alt27=6;
+                alt28=5;
                 }
                 break;
             case 42:
                 {
-                alt27=7;
+                alt28=6;
+                }
+                break;
+            case 43:
+                {
+                alt28=7;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 27, 0, input);
+                    new NoViableAltException("", 28, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt27) {
+            switch (alt28) {
                 case 1 :
-                    // InternalSignalDSL.g:1538:3: kw= '+='
+                    // InternalSignalDSL.g:1582:3: kw= '+='
                     {
-                    kw=(Token)match(input,36,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,37,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -4308,9 +4445,9 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:1544:3: kw= '-='
+                    // InternalSignalDSL.g:1588:3: kw= '-='
                     {
-                    kw=(Token)match(input,37,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,38,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -4321,9 +4458,9 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:1550:3: kw= '*='
+                    // InternalSignalDSL.g:1594:3: kw= '*='
                     {
-                    kw=(Token)match(input,38,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,39,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -4334,9 +4471,9 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:1556:3: kw= '/='
+                    // InternalSignalDSL.g:1600:3: kw= '/='
                     {
-                    kw=(Token)match(input,39,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,40,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -4347,9 +4484,9 @@
                     }
                     break;
                 case 5 :
-                    // InternalSignalDSL.g:1562:3: kw= '%='
+                    // InternalSignalDSL.g:1606:3: kw= '%='
                     {
-                    kw=(Token)match(input,40,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,41,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -4360,26 +4497,26 @@
                     }
                     break;
                 case 6 :
-                    // InternalSignalDSL.g:1568:3: (kw= '<' kw= '<' kw= '=' )
+                    // InternalSignalDSL.g:1612:3: (kw= '<' kw= '<' kw= '=' )
                     {
-                    // InternalSignalDSL.g:1568:3: (kw= '<' kw= '<' kw= '=' )
-                    // InternalSignalDSL.g:1569:4: kw= '<' kw= '<' kw= '='
+                    // InternalSignalDSL.g:1612:3: (kw= '<' kw= '<' kw= '=' )
+                    // InternalSignalDSL.g:1613:4: kw= '<' kw= '<' kw= '='
                     {
-                    kw=(Token)match(input,41,FOLLOW_32); if (state.failed) return current;
+                    kw=(Token)match(input,42,FOLLOW_34); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current.merge(kw);
                       				newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0());
                       			
                     }
-                    kw=(Token)match(input,41,FOLLOW_25); if (state.failed) return current;
+                    kw=(Token)match(input,42,FOLLOW_27); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current.merge(kw);
                       				newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1());
                       			
                     }
-                    kw=(Token)match(input,32,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,33,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current.merge(kw);
@@ -4393,30 +4530,30 @@
                     }
                     break;
                 case 7 :
-                    // InternalSignalDSL.g:1586:3: (kw= '>' (kw= '>' )? kw= '>=' )
+                    // InternalSignalDSL.g:1630:3: (kw= '>' (kw= '>' )? kw= '>=' )
                     {
-                    // InternalSignalDSL.g:1586:3: (kw= '>' (kw= '>' )? kw= '>=' )
-                    // InternalSignalDSL.g:1587:4: kw= '>' (kw= '>' )? kw= '>='
+                    // InternalSignalDSL.g:1630:3: (kw= '>' (kw= '>' )? kw= '>=' )
+                    // InternalSignalDSL.g:1631:4: kw= '>' (kw= '>' )? kw= '>='
                     {
-                    kw=(Token)match(input,42,FOLLOW_33); if (state.failed) return current;
+                    kw=(Token)match(input,43,FOLLOW_35); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current.merge(kw);
                       				newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0());
                       			
                     }
-                    // InternalSignalDSL.g:1592:4: (kw= '>' )?
-                    int alt26=2;
-                    int LA26_0 = input.LA(1);
+                    // InternalSignalDSL.g:1636:4: (kw= '>' )?
+                    int alt27=2;
+                    int LA27_0 = input.LA(1);
 
-                    if ( (LA26_0==42) ) {
-                        alt26=1;
+                    if ( (LA27_0==43) ) {
+                        alt27=1;
                     }
-                    switch (alt26) {
+                    switch (alt27) {
                         case 1 :
-                            // InternalSignalDSL.g:1593:5: kw= '>'
+                            // InternalSignalDSL.g:1637:5: kw= '>'
                             {
-                            kw=(Token)match(input,42,FOLLOW_34); if (state.failed) return current;
+                            kw=(Token)match(input,43,FOLLOW_36); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               					current.merge(kw);
@@ -4429,7 +4566,7 @@
 
                     }
 
-                    kw=(Token)match(input,43,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,44,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current.merge(kw);
@@ -4467,7 +4604,7 @@
 
 
     // $ANTLR start "entryRuleXOrExpression"
-    // InternalSignalDSL.g:1609:1: entryRuleXOrExpression returns [EObject current=null] : iv_ruleXOrExpression= ruleXOrExpression EOF ;
+    // InternalSignalDSL.g:1653:1: entryRuleXOrExpression returns [EObject current=null] : iv_ruleXOrExpression= ruleXOrExpression EOF ;
     public final EObject entryRuleXOrExpression() throws RecognitionException {
         EObject current = null;
 
@@ -4475,8 +4612,8 @@
 
 
         try {
-            // InternalSignalDSL.g:1609:54: (iv_ruleXOrExpression= ruleXOrExpression EOF )
-            // InternalSignalDSL.g:1610:2: iv_ruleXOrExpression= ruleXOrExpression EOF
+            // InternalSignalDSL.g:1653:54: (iv_ruleXOrExpression= ruleXOrExpression EOF )
+            // InternalSignalDSL.g:1654:2: iv_ruleXOrExpression= ruleXOrExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXOrExpressionRule()); 
@@ -4507,7 +4644,7 @@
 
 
     // $ANTLR start "ruleXOrExpression"
-    // InternalSignalDSL.g:1616:1: ruleXOrExpression returns [EObject current=null] : (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ;
+    // InternalSignalDSL.g:1660:1: ruleXOrExpression returns [EObject current=null] : (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ;
     public final EObject ruleXOrExpression() throws RecognitionException {
         EObject current = null;
 
@@ -4520,18 +4657,18 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:1622:2: ( (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) )
-            // InternalSignalDSL.g:1623:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* )
+            // InternalSignalDSL.g:1666:2: ( (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) )
+            // InternalSignalDSL.g:1667:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* )
             {
-            // InternalSignalDSL.g:1623:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* )
-            // InternalSignalDSL.g:1624:3: this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )*
+            // InternalSignalDSL.g:1667:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* )
+            // InternalSignalDSL.g:1668:3: this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )*
             {
             if ( state.backtracking==0 ) {
 
               			newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0());
               		
             }
-            pushFollow(FOLLOW_35);
+            pushFollow(FOLLOW_37);
             this_XAndExpression_0=ruleXAndExpression();
 
             state._fsp--;
@@ -4542,35 +4679,35 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            // InternalSignalDSL.g:1632:3: ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )*
-            loop28:
+            // InternalSignalDSL.g:1676:3: ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )*
+            loop29:
             do {
-                int alt28=2;
-                int LA28_0 = input.LA(1);
+                int alt29=2;
+                int LA29_0 = input.LA(1);
 
-                if ( (LA28_0==44) ) {
-                    int LA28_2 = input.LA(2);
+                if ( (LA29_0==45) ) {
+                    int LA29_2 = input.LA(2);
 
                     if ( (synpred8_InternalSignalDSL()) ) {
-                        alt28=1;
+                        alt29=1;
                     }
 
 
                 }
 
 
-                switch (alt28) {
+                switch (alt29) {
             	case 1 :
-            	    // InternalSignalDSL.g:1633:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) )
+            	    // InternalSignalDSL.g:1677:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) )
             	    {
-            	    // InternalSignalDSL.g:1633:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) )
-            	    // InternalSignalDSL.g:1634:5: ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) )
+            	    // InternalSignalDSL.g:1677:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) )
+            	    // InternalSignalDSL.g:1678:5: ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) )
             	    {
-            	    // InternalSignalDSL.g:1644:5: ( () ( ( ruleOpOr ) ) )
-            	    // InternalSignalDSL.g:1645:6: () ( ( ruleOpOr ) )
+            	    // InternalSignalDSL.g:1688:5: ( () ( ( ruleOpOr ) ) )
+            	    // InternalSignalDSL.g:1689:6: () ( ( ruleOpOr ) )
             	    {
-            	    // InternalSignalDSL.g:1645:6: ()
-            	    // InternalSignalDSL.g:1646:7: 
+            	    // InternalSignalDSL.g:1689:6: ()
+            	    // InternalSignalDSL.g:1690:7: 
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -4582,11 +4719,11 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:1652:6: ( ( ruleOpOr ) )
-            	    // InternalSignalDSL.g:1653:7: ( ruleOpOr )
+            	    // InternalSignalDSL.g:1696:6: ( ( ruleOpOr ) )
+            	    // InternalSignalDSL.g:1697:7: ( ruleOpOr )
             	    {
-            	    // InternalSignalDSL.g:1653:7: ( ruleOpOr )
-            	    // InternalSignalDSL.g:1654:8: ruleOpOr
+            	    // InternalSignalDSL.g:1697:7: ( ruleOpOr )
+            	    // InternalSignalDSL.g:1698:8: ruleOpOr
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -4600,7 +4737,7 @@
             	      								newCompositeNode(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
             	      							
             	    }
-            	    pushFollow(FOLLOW_26);
+            	    pushFollow(FOLLOW_28);
             	    ruleOpOr();
 
             	    state._fsp--;
@@ -4622,18 +4759,18 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:1670:4: ( (lv_rightOperand_3_0= ruleXAndExpression ) )
-            	    // InternalSignalDSL.g:1671:5: (lv_rightOperand_3_0= ruleXAndExpression )
+            	    // InternalSignalDSL.g:1714:4: ( (lv_rightOperand_3_0= ruleXAndExpression ) )
+            	    // InternalSignalDSL.g:1715:5: (lv_rightOperand_3_0= ruleXAndExpression )
             	    {
-            	    // InternalSignalDSL.g:1671:5: (lv_rightOperand_3_0= ruleXAndExpression )
-            	    // InternalSignalDSL.g:1672:6: lv_rightOperand_3_0= ruleXAndExpression
+            	    // InternalSignalDSL.g:1715:5: (lv_rightOperand_3_0= ruleXAndExpression )
+            	    // InternalSignalDSL.g:1716:6: lv_rightOperand_3_0= ruleXAndExpression
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      						newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0());
             	      					
             	    }
-            	    pushFollow(FOLLOW_35);
+            	    pushFollow(FOLLOW_37);
             	    lv_rightOperand_3_0=ruleXAndExpression();
 
             	    state._fsp--;
@@ -4662,312 +4799,6 @@
             	    break;
 
             	default :
-            	    break loop28;
-                }
-            } while (true);
-
-
-            }
-
-
-            }
-
-            if ( state.backtracking==0 ) {
-
-              	leaveRule();
-
-            }
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleXOrExpression"
-
-
-    // $ANTLR start "entryRuleOpOr"
-    // InternalSignalDSL.g:1694:1: entryRuleOpOr returns [String current=null] : iv_ruleOpOr= ruleOpOr EOF ;
-    public final String entryRuleOpOr() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleOpOr = null;
-
-
-        try {
-            // InternalSignalDSL.g:1694:44: (iv_ruleOpOr= ruleOpOr EOF )
-            // InternalSignalDSL.g:1695:2: iv_ruleOpOr= ruleOpOr EOF
-            {
-            if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getOpOrRule()); 
-            }
-            pushFollow(FOLLOW_1);
-            iv_ruleOpOr=ruleOpOr();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-               current =iv_ruleOpOr.getText(); 
-            }
-            match(input,EOF,FOLLOW_2); if (state.failed) return current;
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleOpOr"
-
-
-    // $ANTLR start "ruleOpOr"
-    // InternalSignalDSL.g:1701:1: ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '||' ;
-    public final AntlrDatatypeRuleToken ruleOpOr() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-
-
-        	enterRule();
-
-        try {
-            // InternalSignalDSL.g:1707:2: (kw= '||' )
-            // InternalSignalDSL.g:1708:2: kw= '||'
-            {
-            kw=(Token)match(input,44,FOLLOW_2); if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-
-              		current.merge(kw);
-              		newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword());
-              	
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-
-              	leaveRule();
-
-            }
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleOpOr"
-
-
-    // $ANTLR start "entryRuleXAndExpression"
-    // InternalSignalDSL.g:1716:1: entryRuleXAndExpression returns [EObject current=null] : iv_ruleXAndExpression= ruleXAndExpression EOF ;
-    public final EObject entryRuleXAndExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleXAndExpression = null;
-
-
-        try {
-            // InternalSignalDSL.g:1716:55: (iv_ruleXAndExpression= ruleXAndExpression EOF )
-            // InternalSignalDSL.g:1717:2: iv_ruleXAndExpression= ruleXAndExpression EOF
-            {
-            if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getXAndExpressionRule()); 
-            }
-            pushFollow(FOLLOW_1);
-            iv_ruleXAndExpression=ruleXAndExpression();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-               current =iv_ruleXAndExpression; 
-            }
-            match(input,EOF,FOLLOW_2); if (state.failed) return current;
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleXAndExpression"
-
-
-    // $ANTLR start "ruleXAndExpression"
-    // InternalSignalDSL.g:1723:1: ruleXAndExpression returns [EObject current=null] : (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ;
-    public final EObject ruleXAndExpression() throws RecognitionException {
-        EObject current = null;
-
-        EObject this_XEqualityExpression_0 = null;
-
-        EObject lv_rightOperand_3_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSignalDSL.g:1729:2: ( (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) )
-            // InternalSignalDSL.g:1730:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* )
-            {
-            // InternalSignalDSL.g:1730:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* )
-            // InternalSignalDSL.g:1731:3: this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )*
-            {
-            if ( state.backtracking==0 ) {
-
-              			newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0());
-              		
-            }
-            pushFollow(FOLLOW_36);
-            this_XEqualityExpression_0=ruleXEqualityExpression();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-
-              			current = this_XEqualityExpression_0;
-              			afterParserOrEnumRuleCall();
-              		
-            }
-            // InternalSignalDSL.g:1739:3: ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )*
-            loop29:
-            do {
-                int alt29=2;
-                int LA29_0 = input.LA(1);
-
-                if ( (LA29_0==45) ) {
-                    int LA29_2 = input.LA(2);
-
-                    if ( (synpred9_InternalSignalDSL()) ) {
-                        alt29=1;
-                    }
-
-
-                }
-
-
-                switch (alt29) {
-            	case 1 :
-            	    // InternalSignalDSL.g:1740:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) )
-            	    {
-            	    // InternalSignalDSL.g:1740:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) )
-            	    // InternalSignalDSL.g:1741:5: ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) )
-            	    {
-            	    // InternalSignalDSL.g:1751:5: ( () ( ( ruleOpAnd ) ) )
-            	    // InternalSignalDSL.g:1752:6: () ( ( ruleOpAnd ) )
-            	    {
-            	    // InternalSignalDSL.g:1752:6: ()
-            	    // InternalSignalDSL.g:1753:7: 
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      							current = forceCreateModelElementAndSet(
-            	      								grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
-            	      								current);
-            	      						
-            	    }
-
-            	    }
-
-            	    // InternalSignalDSL.g:1759:6: ( ( ruleOpAnd ) )
-            	    // InternalSignalDSL.g:1760:7: ( ruleOpAnd )
-            	    {
-            	    // InternalSignalDSL.g:1760:7: ( ruleOpAnd )
-            	    // InternalSignalDSL.g:1761:8: ruleOpAnd
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      								if (current==null) {
-            	      									current = createModelElement(grammarAccess.getXAndExpressionRule());
-            	      								}
-            	      							
-            	    }
-            	    if ( state.backtracking==0 ) {
-
-            	      								newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
-            	      							
-            	    }
-            	    pushFollow(FOLLOW_26);
-            	    ruleOpAnd();
-
-            	    state._fsp--;
-            	    if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      								afterParserOrEnumRuleCall();
-            	      							
-            	    }
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-
-            	    // InternalSignalDSL.g:1777:4: ( (lv_rightOperand_3_0= ruleXEqualityExpression ) )
-            	    // InternalSignalDSL.g:1778:5: (lv_rightOperand_3_0= ruleXEqualityExpression )
-            	    {
-            	    // InternalSignalDSL.g:1778:5: (lv_rightOperand_3_0= ruleXEqualityExpression )
-            	    // InternalSignalDSL.g:1779:6: lv_rightOperand_3_0= ruleXEqualityExpression
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      						newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0());
-            	      					
-            	    }
-            	    pushFollow(FOLLOW_36);
-            	    lv_rightOperand_3_0=ruleXEqualityExpression();
-
-            	    state._fsp--;
-            	    if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      						if (current==null) {
-            	      							current = createModelElementForParent(grammarAccess.getXAndExpressionRule());
-            	      						}
-            	      						set(
-            	      							current,
-            	      							"rightOperand",
-            	      							lv_rightOperand_3_0,
-            	      							"org.eclipse.xtext.xbase.Xbase.XEqualityExpression");
-            	      						afterParserOrEnumRuleCall();
-            	      					
-            	    }
-
-            	    }
-
-
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
             	    break loop29;
                 }
             } while (true);
@@ -4993,31 +4824,31 @@
         }
         return current;
     }
-    // $ANTLR end "ruleXAndExpression"
+    // $ANTLR end "ruleXOrExpression"
 
 
-    // $ANTLR start "entryRuleOpAnd"
-    // InternalSignalDSL.g:1801:1: entryRuleOpAnd returns [String current=null] : iv_ruleOpAnd= ruleOpAnd EOF ;
-    public final String entryRuleOpAnd() throws RecognitionException {
+    // $ANTLR start "entryRuleOpOr"
+    // InternalSignalDSL.g:1738:1: entryRuleOpOr returns [String current=null] : iv_ruleOpOr= ruleOpOr EOF ;
+    public final String entryRuleOpOr() throws RecognitionException {
         String current = null;
 
-        AntlrDatatypeRuleToken iv_ruleOpAnd = null;
+        AntlrDatatypeRuleToken iv_ruleOpOr = null;
 
 
         try {
-            // InternalSignalDSL.g:1801:45: (iv_ruleOpAnd= ruleOpAnd EOF )
-            // InternalSignalDSL.g:1802:2: iv_ruleOpAnd= ruleOpAnd EOF
+            // InternalSignalDSL.g:1738:44: (iv_ruleOpOr= ruleOpOr EOF )
+            // InternalSignalDSL.g:1739:2: iv_ruleOpOr= ruleOpOr EOF
             {
             if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getOpAndRule()); 
+               newCompositeNode(grammarAccess.getOpOrRule()); 
             }
             pushFollow(FOLLOW_1);
-            iv_ruleOpAnd=ruleOpAnd();
+            iv_ruleOpOr=ruleOpOr();
 
             state._fsp--;
             if (state.failed) return current;
             if ( state.backtracking==0 ) {
-               current =iv_ruleOpAnd.getText(); 
+               current =iv_ruleOpOr.getText(); 
             }
             match(input,EOF,FOLLOW_2); if (state.failed) return current;
 
@@ -5033,12 +4864,12 @@
         }
         return current;
     }
-    // $ANTLR end "entryRuleOpAnd"
+    // $ANTLR end "entryRuleOpOr"
 
 
-    // $ANTLR start "ruleOpAnd"
-    // InternalSignalDSL.g:1808:1: ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '&&' ;
-    public final AntlrDatatypeRuleToken ruleOpAnd() throws RecognitionException {
+    // $ANTLR start "ruleOpOr"
+    // InternalSignalDSL.g:1745:1: ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '||' ;
+    public final AntlrDatatypeRuleToken ruleOpOr() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
         Token kw=null;
@@ -5047,14 +4878,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:1814:2: (kw= '&&' )
-            // InternalSignalDSL.g:1815:2: kw= '&&'
+            // InternalSignalDSL.g:1751:2: (kw= '||' )
+            // InternalSignalDSL.g:1752:2: kw= '||'
             {
             kw=(Token)match(input,45,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               		current.merge(kw);
-              		newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword());
+              		newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword());
               	
             }
 
@@ -5075,31 +4906,31 @@
         }
         return current;
     }
-    // $ANTLR end "ruleOpAnd"
+    // $ANTLR end "ruleOpOr"
 
 
-    // $ANTLR start "entryRuleXEqualityExpression"
-    // InternalSignalDSL.g:1823:1: entryRuleXEqualityExpression returns [EObject current=null] : iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ;
-    public final EObject entryRuleXEqualityExpression() throws RecognitionException {
+    // $ANTLR start "entryRuleXAndExpression"
+    // InternalSignalDSL.g:1760:1: entryRuleXAndExpression returns [EObject current=null] : iv_ruleXAndExpression= ruleXAndExpression EOF ;
+    public final EObject entryRuleXAndExpression() throws RecognitionException {
         EObject current = null;
 
-        EObject iv_ruleXEqualityExpression = null;
+        EObject iv_ruleXAndExpression = null;
 
 
         try {
-            // InternalSignalDSL.g:1823:60: (iv_ruleXEqualityExpression= ruleXEqualityExpression EOF )
-            // InternalSignalDSL.g:1824:2: iv_ruleXEqualityExpression= ruleXEqualityExpression EOF
+            // InternalSignalDSL.g:1760:55: (iv_ruleXAndExpression= ruleXAndExpression EOF )
+            // InternalSignalDSL.g:1761:2: iv_ruleXAndExpression= ruleXAndExpression EOF
             {
             if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getXEqualityExpressionRule()); 
+               newCompositeNode(grammarAccess.getXAndExpressionRule()); 
             }
             pushFollow(FOLLOW_1);
-            iv_ruleXEqualityExpression=ruleXEqualityExpression();
+            iv_ruleXAndExpression=ruleXAndExpression();
 
             state._fsp--;
             if (state.failed) return current;
             if ( state.backtracking==0 ) {
-               current =iv_ruleXEqualityExpression; 
+               current =iv_ruleXAndExpression; 
             }
             match(input,EOF,FOLLOW_2); if (state.failed) return current;
 
@@ -5115,15 +4946,15 @@
         }
         return current;
     }
-    // $ANTLR end "entryRuleXEqualityExpression"
+    // $ANTLR end "entryRuleXAndExpression"
 
 
-    // $ANTLR start "ruleXEqualityExpression"
-    // InternalSignalDSL.g:1830:1: ruleXEqualityExpression returns [EObject current=null] : (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ;
-    public final EObject ruleXEqualityExpression() throws RecognitionException {
+    // $ANTLR start "ruleXAndExpression"
+    // InternalSignalDSL.g:1767:1: ruleXAndExpression returns [EObject current=null] : (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ;
+    public final EObject ruleXAndExpression() throws RecognitionException {
         EObject current = null;
 
-        EObject this_XRelationalExpression_0 = null;
+        EObject this_XEqualityExpression_0 = null;
 
         EObject lv_rightOperand_3_0 = null;
 
@@ -5132,123 +4963,88 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:1836:2: ( (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) )
-            // InternalSignalDSL.g:1837:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* )
+            // InternalSignalDSL.g:1773:2: ( (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) )
+            // InternalSignalDSL.g:1774:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* )
             {
-            // InternalSignalDSL.g:1837:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* )
-            // InternalSignalDSL.g:1838:3: this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )*
+            // InternalSignalDSL.g:1774:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* )
+            // InternalSignalDSL.g:1775:3: this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )*
             {
             if ( state.backtracking==0 ) {
 
-              			newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0());
+              			newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0());
               		
             }
-            pushFollow(FOLLOW_37);
-            this_XRelationalExpression_0=ruleXRelationalExpression();
+            pushFollow(FOLLOW_38);
+            this_XEqualityExpression_0=ruleXEqualityExpression();
 
             state._fsp--;
             if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-              			current = this_XRelationalExpression_0;
+              			current = this_XEqualityExpression_0;
               			afterParserOrEnumRuleCall();
               		
             }
-            // InternalSignalDSL.g:1846:3: ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )*
+            // InternalSignalDSL.g:1783:3: ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )*
             loop30:
             do {
                 int alt30=2;
-                switch ( input.LA(1) ) {
-                case 46:
-                    {
+                int LA30_0 = input.LA(1);
+
+                if ( (LA30_0==46) ) {
                     int LA30_2 = input.LA(2);
 
-                    if ( (synpred10_InternalSignalDSL()) ) {
+                    if ( (synpred9_InternalSignalDSL()) ) {
                         alt30=1;
                     }
 
 
-                    }
-                    break;
-                case 47:
-                    {
-                    int LA30_3 = input.LA(2);
-
-                    if ( (synpred10_InternalSignalDSL()) ) {
-                        alt30=1;
-                    }
-
-
-                    }
-                    break;
-                case 48:
-                    {
-                    int LA30_4 = input.LA(2);
-
-                    if ( (synpred10_InternalSignalDSL()) ) {
-                        alt30=1;
-                    }
-
-
-                    }
-                    break;
-                case 49:
-                    {
-                    int LA30_5 = input.LA(2);
-
-                    if ( (synpred10_InternalSignalDSL()) ) {
-                        alt30=1;
-                    }
-
-
-                    }
-                    break;
-
                 }
 
+
                 switch (alt30) {
             	case 1 :
-            	    // InternalSignalDSL.g:1847:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) )
+            	    // InternalSignalDSL.g:1784:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) )
             	    {
-            	    // InternalSignalDSL.g:1847:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) )
-            	    // InternalSignalDSL.g:1848:5: ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) )
+            	    // InternalSignalDSL.g:1784:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) )
+            	    // InternalSignalDSL.g:1785:5: ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) )
             	    {
-            	    // InternalSignalDSL.g:1858:5: ( () ( ( ruleOpEquality ) ) )
-            	    // InternalSignalDSL.g:1859:6: () ( ( ruleOpEquality ) )
+            	    // InternalSignalDSL.g:1795:5: ( () ( ( ruleOpAnd ) ) )
+            	    // InternalSignalDSL.g:1796:6: () ( ( ruleOpAnd ) )
             	    {
-            	    // InternalSignalDSL.g:1859:6: ()
-            	    // InternalSignalDSL.g:1860:7: 
+            	    // InternalSignalDSL.g:1796:6: ()
+            	    // InternalSignalDSL.g:1797:7: 
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      							current = forceCreateModelElementAndSet(
-            	      								grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+            	      								grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
             	      								current);
             	      						
             	    }
 
             	    }
 
-            	    // InternalSignalDSL.g:1866:6: ( ( ruleOpEquality ) )
-            	    // InternalSignalDSL.g:1867:7: ( ruleOpEquality )
+            	    // InternalSignalDSL.g:1803:6: ( ( ruleOpAnd ) )
+            	    // InternalSignalDSL.g:1804:7: ( ruleOpAnd )
             	    {
-            	    // InternalSignalDSL.g:1867:7: ( ruleOpEquality )
-            	    // InternalSignalDSL.g:1868:8: ruleOpEquality
+            	    // InternalSignalDSL.g:1804:7: ( ruleOpAnd )
+            	    // InternalSignalDSL.g:1805:8: ruleOpAnd
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      								if (current==null) {
-            	      									current = createModelElement(grammarAccess.getXEqualityExpressionRule());
+            	      									current = createModelElement(grammarAccess.getXAndExpressionRule());
             	      								}
             	      							
             	    }
             	    if ( state.backtracking==0 ) {
 
-            	      								newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+            	      								newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
             	      							
             	    }
-            	    pushFollow(FOLLOW_26);
-            	    ruleOpEquality();
+            	    pushFollow(FOLLOW_28);
+            	    ruleOpAnd();
 
             	    state._fsp--;
             	    if (state.failed) return current;
@@ -5269,32 +5065,32 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:1884:4: ( (lv_rightOperand_3_0= ruleXRelationalExpression ) )
-            	    // InternalSignalDSL.g:1885:5: (lv_rightOperand_3_0= ruleXRelationalExpression )
+            	    // InternalSignalDSL.g:1821:4: ( (lv_rightOperand_3_0= ruleXEqualityExpression ) )
+            	    // InternalSignalDSL.g:1822:5: (lv_rightOperand_3_0= ruleXEqualityExpression )
             	    {
-            	    // InternalSignalDSL.g:1885:5: (lv_rightOperand_3_0= ruleXRelationalExpression )
-            	    // InternalSignalDSL.g:1886:6: lv_rightOperand_3_0= ruleXRelationalExpression
+            	    // InternalSignalDSL.g:1822:5: (lv_rightOperand_3_0= ruleXEqualityExpression )
+            	    // InternalSignalDSL.g:1823:6: lv_rightOperand_3_0= ruleXEqualityExpression
             	    {
             	    if ( state.backtracking==0 ) {
 
-            	      						newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0());
+            	      						newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0());
             	      					
             	    }
-            	    pushFollow(FOLLOW_37);
-            	    lv_rightOperand_3_0=ruleXRelationalExpression();
+            	    pushFollow(FOLLOW_38);
+            	    lv_rightOperand_3_0=ruleXEqualityExpression();
 
             	    state._fsp--;
             	    if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      						if (current==null) {
-            	      							current = createModelElementForParent(grammarAccess.getXEqualityExpressionRule());
+            	      							current = createModelElementForParent(grammarAccess.getXAndExpressionRule());
             	      						}
             	      						set(
             	      							current,
             	      							"rightOperand",
             	      							lv_rightOperand_3_0,
-            	      							"org.eclipse.xtext.xbase.Xbase.XRelationalExpression");
+            	      							"org.eclipse.xtext.xbase.Xbase.XEqualityExpression");
             	      						afterParserOrEnumRuleCall();
             	      					
             	    }
@@ -5334,11 +5130,352 @@
         }
         return current;
     }
+    // $ANTLR end "ruleXAndExpression"
+
+
+    // $ANTLR start "entryRuleOpAnd"
+    // InternalSignalDSL.g:1845:1: entryRuleOpAnd returns [String current=null] : iv_ruleOpAnd= ruleOpAnd EOF ;
+    public final String entryRuleOpAnd() throws RecognitionException {
+        String current = null;
+
+        AntlrDatatypeRuleToken iv_ruleOpAnd = null;
+
+
+        try {
+            // InternalSignalDSL.g:1845:45: (iv_ruleOpAnd= ruleOpAnd EOF )
+            // InternalSignalDSL.g:1846:2: iv_ruleOpAnd= ruleOpAnd EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getOpAndRule()); 
+            }
+            pushFollow(FOLLOW_1);
+            iv_ruleOpAnd=ruleOpAnd();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleOpAnd.getText(); 
+            }
+            match(input,EOF,FOLLOW_2); if (state.failed) return current;
+
+            }
+
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleOpAnd"
+
+
+    // $ANTLR start "ruleOpAnd"
+    // InternalSignalDSL.g:1852:1: ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '&&' ;
+    public final AntlrDatatypeRuleToken ruleOpAnd() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+        Token kw=null;
+
+
+        	enterRule();
+
+        try {
+            // InternalSignalDSL.g:1858:2: (kw= '&&' )
+            // InternalSignalDSL.g:1859:2: kw= '&&'
+            {
+            kw=(Token)match(input,46,FOLLOW_2); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              		current.merge(kw);
+              		newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword());
+              	
+            }
+
+            }
+
+            if ( state.backtracking==0 ) {
+
+              	leaveRule();
+
+            }
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleOpAnd"
+
+
+    // $ANTLR start "entryRuleXEqualityExpression"
+    // InternalSignalDSL.g:1867:1: entryRuleXEqualityExpression returns [EObject current=null] : iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ;
+    public final EObject entryRuleXEqualityExpression() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleXEqualityExpression = null;
+
+
+        try {
+            // InternalSignalDSL.g:1867:60: (iv_ruleXEqualityExpression= ruleXEqualityExpression EOF )
+            // InternalSignalDSL.g:1868:2: iv_ruleXEqualityExpression= ruleXEqualityExpression EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getXEqualityExpressionRule()); 
+            }
+            pushFollow(FOLLOW_1);
+            iv_ruleXEqualityExpression=ruleXEqualityExpression();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleXEqualityExpression; 
+            }
+            match(input,EOF,FOLLOW_2); if (state.failed) return current;
+
+            }
+
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleXEqualityExpression"
+
+
+    // $ANTLR start "ruleXEqualityExpression"
+    // InternalSignalDSL.g:1874:1: ruleXEqualityExpression returns [EObject current=null] : (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ;
+    public final EObject ruleXEqualityExpression() throws RecognitionException {
+        EObject current = null;
+
+        EObject this_XRelationalExpression_0 = null;
+
+        EObject lv_rightOperand_3_0 = null;
+
+
+
+        	enterRule();
+
+        try {
+            // InternalSignalDSL.g:1880:2: ( (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) )
+            // InternalSignalDSL.g:1881:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* )
+            {
+            // InternalSignalDSL.g:1881:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* )
+            // InternalSignalDSL.g:1882:3: this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )*
+            {
+            if ( state.backtracking==0 ) {
+
+              			newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0());
+              		
+            }
+            pushFollow(FOLLOW_39);
+            this_XRelationalExpression_0=ruleXRelationalExpression();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              			current = this_XRelationalExpression_0;
+              			afterParserOrEnumRuleCall();
+              		
+            }
+            // InternalSignalDSL.g:1890:3: ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )*
+            loop31:
+            do {
+                int alt31=2;
+                switch ( input.LA(1) ) {
+                case 47:
+                    {
+                    int LA31_2 = input.LA(2);
+
+                    if ( (synpred10_InternalSignalDSL()) ) {
+                        alt31=1;
+                    }
+
+
+                    }
+                    break;
+                case 48:
+                    {
+                    int LA31_3 = input.LA(2);
+
+                    if ( (synpred10_InternalSignalDSL()) ) {
+                        alt31=1;
+                    }
+
+
+                    }
+                    break;
+                case 49:
+                    {
+                    int LA31_4 = input.LA(2);
+
+                    if ( (synpred10_InternalSignalDSL()) ) {
+                        alt31=1;
+                    }
+
+
+                    }
+                    break;
+                case 50:
+                    {
+                    int LA31_5 = input.LA(2);
+
+                    if ( (synpred10_InternalSignalDSL()) ) {
+                        alt31=1;
+                    }
+
+
+                    }
+                    break;
+
+                }
+
+                switch (alt31) {
+            	case 1 :
+            	    // InternalSignalDSL.g:1891:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) )
+            	    {
+            	    // InternalSignalDSL.g:1891:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) )
+            	    // InternalSignalDSL.g:1892:5: ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) )
+            	    {
+            	    // InternalSignalDSL.g:1902:5: ( () ( ( ruleOpEquality ) ) )
+            	    // InternalSignalDSL.g:1903:6: () ( ( ruleOpEquality ) )
+            	    {
+            	    // InternalSignalDSL.g:1903:6: ()
+            	    // InternalSignalDSL.g:1904:7: 
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      							current = forceCreateModelElementAndSet(
+            	      								grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
+            	      								current);
+            	      						
+            	    }
+
+            	    }
+
+            	    // InternalSignalDSL.g:1910:6: ( ( ruleOpEquality ) )
+            	    // InternalSignalDSL.g:1911:7: ( ruleOpEquality )
+            	    {
+            	    // InternalSignalDSL.g:1911:7: ( ruleOpEquality )
+            	    // InternalSignalDSL.g:1912:8: ruleOpEquality
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      								if (current==null) {
+            	      									current = createModelElement(grammarAccess.getXEqualityExpressionRule());
+            	      								}
+            	      							
+            	    }
+            	    if ( state.backtracking==0 ) {
+
+            	      								newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
+            	      							
+            	    }
+            	    pushFollow(FOLLOW_28);
+            	    ruleOpEquality();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      								afterParserOrEnumRuleCall();
+            	      							
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+
+            	    // InternalSignalDSL.g:1928:4: ( (lv_rightOperand_3_0= ruleXRelationalExpression ) )
+            	    // InternalSignalDSL.g:1929:5: (lv_rightOperand_3_0= ruleXRelationalExpression )
+            	    {
+            	    // InternalSignalDSL.g:1929:5: (lv_rightOperand_3_0= ruleXRelationalExpression )
+            	    // InternalSignalDSL.g:1930:6: lv_rightOperand_3_0= ruleXRelationalExpression
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      						newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0());
+            	      					
+            	    }
+            	    pushFollow(FOLLOW_39);
+            	    lv_rightOperand_3_0=ruleXRelationalExpression();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      						if (current==null) {
+            	      							current = createModelElementForParent(grammarAccess.getXEqualityExpressionRule());
+            	      						}
+            	      						set(
+            	      							current,
+            	      							"rightOperand",
+            	      							lv_rightOperand_3_0,
+            	      							"org.eclipse.xtext.xbase.Xbase.XRelationalExpression");
+            	      						afterParserOrEnumRuleCall();
+            	      					
+            	    }
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop31;
+                }
+            } while (true);
+
+
+            }
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+
+              	leaveRule();
+
+            }
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
     // $ANTLR end "ruleXEqualityExpression"
 
 
     // $ANTLR start "entryRuleOpEquality"
-    // InternalSignalDSL.g:1908:1: entryRuleOpEquality returns [String current=null] : iv_ruleOpEquality= ruleOpEquality EOF ;
+    // InternalSignalDSL.g:1952:1: entryRuleOpEquality returns [String current=null] : iv_ruleOpEquality= ruleOpEquality EOF ;
     public final String entryRuleOpEquality() throws RecognitionException {
         String current = null;
 
@@ -5346,8 +5483,8 @@
 
 
         try {
-            // InternalSignalDSL.g:1908:50: (iv_ruleOpEquality= ruleOpEquality EOF )
-            // InternalSignalDSL.g:1909:2: iv_ruleOpEquality= ruleOpEquality EOF
+            // InternalSignalDSL.g:1952:50: (iv_ruleOpEquality= ruleOpEquality EOF )
+            // InternalSignalDSL.g:1953:2: iv_ruleOpEquality= ruleOpEquality EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getOpEqualityRule()); 
@@ -5378,7 +5515,7 @@
 
 
     // $ANTLR start "ruleOpEquality"
-    // InternalSignalDSL.g:1915:1: ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ;
+    // InternalSignalDSL.g:1959:1: ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ;
     public final AntlrDatatypeRuleToken ruleOpEquality() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -5388,45 +5525,45 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:1921:2: ( (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) )
-            // InternalSignalDSL.g:1922:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' )
+            // InternalSignalDSL.g:1965:2: ( (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) )
+            // InternalSignalDSL.g:1966:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' )
             {
-            // InternalSignalDSL.g:1922:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' )
-            int alt31=4;
+            // InternalSignalDSL.g:1966:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' )
+            int alt32=4;
             switch ( input.LA(1) ) {
-            case 46:
-                {
-                alt31=1;
-                }
-                break;
             case 47:
                 {
-                alt31=2;
+                alt32=1;
                 }
                 break;
             case 48:
                 {
-                alt31=3;
+                alt32=2;
                 }
                 break;
             case 49:
                 {
-                alt31=4;
+                alt32=3;
+                }
+                break;
+            case 50:
+                {
+                alt32=4;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 31, 0, input);
+                    new NoViableAltException("", 32, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt31) {
+            switch (alt32) {
                 case 1 :
-                    // InternalSignalDSL.g:1923:3: kw= '=='
+                    // InternalSignalDSL.g:1967:3: kw= '=='
                     {
-                    kw=(Token)match(input,46,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,47,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -5437,9 +5574,9 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:1929:3: kw= '!='
+                    // InternalSignalDSL.g:1973:3: kw= '!='
                     {
-                    kw=(Token)match(input,47,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,48,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -5450,9 +5587,9 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:1935:3: kw= '==='
+                    // InternalSignalDSL.g:1979:3: kw= '==='
                     {
-                    kw=(Token)match(input,48,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,49,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -5463,9 +5600,9 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:1941:3: kw= '!=='
+                    // InternalSignalDSL.g:1985:3: kw= '!=='
                     {
-                    kw=(Token)match(input,49,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,50,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -5500,7 +5637,7 @@
 
 
     // $ANTLR start "entryRuleXRelationalExpression"
-    // InternalSignalDSL.g:1950:1: entryRuleXRelationalExpression returns [EObject current=null] : iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ;
+    // InternalSignalDSL.g:1994:1: entryRuleXRelationalExpression returns [EObject current=null] : iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ;
     public final EObject entryRuleXRelationalExpression() throws RecognitionException {
         EObject current = null;
 
@@ -5508,8 +5645,8 @@
 
 
         try {
-            // InternalSignalDSL.g:1950:62: (iv_ruleXRelationalExpression= ruleXRelationalExpression EOF )
-            // InternalSignalDSL.g:1951:2: iv_ruleXRelationalExpression= ruleXRelationalExpression EOF
+            // InternalSignalDSL.g:1994:62: (iv_ruleXRelationalExpression= ruleXRelationalExpression EOF )
+            // InternalSignalDSL.g:1995:2: iv_ruleXRelationalExpression= ruleXRelationalExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXRelationalExpressionRule()); 
@@ -5540,7 +5677,7 @@
 
 
     // $ANTLR start "ruleXRelationalExpression"
-    // InternalSignalDSL.g:1957:1: ruleXRelationalExpression returns [EObject current=null] : (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ;
+    // InternalSignalDSL.g:2001:1: ruleXRelationalExpression returns [EObject current=null] : (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ;
     public final EObject ruleXRelationalExpression() throws RecognitionException {
         EObject current = null;
 
@@ -5556,18 +5693,18 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:1963:2: ( (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) )
-            // InternalSignalDSL.g:1964:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* )
+            // InternalSignalDSL.g:2007:2: ( (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) )
+            // InternalSignalDSL.g:2008:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* )
             {
-            // InternalSignalDSL.g:1964:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* )
-            // InternalSignalDSL.g:1965:3: this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )*
+            // InternalSignalDSL.g:2008:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* )
+            // InternalSignalDSL.g:2009:3: this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )*
             {
             if ( state.backtracking==0 ) {
 
               			newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0());
               		
             }
-            pushFollow(FOLLOW_38);
+            pushFollow(FOLLOW_40);
             this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression();
 
             state._fsp--;
@@ -5578,39 +5715,17 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            // InternalSignalDSL.g:1973:3: ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )*
-            loop32:
+            // InternalSignalDSL.g:2017:3: ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )*
+            loop33:
             do {
-                int alt32=3;
+                int alt33=3;
                 switch ( input.LA(1) ) {
-                case 41:
-                    {
-                    int LA32_2 = input.LA(2);
-
-                    if ( (synpred12_InternalSignalDSL()) ) {
-                        alt32=2;
-                    }
-
-
-                    }
-                    break;
                 case 42:
                     {
-                    int LA32_3 = input.LA(2);
+                    int LA33_2 = input.LA(2);
 
                     if ( (synpred12_InternalSignalDSL()) ) {
-                        alt32=2;
-                    }
-
-
-                    }
-                    break;
-                case 50:
-                    {
-                    int LA32_4 = input.LA(2);
-
-                    if ( (synpred11_InternalSignalDSL()) ) {
-                        alt32=1;
+                        alt33=2;
                     }
 
 
@@ -5618,10 +5733,32 @@
                     break;
                 case 43:
                     {
-                    int LA32_5 = input.LA(2);
+                    int LA33_3 = input.LA(2);
 
                     if ( (synpred12_InternalSignalDSL()) ) {
-                        alt32=2;
+                        alt33=2;
+                    }
+
+
+                    }
+                    break;
+                case 51:
+                    {
+                    int LA33_4 = input.LA(2);
+
+                    if ( (synpred11_InternalSignalDSL()) ) {
+                        alt33=1;
+                    }
+
+
+                    }
+                    break;
+                case 44:
+                    {
+                    int LA33_5 = input.LA(2);
+
+                    if ( (synpred12_InternalSignalDSL()) ) {
+                        alt33=2;
                     }
 
 
@@ -5630,21 +5767,21 @@
 
                 }
 
-                switch (alt32) {
+                switch (alt33) {
             	case 1 :
-            	    // InternalSignalDSL.g:1974:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )
+            	    // InternalSignalDSL.g:2018:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )
             	    {
-            	    // InternalSignalDSL.g:1974:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )
-            	    // InternalSignalDSL.g:1975:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) )
+            	    // InternalSignalDSL.g:2018:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )
+            	    // InternalSignalDSL.g:2019:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) )
             	    {
-            	    // InternalSignalDSL.g:1975:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) )
-            	    // InternalSignalDSL.g:1976:6: ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' )
+            	    // InternalSignalDSL.g:2019:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) )
+            	    // InternalSignalDSL.g:2020:6: ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' )
             	    {
-            	    // InternalSignalDSL.g:1982:6: ( () otherlv_2= 'instanceof' )
-            	    // InternalSignalDSL.g:1983:7: () otherlv_2= 'instanceof'
+            	    // InternalSignalDSL.g:2026:6: ( () otherlv_2= 'instanceof' )
+            	    // InternalSignalDSL.g:2027:7: () otherlv_2= 'instanceof'
             	    {
-            	    // InternalSignalDSL.g:1983:7: ()
-            	    // InternalSignalDSL.g:1984:8: 
+            	    // InternalSignalDSL.g:2027:7: ()
+            	    // InternalSignalDSL.g:2028:8: 
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -5656,7 +5793,7 @@
 
             	    }
 
-            	    otherlv_2=(Token)match(input,50,FOLLOW_39); if (state.failed) return current;
+            	    otherlv_2=(Token)match(input,51,FOLLOW_41); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      							newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1());
@@ -5668,18 +5805,18 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:1996:5: ( (lv_type_3_0= ruleJvmTypeReference ) )
-            	    // InternalSignalDSL.g:1997:6: (lv_type_3_0= ruleJvmTypeReference )
+            	    // InternalSignalDSL.g:2040:5: ( (lv_type_3_0= ruleJvmTypeReference ) )
+            	    // InternalSignalDSL.g:2041:6: (lv_type_3_0= ruleJvmTypeReference )
             	    {
-            	    // InternalSignalDSL.g:1997:6: (lv_type_3_0= ruleJvmTypeReference )
-            	    // InternalSignalDSL.g:1998:7: lv_type_3_0= ruleJvmTypeReference
+            	    // InternalSignalDSL.g:2041:6: (lv_type_3_0= ruleJvmTypeReference )
+            	    // InternalSignalDSL.g:2042:7: lv_type_3_0= ruleJvmTypeReference
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      							newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0());
             	      						
             	    }
-            	    pushFollow(FOLLOW_38);
+            	    pushFollow(FOLLOW_40);
             	    lv_type_3_0=ruleJvmTypeReference();
 
             	    state._fsp--;
@@ -5710,19 +5847,19 @@
             	    }
             	    break;
             	case 2 :
-            	    // InternalSignalDSL.g:2017:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) )
+            	    // InternalSignalDSL.g:2061:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) )
             	    {
-            	    // InternalSignalDSL.g:2017:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) )
-            	    // InternalSignalDSL.g:2018:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) )
+            	    // InternalSignalDSL.g:2061:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) )
+            	    // InternalSignalDSL.g:2062:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) )
             	    {
-            	    // InternalSignalDSL.g:2018:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) )
-            	    // InternalSignalDSL.g:2019:6: ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) )
+            	    // InternalSignalDSL.g:2062:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) )
+            	    // InternalSignalDSL.g:2063:6: ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) )
             	    {
-            	    // InternalSignalDSL.g:2029:6: ( () ( ( ruleOpCompare ) ) )
-            	    // InternalSignalDSL.g:2030:7: () ( ( ruleOpCompare ) )
+            	    // InternalSignalDSL.g:2073:6: ( () ( ( ruleOpCompare ) ) )
+            	    // InternalSignalDSL.g:2074:7: () ( ( ruleOpCompare ) )
             	    {
-            	    // InternalSignalDSL.g:2030:7: ()
-            	    // InternalSignalDSL.g:2031:8: 
+            	    // InternalSignalDSL.g:2074:7: ()
+            	    // InternalSignalDSL.g:2075:8: 
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -5734,11 +5871,11 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:2037:7: ( ( ruleOpCompare ) )
-            	    // InternalSignalDSL.g:2038:8: ( ruleOpCompare )
+            	    // InternalSignalDSL.g:2081:7: ( ( ruleOpCompare ) )
+            	    // InternalSignalDSL.g:2082:8: ( ruleOpCompare )
             	    {
-            	    // InternalSignalDSL.g:2038:8: ( ruleOpCompare )
-            	    // InternalSignalDSL.g:2039:9: ruleOpCompare
+            	    // InternalSignalDSL.g:2082:8: ( ruleOpCompare )
+            	    // InternalSignalDSL.g:2083:9: ruleOpCompare
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -5752,7 +5889,7 @@
             	      									newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0());
             	      								
             	    }
-            	    pushFollow(FOLLOW_26);
+            	    pushFollow(FOLLOW_28);
             	    ruleOpCompare();
 
             	    state._fsp--;
@@ -5774,18 +5911,18 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:2055:5: ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) )
-            	    // InternalSignalDSL.g:2056:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression )
+            	    // InternalSignalDSL.g:2099:5: ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) )
+            	    // InternalSignalDSL.g:2100:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression )
             	    {
-            	    // InternalSignalDSL.g:2056:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression )
-            	    // InternalSignalDSL.g:2057:7: lv_rightOperand_6_0= ruleXOtherOperatorExpression
+            	    // InternalSignalDSL.g:2100:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression )
+            	    // InternalSignalDSL.g:2101:7: lv_rightOperand_6_0= ruleXOtherOperatorExpression
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      							newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0());
             	      						
             	    }
-            	    pushFollow(FOLLOW_38);
+            	    pushFollow(FOLLOW_40);
             	    lv_rightOperand_6_0=ruleXOtherOperatorExpression();
 
             	    state._fsp--;
@@ -5817,7 +5954,7 @@
             	    break;
 
             	default :
-            	    break loop32;
+            	    break loop33;
                 }
             } while (true);
 
@@ -5846,7 +5983,7 @@
 
 
     // $ANTLR start "entryRuleOpCompare"
-    // InternalSignalDSL.g:2080:1: entryRuleOpCompare returns [String current=null] : iv_ruleOpCompare= ruleOpCompare EOF ;
+    // InternalSignalDSL.g:2124:1: entryRuleOpCompare returns [String current=null] : iv_ruleOpCompare= ruleOpCompare EOF ;
     public final String entryRuleOpCompare() throws RecognitionException {
         String current = null;
 
@@ -5854,8 +5991,8 @@
 
 
         try {
-            // InternalSignalDSL.g:2080:49: (iv_ruleOpCompare= ruleOpCompare EOF )
-            // InternalSignalDSL.g:2081:2: iv_ruleOpCompare= ruleOpCompare EOF
+            // InternalSignalDSL.g:2124:49: (iv_ruleOpCompare= ruleOpCompare EOF )
+            // InternalSignalDSL.g:2125:2: iv_ruleOpCompare= ruleOpCompare EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getOpCompareRule()); 
@@ -5886,7 +6023,7 @@
 
 
     // $ANTLR start "ruleOpCompare"
-    // InternalSignalDSL.g:2087:1: ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ;
+    // InternalSignalDSL.g:2131:1: ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ;
     public final AntlrDatatypeRuleToken ruleOpCompare() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -5896,54 +6033,54 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:2093:2: ( (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) )
-            // InternalSignalDSL.g:2094:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' )
+            // InternalSignalDSL.g:2137:2: ( (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) )
+            // InternalSignalDSL.g:2138:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' )
             {
-            // InternalSignalDSL.g:2094:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' )
-            int alt33=4;
+            // InternalSignalDSL.g:2138:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' )
+            int alt34=4;
             switch ( input.LA(1) ) {
-            case 43:
+            case 44:
                 {
-                alt33=1;
+                alt34=1;
                 }
                 break;
-            case 41:
+            case 42:
                 {
-                int LA33_2 = input.LA(2);
+                int LA34_2 = input.LA(2);
 
-                if ( (LA33_2==EOF||(LA33_2>=RULE_ID && LA33_2<=RULE_DECIMAL)||LA33_2==14||LA33_2==18||(LA33_2>=22 && LA33_2<=24)||LA33_2==29||(LA33_2>=33 && LA33_2<=34)||LA33_2==41||(LA33_2>=57 && LA33_2<=58)||LA33_2==62||LA33_2==70||LA33_2==72||(LA33_2>=76 && LA33_2<=77)||(LA33_2>=80 && LA33_2<=89)||LA33_2==91) ) {
-                    alt33=4;
+                if ( (LA34_2==EOF||(LA34_2>=RULE_STRING && LA34_2<=RULE_DECIMAL)||LA34_2==14||LA34_2==18||(LA34_2>=23 && LA34_2<=25)||LA34_2==30||(LA34_2>=34 && LA34_2<=35)||LA34_2==42||(LA34_2>=58 && LA34_2<=59)||LA34_2==63||LA34_2==71||LA34_2==73||(LA34_2>=77 && LA34_2<=78)||(LA34_2>=81 && LA34_2<=90)||LA34_2==92) ) {
+                    alt34=4;
                 }
-                else if ( (LA33_2==32) ) {
-                    alt33=2;
+                else if ( (LA34_2==33) ) {
+                    alt34=2;
                 }
                 else {
                     if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 33, 2, input);
+                        new NoViableAltException("", 34, 2, input);
 
                     throw nvae;
                 }
                 }
                 break;
-            case 42:
+            case 43:
                 {
-                alt33=3;
+                alt34=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 33, 0, input);
+                    new NoViableAltException("", 34, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt33) {
+            switch (alt34) {
                 case 1 :
-                    // InternalSignalDSL.g:2095:3: kw= '>='
+                    // InternalSignalDSL.g:2139:3: kw= '>='
                     {
-                    kw=(Token)match(input,43,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,44,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -5954,19 +6091,19 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2101:3: (kw= '<' kw= '=' )
+                    // InternalSignalDSL.g:2145:3: (kw= '<' kw= '=' )
                     {
-                    // InternalSignalDSL.g:2101:3: (kw= '<' kw= '=' )
-                    // InternalSignalDSL.g:2102:4: kw= '<' kw= '='
+                    // InternalSignalDSL.g:2145:3: (kw= '<' kw= '=' )
+                    // InternalSignalDSL.g:2146:4: kw= '<' kw= '='
                     {
-                    kw=(Token)match(input,41,FOLLOW_25); if (state.failed) return current;
+                    kw=(Token)match(input,42,FOLLOW_27); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current.merge(kw);
                       				newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0());
                       			
                     }
-                    kw=(Token)match(input,32,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,33,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current.merge(kw);
@@ -5980,9 +6117,9 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:2114:3: kw= '>'
+                    // InternalSignalDSL.g:2158:3: kw= '>'
                     {
-                    kw=(Token)match(input,42,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,43,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -5993,9 +6130,9 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:2120:3: kw= '<'
+                    // InternalSignalDSL.g:2164:3: kw= '<'
                     {
-                    kw=(Token)match(input,41,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,42,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -6030,7 +6167,7 @@
 
 
     // $ANTLR start "entryRuleXOtherOperatorExpression"
-    // InternalSignalDSL.g:2129:1: entryRuleXOtherOperatorExpression returns [EObject current=null] : iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ;
+    // InternalSignalDSL.g:2173:1: entryRuleXOtherOperatorExpression returns [EObject current=null] : iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ;
     public final EObject entryRuleXOtherOperatorExpression() throws RecognitionException {
         EObject current = null;
 
@@ -6038,8 +6175,8 @@
 
 
         try {
-            // InternalSignalDSL.g:2129:65: (iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF )
-            // InternalSignalDSL.g:2130:2: iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF
+            // InternalSignalDSL.g:2173:65: (iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF )
+            // InternalSignalDSL.g:2174:2: iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule()); 
@@ -6070,7 +6207,7 @@
 
 
     // $ANTLR start "ruleXOtherOperatorExpression"
-    // InternalSignalDSL.g:2136:1: ruleXOtherOperatorExpression returns [EObject current=null] : (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ;
+    // InternalSignalDSL.g:2180:1: ruleXOtherOperatorExpression returns [EObject current=null] : (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ;
     public final EObject ruleXOtherOperatorExpression() throws RecognitionException {
         EObject current = null;
 
@@ -6083,18 +6220,18 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:2142:2: ( (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) )
-            // InternalSignalDSL.g:2143:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* )
+            // InternalSignalDSL.g:2186:2: ( (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) )
+            // InternalSignalDSL.g:2187:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* )
             {
-            // InternalSignalDSL.g:2143:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* )
-            // InternalSignalDSL.g:2144:3: this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*
+            // InternalSignalDSL.g:2187:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* )
+            // InternalSignalDSL.g:2188:3: this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*
             {
             if ( state.backtracking==0 ) {
 
               			newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0());
               		
             }
-            pushFollow(FOLLOW_40);
+            pushFollow(FOLLOW_42);
             this_XAdditiveExpression_0=ruleXAdditiveExpression();
 
             state._fsp--;
@@ -6105,23 +6242,23 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            // InternalSignalDSL.g:2152:3: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*
-            loop34:
+            // InternalSignalDSL.g:2196:3: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*
+            loop35:
             do {
-                int alt34=2;
-                alt34 = dfa34.predict(input);
-                switch (alt34) {
+                int alt35=2;
+                alt35 = dfa35.predict(input);
+                switch (alt35) {
             	case 1 :
-            	    // InternalSignalDSL.g:2153:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) )
+            	    // InternalSignalDSL.g:2197:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) )
             	    {
-            	    // InternalSignalDSL.g:2153:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) )
-            	    // InternalSignalDSL.g:2154:5: ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) )
+            	    // InternalSignalDSL.g:2197:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) )
+            	    // InternalSignalDSL.g:2198:5: ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) )
             	    {
-            	    // InternalSignalDSL.g:2164:5: ( () ( ( ruleOpOther ) ) )
-            	    // InternalSignalDSL.g:2165:6: () ( ( ruleOpOther ) )
+            	    // InternalSignalDSL.g:2208:5: ( () ( ( ruleOpOther ) ) )
+            	    // InternalSignalDSL.g:2209:6: () ( ( ruleOpOther ) )
             	    {
-            	    // InternalSignalDSL.g:2165:6: ()
-            	    // InternalSignalDSL.g:2166:7: 
+            	    // InternalSignalDSL.g:2209:6: ()
+            	    // InternalSignalDSL.g:2210:7: 
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -6133,11 +6270,11 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:2172:6: ( ( ruleOpOther ) )
-            	    // InternalSignalDSL.g:2173:7: ( ruleOpOther )
+            	    // InternalSignalDSL.g:2216:6: ( ( ruleOpOther ) )
+            	    // InternalSignalDSL.g:2217:7: ( ruleOpOther )
             	    {
-            	    // InternalSignalDSL.g:2173:7: ( ruleOpOther )
-            	    // InternalSignalDSL.g:2174:8: ruleOpOther
+            	    // InternalSignalDSL.g:2217:7: ( ruleOpOther )
+            	    // InternalSignalDSL.g:2218:8: ruleOpOther
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -6151,7 +6288,7 @@
             	      								newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
             	      							
             	    }
-            	    pushFollow(FOLLOW_26);
+            	    pushFollow(FOLLOW_28);
             	    ruleOpOther();
 
             	    state._fsp--;
@@ -6173,18 +6310,18 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:2190:4: ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) )
-            	    // InternalSignalDSL.g:2191:5: (lv_rightOperand_3_0= ruleXAdditiveExpression )
+            	    // InternalSignalDSL.g:2234:4: ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) )
+            	    // InternalSignalDSL.g:2235:5: (lv_rightOperand_3_0= ruleXAdditiveExpression )
             	    {
-            	    // InternalSignalDSL.g:2191:5: (lv_rightOperand_3_0= ruleXAdditiveExpression )
-            	    // InternalSignalDSL.g:2192:6: lv_rightOperand_3_0= ruleXAdditiveExpression
+            	    // InternalSignalDSL.g:2235:5: (lv_rightOperand_3_0= ruleXAdditiveExpression )
+            	    // InternalSignalDSL.g:2236:6: lv_rightOperand_3_0= ruleXAdditiveExpression
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      						newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0());
             	      					
             	    }
-            	    pushFollow(FOLLOW_40);
+            	    pushFollow(FOLLOW_42);
             	    lv_rightOperand_3_0=ruleXAdditiveExpression();
 
             	    state._fsp--;
@@ -6213,7 +6350,7 @@
             	    break;
 
             	default :
-            	    break loop34;
+            	    break loop35;
                 }
             } while (true);
 
@@ -6242,7 +6379,7 @@
 
 
     // $ANTLR start "entryRuleOpOther"
-    // InternalSignalDSL.g:2214:1: entryRuleOpOther returns [String current=null] : iv_ruleOpOther= ruleOpOther EOF ;
+    // InternalSignalDSL.g:2258:1: entryRuleOpOther returns [String current=null] : iv_ruleOpOther= ruleOpOther EOF ;
     public final String entryRuleOpOther() throws RecognitionException {
         String current = null;
 
@@ -6250,8 +6387,8 @@
 
 
         try {
-            // InternalSignalDSL.g:2214:47: (iv_ruleOpOther= ruleOpOther EOF )
-            // InternalSignalDSL.g:2215:2: iv_ruleOpOther= ruleOpOther EOF
+            // InternalSignalDSL.g:2258:47: (iv_ruleOpOther= ruleOpOther EOF )
+            // InternalSignalDSL.g:2259:2: iv_ruleOpOther= ruleOpOther EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getOpOtherRule()); 
@@ -6282,7 +6419,7 @@
 
 
     // $ANTLR start "ruleOpOther"
-    // InternalSignalDSL.g:2221:1: ruleOpOther returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ;
+    // InternalSignalDSL.g:2265:1: ruleOpOther returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ;
     public final AntlrDatatypeRuleToken ruleOpOther() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -6292,17 +6429,17 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:2227:2: ( (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) )
-            // InternalSignalDSL.g:2228:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )
+            // InternalSignalDSL.g:2271:2: ( (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) )
+            // InternalSignalDSL.g:2272:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )
             {
-            // InternalSignalDSL.g:2228:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )
-            int alt37=9;
-            alt37 = dfa37.predict(input);
-            switch (alt37) {
+            // InternalSignalDSL.g:2272:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )
+            int alt38=9;
+            alt38 = dfa38.predict(input);
+            switch (alt38) {
                 case 1 :
-                    // InternalSignalDSL.g:2229:3: kw= '->'
+                    // InternalSignalDSL.g:2273:3: kw= '->'
                     {
-                    kw=(Token)match(input,51,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,52,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -6313,9 +6450,9 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2235:3: kw= '..<'
+                    // InternalSignalDSL.g:2279:3: kw= '..<'
                     {
-                    kw=(Token)match(input,52,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,53,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -6326,19 +6463,19 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:2241:3: (kw= '>' kw= '..' )
+                    // InternalSignalDSL.g:2285:3: (kw= '>' kw= '..' )
                     {
-                    // InternalSignalDSL.g:2241:3: (kw= '>' kw= '..' )
-                    // InternalSignalDSL.g:2242:4: kw= '>' kw= '..'
+                    // InternalSignalDSL.g:2285:3: (kw= '>' kw= '..' )
+                    // InternalSignalDSL.g:2286:4: kw= '>' kw= '..'
                     {
-                    kw=(Token)match(input,42,FOLLOW_41); if (state.failed) return current;
+                    kw=(Token)match(input,43,FOLLOW_43); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current.merge(kw);
                       				newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0());
                       			
                     }
-                    kw=(Token)match(input,53,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,54,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current.merge(kw);
@@ -6352,9 +6489,9 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:2254:3: kw= '..'
+                    // InternalSignalDSL.g:2298:3: kw= '..'
                     {
-                    kw=(Token)match(input,53,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,54,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -6365,9 +6502,9 @@
                     }
                     break;
                 case 5 :
-                    // InternalSignalDSL.g:2260:3: kw= '=>'
+                    // InternalSignalDSL.g:2304:3: kw= '=>'
                     {
-                    kw=(Token)match(input,54,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,55,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -6378,35 +6515,35 @@
                     }
                     break;
                 case 6 :
-                    // InternalSignalDSL.g:2266:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) )
+                    // InternalSignalDSL.g:2310:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) )
                     {
-                    // InternalSignalDSL.g:2266:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) )
-                    // InternalSignalDSL.g:2267:4: kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' )
+                    // InternalSignalDSL.g:2310:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) )
+                    // InternalSignalDSL.g:2311:4: kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' )
                     {
-                    kw=(Token)match(input,42,FOLLOW_42); if (state.failed) return current;
+                    kw=(Token)match(input,43,FOLLOW_44); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current.merge(kw);
                       				newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0());
                       			
                     }
-                    // InternalSignalDSL.g:2272:4: ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' )
-                    int alt35=2;
-                    int LA35_0 = input.LA(1);
+                    // InternalSignalDSL.g:2316:4: ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' )
+                    int alt36=2;
+                    int LA36_0 = input.LA(1);
 
-                    if ( (LA35_0==42) ) {
-                        int LA35_1 = input.LA(2);
+                    if ( (LA36_0==43) ) {
+                        int LA36_1 = input.LA(2);
 
-                        if ( (LA35_1==42) && (synpred14_InternalSignalDSL())) {
-                            alt35=1;
+                        if ( (LA36_1==43) && (synpred14_InternalSignalDSL())) {
+                            alt36=1;
                         }
-                        else if ( (LA35_1==EOF||(LA35_1>=RULE_ID && LA35_1<=RULE_DECIMAL)||LA35_1==14||LA35_1==18||(LA35_1>=22 && LA35_1<=24)||LA35_1==29||(LA35_1>=33 && LA35_1<=34)||LA35_1==41||(LA35_1>=57 && LA35_1<=58)||LA35_1==62||LA35_1==70||LA35_1==72||(LA35_1>=76 && LA35_1<=77)||(LA35_1>=80 && LA35_1<=89)||LA35_1==91) ) {
-                            alt35=2;
+                        else if ( (LA36_1==EOF||(LA36_1>=RULE_STRING && LA36_1<=RULE_DECIMAL)||LA36_1==14||LA36_1==18||(LA36_1>=23 && LA36_1<=25)||LA36_1==30||(LA36_1>=34 && LA36_1<=35)||LA36_1==42||(LA36_1>=58 && LA36_1<=59)||LA36_1==63||LA36_1==71||LA36_1==73||(LA36_1>=77 && LA36_1<=78)||(LA36_1>=81 && LA36_1<=90)||LA36_1==92) ) {
+                            alt36=2;
                         }
                         else {
                             if (state.backtracking>0) {state.failed=true; return current;}
                             NoViableAltException nvae =
-                                new NoViableAltException("", 35, 1, input);
+                                new NoViableAltException("", 36, 1, input);
 
                             throw nvae;
                         }
@@ -6414,28 +6551,28 @@
                     else {
                         if (state.backtracking>0) {state.failed=true; return current;}
                         NoViableAltException nvae =
-                            new NoViableAltException("", 35, 0, input);
+                            new NoViableAltException("", 36, 0, input);
 
                         throw nvae;
                     }
-                    switch (alt35) {
+                    switch (alt36) {
                         case 1 :
-                            // InternalSignalDSL.g:2273:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) )
+                            // InternalSignalDSL.g:2317:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) )
                             {
-                            // InternalSignalDSL.g:2273:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) )
-                            // InternalSignalDSL.g:2274:6: ( ( '>' '>' ) )=> (kw= '>' kw= '>' )
+                            // InternalSignalDSL.g:2317:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) )
+                            // InternalSignalDSL.g:2318:6: ( ( '>' '>' ) )=> (kw= '>' kw= '>' )
                             {
-                            // InternalSignalDSL.g:2279:6: (kw= '>' kw= '>' )
-                            // InternalSignalDSL.g:2280:7: kw= '>' kw= '>'
+                            // InternalSignalDSL.g:2323:6: (kw= '>' kw= '>' )
+                            // InternalSignalDSL.g:2324:7: kw= '>' kw= '>'
                             {
-                            kw=(Token)match(input,42,FOLLOW_42); if (state.failed) return current;
+                            kw=(Token)match(input,43,FOLLOW_44); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               							current.merge(kw);
                               							newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0());
                               						
                             }
-                            kw=(Token)match(input,42,FOLLOW_2); if (state.failed) return current;
+                            kw=(Token)match(input,43,FOLLOW_2); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               							current.merge(kw);
@@ -6452,9 +6589,9 @@
                             }
                             break;
                         case 2 :
-                            // InternalSignalDSL.g:2293:5: kw= '>'
+                            // InternalSignalDSL.g:2337:5: kw= '>'
                             {
-                            kw=(Token)match(input,42,FOLLOW_2); if (state.failed) return current;
+                            kw=(Token)match(input,43,FOLLOW_2); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               					current.merge(kw);
@@ -6474,67 +6611,67 @@
                     }
                     break;
                 case 7 :
-                    // InternalSignalDSL.g:2301:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) )
+                    // InternalSignalDSL.g:2345:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) )
                     {
-                    // InternalSignalDSL.g:2301:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) )
-                    // InternalSignalDSL.g:2302:4: kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' )
+                    // InternalSignalDSL.g:2345:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) )
+                    // InternalSignalDSL.g:2346:4: kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' )
                     {
-                    kw=(Token)match(input,41,FOLLOW_43); if (state.failed) return current;
+                    kw=(Token)match(input,42,FOLLOW_45); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current.merge(kw);
                       				newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0());
                       			
                     }
-                    // InternalSignalDSL.g:2307:4: ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' )
-                    int alt36=3;
-                    int LA36_0 = input.LA(1);
+                    // InternalSignalDSL.g:2351:4: ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' )
+                    int alt37=3;
+                    int LA37_0 = input.LA(1);
 
-                    if ( (LA36_0==41) ) {
-                        int LA36_1 = input.LA(2);
+                    if ( (LA37_0==42) ) {
+                        int LA37_1 = input.LA(2);
 
                         if ( (synpred15_InternalSignalDSL()) ) {
-                            alt36=1;
+                            alt37=1;
                         }
                         else if ( (true) ) {
-                            alt36=2;
+                            alt37=2;
                         }
                         else {
                             if (state.backtracking>0) {state.failed=true; return current;}
                             NoViableAltException nvae =
-                                new NoViableAltException("", 36, 1, input);
+                                new NoViableAltException("", 37, 1, input);
 
                             throw nvae;
                         }
                     }
-                    else if ( (LA36_0==54) ) {
-                        alt36=3;
+                    else if ( (LA37_0==55) ) {
+                        alt37=3;
                     }
                     else {
                         if (state.backtracking>0) {state.failed=true; return current;}
                         NoViableAltException nvae =
-                            new NoViableAltException("", 36, 0, input);
+                            new NoViableAltException("", 37, 0, input);
 
                         throw nvae;
                     }
-                    switch (alt36) {
+                    switch (alt37) {
                         case 1 :
-                            // InternalSignalDSL.g:2308:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) )
+                            // InternalSignalDSL.g:2352:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) )
                             {
-                            // InternalSignalDSL.g:2308:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) )
-                            // InternalSignalDSL.g:2309:6: ( ( '<' '<' ) )=> (kw= '<' kw= '<' )
+                            // InternalSignalDSL.g:2352:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) )
+                            // InternalSignalDSL.g:2353:6: ( ( '<' '<' ) )=> (kw= '<' kw= '<' )
                             {
-                            // InternalSignalDSL.g:2314:6: (kw= '<' kw= '<' )
-                            // InternalSignalDSL.g:2315:7: kw= '<' kw= '<'
+                            // InternalSignalDSL.g:2358:6: (kw= '<' kw= '<' )
+                            // InternalSignalDSL.g:2359:7: kw= '<' kw= '<'
                             {
-                            kw=(Token)match(input,41,FOLLOW_32); if (state.failed) return current;
+                            kw=(Token)match(input,42,FOLLOW_34); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               							current.merge(kw);
                               							newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0());
                               						
                             }
-                            kw=(Token)match(input,41,FOLLOW_2); if (state.failed) return current;
+                            kw=(Token)match(input,42,FOLLOW_2); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               							current.merge(kw);
@@ -6551,9 +6688,9 @@
                             }
                             break;
                         case 2 :
-                            // InternalSignalDSL.g:2328:5: kw= '<'
+                            // InternalSignalDSL.g:2372:5: kw= '<'
                             {
-                            kw=(Token)match(input,41,FOLLOW_2); if (state.failed) return current;
+                            kw=(Token)match(input,42,FOLLOW_2); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               					current.merge(kw);
@@ -6564,9 +6701,9 @@
                             }
                             break;
                         case 3 :
-                            // InternalSignalDSL.g:2334:5: kw= '=>'
+                            // InternalSignalDSL.g:2378:5: kw= '=>'
                             {
-                            kw=(Token)match(input,54,FOLLOW_2); if (state.failed) return current;
+                            kw=(Token)match(input,55,FOLLOW_2); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               					current.merge(kw);
@@ -6586,9 +6723,9 @@
                     }
                     break;
                 case 8 :
-                    // InternalSignalDSL.g:2342:3: kw= '<>'
+                    // InternalSignalDSL.g:2386:3: kw= '<>'
                     {
-                    kw=(Token)match(input,55,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,56,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -6599,9 +6736,9 @@
                     }
                     break;
                 case 9 :
-                    // InternalSignalDSL.g:2348:3: kw= '?:'
+                    // InternalSignalDSL.g:2392:3: kw= '?:'
                     {
-                    kw=(Token)match(input,56,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,57,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -6636,7 +6773,7 @@
 
 
     // $ANTLR start "entryRuleXAdditiveExpression"
-    // InternalSignalDSL.g:2357:1: entryRuleXAdditiveExpression returns [EObject current=null] : iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ;
+    // InternalSignalDSL.g:2401:1: entryRuleXAdditiveExpression returns [EObject current=null] : iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ;
     public final EObject entryRuleXAdditiveExpression() throws RecognitionException {
         EObject current = null;
 
@@ -6644,8 +6781,8 @@
 
 
         try {
-            // InternalSignalDSL.g:2357:60: (iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF )
-            // InternalSignalDSL.g:2358:2: iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF
+            // InternalSignalDSL.g:2401:60: (iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF )
+            // InternalSignalDSL.g:2402:2: iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXAdditiveExpressionRule()); 
@@ -6676,7 +6813,7 @@
 
 
     // $ANTLR start "ruleXAdditiveExpression"
-    // InternalSignalDSL.g:2364:1: ruleXAdditiveExpression returns [EObject current=null] : (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ;
+    // InternalSignalDSL.g:2408:1: ruleXAdditiveExpression returns [EObject current=null] : (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ;
     public final EObject ruleXAdditiveExpression() throws RecognitionException {
         EObject current = null;
 
@@ -6689,18 +6826,18 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:2370:2: ( (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) )
-            // InternalSignalDSL.g:2371:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* )
+            // InternalSignalDSL.g:2414:2: ( (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) )
+            // InternalSignalDSL.g:2415:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* )
             {
-            // InternalSignalDSL.g:2371:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* )
-            // InternalSignalDSL.g:2372:3: this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )*
+            // InternalSignalDSL.g:2415:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* )
+            // InternalSignalDSL.g:2416:3: this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )*
             {
             if ( state.backtracking==0 ) {
 
               			newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0());
               		
             }
-            pushFollow(FOLLOW_44);
+            pushFollow(FOLLOW_46);
             this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression();
 
             state._fsp--;
@@ -6711,44 +6848,44 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            // InternalSignalDSL.g:2380:3: ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )*
-            loop38:
+            // InternalSignalDSL.g:2424:3: ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )*
+            loop39:
             do {
-                int alt38=2;
-                int LA38_0 = input.LA(1);
+                int alt39=2;
+                int LA39_0 = input.LA(1);
 
-                if ( (LA38_0==57) ) {
-                    int LA38_2 = input.LA(2);
+                if ( (LA39_0==58) ) {
+                    int LA39_2 = input.LA(2);
 
                     if ( (synpred16_InternalSignalDSL()) ) {
-                        alt38=1;
+                        alt39=1;
                     }
 
 
                 }
-                else if ( (LA38_0==58) ) {
-                    int LA38_3 = input.LA(2);
+                else if ( (LA39_0==59) ) {
+                    int LA39_3 = input.LA(2);
 
                     if ( (synpred16_InternalSignalDSL()) ) {
-                        alt38=1;
+                        alt39=1;
                     }
 
 
                 }
 
 
-                switch (alt38) {
+                switch (alt39) {
             	case 1 :
-            	    // InternalSignalDSL.g:2381:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) )
+            	    // InternalSignalDSL.g:2425:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) )
             	    {
-            	    // InternalSignalDSL.g:2381:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) )
-            	    // InternalSignalDSL.g:2382:5: ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) )
+            	    // InternalSignalDSL.g:2425:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) )
+            	    // InternalSignalDSL.g:2426:5: ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) )
             	    {
-            	    // InternalSignalDSL.g:2392:5: ( () ( ( ruleOpAdd ) ) )
-            	    // InternalSignalDSL.g:2393:6: () ( ( ruleOpAdd ) )
+            	    // InternalSignalDSL.g:2436:5: ( () ( ( ruleOpAdd ) ) )
+            	    // InternalSignalDSL.g:2437:6: () ( ( ruleOpAdd ) )
             	    {
-            	    // InternalSignalDSL.g:2393:6: ()
-            	    // InternalSignalDSL.g:2394:7: 
+            	    // InternalSignalDSL.g:2437:6: ()
+            	    // InternalSignalDSL.g:2438:7: 
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -6760,11 +6897,11 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:2400:6: ( ( ruleOpAdd ) )
-            	    // InternalSignalDSL.g:2401:7: ( ruleOpAdd )
+            	    // InternalSignalDSL.g:2444:6: ( ( ruleOpAdd ) )
+            	    // InternalSignalDSL.g:2445:7: ( ruleOpAdd )
             	    {
-            	    // InternalSignalDSL.g:2401:7: ( ruleOpAdd )
-            	    // InternalSignalDSL.g:2402:8: ruleOpAdd
+            	    // InternalSignalDSL.g:2445:7: ( ruleOpAdd )
+            	    // InternalSignalDSL.g:2446:8: ruleOpAdd
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -6778,7 +6915,7 @@
             	      								newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
             	      							
             	    }
-            	    pushFollow(FOLLOW_26);
+            	    pushFollow(FOLLOW_28);
             	    ruleOpAdd();
 
             	    state._fsp--;
@@ -6800,18 +6937,18 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:2418:4: ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) )
-            	    // InternalSignalDSL.g:2419:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression )
+            	    // InternalSignalDSL.g:2462:4: ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) )
+            	    // InternalSignalDSL.g:2463:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression )
             	    {
-            	    // InternalSignalDSL.g:2419:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression )
-            	    // InternalSignalDSL.g:2420:6: lv_rightOperand_3_0= ruleXMultiplicativeExpression
+            	    // InternalSignalDSL.g:2463:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression )
+            	    // InternalSignalDSL.g:2464:6: lv_rightOperand_3_0= ruleXMultiplicativeExpression
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      						newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0());
             	      					
             	    }
-            	    pushFollow(FOLLOW_44);
+            	    pushFollow(FOLLOW_46);
             	    lv_rightOperand_3_0=ruleXMultiplicativeExpression();
 
             	    state._fsp--;
@@ -6840,7 +6977,7 @@
             	    break;
 
             	default :
-            	    break loop38;
+            	    break loop39;
                 }
             } while (true);
 
@@ -6869,7 +7006,7 @@
 
 
     // $ANTLR start "entryRuleOpAdd"
-    // InternalSignalDSL.g:2442:1: entryRuleOpAdd returns [String current=null] : iv_ruleOpAdd= ruleOpAdd EOF ;
+    // InternalSignalDSL.g:2486:1: entryRuleOpAdd returns [String current=null] : iv_ruleOpAdd= ruleOpAdd EOF ;
     public final String entryRuleOpAdd() throws RecognitionException {
         String current = null;
 
@@ -6877,8 +7014,8 @@
 
 
         try {
-            // InternalSignalDSL.g:2442:45: (iv_ruleOpAdd= ruleOpAdd EOF )
-            // InternalSignalDSL.g:2443:2: iv_ruleOpAdd= ruleOpAdd EOF
+            // InternalSignalDSL.g:2486:45: (iv_ruleOpAdd= ruleOpAdd EOF )
+            // InternalSignalDSL.g:2487:2: iv_ruleOpAdd= ruleOpAdd EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getOpAddRule()); 
@@ -6909,7 +7046,7 @@
 
 
     // $ANTLR start "ruleOpAdd"
-    // InternalSignalDSL.g:2449:1: ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '-' ) ;
+    // InternalSignalDSL.g:2493:1: ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '-' ) ;
     public final AntlrDatatypeRuleToken ruleOpAdd() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -6919,31 +7056,31 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:2455:2: ( (kw= '+' | kw= '-' ) )
-            // InternalSignalDSL.g:2456:2: (kw= '+' | kw= '-' )
+            // InternalSignalDSL.g:2499:2: ( (kw= '+' | kw= '-' ) )
+            // InternalSignalDSL.g:2500:2: (kw= '+' | kw= '-' )
             {
-            // InternalSignalDSL.g:2456:2: (kw= '+' | kw= '-' )
-            int alt39=2;
-            int LA39_0 = input.LA(1);
+            // InternalSignalDSL.g:2500:2: (kw= '+' | kw= '-' )
+            int alt40=2;
+            int LA40_0 = input.LA(1);
 
-            if ( (LA39_0==57) ) {
-                alt39=1;
+            if ( (LA40_0==58) ) {
+                alt40=1;
             }
-            else if ( (LA39_0==58) ) {
-                alt39=2;
+            else if ( (LA40_0==59) ) {
+                alt40=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 39, 0, input);
+                    new NoViableAltException("", 40, 0, input);
 
                 throw nvae;
             }
-            switch (alt39) {
+            switch (alt40) {
                 case 1 :
-                    // InternalSignalDSL.g:2457:3: kw= '+'
+                    // InternalSignalDSL.g:2501:3: kw= '+'
                     {
-                    kw=(Token)match(input,57,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,58,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -6954,9 +7091,9 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2463:3: kw= '-'
+                    // InternalSignalDSL.g:2507:3: kw= '-'
                     {
-                    kw=(Token)match(input,58,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,59,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -6991,7 +7128,7 @@
 
 
     // $ANTLR start "entryRuleXMultiplicativeExpression"
-    // InternalSignalDSL.g:2472:1: entryRuleXMultiplicativeExpression returns [EObject current=null] : iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ;
+    // InternalSignalDSL.g:2516:1: entryRuleXMultiplicativeExpression returns [EObject current=null] : iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ;
     public final EObject entryRuleXMultiplicativeExpression() throws RecognitionException {
         EObject current = null;
 
@@ -6999,8 +7136,8 @@
 
 
         try {
-            // InternalSignalDSL.g:2472:66: (iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF )
-            // InternalSignalDSL.g:2473:2: iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF
+            // InternalSignalDSL.g:2516:66: (iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF )
+            // InternalSignalDSL.g:2517:2: iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule()); 
@@ -7031,7 +7168,7 @@
 
 
     // $ANTLR start "ruleXMultiplicativeExpression"
-    // InternalSignalDSL.g:2479:1: ruleXMultiplicativeExpression returns [EObject current=null] : (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ;
+    // InternalSignalDSL.g:2523:1: ruleXMultiplicativeExpression returns [EObject current=null] : (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ;
     public final EObject ruleXMultiplicativeExpression() throws RecognitionException {
         EObject current = null;
 
@@ -7044,18 +7181,18 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:2485:2: ( (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) )
-            // InternalSignalDSL.g:2486:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* )
+            // InternalSignalDSL.g:2529:2: ( (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) )
+            // InternalSignalDSL.g:2530:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* )
             {
-            // InternalSignalDSL.g:2486:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* )
-            // InternalSignalDSL.g:2487:3: this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )*
+            // InternalSignalDSL.g:2530:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* )
+            // InternalSignalDSL.g:2531:3: this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )*
             {
             if ( state.backtracking==0 ) {
 
               			newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0());
               		
             }
-            pushFollow(FOLLOW_45);
+            pushFollow(FOLLOW_47);
             this_XUnaryOperation_0=ruleXUnaryOperation();
 
             state._fsp--;
@@ -7066,28 +7203,17 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            // InternalSignalDSL.g:2495:3: ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )*
-            loop40:
+            // InternalSignalDSL.g:2539:3: ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )*
+            loop41:
             do {
-                int alt40=2;
+                int alt41=2;
                 switch ( input.LA(1) ) {
-                case 25:
+                case 26:
                     {
-                    int LA40_2 = input.LA(2);
+                    int LA41_2 = input.LA(2);
 
                     if ( (synpred17_InternalSignalDSL()) ) {
-                        alt40=1;
-                    }
-
-
-                    }
-                    break;
-                case 59:
-                    {
-                    int LA40_3 = input.LA(2);
-
-                    if ( (synpred17_InternalSignalDSL()) ) {
-                        alt40=1;
+                        alt41=1;
                     }
 
 
@@ -7095,10 +7221,10 @@
                     break;
                 case 60:
                     {
-                    int LA40_4 = input.LA(2);
+                    int LA41_3 = input.LA(2);
 
                     if ( (synpred17_InternalSignalDSL()) ) {
-                        alt40=1;
+                        alt41=1;
                     }
 
 
@@ -7106,10 +7232,21 @@
                     break;
                 case 61:
                     {
-                    int LA40_5 = input.LA(2);
+                    int LA41_4 = input.LA(2);
 
                     if ( (synpred17_InternalSignalDSL()) ) {
-                        alt40=1;
+                        alt41=1;
+                    }
+
+
+                    }
+                    break;
+                case 62:
+                    {
+                    int LA41_5 = input.LA(2);
+
+                    if ( (synpred17_InternalSignalDSL()) ) {
+                        alt41=1;
                     }
 
 
@@ -7118,18 +7255,18 @@
 
                 }
 
-                switch (alt40) {
+                switch (alt41) {
             	case 1 :
-            	    // InternalSignalDSL.g:2496:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) )
+            	    // InternalSignalDSL.g:2540:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) )
             	    {
-            	    // InternalSignalDSL.g:2496:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) )
-            	    // InternalSignalDSL.g:2497:5: ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) )
+            	    // InternalSignalDSL.g:2540:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) )
+            	    // InternalSignalDSL.g:2541:5: ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) )
             	    {
-            	    // InternalSignalDSL.g:2507:5: ( () ( ( ruleOpMulti ) ) )
-            	    // InternalSignalDSL.g:2508:6: () ( ( ruleOpMulti ) )
+            	    // InternalSignalDSL.g:2551:5: ( () ( ( ruleOpMulti ) ) )
+            	    // InternalSignalDSL.g:2552:6: () ( ( ruleOpMulti ) )
             	    {
-            	    // InternalSignalDSL.g:2508:6: ()
-            	    // InternalSignalDSL.g:2509:7: 
+            	    // InternalSignalDSL.g:2552:6: ()
+            	    // InternalSignalDSL.g:2553:7: 
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -7141,11 +7278,11 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:2515:6: ( ( ruleOpMulti ) )
-            	    // InternalSignalDSL.g:2516:7: ( ruleOpMulti )
+            	    // InternalSignalDSL.g:2559:6: ( ( ruleOpMulti ) )
+            	    // InternalSignalDSL.g:2560:7: ( ruleOpMulti )
             	    {
-            	    // InternalSignalDSL.g:2516:7: ( ruleOpMulti )
-            	    // InternalSignalDSL.g:2517:8: ruleOpMulti
+            	    // InternalSignalDSL.g:2560:7: ( ruleOpMulti )
+            	    // InternalSignalDSL.g:2561:8: ruleOpMulti
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -7159,7 +7296,7 @@
             	      								newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
             	      							
             	    }
-            	    pushFollow(FOLLOW_26);
+            	    pushFollow(FOLLOW_28);
             	    ruleOpMulti();
 
             	    state._fsp--;
@@ -7181,18 +7318,18 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:2533:4: ( (lv_rightOperand_3_0= ruleXUnaryOperation ) )
-            	    // InternalSignalDSL.g:2534:5: (lv_rightOperand_3_0= ruleXUnaryOperation )
+            	    // InternalSignalDSL.g:2577:4: ( (lv_rightOperand_3_0= ruleXUnaryOperation ) )
+            	    // InternalSignalDSL.g:2578:5: (lv_rightOperand_3_0= ruleXUnaryOperation )
             	    {
-            	    // InternalSignalDSL.g:2534:5: (lv_rightOperand_3_0= ruleXUnaryOperation )
-            	    // InternalSignalDSL.g:2535:6: lv_rightOperand_3_0= ruleXUnaryOperation
+            	    // InternalSignalDSL.g:2578:5: (lv_rightOperand_3_0= ruleXUnaryOperation )
+            	    // InternalSignalDSL.g:2579:6: lv_rightOperand_3_0= ruleXUnaryOperation
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      						newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0());
             	      					
             	    }
-            	    pushFollow(FOLLOW_45);
+            	    pushFollow(FOLLOW_47);
             	    lv_rightOperand_3_0=ruleXUnaryOperation();
 
             	    state._fsp--;
@@ -7221,7 +7358,7 @@
             	    break;
 
             	default :
-            	    break loop40;
+            	    break loop41;
                 }
             } while (true);
 
@@ -7250,7 +7387,7 @@
 
 
     // $ANTLR start "entryRuleOpMulti"
-    // InternalSignalDSL.g:2557:1: entryRuleOpMulti returns [String current=null] : iv_ruleOpMulti= ruleOpMulti EOF ;
+    // InternalSignalDSL.g:2601:1: entryRuleOpMulti returns [String current=null] : iv_ruleOpMulti= ruleOpMulti EOF ;
     public final String entryRuleOpMulti() throws RecognitionException {
         String current = null;
 
@@ -7258,8 +7395,8 @@
 
 
         try {
-            // InternalSignalDSL.g:2557:47: (iv_ruleOpMulti= ruleOpMulti EOF )
-            // InternalSignalDSL.g:2558:2: iv_ruleOpMulti= ruleOpMulti EOF
+            // InternalSignalDSL.g:2601:47: (iv_ruleOpMulti= ruleOpMulti EOF )
+            // InternalSignalDSL.g:2602:2: iv_ruleOpMulti= ruleOpMulti EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getOpMultiRule()); 
@@ -7290,7 +7427,7 @@
 
 
     // $ANTLR start "ruleOpMulti"
-    // InternalSignalDSL.g:2564:1: ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ;
+    // InternalSignalDSL.g:2608:1: ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ;
     public final AntlrDatatypeRuleToken ruleOpMulti() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -7300,45 +7437,45 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:2570:2: ( (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) )
-            // InternalSignalDSL.g:2571:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' )
+            // InternalSignalDSL.g:2614:2: ( (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) )
+            // InternalSignalDSL.g:2615:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' )
             {
-            // InternalSignalDSL.g:2571:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' )
-            int alt41=4;
+            // InternalSignalDSL.g:2615:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' )
+            int alt42=4;
             switch ( input.LA(1) ) {
-            case 25:
+            case 26:
                 {
-                alt41=1;
-                }
-                break;
-            case 59:
-                {
-                alt41=2;
+                alt42=1;
                 }
                 break;
             case 60:
                 {
-                alt41=3;
+                alt42=2;
                 }
                 break;
             case 61:
                 {
-                alt41=4;
+                alt42=3;
+                }
+                break;
+            case 62:
+                {
+                alt42=4;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 41, 0, input);
+                    new NoViableAltException("", 42, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt41) {
+            switch (alt42) {
                 case 1 :
-                    // InternalSignalDSL.g:2572:3: kw= '*'
+                    // InternalSignalDSL.g:2616:3: kw= '*'
                     {
-                    kw=(Token)match(input,25,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,26,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -7349,9 +7486,9 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2578:3: kw= '**'
+                    // InternalSignalDSL.g:2622:3: kw= '**'
                     {
-                    kw=(Token)match(input,59,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,60,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -7362,9 +7499,9 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:2584:3: kw= '/'
+                    // InternalSignalDSL.g:2628:3: kw= '/'
                     {
-                    kw=(Token)match(input,60,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,61,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -7375,9 +7512,9 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:2590:3: kw= '%'
+                    // InternalSignalDSL.g:2634:3: kw= '%'
                     {
-                    kw=(Token)match(input,61,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,62,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -7412,7 +7549,7 @@
 
 
     // $ANTLR start "entryRuleXUnaryOperation"
-    // InternalSignalDSL.g:2599:1: entryRuleXUnaryOperation returns [EObject current=null] : iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ;
+    // InternalSignalDSL.g:2643:1: entryRuleXUnaryOperation returns [EObject current=null] : iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ;
     public final EObject entryRuleXUnaryOperation() throws RecognitionException {
         EObject current = null;
 
@@ -7420,8 +7557,8 @@
 
 
         try {
-            // InternalSignalDSL.g:2599:56: (iv_ruleXUnaryOperation= ruleXUnaryOperation EOF )
-            // InternalSignalDSL.g:2600:2: iv_ruleXUnaryOperation= ruleXUnaryOperation EOF
+            // InternalSignalDSL.g:2643:56: (iv_ruleXUnaryOperation= ruleXUnaryOperation EOF )
+            // InternalSignalDSL.g:2644:2: iv_ruleXUnaryOperation= ruleXUnaryOperation EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXUnaryOperationRule()); 
@@ -7452,7 +7589,7 @@
 
 
     // $ANTLR start "ruleXUnaryOperation"
-    // InternalSignalDSL.g:2606:1: ruleXUnaryOperation returns [EObject current=null] : ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ;
+    // InternalSignalDSL.g:2650:1: ruleXUnaryOperation returns [EObject current=null] : ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ;
     public final EObject ruleXUnaryOperation() throws RecognitionException {
         EObject current = null;
 
@@ -7465,35 +7602,35 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:2612:2: ( ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) )
-            // InternalSignalDSL.g:2613:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression )
+            // InternalSignalDSL.g:2656:2: ( ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) )
+            // InternalSignalDSL.g:2657:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression )
             {
-            // InternalSignalDSL.g:2613:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression )
-            int alt42=2;
-            int LA42_0 = input.LA(1);
+            // InternalSignalDSL.g:2657:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression )
+            int alt43=2;
+            int LA43_0 = input.LA(1);
 
-            if ( ((LA42_0>=57 && LA42_0<=58)||LA42_0==62) ) {
-                alt42=1;
+            if ( ((LA43_0>=58 && LA43_0<=59)||LA43_0==63) ) {
+                alt43=1;
             }
-            else if ( ((LA42_0>=RULE_ID && LA42_0<=RULE_DECIMAL)||LA42_0==14||LA42_0==18||(LA42_0>=22 && LA42_0<=24)||LA42_0==29||(LA42_0>=33 && LA42_0<=34)||LA42_0==41||LA42_0==70||LA42_0==72||(LA42_0>=76 && LA42_0<=77)||(LA42_0>=80 && LA42_0<=89)||LA42_0==91) ) {
-                alt42=2;
+            else if ( ((LA43_0>=RULE_STRING && LA43_0<=RULE_DECIMAL)||LA43_0==14||LA43_0==18||(LA43_0>=23 && LA43_0<=25)||LA43_0==30||(LA43_0>=34 && LA43_0<=35)||LA43_0==42||LA43_0==71||LA43_0==73||(LA43_0>=77 && LA43_0<=78)||(LA43_0>=81 && LA43_0<=90)||LA43_0==92) ) {
+                alt43=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 42, 0, input);
+                    new NoViableAltException("", 43, 0, input);
 
                 throw nvae;
             }
-            switch (alt42) {
+            switch (alt43) {
                 case 1 :
-                    // InternalSignalDSL.g:2614:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) )
+                    // InternalSignalDSL.g:2658:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) )
                     {
-                    // InternalSignalDSL.g:2614:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) )
-                    // InternalSignalDSL.g:2615:4: () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) )
+                    // InternalSignalDSL.g:2658:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) )
+                    // InternalSignalDSL.g:2659:4: () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) )
                     {
-                    // InternalSignalDSL.g:2615:4: ()
-                    // InternalSignalDSL.g:2616:5: 
+                    // InternalSignalDSL.g:2659:4: ()
+                    // InternalSignalDSL.g:2660:5: 
                     {
                     if ( state.backtracking==0 ) {
 
@@ -7505,11 +7642,11 @@
 
                     }
 
-                    // InternalSignalDSL.g:2622:4: ( ( ruleOpUnary ) )
-                    // InternalSignalDSL.g:2623:5: ( ruleOpUnary )
+                    // InternalSignalDSL.g:2666:4: ( ( ruleOpUnary ) )
+                    // InternalSignalDSL.g:2667:5: ( ruleOpUnary )
                     {
-                    // InternalSignalDSL.g:2623:5: ( ruleOpUnary )
-                    // InternalSignalDSL.g:2624:6: ruleOpUnary
+                    // InternalSignalDSL.g:2667:5: ( ruleOpUnary )
+                    // InternalSignalDSL.g:2668:6: ruleOpUnary
                     {
                     if ( state.backtracking==0 ) {
 
@@ -7523,7 +7660,7 @@
                       						newCompositeNode(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_26);
+                    pushFollow(FOLLOW_28);
                     ruleOpUnary();
 
                     state._fsp--;
@@ -7539,11 +7676,11 @@
 
                     }
 
-                    // InternalSignalDSL.g:2638:4: ( (lv_operand_2_0= ruleXUnaryOperation ) )
-                    // InternalSignalDSL.g:2639:5: (lv_operand_2_0= ruleXUnaryOperation )
+                    // InternalSignalDSL.g:2682:4: ( (lv_operand_2_0= ruleXUnaryOperation ) )
+                    // InternalSignalDSL.g:2683:5: (lv_operand_2_0= ruleXUnaryOperation )
                     {
-                    // InternalSignalDSL.g:2639:5: (lv_operand_2_0= ruleXUnaryOperation )
-                    // InternalSignalDSL.g:2640:6: lv_operand_2_0= ruleXUnaryOperation
+                    // InternalSignalDSL.g:2683:5: (lv_operand_2_0= ruleXUnaryOperation )
+                    // InternalSignalDSL.g:2684:6: lv_operand_2_0= ruleXUnaryOperation
                     {
                     if ( state.backtracking==0 ) {
 
@@ -7581,7 +7718,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2659:3: this_XCastedExpression_3= ruleXCastedExpression
+                    // InternalSignalDSL.g:2703:3: this_XCastedExpression_3= ruleXCastedExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -7627,7 +7764,7 @@
 
 
     // $ANTLR start "entryRuleOpUnary"
-    // InternalSignalDSL.g:2671:1: entryRuleOpUnary returns [String current=null] : iv_ruleOpUnary= ruleOpUnary EOF ;
+    // InternalSignalDSL.g:2715:1: entryRuleOpUnary returns [String current=null] : iv_ruleOpUnary= ruleOpUnary EOF ;
     public final String entryRuleOpUnary() throws RecognitionException {
         String current = null;
 
@@ -7635,8 +7772,8 @@
 
 
         try {
-            // InternalSignalDSL.g:2671:47: (iv_ruleOpUnary= ruleOpUnary EOF )
-            // InternalSignalDSL.g:2672:2: iv_ruleOpUnary= ruleOpUnary EOF
+            // InternalSignalDSL.g:2715:47: (iv_ruleOpUnary= ruleOpUnary EOF )
+            // InternalSignalDSL.g:2716:2: iv_ruleOpUnary= ruleOpUnary EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getOpUnaryRule()); 
@@ -7667,7 +7804,7 @@
 
 
     // $ANTLR start "ruleOpUnary"
-    // InternalSignalDSL.g:2678:1: ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '!' | kw= '-' | kw= '+' ) ;
+    // InternalSignalDSL.g:2722:1: ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '!' | kw= '-' | kw= '+' ) ;
     public final AntlrDatatypeRuleToken ruleOpUnary() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -7677,40 +7814,40 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:2684:2: ( (kw= '!' | kw= '-' | kw= '+' ) )
-            // InternalSignalDSL.g:2685:2: (kw= '!' | kw= '-' | kw= '+' )
+            // InternalSignalDSL.g:2728:2: ( (kw= '!' | kw= '-' | kw= '+' ) )
+            // InternalSignalDSL.g:2729:2: (kw= '!' | kw= '-' | kw= '+' )
             {
-            // InternalSignalDSL.g:2685:2: (kw= '!' | kw= '-' | kw= '+' )
-            int alt43=3;
+            // InternalSignalDSL.g:2729:2: (kw= '!' | kw= '-' | kw= '+' )
+            int alt44=3;
             switch ( input.LA(1) ) {
-            case 62:
+            case 63:
                 {
-                alt43=1;
+                alt44=1;
+                }
+                break;
+            case 59:
+                {
+                alt44=2;
                 }
                 break;
             case 58:
                 {
-                alt43=2;
-                }
-                break;
-            case 57:
-                {
-                alt43=3;
+                alt44=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 43, 0, input);
+                    new NoViableAltException("", 44, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt43) {
+            switch (alt44) {
                 case 1 :
-                    // InternalSignalDSL.g:2686:3: kw= '!'
+                    // InternalSignalDSL.g:2730:3: kw= '!'
                     {
-                    kw=(Token)match(input,62,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,63,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -7721,9 +7858,9 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2692:3: kw= '-'
+                    // InternalSignalDSL.g:2736:3: kw= '-'
                     {
-                    kw=(Token)match(input,58,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,59,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -7734,9 +7871,9 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:2698:3: kw= '+'
+                    // InternalSignalDSL.g:2742:3: kw= '+'
                     {
-                    kw=(Token)match(input,57,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,58,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -7771,7 +7908,7 @@
 
 
     // $ANTLR start "entryRuleXCastedExpression"
-    // InternalSignalDSL.g:2707:1: entryRuleXCastedExpression returns [EObject current=null] : iv_ruleXCastedExpression= ruleXCastedExpression EOF ;
+    // InternalSignalDSL.g:2751:1: entryRuleXCastedExpression returns [EObject current=null] : iv_ruleXCastedExpression= ruleXCastedExpression EOF ;
     public final EObject entryRuleXCastedExpression() throws RecognitionException {
         EObject current = null;
 
@@ -7779,8 +7916,8 @@
 
 
         try {
-            // InternalSignalDSL.g:2707:58: (iv_ruleXCastedExpression= ruleXCastedExpression EOF )
-            // InternalSignalDSL.g:2708:2: iv_ruleXCastedExpression= ruleXCastedExpression EOF
+            // InternalSignalDSL.g:2751:58: (iv_ruleXCastedExpression= ruleXCastedExpression EOF )
+            // InternalSignalDSL.g:2752:2: iv_ruleXCastedExpression= ruleXCastedExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXCastedExpressionRule()); 
@@ -7811,7 +7948,7 @@
 
 
     // $ANTLR start "ruleXCastedExpression"
-    // InternalSignalDSL.g:2714:1: ruleXCastedExpression returns [EObject current=null] : (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ;
+    // InternalSignalDSL.g:2758:1: ruleXCastedExpression returns [EObject current=null] : (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ;
     public final EObject ruleXCastedExpression() throws RecognitionException {
         EObject current = null;
 
@@ -7825,18 +7962,18 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:2720:2: ( (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) )
-            // InternalSignalDSL.g:2721:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* )
+            // InternalSignalDSL.g:2764:2: ( (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) )
+            // InternalSignalDSL.g:2765:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* )
             {
-            // InternalSignalDSL.g:2721:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* )
-            // InternalSignalDSL.g:2722:3: this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )*
+            // InternalSignalDSL.g:2765:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* )
+            // InternalSignalDSL.g:2766:3: this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )*
             {
             if ( state.backtracking==0 ) {
 
               			newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0());
               		
             }
-            pushFollow(FOLLOW_46);
+            pushFollow(FOLLOW_48);
             this_XPostfixOperation_0=ruleXPostfixOperation();
 
             state._fsp--;
@@ -7847,35 +7984,35 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            // InternalSignalDSL.g:2730:3: ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )*
-            loop44:
+            // InternalSignalDSL.g:2774:3: ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )*
+            loop45:
             do {
-                int alt44=2;
-                int LA44_0 = input.LA(1);
+                int alt45=2;
+                int LA45_0 = input.LA(1);
 
-                if ( (LA44_0==63) ) {
-                    int LA44_2 = input.LA(2);
+                if ( (LA45_0==64) ) {
+                    int LA45_2 = input.LA(2);
 
                     if ( (synpred18_InternalSignalDSL()) ) {
-                        alt44=1;
+                        alt45=1;
                     }
 
 
                 }
 
 
-                switch (alt44) {
+                switch (alt45) {
             	case 1 :
-            	    // InternalSignalDSL.g:2731:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) )
+            	    // InternalSignalDSL.g:2775:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) )
             	    {
-            	    // InternalSignalDSL.g:2731:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) )
-            	    // InternalSignalDSL.g:2732:5: ( ( () 'as' ) )=> ( () otherlv_2= 'as' )
+            	    // InternalSignalDSL.g:2775:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) )
+            	    // InternalSignalDSL.g:2776:5: ( ( () 'as' ) )=> ( () otherlv_2= 'as' )
             	    {
-            	    // InternalSignalDSL.g:2738:5: ( () otherlv_2= 'as' )
-            	    // InternalSignalDSL.g:2739:6: () otherlv_2= 'as'
+            	    // InternalSignalDSL.g:2782:5: ( () otherlv_2= 'as' )
+            	    // InternalSignalDSL.g:2783:6: () otherlv_2= 'as'
             	    {
-            	    // InternalSignalDSL.g:2739:6: ()
-            	    // InternalSignalDSL.g:2740:7: 
+            	    // InternalSignalDSL.g:2783:6: ()
+            	    // InternalSignalDSL.g:2784:7: 
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -7887,7 +8024,7 @@
 
             	    }
 
-            	    otherlv_2=(Token)match(input,63,FOLLOW_39); if (state.failed) return current;
+            	    otherlv_2=(Token)match(input,64,FOLLOW_41); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      						newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1());
@@ -7899,18 +8036,18 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:2752:4: ( (lv_type_3_0= ruleJvmTypeReference ) )
-            	    // InternalSignalDSL.g:2753:5: (lv_type_3_0= ruleJvmTypeReference )
+            	    // InternalSignalDSL.g:2796:4: ( (lv_type_3_0= ruleJvmTypeReference ) )
+            	    // InternalSignalDSL.g:2797:5: (lv_type_3_0= ruleJvmTypeReference )
             	    {
-            	    // InternalSignalDSL.g:2753:5: (lv_type_3_0= ruleJvmTypeReference )
-            	    // InternalSignalDSL.g:2754:6: lv_type_3_0= ruleJvmTypeReference
+            	    // InternalSignalDSL.g:2797:5: (lv_type_3_0= ruleJvmTypeReference )
+            	    // InternalSignalDSL.g:2798:6: lv_type_3_0= ruleJvmTypeReference
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      						newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0());
             	      					
             	    }
-            	    pushFollow(FOLLOW_46);
+            	    pushFollow(FOLLOW_48);
             	    lv_type_3_0=ruleJvmTypeReference();
 
             	    state._fsp--;
@@ -7939,7 +8076,7 @@
             	    break;
 
             	default :
-            	    break loop44;
+            	    break loop45;
                 }
             } while (true);
 
@@ -7968,7 +8105,7 @@
 
 
     // $ANTLR start "entryRuleXPostfixOperation"
-    // InternalSignalDSL.g:2776:1: entryRuleXPostfixOperation returns [EObject current=null] : iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ;
+    // InternalSignalDSL.g:2820:1: entryRuleXPostfixOperation returns [EObject current=null] : iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ;
     public final EObject entryRuleXPostfixOperation() throws RecognitionException {
         EObject current = null;
 
@@ -7976,8 +8113,8 @@
 
 
         try {
-            // InternalSignalDSL.g:2776:58: (iv_ruleXPostfixOperation= ruleXPostfixOperation EOF )
-            // InternalSignalDSL.g:2777:2: iv_ruleXPostfixOperation= ruleXPostfixOperation EOF
+            // InternalSignalDSL.g:2820:58: (iv_ruleXPostfixOperation= ruleXPostfixOperation EOF )
+            // InternalSignalDSL.g:2821:2: iv_ruleXPostfixOperation= ruleXPostfixOperation EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXPostfixOperationRule()); 
@@ -8008,7 +8145,7 @@
 
 
     // $ANTLR start "ruleXPostfixOperation"
-    // InternalSignalDSL.g:2783:1: ruleXPostfixOperation returns [EObject current=null] : (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ;
+    // InternalSignalDSL.g:2827:1: ruleXPostfixOperation returns [EObject current=null] : (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ;
     public final EObject ruleXPostfixOperation() throws RecognitionException {
         EObject current = null;
 
@@ -8019,18 +8156,18 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:2789:2: ( (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) )
-            // InternalSignalDSL.g:2790:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? )
+            // InternalSignalDSL.g:2833:2: ( (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) )
+            // InternalSignalDSL.g:2834:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? )
             {
-            // InternalSignalDSL.g:2790:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? )
-            // InternalSignalDSL.g:2791:3: this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )?
+            // InternalSignalDSL.g:2834:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? )
+            // InternalSignalDSL.g:2835:3: this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )?
             {
             if ( state.backtracking==0 ) {
 
               			newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0());
               		
             }
-            pushFollow(FOLLOW_47);
+            pushFollow(FOLLOW_49);
             this_XMemberFeatureCall_0=ruleXMemberFeatureCall();
 
             state._fsp--;
@@ -8041,33 +8178,33 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            // InternalSignalDSL.g:2799:3: ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )?
-            int alt45=2;
-            int LA45_0 = input.LA(1);
+            // InternalSignalDSL.g:2843:3: ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )?
+            int alt46=2;
+            int LA46_0 = input.LA(1);
 
-            if ( (LA45_0==64) ) {
-                int LA45_1 = input.LA(2);
+            if ( (LA46_0==65) ) {
+                int LA46_1 = input.LA(2);
 
                 if ( (synpred19_InternalSignalDSL()) ) {
-                    alt45=1;
+                    alt46=1;
                 }
             }
-            else if ( (LA45_0==65) ) {
-                int LA45_2 = input.LA(2);
+            else if ( (LA46_0==66) ) {
+                int LA46_2 = input.LA(2);
 
                 if ( (synpred19_InternalSignalDSL()) ) {
-                    alt45=1;
+                    alt46=1;
                 }
             }
-            switch (alt45) {
+            switch (alt46) {
                 case 1 :
-                    // InternalSignalDSL.g:2800:4: ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) )
+                    // InternalSignalDSL.g:2844:4: ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) )
                     {
-                    // InternalSignalDSL.g:2810:4: ( () ( ( ruleOpPostfix ) ) )
-                    // InternalSignalDSL.g:2811:5: () ( ( ruleOpPostfix ) )
+                    // InternalSignalDSL.g:2854:4: ( () ( ( ruleOpPostfix ) ) )
+                    // InternalSignalDSL.g:2855:5: () ( ( ruleOpPostfix ) )
                     {
-                    // InternalSignalDSL.g:2811:5: ()
-                    // InternalSignalDSL.g:2812:6: 
+                    // InternalSignalDSL.g:2855:5: ()
+                    // InternalSignalDSL.g:2856:6: 
                     {
                     if ( state.backtracking==0 ) {
 
@@ -8079,11 +8216,11 @@
 
                     }
 
-                    // InternalSignalDSL.g:2818:5: ( ( ruleOpPostfix ) )
-                    // InternalSignalDSL.g:2819:6: ( ruleOpPostfix )
+                    // InternalSignalDSL.g:2862:5: ( ( ruleOpPostfix ) )
+                    // InternalSignalDSL.g:2863:6: ( ruleOpPostfix )
                     {
-                    // InternalSignalDSL.g:2819:6: ( ruleOpPostfix )
-                    // InternalSignalDSL.g:2820:7: ruleOpPostfix
+                    // InternalSignalDSL.g:2863:6: ( ruleOpPostfix )
+                    // InternalSignalDSL.g:2864:7: ruleOpPostfix
                     {
                     if ( state.backtracking==0 ) {
 
@@ -8147,7 +8284,7 @@
 
 
     // $ANTLR start "entryRuleOpPostfix"
-    // InternalSignalDSL.g:2840:1: entryRuleOpPostfix returns [String current=null] : iv_ruleOpPostfix= ruleOpPostfix EOF ;
+    // InternalSignalDSL.g:2884:1: entryRuleOpPostfix returns [String current=null] : iv_ruleOpPostfix= ruleOpPostfix EOF ;
     public final String entryRuleOpPostfix() throws RecognitionException {
         String current = null;
 
@@ -8155,8 +8292,8 @@
 
 
         try {
-            // InternalSignalDSL.g:2840:49: (iv_ruleOpPostfix= ruleOpPostfix EOF )
-            // InternalSignalDSL.g:2841:2: iv_ruleOpPostfix= ruleOpPostfix EOF
+            // InternalSignalDSL.g:2884:49: (iv_ruleOpPostfix= ruleOpPostfix EOF )
+            // InternalSignalDSL.g:2885:2: iv_ruleOpPostfix= ruleOpPostfix EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getOpPostfixRule()); 
@@ -8187,7 +8324,7 @@
 
 
     // $ANTLR start "ruleOpPostfix"
-    // InternalSignalDSL.g:2847:1: ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '++' | kw= '--' ) ;
+    // InternalSignalDSL.g:2891:1: ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '++' | kw= '--' ) ;
     public final AntlrDatatypeRuleToken ruleOpPostfix() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -8197,31 +8334,31 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:2853:2: ( (kw= '++' | kw= '--' ) )
-            // InternalSignalDSL.g:2854:2: (kw= '++' | kw= '--' )
+            // InternalSignalDSL.g:2897:2: ( (kw= '++' | kw= '--' ) )
+            // InternalSignalDSL.g:2898:2: (kw= '++' | kw= '--' )
             {
-            // InternalSignalDSL.g:2854:2: (kw= '++' | kw= '--' )
-            int alt46=2;
-            int LA46_0 = input.LA(1);
+            // InternalSignalDSL.g:2898:2: (kw= '++' | kw= '--' )
+            int alt47=2;
+            int LA47_0 = input.LA(1);
 
-            if ( (LA46_0==64) ) {
-                alt46=1;
+            if ( (LA47_0==65) ) {
+                alt47=1;
             }
-            else if ( (LA46_0==65) ) {
-                alt46=2;
+            else if ( (LA47_0==66) ) {
+                alt47=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 46, 0, input);
+                    new NoViableAltException("", 47, 0, input);
 
                 throw nvae;
             }
-            switch (alt46) {
+            switch (alt47) {
                 case 1 :
-                    // InternalSignalDSL.g:2855:3: kw= '++'
+                    // InternalSignalDSL.g:2899:3: kw= '++'
                     {
-                    kw=(Token)match(input,64,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,65,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -8232,9 +8369,9 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:2861:3: kw= '--'
+                    // InternalSignalDSL.g:2905:3: kw= '--'
                     {
-                    kw=(Token)match(input,65,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,66,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -8269,7 +8406,7 @@
 
 
     // $ANTLR start "entryRuleXMemberFeatureCall"
-    // InternalSignalDSL.g:2870:1: entryRuleXMemberFeatureCall returns [EObject current=null] : iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ;
+    // InternalSignalDSL.g:2914:1: entryRuleXMemberFeatureCall returns [EObject current=null] : iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ;
     public final EObject entryRuleXMemberFeatureCall() throws RecognitionException {
         EObject current = null;
 
@@ -8277,8 +8414,8 @@
 
 
         try {
-            // InternalSignalDSL.g:2870:59: (iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF )
-            // InternalSignalDSL.g:2871:2: iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF
+            // InternalSignalDSL.g:2914:59: (iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF )
+            // InternalSignalDSL.g:2915:2: iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXMemberFeatureCallRule()); 
@@ -8309,7 +8446,7 @@
 
 
     // $ANTLR start "ruleXMemberFeatureCall"
-    // InternalSignalDSL.g:2877:1: ruleXMemberFeatureCall returns [EObject current=null] : (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) ;
+    // InternalSignalDSL.g:2921:1: ruleXMemberFeatureCall returns [EObject current=null] : (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) ;
     public final EObject ruleXMemberFeatureCall() throws RecognitionException {
         EObject current = null;
 
@@ -8345,18 +8482,18 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:2883:2: ( (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) )
-            // InternalSignalDSL.g:2884:2: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* )
+            // InternalSignalDSL.g:2927:2: ( (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) )
+            // InternalSignalDSL.g:2928:2: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* )
             {
-            // InternalSignalDSL.g:2884:2: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* )
-            // InternalSignalDSL.g:2885:3: this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )*
+            // InternalSignalDSL.g:2928:2: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* )
+            // InternalSignalDSL.g:2929:3: this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )*
             {
             if ( state.backtracking==0 ) {
 
               			newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0());
               		
             }
-            pushFollow(FOLLOW_48);
+            pushFollow(FOLLOW_50);
             this_XPrimaryExpression_0=ruleXPrimaryExpression();
 
             state._fsp--;
@@ -8367,34 +8504,20 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            // InternalSignalDSL.g:2893:3: ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )*
-            loop55:
+            // InternalSignalDSL.g:2937:3: ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )*
+            loop56:
             do {
-                int alt55=3;
+                int alt56=3;
                 switch ( input.LA(1) ) {
-                case 66:
-                    {
-                    int LA55_2 = input.LA(2);
-
-                    if ( (synpred20_InternalSignalDSL()) ) {
-                        alt55=1;
-                    }
-                    else if ( (synpred21_InternalSignalDSL()) ) {
-                        alt55=2;
-                    }
-
-
-                    }
-                    break;
                 case 67:
                     {
-                    int LA55_3 = input.LA(2);
+                    int LA56_2 = input.LA(2);
 
                     if ( (synpred20_InternalSignalDSL()) ) {
-                        alt55=1;
+                        alt56=1;
                     }
                     else if ( (synpred21_InternalSignalDSL()) ) {
-                        alt55=2;
+                        alt56=2;
                     }
 
 
@@ -8402,10 +8525,24 @@
                     break;
                 case 68:
                     {
-                    int LA55_4 = input.LA(2);
+                    int LA56_3 = input.LA(2);
+
+                    if ( (synpred20_InternalSignalDSL()) ) {
+                        alt56=1;
+                    }
+                    else if ( (synpred21_InternalSignalDSL()) ) {
+                        alt56=2;
+                    }
+
+
+                    }
+                    break;
+                case 69:
+                    {
+                    int LA56_4 = input.LA(2);
 
                     if ( (synpred21_InternalSignalDSL()) ) {
-                        alt55=2;
+                        alt56=2;
                     }
 
 
@@ -8414,21 +8551,21 @@
 
                 }
 
-                switch (alt55) {
+                switch (alt56) {
             	case 1 :
-            	    // InternalSignalDSL.g:2894:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) )
+            	    // InternalSignalDSL.g:2938:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) )
             	    {
-            	    // InternalSignalDSL.g:2894:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) )
-            	    // InternalSignalDSL.g:2895:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) )
+            	    // InternalSignalDSL.g:2938:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) )
+            	    // InternalSignalDSL.g:2939:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) )
             	    {
-            	    // InternalSignalDSL.g:2895:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )
-            	    // InternalSignalDSL.g:2896:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
+            	    // InternalSignalDSL.g:2939:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )
+            	    // InternalSignalDSL.g:2940:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
             	    {
-            	    // InternalSignalDSL.g:2916:6: ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
-            	    // InternalSignalDSL.g:2917:7: () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign
+            	    // InternalSignalDSL.g:2960:6: ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
+            	    // InternalSignalDSL.g:2961:7: () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign
             	    {
-            	    // InternalSignalDSL.g:2917:7: ()
-            	    // InternalSignalDSL.g:2918:8: 
+            	    // InternalSignalDSL.g:2961:7: ()
+            	    // InternalSignalDSL.g:2962:8: 
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -8440,28 +8577,28 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:2924:7: (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) )
-            	    int alt47=2;
-            	    int LA47_0 = input.LA(1);
+            	    // InternalSignalDSL.g:2968:7: (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) )
+            	    int alt48=2;
+            	    int LA48_0 = input.LA(1);
 
-            	    if ( (LA47_0==66) ) {
-            	        alt47=1;
+            	    if ( (LA48_0==67) ) {
+            	        alt48=1;
             	    }
-            	    else if ( (LA47_0==67) ) {
-            	        alt47=2;
+            	    else if ( (LA48_0==68) ) {
+            	        alt48=2;
             	    }
             	    else {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        NoViableAltException nvae =
-            	            new NoViableAltException("", 47, 0, input);
+            	            new NoViableAltException("", 48, 0, input);
 
             	        throw nvae;
             	    }
-            	    switch (alt47) {
+            	    switch (alt48) {
             	        case 1 :
-            	            // InternalSignalDSL.g:2925:8: otherlv_2= '.'
+            	            // InternalSignalDSL.g:2969:8: otherlv_2= '.'
             	            {
-            	            otherlv_2=(Token)match(input,66,FOLLOW_49); if (state.failed) return current;
+            	            otherlv_2=(Token)match(input,67,FOLLOW_51); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              								newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0());
@@ -8471,15 +8608,15 @@
             	            }
             	            break;
             	        case 2 :
-            	            // InternalSignalDSL.g:2930:8: ( (lv_explicitStatic_3_0= '::' ) )
+            	            // InternalSignalDSL.g:2974:8: ( (lv_explicitStatic_3_0= '::' ) )
             	            {
-            	            // InternalSignalDSL.g:2930:8: ( (lv_explicitStatic_3_0= '::' ) )
-            	            // InternalSignalDSL.g:2931:9: (lv_explicitStatic_3_0= '::' )
+            	            // InternalSignalDSL.g:2974:8: ( (lv_explicitStatic_3_0= '::' ) )
+            	            // InternalSignalDSL.g:2975:9: (lv_explicitStatic_3_0= '::' )
             	            {
-            	            // InternalSignalDSL.g:2931:9: (lv_explicitStatic_3_0= '::' )
-            	            // InternalSignalDSL.g:2932:10: lv_explicitStatic_3_0= '::'
+            	            // InternalSignalDSL.g:2975:9: (lv_explicitStatic_3_0= '::' )
+            	            // InternalSignalDSL.g:2976:10: lv_explicitStatic_3_0= '::'
             	            {
-            	            lv_explicitStatic_3_0=(Token)match(input,67,FOLLOW_49); if (state.failed) return current;
+            	            lv_explicitStatic_3_0=(Token)match(input,68,FOLLOW_51); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              										newLeafNode(lv_explicitStatic_3_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0());
@@ -8505,11 +8642,11 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:2945:7: ( ( ruleFeatureCallID ) )
-            	    // InternalSignalDSL.g:2946:8: ( ruleFeatureCallID )
+            	    // InternalSignalDSL.g:2989:7: ( ( ruleFeatureCallID ) )
+            	    // InternalSignalDSL.g:2990:8: ( ruleFeatureCallID )
             	    {
-            	    // InternalSignalDSL.g:2946:8: ( ruleFeatureCallID )
-            	    // InternalSignalDSL.g:2947:9: ruleFeatureCallID
+            	    // InternalSignalDSL.g:2990:8: ( ruleFeatureCallID )
+            	    // InternalSignalDSL.g:2991:9: ruleFeatureCallID
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -8523,7 +8660,7 @@
             	      									newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0());
             	      								
             	    }
-            	    pushFollow(FOLLOW_25);
+            	    pushFollow(FOLLOW_27);
             	    ruleFeatureCallID();
 
             	    state._fsp--;
@@ -8544,7 +8681,7 @@
             	      							newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3());
             	      						
             	    }
-            	    pushFollow(FOLLOW_26);
+            	    pushFollow(FOLLOW_28);
             	    ruleOpSingleAssign();
 
             	    state._fsp--;
@@ -8560,18 +8697,18 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:2970:5: ( (lv_value_6_0= ruleXAssignment ) )
-            	    // InternalSignalDSL.g:2971:6: (lv_value_6_0= ruleXAssignment )
+            	    // InternalSignalDSL.g:3014:5: ( (lv_value_6_0= ruleXAssignment ) )
+            	    // InternalSignalDSL.g:3015:6: (lv_value_6_0= ruleXAssignment )
             	    {
-            	    // InternalSignalDSL.g:2971:6: (lv_value_6_0= ruleXAssignment )
-            	    // InternalSignalDSL.g:2972:7: lv_value_6_0= ruleXAssignment
+            	    // InternalSignalDSL.g:3015:6: (lv_value_6_0= ruleXAssignment )
+            	    // InternalSignalDSL.g:3016:7: lv_value_6_0= ruleXAssignment
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      							newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0());
             	      						
             	    }
-            	    pushFollow(FOLLOW_48);
+            	    pushFollow(FOLLOW_50);
             	    lv_value_6_0=ruleXAssignment();
 
             	    state._fsp--;
@@ -8602,19 +8739,19 @@
             	    }
             	    break;
             	case 2 :
-            	    // InternalSignalDSL.g:2991:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? )
+            	    // InternalSignalDSL.g:3035:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? )
             	    {
-            	    // InternalSignalDSL.g:2991:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? )
-            	    // InternalSignalDSL.g:2992:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?
+            	    // InternalSignalDSL.g:3035:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? )
+            	    // InternalSignalDSL.g:3036:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?
             	    {
-            	    // InternalSignalDSL.g:2992:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) )
-            	    // InternalSignalDSL.g:2993:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) )
+            	    // InternalSignalDSL.g:3036:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) )
+            	    // InternalSignalDSL.g:3037:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) )
             	    {
-            	    // InternalSignalDSL.g:3013:6: ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) )
-            	    // InternalSignalDSL.g:3014:7: () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) )
+            	    // InternalSignalDSL.g:3057:6: ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) )
+            	    // InternalSignalDSL.g:3058:7: () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) )
             	    {
-            	    // InternalSignalDSL.g:3014:7: ()
-            	    // InternalSignalDSL.g:3015:8: 
+            	    // InternalSignalDSL.g:3058:7: ()
+            	    // InternalSignalDSL.g:3059:8: 
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -8626,37 +8763,37 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:3021:7: (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) )
-            	    int alt48=3;
+            	    // InternalSignalDSL.g:3065:7: (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) )
+            	    int alt49=3;
             	    switch ( input.LA(1) ) {
-            	    case 66:
+            	    case 67:
             	        {
-            	        alt48=1;
+            	        alt49=1;
+            	        }
+            	        break;
+            	    case 69:
+            	        {
+            	        alt49=2;
             	        }
             	        break;
             	    case 68:
             	        {
-            	        alt48=2;
-            	        }
-            	        break;
-            	    case 67:
-            	        {
-            	        alt48=3;
+            	        alt49=3;
             	        }
             	        break;
             	    default:
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        NoViableAltException nvae =
-            	            new NoViableAltException("", 48, 0, input);
+            	            new NoViableAltException("", 49, 0, input);
 
             	        throw nvae;
             	    }
 
-            	    switch (alt48) {
+            	    switch (alt49) {
             	        case 1 :
-            	            // InternalSignalDSL.g:3022:8: otherlv_8= '.'
+            	            // InternalSignalDSL.g:3066:8: otherlv_8= '.'
             	            {
-            	            otherlv_8=(Token)match(input,66,FOLLOW_50); if (state.failed) return current;
+            	            otherlv_8=(Token)match(input,67,FOLLOW_52); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              								newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0());
@@ -8666,15 +8803,15 @@
             	            }
             	            break;
             	        case 2 :
-            	            // InternalSignalDSL.g:3027:8: ( (lv_nullSafe_9_0= '?.' ) )
+            	            // InternalSignalDSL.g:3071:8: ( (lv_nullSafe_9_0= '?.' ) )
             	            {
-            	            // InternalSignalDSL.g:3027:8: ( (lv_nullSafe_9_0= '?.' ) )
-            	            // InternalSignalDSL.g:3028:9: (lv_nullSafe_9_0= '?.' )
+            	            // InternalSignalDSL.g:3071:8: ( (lv_nullSafe_9_0= '?.' ) )
+            	            // InternalSignalDSL.g:3072:9: (lv_nullSafe_9_0= '?.' )
             	            {
-            	            // InternalSignalDSL.g:3028:9: (lv_nullSafe_9_0= '?.' )
-            	            // InternalSignalDSL.g:3029:10: lv_nullSafe_9_0= '?.'
+            	            // InternalSignalDSL.g:3072:9: (lv_nullSafe_9_0= '?.' )
+            	            // InternalSignalDSL.g:3073:10: lv_nullSafe_9_0= '?.'
             	            {
-            	            lv_nullSafe_9_0=(Token)match(input,68,FOLLOW_50); if (state.failed) return current;
+            	            lv_nullSafe_9_0=(Token)match(input,69,FOLLOW_52); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              										newLeafNode(lv_nullSafe_9_0, grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0());
@@ -8698,15 +8835,15 @@
             	            }
             	            break;
             	        case 3 :
-            	            // InternalSignalDSL.g:3042:8: ( (lv_explicitStatic_10_0= '::' ) )
+            	            // InternalSignalDSL.g:3086:8: ( (lv_explicitStatic_10_0= '::' ) )
             	            {
-            	            // InternalSignalDSL.g:3042:8: ( (lv_explicitStatic_10_0= '::' ) )
-            	            // InternalSignalDSL.g:3043:9: (lv_explicitStatic_10_0= '::' )
+            	            // InternalSignalDSL.g:3086:8: ( (lv_explicitStatic_10_0= '::' ) )
+            	            // InternalSignalDSL.g:3087:9: (lv_explicitStatic_10_0= '::' )
             	            {
-            	            // InternalSignalDSL.g:3043:9: (lv_explicitStatic_10_0= '::' )
-            	            // InternalSignalDSL.g:3044:10: lv_explicitStatic_10_0= '::'
+            	            // InternalSignalDSL.g:3087:9: (lv_explicitStatic_10_0= '::' )
+            	            // InternalSignalDSL.g:3088:10: lv_explicitStatic_10_0= '::'
             	            {
-            	            lv_explicitStatic_10_0=(Token)match(input,67,FOLLOW_50); if (state.failed) return current;
+            	            lv_explicitStatic_10_0=(Token)match(input,68,FOLLOW_52); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              										newLeafNode(lv_explicitStatic_10_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0());
@@ -8738,35 +8875,35 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:3059:5: (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )?
-            	    int alt50=2;
-            	    int LA50_0 = input.LA(1);
+            	    // InternalSignalDSL.g:3103:5: (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )?
+            	    int alt51=2;
+            	    int LA51_0 = input.LA(1);
 
-            	    if ( (LA50_0==41) ) {
-            	        alt50=1;
+            	    if ( (LA51_0==42) ) {
+            	        alt51=1;
             	    }
-            	    switch (alt50) {
+            	    switch (alt51) {
             	        case 1 :
-            	            // InternalSignalDSL.g:3060:6: otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>'
+            	            // InternalSignalDSL.g:3104:6: otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>'
             	            {
-            	            otherlv_11=(Token)match(input,41,FOLLOW_51); if (state.failed) return current;
+            	            otherlv_11=(Token)match(input,42,FOLLOW_53); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              						newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0());
             	              					
             	            }
-            	            // InternalSignalDSL.g:3064:6: ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) )
-            	            // InternalSignalDSL.g:3065:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference )
+            	            // InternalSignalDSL.g:3108:6: ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) )
+            	            // InternalSignalDSL.g:3109:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference )
             	            {
-            	            // InternalSignalDSL.g:3065:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference )
-            	            // InternalSignalDSL.g:3066:8: lv_typeArguments_12_0= ruleJvmArgumentTypeReference
+            	            // InternalSignalDSL.g:3109:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference )
+            	            // InternalSignalDSL.g:3110:8: lv_typeArguments_12_0= ruleJvmArgumentTypeReference
             	            {
             	            if ( state.backtracking==0 ) {
 
             	              								newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0());
             	              							
             	            }
-            	            pushFollow(FOLLOW_52);
+            	            pushFollow(FOLLOW_54);
             	            lv_typeArguments_12_0=ruleJvmArgumentTypeReference();
 
             	            state._fsp--;
@@ -8790,39 +8927,39 @@
 
             	            }
 
-            	            // InternalSignalDSL.g:3083:6: (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )*
-            	            loop49:
+            	            // InternalSignalDSL.g:3127:6: (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )*
+            	            loop50:
             	            do {
-            	                int alt49=2;
-            	                int LA49_0 = input.LA(1);
+            	                int alt50=2;
+            	                int LA50_0 = input.LA(1);
 
-            	                if ( (LA49_0==30) ) {
-            	                    alt49=1;
+            	                if ( (LA50_0==31) ) {
+            	                    alt50=1;
             	                }
 
 
-            	                switch (alt49) {
+            	                switch (alt50) {
             	            	case 1 :
-            	            	    // InternalSignalDSL.g:3084:7: otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) )
+            	            	    // InternalSignalDSL.g:3128:7: otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) )
             	            	    {
-            	            	    otherlv_13=(Token)match(input,30,FOLLOW_51); if (state.failed) return current;
+            	            	    otherlv_13=(Token)match(input,31,FOLLOW_53); if (state.failed) return current;
             	            	    if ( state.backtracking==0 ) {
 
             	            	      							newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0());
             	            	      						
             	            	    }
-            	            	    // InternalSignalDSL.g:3088:7: ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) )
-            	            	    // InternalSignalDSL.g:3089:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference )
+            	            	    // InternalSignalDSL.g:3132:7: ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) )
+            	            	    // InternalSignalDSL.g:3133:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference )
             	            	    {
-            	            	    // InternalSignalDSL.g:3089:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference )
-            	            	    // InternalSignalDSL.g:3090:9: lv_typeArguments_14_0= ruleJvmArgumentTypeReference
+            	            	    // InternalSignalDSL.g:3133:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference )
+            	            	    // InternalSignalDSL.g:3134:9: lv_typeArguments_14_0= ruleJvmArgumentTypeReference
             	            	    {
             	            	    if ( state.backtracking==0 ) {
 
             	            	      									newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0());
             	            	      								
             	            	    }
-            	            	    pushFollow(FOLLOW_52);
+            	            	    pushFollow(FOLLOW_54);
             	            	    lv_typeArguments_14_0=ruleJvmArgumentTypeReference();
 
             	            	    state._fsp--;
@@ -8851,11 +8988,11 @@
             	            	    break;
 
             	            	default :
-            	            	    break loop49;
+            	            	    break loop50;
             	                }
             	            } while (true);
 
-            	            otherlv_15=(Token)match(input,42,FOLLOW_50); if (state.failed) return current;
+            	            otherlv_15=(Token)match(input,43,FOLLOW_52); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              						newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3());
@@ -8867,11 +9004,11 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:3113:5: ( ( ruleIdOrSuper ) )
-            	    // InternalSignalDSL.g:3114:6: ( ruleIdOrSuper )
+            	    // InternalSignalDSL.g:3157:5: ( ( ruleIdOrSuper ) )
+            	    // InternalSignalDSL.g:3158:6: ( ruleIdOrSuper )
             	    {
-            	    // InternalSignalDSL.g:3114:6: ( ruleIdOrSuper )
-            	    // InternalSignalDSL.g:3115:7: ruleIdOrSuper
+            	    // InternalSignalDSL.g:3158:6: ( ruleIdOrSuper )
+            	    // InternalSignalDSL.g:3159:7: ruleIdOrSuper
             	    {
             	    if ( state.backtracking==0 ) {
 
@@ -8885,7 +9022,7 @@
             	      							newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0());
             	      						
             	    }
-            	    pushFollow(FOLLOW_53);
+            	    pushFollow(FOLLOW_55);
             	    ruleIdOrSuper();
 
             	    state._fsp--;
@@ -8901,20 +9038,20 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:3129:5: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?
-            	    int alt53=2;
-            	    alt53 = dfa53.predict(input);
-            	    switch (alt53) {
+            	    // InternalSignalDSL.g:3173:5: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?
+            	    int alt54=2;
+            	    alt54 = dfa54.predict(input);
+            	    switch (alt54) {
             	        case 1 :
-            	            // InternalSignalDSL.g:3130:6: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')'
+            	            // InternalSignalDSL.g:3174:6: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')'
             	            {
-            	            // InternalSignalDSL.g:3130:6: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) )
-            	            // InternalSignalDSL.g:3131:7: ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' )
+            	            // InternalSignalDSL.g:3174:6: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) )
+            	            // InternalSignalDSL.g:3175:7: ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' )
             	            {
-            	            // InternalSignalDSL.g:3135:7: (lv_explicitOperationCall_17_0= '(' )
-            	            // InternalSignalDSL.g:3136:8: lv_explicitOperationCall_17_0= '('
+            	            // InternalSignalDSL.g:3179:7: (lv_explicitOperationCall_17_0= '(' )
+            	            // InternalSignalDSL.g:3180:8: lv_explicitOperationCall_17_0= '('
             	            {
-            	            lv_explicitOperationCall_17_0=(Token)match(input,29,FOLLOW_54); if (state.failed) return current;
+            	            lv_explicitOperationCall_17_0=(Token)match(input,30,FOLLOW_56); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              								newLeafNode(lv_explicitOperationCall_17_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0());
@@ -8934,25 +9071,25 @@
 
             	            }
 
-            	            // InternalSignalDSL.g:3148:6: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?
-            	            int alt52=3;
-            	            alt52 = dfa52.predict(input);
-            	            switch (alt52) {
+            	            // InternalSignalDSL.g:3192:6: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?
+            	            int alt53=3;
+            	            alt53 = dfa53.predict(input);
+            	            switch (alt53) {
             	                case 1 :
-            	                    // InternalSignalDSL.g:3149:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) )
+            	                    // InternalSignalDSL.g:3193:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) )
             	                    {
-            	                    // InternalSignalDSL.g:3149:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) )
-            	                    // InternalSignalDSL.g:3150:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure )
+            	                    // InternalSignalDSL.g:3193:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) )
+            	                    // InternalSignalDSL.g:3194:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure )
             	                    {
-            	                    // InternalSignalDSL.g:3175:8: (lv_memberCallArguments_18_0= ruleXShortClosure )
-            	                    // InternalSignalDSL.g:3176:9: lv_memberCallArguments_18_0= ruleXShortClosure
+            	                    // InternalSignalDSL.g:3219:8: (lv_memberCallArguments_18_0= ruleXShortClosure )
+            	                    // InternalSignalDSL.g:3220:9: lv_memberCallArguments_18_0= ruleXShortClosure
             	                    {
             	                    if ( state.backtracking==0 ) {
 
             	                      									newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0());
             	                      								
             	                    }
-            	                    pushFollow(FOLLOW_24);
+            	                    pushFollow(FOLLOW_26);
             	                    lv_memberCallArguments_18_0=ruleXShortClosure();
 
             	                    state._fsp--;
@@ -8980,23 +9117,23 @@
             	                    }
             	                    break;
             	                case 2 :
-            	                    // InternalSignalDSL.g:3194:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* )
+            	                    // InternalSignalDSL.g:3238:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* )
             	                    {
-            	                    // InternalSignalDSL.g:3194:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* )
-            	                    // InternalSignalDSL.g:3195:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )*
+            	                    // InternalSignalDSL.g:3238:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* )
+            	                    // InternalSignalDSL.g:3239:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )*
             	                    {
-            	                    // InternalSignalDSL.g:3195:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) )
-            	                    // InternalSignalDSL.g:3196:9: (lv_memberCallArguments_19_0= ruleXExpression )
+            	                    // InternalSignalDSL.g:3239:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) )
+            	                    // InternalSignalDSL.g:3240:9: (lv_memberCallArguments_19_0= ruleXExpression )
             	                    {
-            	                    // InternalSignalDSL.g:3196:9: (lv_memberCallArguments_19_0= ruleXExpression )
-            	                    // InternalSignalDSL.g:3197:10: lv_memberCallArguments_19_0= ruleXExpression
+            	                    // InternalSignalDSL.g:3240:9: (lv_memberCallArguments_19_0= ruleXExpression )
+            	                    // InternalSignalDSL.g:3241:10: lv_memberCallArguments_19_0= ruleXExpression
             	                    {
             	                    if ( state.backtracking==0 ) {
 
             	                      										newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0());
             	                      									
             	                    }
-            	                    pushFollow(FOLLOW_23);
+            	                    pushFollow(FOLLOW_25);
             	                    lv_memberCallArguments_19_0=ruleXExpression();
 
             	                    state._fsp--;
@@ -9020,39 +9157,39 @@
 
             	                    }
 
-            	                    // InternalSignalDSL.g:3214:8: (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )*
-            	                    loop51:
+            	                    // InternalSignalDSL.g:3258:8: (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )*
+            	                    loop52:
             	                    do {
-            	                        int alt51=2;
-            	                        int LA51_0 = input.LA(1);
+            	                        int alt52=2;
+            	                        int LA52_0 = input.LA(1);
 
-            	                        if ( (LA51_0==30) ) {
-            	                            alt51=1;
+            	                        if ( (LA52_0==31) ) {
+            	                            alt52=1;
             	                        }
 
 
-            	                        switch (alt51) {
+            	                        switch (alt52) {
             	                    	case 1 :
-            	                    	    // InternalSignalDSL.g:3215:9: otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) )
+            	                    	    // InternalSignalDSL.g:3259:9: otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) )
             	                    	    {
-            	                    	    otherlv_20=(Token)match(input,30,FOLLOW_26); if (state.failed) return current;
+            	                    	    otherlv_20=(Token)match(input,31,FOLLOW_28); if (state.failed) return current;
             	                    	    if ( state.backtracking==0 ) {
 
             	                    	      									newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0());
             	                    	      								
             	                    	    }
-            	                    	    // InternalSignalDSL.g:3219:9: ( (lv_memberCallArguments_21_0= ruleXExpression ) )
-            	                    	    // InternalSignalDSL.g:3220:10: (lv_memberCallArguments_21_0= ruleXExpression )
+            	                    	    // InternalSignalDSL.g:3263:9: ( (lv_memberCallArguments_21_0= ruleXExpression ) )
+            	                    	    // InternalSignalDSL.g:3264:10: (lv_memberCallArguments_21_0= ruleXExpression )
             	                    	    {
-            	                    	    // InternalSignalDSL.g:3220:10: (lv_memberCallArguments_21_0= ruleXExpression )
-            	                    	    // InternalSignalDSL.g:3221:11: lv_memberCallArguments_21_0= ruleXExpression
+            	                    	    // InternalSignalDSL.g:3264:10: (lv_memberCallArguments_21_0= ruleXExpression )
+            	                    	    // InternalSignalDSL.g:3265:11: lv_memberCallArguments_21_0= ruleXExpression
             	                    	    {
             	                    	    if ( state.backtracking==0 ) {
 
             	                    	      											newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0());
             	                    	      										
             	                    	    }
-            	                    	    pushFollow(FOLLOW_23);
+            	                    	    pushFollow(FOLLOW_25);
             	                    	    lv_memberCallArguments_21_0=ruleXExpression();
 
             	                    	    state._fsp--;
@@ -9081,7 +9218,7 @@
             	                    	    break;
 
             	                    	default :
-            	                    	    break loop51;
+            	                    	    break loop52;
             	                        }
             	                    } while (true);
 
@@ -9094,7 +9231,7 @@
 
             	            }
 
-            	            otherlv_22=(Token)match(input,31,FOLLOW_55); if (state.failed) return current;
+            	            otherlv_22=(Token)match(input,32,FOLLOW_57); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              						newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2());
@@ -9106,22 +9243,22 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:3246:5: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?
-            	    int alt54=2;
-            	    alt54 = dfa54.predict(input);
-            	    switch (alt54) {
+            	    // InternalSignalDSL.g:3290:5: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?
+            	    int alt55=2;
+            	    alt55 = dfa55.predict(input);
+            	    switch (alt55) {
             	        case 1 :
-            	            // InternalSignalDSL.g:3247:6: ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure )
+            	            // InternalSignalDSL.g:3291:6: ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure )
             	            {
-            	            // InternalSignalDSL.g:3253:6: (lv_memberCallArguments_23_0= ruleXClosure )
-            	            // InternalSignalDSL.g:3254:7: lv_memberCallArguments_23_0= ruleXClosure
+            	            // InternalSignalDSL.g:3297:6: (lv_memberCallArguments_23_0= ruleXClosure )
+            	            // InternalSignalDSL.g:3298:7: lv_memberCallArguments_23_0= ruleXClosure
             	            {
             	            if ( state.backtracking==0 ) {
 
             	              							newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0());
             	              						
             	            }
-            	            pushFollow(FOLLOW_48);
+            	            pushFollow(FOLLOW_50);
             	            lv_memberCallArguments_23_0=ruleXClosure();
 
             	            state._fsp--;
@@ -9156,7 +9293,7 @@
             	    break;
 
             	default :
-            	    break loop55;
+            	    break loop56;
                 }
             } while (true);
 
@@ -9185,7 +9322,7 @@
 
 
     // $ANTLR start "entryRuleXPrimaryExpression"
-    // InternalSignalDSL.g:3277:1: entryRuleXPrimaryExpression returns [EObject current=null] : iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ;
+    // InternalSignalDSL.g:3321:1: entryRuleXPrimaryExpression returns [EObject current=null] : iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ;
     public final EObject entryRuleXPrimaryExpression() throws RecognitionException {
         EObject current = null;
 
@@ -9193,8 +9330,8 @@
 
 
         try {
-            // InternalSignalDSL.g:3277:59: (iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF )
-            // InternalSignalDSL.g:3278:2: iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF
+            // InternalSignalDSL.g:3321:59: (iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF )
+            // InternalSignalDSL.g:3322:2: iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXPrimaryExpressionRule()); 
@@ -9225,7 +9362,7 @@
 
 
     // $ANTLR start "ruleXPrimaryExpression"
-    // InternalSignalDSL.g:3284:1: ruleXPrimaryExpression returns [EObject current=null] : (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) ;
+    // InternalSignalDSL.g:3328:1: ruleXPrimaryExpression returns [EObject current=null] : (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) ;
     public final EObject ruleXPrimaryExpression() throws RecognitionException {
         EObject current = null;
 
@@ -9264,15 +9401,15 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:3290:2: ( (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) )
-            // InternalSignalDSL.g:3291:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )
+            // InternalSignalDSL.g:3334:2: ( (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) )
+            // InternalSignalDSL.g:3335:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )
             {
-            // InternalSignalDSL.g:3291:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )
-            int alt56=15;
-            alt56 = dfa56.predict(input);
-            switch (alt56) {
+            // InternalSignalDSL.g:3335:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )
+            int alt57=15;
+            alt57 = dfa57.predict(input);
+            switch (alt57) {
                 case 1 :
-                    // InternalSignalDSL.g:3292:3: this_XConstructorCall_0= ruleXConstructorCall
+                    // InternalSignalDSL.g:3336:3: this_XConstructorCall_0= ruleXConstructorCall
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9294,7 +9431,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3301:3: this_XBlockExpression_1= ruleXBlockExpression
+                    // InternalSignalDSL.g:3345:3: this_XBlockExpression_1= ruleXBlockExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9316,7 +9453,7 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:3310:3: this_XSwitchExpression_2= ruleXSwitchExpression
+                    // InternalSignalDSL.g:3354:3: this_XSwitchExpression_2= ruleXSwitchExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9338,10 +9475,10 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:3319:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression )
+                    // InternalSignalDSL.g:3363:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression )
                     {
-                    // InternalSignalDSL.g:3319:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression )
-                    // InternalSignalDSL.g:3320:4: ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression
+                    // InternalSignalDSL.g:3363:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression )
+                    // InternalSignalDSL.g:3364:4: ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9366,7 +9503,7 @@
                     }
                     break;
                 case 5 :
-                    // InternalSignalDSL.g:3337:3: this_XFeatureCall_4= ruleXFeatureCall
+                    // InternalSignalDSL.g:3381:3: this_XFeatureCall_4= ruleXFeatureCall
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9388,7 +9525,7 @@
                     }
                     break;
                 case 6 :
-                    // InternalSignalDSL.g:3346:3: this_XLiteral_5= ruleXLiteral
+                    // InternalSignalDSL.g:3390:3: this_XLiteral_5= ruleXLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9410,7 +9547,7 @@
                     }
                     break;
                 case 7 :
-                    // InternalSignalDSL.g:3355:3: this_XIfExpression_6= ruleXIfExpression
+                    // InternalSignalDSL.g:3399:3: this_XIfExpression_6= ruleXIfExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9432,10 +9569,10 @@
                     }
                     break;
                 case 8 :
-                    // InternalSignalDSL.g:3364:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression )
+                    // InternalSignalDSL.g:3408:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression )
                     {
-                    // InternalSignalDSL.g:3364:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression )
-                    // InternalSignalDSL.g:3365:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression
+                    // InternalSignalDSL.g:3408:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression )
+                    // InternalSignalDSL.g:3409:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9460,7 +9597,7 @@
                     }
                     break;
                 case 9 :
-                    // InternalSignalDSL.g:3388:3: this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression
+                    // InternalSignalDSL.g:3432:3: this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9482,7 +9619,7 @@
                     }
                     break;
                 case 10 :
-                    // InternalSignalDSL.g:3397:3: this_XWhileExpression_9= ruleXWhileExpression
+                    // InternalSignalDSL.g:3441:3: this_XWhileExpression_9= ruleXWhileExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9504,7 +9641,7 @@
                     }
                     break;
                 case 11 :
-                    // InternalSignalDSL.g:3406:3: this_XDoWhileExpression_10= ruleXDoWhileExpression
+                    // InternalSignalDSL.g:3450:3: this_XDoWhileExpression_10= ruleXDoWhileExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9526,7 +9663,7 @@
                     }
                     break;
                 case 12 :
-                    // InternalSignalDSL.g:3415:3: this_XThrowExpression_11= ruleXThrowExpression
+                    // InternalSignalDSL.g:3459:3: this_XThrowExpression_11= ruleXThrowExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9548,7 +9685,7 @@
                     }
                     break;
                 case 13 :
-                    // InternalSignalDSL.g:3424:3: this_XReturnExpression_12= ruleXReturnExpression
+                    // InternalSignalDSL.g:3468:3: this_XReturnExpression_12= ruleXReturnExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9570,7 +9707,7 @@
                     }
                     break;
                 case 14 :
-                    // InternalSignalDSL.g:3433:3: this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression
+                    // InternalSignalDSL.g:3477:3: this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9592,7 +9729,7 @@
                     }
                     break;
                 case 15 :
-                    // InternalSignalDSL.g:3442:3: this_XParenthesizedExpression_14= ruleXParenthesizedExpression
+                    // InternalSignalDSL.g:3486:3: this_XParenthesizedExpression_14= ruleXParenthesizedExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9638,7 +9775,7 @@
 
 
     // $ANTLR start "entryRuleXLiteral"
-    // InternalSignalDSL.g:3454:1: entryRuleXLiteral returns [EObject current=null] : iv_ruleXLiteral= ruleXLiteral EOF ;
+    // InternalSignalDSL.g:3498:1: entryRuleXLiteral returns [EObject current=null] : iv_ruleXLiteral= ruleXLiteral EOF ;
     public final EObject entryRuleXLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -9646,8 +9783,8 @@
 
 
         try {
-            // InternalSignalDSL.g:3454:49: (iv_ruleXLiteral= ruleXLiteral EOF )
-            // InternalSignalDSL.g:3455:2: iv_ruleXLiteral= ruleXLiteral EOF
+            // InternalSignalDSL.g:3498:49: (iv_ruleXLiteral= ruleXLiteral EOF )
+            // InternalSignalDSL.g:3499:2: iv_ruleXLiteral= ruleXLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXLiteralRule()); 
@@ -9678,7 +9815,7 @@
 
 
     // $ANTLR start "ruleXLiteral"
-    // InternalSignalDSL.g:3461:1: ruleXLiteral returns [EObject current=null] : (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) ;
+    // InternalSignalDSL.g:3505:1: ruleXLiteral returns [EObject current=null] : (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) ;
     public final EObject ruleXLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -9701,44 +9838,44 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:3467:2: ( (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) )
-            // InternalSignalDSL.g:3468:2: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral )
+            // InternalSignalDSL.g:3511:2: ( (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) )
+            // InternalSignalDSL.g:3512:2: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral )
             {
-            // InternalSignalDSL.g:3468:2: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral )
-            int alt57=7;
-            int LA57_0 = input.LA(1);
+            // InternalSignalDSL.g:3512:2: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral )
+            int alt58=7;
+            int LA58_0 = input.LA(1);
 
-            if ( (LA57_0==33) ) {
-                alt57=1;
+            if ( (LA58_0==34) ) {
+                alt58=1;
             }
-            else if ( (LA57_0==34) && (synpred27_InternalSignalDSL())) {
-                alt57=2;
+            else if ( (LA58_0==35) && (synpred27_InternalSignalDSL())) {
+                alt58=2;
             }
-            else if ( ((LA57_0>=83 && LA57_0<=84)) ) {
-                alt57=3;
+            else if ( ((LA58_0>=84 && LA58_0<=85)) ) {
+                alt58=3;
             }
-            else if ( ((LA57_0>=RULE_HEX && LA57_0<=RULE_DECIMAL)) ) {
-                alt57=4;
+            else if ( ((LA58_0>=RULE_HEX && LA58_0<=RULE_DECIMAL)) ) {
+                alt58=4;
             }
-            else if ( (LA57_0==85) ) {
-                alt57=5;
+            else if ( (LA58_0==86) ) {
+                alt58=5;
             }
-            else if ( (LA57_0==RULE_STRING) ) {
-                alt57=6;
+            else if ( (LA58_0==RULE_STRING) ) {
+                alt58=6;
             }
-            else if ( (LA57_0==86) ) {
-                alt57=7;
+            else if ( (LA58_0==87) ) {
+                alt58=7;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 57, 0, input);
+                    new NoViableAltException("", 58, 0, input);
 
                 throw nvae;
             }
-            switch (alt57) {
+            switch (alt58) {
                 case 1 :
-                    // InternalSignalDSL.g:3469:3: this_XCollectionLiteral_0= ruleXCollectionLiteral
+                    // InternalSignalDSL.g:3513:3: this_XCollectionLiteral_0= ruleXCollectionLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9760,10 +9897,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3478:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure )
+                    // InternalSignalDSL.g:3522:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure )
                     {
-                    // InternalSignalDSL.g:3478:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure )
-                    // InternalSignalDSL.g:3479:4: ( ( () '[' ) )=>this_XClosure_1= ruleXClosure
+                    // InternalSignalDSL.g:3522:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure )
+                    // InternalSignalDSL.g:3523:4: ( ( () '[' ) )=>this_XClosure_1= ruleXClosure
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9788,7 +9925,7 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:3495:3: this_XBooleanLiteral_2= ruleXBooleanLiteral
+                    // InternalSignalDSL.g:3539:3: this_XBooleanLiteral_2= ruleXBooleanLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9810,7 +9947,7 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:3504:3: this_XNumberLiteral_3= ruleXNumberLiteral
+                    // InternalSignalDSL.g:3548:3: this_XNumberLiteral_3= ruleXNumberLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9832,7 +9969,7 @@
                     }
                     break;
                 case 5 :
-                    // InternalSignalDSL.g:3513:3: this_XNullLiteral_4= ruleXNullLiteral
+                    // InternalSignalDSL.g:3557:3: this_XNullLiteral_4= ruleXNullLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9854,7 +9991,7 @@
                     }
                     break;
                 case 6 :
-                    // InternalSignalDSL.g:3522:3: this_XStringLiteral_5= ruleXStringLiteral
+                    // InternalSignalDSL.g:3566:3: this_XStringLiteral_5= ruleXStringLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9876,7 +10013,7 @@
                     }
                     break;
                 case 7 :
-                    // InternalSignalDSL.g:3531:3: this_XTypeLiteral_6= ruleXTypeLiteral
+                    // InternalSignalDSL.g:3575:3: this_XTypeLiteral_6= ruleXTypeLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -9922,7 +10059,7 @@
 
 
     // $ANTLR start "entryRuleXCollectionLiteral"
-    // InternalSignalDSL.g:3543:1: entryRuleXCollectionLiteral returns [EObject current=null] : iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ;
+    // InternalSignalDSL.g:3587:1: entryRuleXCollectionLiteral returns [EObject current=null] : iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ;
     public final EObject entryRuleXCollectionLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -9930,8 +10067,8 @@
 
 
         try {
-            // InternalSignalDSL.g:3543:59: (iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF )
-            // InternalSignalDSL.g:3544:2: iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF
+            // InternalSignalDSL.g:3587:59: (iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF )
+            // InternalSignalDSL.g:3588:2: iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXCollectionLiteralRule()); 
@@ -9962,7 +10099,7 @@
 
 
     // $ANTLR start "ruleXCollectionLiteral"
-    // InternalSignalDSL.g:3550:1: ruleXCollectionLiteral returns [EObject current=null] : (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ;
+    // InternalSignalDSL.g:3594:1: ruleXCollectionLiteral returns [EObject current=null] : (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ;
     public final EObject ruleXCollectionLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -9975,26 +10112,26 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:3556:2: ( (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) )
-            // InternalSignalDSL.g:3557:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral )
+            // InternalSignalDSL.g:3600:2: ( (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) )
+            // InternalSignalDSL.g:3601:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral )
             {
-            // InternalSignalDSL.g:3557:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral )
-            int alt58=2;
-            int LA58_0 = input.LA(1);
+            // InternalSignalDSL.g:3601:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral )
+            int alt59=2;
+            int LA59_0 = input.LA(1);
 
-            if ( (LA58_0==33) ) {
-                int LA58_1 = input.LA(2);
+            if ( (LA59_0==34) ) {
+                int LA59_1 = input.LA(2);
 
-                if ( (LA58_1==34) ) {
-                    alt58=2;
+                if ( (LA59_1==35) ) {
+                    alt59=2;
                 }
-                else if ( (LA58_1==14) ) {
-                    alt58=1;
+                else if ( (LA59_1==14) ) {
+                    alt59=1;
                 }
                 else {
                     if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 58, 1, input);
+                        new NoViableAltException("", 59, 1, input);
 
                     throw nvae;
                 }
@@ -10002,13 +10139,13 @@
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 58, 0, input);
+                    new NoViableAltException("", 59, 0, input);
 
                 throw nvae;
             }
-            switch (alt58) {
+            switch (alt59) {
                 case 1 :
-                    // InternalSignalDSL.g:3558:3: this_XSetLiteral_0= ruleXSetLiteral
+                    // InternalSignalDSL.g:3602:3: this_XSetLiteral_0= ruleXSetLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -10030,7 +10167,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:3567:3: this_XListLiteral_1= ruleXListLiteral
+                    // InternalSignalDSL.g:3611:3: this_XListLiteral_1= ruleXListLiteral
                     {
                     if ( state.backtracking==0 ) {
 
@@ -10076,7 +10213,7 @@
 
 
     // $ANTLR start "entryRuleXSetLiteral"
-    // InternalSignalDSL.g:3579:1: entryRuleXSetLiteral returns [EObject current=null] : iv_ruleXSetLiteral= ruleXSetLiteral EOF ;
+    // InternalSignalDSL.g:3623:1: entryRuleXSetLiteral returns [EObject current=null] : iv_ruleXSetLiteral= ruleXSetLiteral EOF ;
     public final EObject entryRuleXSetLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -10084,8 +10221,8 @@
 
 
         try {
-            // InternalSignalDSL.g:3579:52: (iv_ruleXSetLiteral= ruleXSetLiteral EOF )
-            // InternalSignalDSL.g:3580:2: iv_ruleXSetLiteral= ruleXSetLiteral EOF
+            // InternalSignalDSL.g:3623:52: (iv_ruleXSetLiteral= ruleXSetLiteral EOF )
+            // InternalSignalDSL.g:3624:2: iv_ruleXSetLiteral= ruleXSetLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXSetLiteralRule()); 
@@ -10116,7 +10253,7 @@
 
 
     // $ANTLR start "ruleXSetLiteral"
-    // InternalSignalDSL.g:3586:1: ruleXSetLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ;
+    // InternalSignalDSL.g:3630:1: ruleXSetLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ;
     public final EObject ruleXSetLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -10133,14 +10270,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:3592:2: ( ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) )
-            // InternalSignalDSL.g:3593:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' )
+            // InternalSignalDSL.g:3636:2: ( ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) )
+            // InternalSignalDSL.g:3637:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' )
             {
-            // InternalSignalDSL.g:3593:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' )
-            // InternalSignalDSL.g:3594:3: () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}'
+            // InternalSignalDSL.g:3637:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' )
+            // InternalSignalDSL.g:3638:3: () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}'
             {
-            // InternalSignalDSL.g:3594:3: ()
-            // InternalSignalDSL.g:3595:4: 
+            // InternalSignalDSL.g:3638:3: ()
+            // InternalSignalDSL.g:3639:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -10152,41 +10289,41 @@
 
             }
 
-            otherlv_1=(Token)match(input,33,FOLLOW_5); if (state.failed) return current;
+            otherlv_1=(Token)match(input,34,FOLLOW_11); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1());
               		
             }
-            otherlv_2=(Token)match(input,14,FOLLOW_56); if (state.failed) return current;
+            otherlv_2=(Token)match(input,14,FOLLOW_58); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2());
               		
             }
-            // InternalSignalDSL.g:3609:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )?
-            int alt60=2;
-            int LA60_0 = input.LA(1);
+            // InternalSignalDSL.g:3653:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )?
+            int alt61=2;
+            int LA61_0 = input.LA(1);
 
-            if ( ((LA60_0>=RULE_ID && LA60_0<=RULE_DECIMAL)||LA60_0==14||LA60_0==18||(LA60_0>=22 && LA60_0<=24)||LA60_0==29||(LA60_0>=33 && LA60_0<=34)||LA60_0==41||(LA60_0>=57 && LA60_0<=58)||LA60_0==62||LA60_0==70||LA60_0==72||(LA60_0>=76 && LA60_0<=77)||(LA60_0>=80 && LA60_0<=89)||LA60_0==91) ) {
-                alt60=1;
+            if ( ((LA61_0>=RULE_STRING && LA61_0<=RULE_DECIMAL)||LA61_0==14||LA61_0==18||(LA61_0>=23 && LA61_0<=25)||LA61_0==30||(LA61_0>=34 && LA61_0<=35)||LA61_0==42||(LA61_0>=58 && LA61_0<=59)||LA61_0==63||LA61_0==71||LA61_0==73||(LA61_0>=77 && LA61_0<=78)||(LA61_0>=81 && LA61_0<=90)||LA61_0==92) ) {
+                alt61=1;
             }
-            switch (alt60) {
+            switch (alt61) {
                 case 1 :
-                    // InternalSignalDSL.g:3610:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
+                    // InternalSignalDSL.g:3654:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
                     {
-                    // InternalSignalDSL.g:3610:4: ( (lv_elements_3_0= ruleXExpression ) )
-                    // InternalSignalDSL.g:3611:5: (lv_elements_3_0= ruleXExpression )
+                    // InternalSignalDSL.g:3654:4: ( (lv_elements_3_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:3655:5: (lv_elements_3_0= ruleXExpression )
                     {
-                    // InternalSignalDSL.g:3611:5: (lv_elements_3_0= ruleXExpression )
-                    // InternalSignalDSL.g:3612:6: lv_elements_3_0= ruleXExpression
+                    // InternalSignalDSL.g:3655:5: (lv_elements_3_0= ruleXExpression )
+                    // InternalSignalDSL.g:3656:6: lv_elements_3_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0());
                       					
                     }
-                    pushFollow(FOLLOW_57);
+                    pushFollow(FOLLOW_59);
                     lv_elements_3_0=ruleXExpression();
 
                     state._fsp--;
@@ -10210,39 +10347,39 @@
 
                     }
 
-                    // InternalSignalDSL.g:3629:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
-                    loop59:
+                    // InternalSignalDSL.g:3673:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
+                    loop60:
                     do {
-                        int alt59=2;
-                        int LA59_0 = input.LA(1);
+                        int alt60=2;
+                        int LA60_0 = input.LA(1);
 
-                        if ( (LA59_0==30) ) {
-                            alt59=1;
+                        if ( (LA60_0==31) ) {
+                            alt60=1;
                         }
 
 
-                        switch (alt59) {
+                        switch (alt60) {
                     	case 1 :
-                    	    // InternalSignalDSL.g:3630:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) )
+                    	    // InternalSignalDSL.g:3674:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) )
                     	    {
-                    	    otherlv_4=(Token)match(input,30,FOLLOW_26); if (state.failed) return current;
+                    	    otherlv_4=(Token)match(input,31,FOLLOW_28); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      					newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0());
                     	      				
                     	    }
-                    	    // InternalSignalDSL.g:3634:5: ( (lv_elements_5_0= ruleXExpression ) )
-                    	    // InternalSignalDSL.g:3635:6: (lv_elements_5_0= ruleXExpression )
+                    	    // InternalSignalDSL.g:3678:5: ( (lv_elements_5_0= ruleXExpression ) )
+                    	    // InternalSignalDSL.g:3679:6: (lv_elements_5_0= ruleXExpression )
                     	    {
-                    	    // InternalSignalDSL.g:3635:6: (lv_elements_5_0= ruleXExpression )
-                    	    // InternalSignalDSL.g:3636:7: lv_elements_5_0= ruleXExpression
+                    	    // InternalSignalDSL.g:3679:6: (lv_elements_5_0= ruleXExpression )
+                    	    // InternalSignalDSL.g:3680:7: lv_elements_5_0= ruleXExpression
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_57);
+                    	    pushFollow(FOLLOW_59);
                     	    lv_elements_5_0=ruleXExpression();
 
                     	    state._fsp--;
@@ -10271,7 +10408,7 @@
                     	    break;
 
                     	default :
-                    	    break loop59;
+                    	    break loop60;
                         }
                     } while (true);
 
@@ -10312,7 +10449,7 @@
 
 
     // $ANTLR start "entryRuleXListLiteral"
-    // InternalSignalDSL.g:3663:1: entryRuleXListLiteral returns [EObject current=null] : iv_ruleXListLiteral= ruleXListLiteral EOF ;
+    // InternalSignalDSL.g:3707:1: entryRuleXListLiteral returns [EObject current=null] : iv_ruleXListLiteral= ruleXListLiteral EOF ;
     public final EObject entryRuleXListLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -10320,8 +10457,8 @@
 
 
         try {
-            // InternalSignalDSL.g:3663:53: (iv_ruleXListLiteral= ruleXListLiteral EOF )
-            // InternalSignalDSL.g:3664:2: iv_ruleXListLiteral= ruleXListLiteral EOF
+            // InternalSignalDSL.g:3707:53: (iv_ruleXListLiteral= ruleXListLiteral EOF )
+            // InternalSignalDSL.g:3708:2: iv_ruleXListLiteral= ruleXListLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXListLiteralRule()); 
@@ -10352,7 +10489,7 @@
 
 
     // $ANTLR start "ruleXListLiteral"
-    // InternalSignalDSL.g:3670:1: ruleXListLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) ;
+    // InternalSignalDSL.g:3714:1: ruleXListLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) ;
     public final EObject ruleXListLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -10369,14 +10506,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:3676:2: ( ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) )
-            // InternalSignalDSL.g:3677:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' )
+            // InternalSignalDSL.g:3720:2: ( ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) )
+            // InternalSignalDSL.g:3721:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' )
             {
-            // InternalSignalDSL.g:3677:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' )
-            // InternalSignalDSL.g:3678:3: () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']'
+            // InternalSignalDSL.g:3721:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' )
+            // InternalSignalDSL.g:3722:3: () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']'
             {
-            // InternalSignalDSL.g:3678:3: ()
-            // InternalSignalDSL.g:3679:4: 
+            // InternalSignalDSL.g:3722:3: ()
+            // InternalSignalDSL.g:3723:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -10388,41 +10525,41 @@
 
             }
 
-            otherlv_1=(Token)match(input,33,FOLLOW_27); if (state.failed) return current;
+            otherlv_1=(Token)match(input,34,FOLLOW_29); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1());
               		
             }
-            otherlv_2=(Token)match(input,34,FOLLOW_28); if (state.failed) return current;
+            otherlv_2=(Token)match(input,35,FOLLOW_30); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2());
               		
             }
-            // InternalSignalDSL.g:3693:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )?
-            int alt62=2;
-            int LA62_0 = input.LA(1);
+            // InternalSignalDSL.g:3737:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )?
+            int alt63=2;
+            int LA63_0 = input.LA(1);
 
-            if ( ((LA62_0>=RULE_ID && LA62_0<=RULE_DECIMAL)||LA62_0==14||LA62_0==18||(LA62_0>=22 && LA62_0<=24)||LA62_0==29||(LA62_0>=33 && LA62_0<=34)||LA62_0==41||(LA62_0>=57 && LA62_0<=58)||LA62_0==62||LA62_0==70||LA62_0==72||(LA62_0>=76 && LA62_0<=77)||(LA62_0>=80 && LA62_0<=89)||LA62_0==91) ) {
-                alt62=1;
+            if ( ((LA63_0>=RULE_STRING && LA63_0<=RULE_DECIMAL)||LA63_0==14||LA63_0==18||(LA63_0>=23 && LA63_0<=25)||LA63_0==30||(LA63_0>=34 && LA63_0<=35)||LA63_0==42||(LA63_0>=58 && LA63_0<=59)||LA63_0==63||LA63_0==71||LA63_0==73||(LA63_0>=77 && LA63_0<=78)||(LA63_0>=81 && LA63_0<=90)||LA63_0==92) ) {
+                alt63=1;
             }
-            switch (alt62) {
+            switch (alt63) {
                 case 1 :
-                    // InternalSignalDSL.g:3694:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
+                    // InternalSignalDSL.g:3738:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
                     {
-                    // InternalSignalDSL.g:3694:4: ( (lv_elements_3_0= ruleXExpression ) )
-                    // InternalSignalDSL.g:3695:5: (lv_elements_3_0= ruleXExpression )
+                    // InternalSignalDSL.g:3738:4: ( (lv_elements_3_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:3739:5: (lv_elements_3_0= ruleXExpression )
                     {
-                    // InternalSignalDSL.g:3695:5: (lv_elements_3_0= ruleXExpression )
-                    // InternalSignalDSL.g:3696:6: lv_elements_3_0= ruleXExpression
+                    // InternalSignalDSL.g:3739:5: (lv_elements_3_0= ruleXExpression )
+                    // InternalSignalDSL.g:3740:6: lv_elements_3_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0());
                       					
                     }
-                    pushFollow(FOLLOW_29);
+                    pushFollow(FOLLOW_31);
                     lv_elements_3_0=ruleXExpression();
 
                     state._fsp--;
@@ -10446,39 +10583,39 @@
 
                     }
 
-                    // InternalSignalDSL.g:3713:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
-                    loop61:
+                    // InternalSignalDSL.g:3757:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
+                    loop62:
                     do {
-                        int alt61=2;
-                        int LA61_0 = input.LA(1);
+                        int alt62=2;
+                        int LA62_0 = input.LA(1);
 
-                        if ( (LA61_0==30) ) {
-                            alt61=1;
+                        if ( (LA62_0==31) ) {
+                            alt62=1;
                         }
 
 
-                        switch (alt61) {
+                        switch (alt62) {
                     	case 1 :
-                    	    // InternalSignalDSL.g:3714:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) )
+                    	    // InternalSignalDSL.g:3758:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) )
                     	    {
-                    	    otherlv_4=(Token)match(input,30,FOLLOW_26); if (state.failed) return current;
+                    	    otherlv_4=(Token)match(input,31,FOLLOW_28); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      					newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0());
                     	      				
                     	    }
-                    	    // InternalSignalDSL.g:3718:5: ( (lv_elements_5_0= ruleXExpression ) )
-                    	    // InternalSignalDSL.g:3719:6: (lv_elements_5_0= ruleXExpression )
+                    	    // InternalSignalDSL.g:3762:5: ( (lv_elements_5_0= ruleXExpression ) )
+                    	    // InternalSignalDSL.g:3763:6: (lv_elements_5_0= ruleXExpression )
                     	    {
-                    	    // InternalSignalDSL.g:3719:6: (lv_elements_5_0= ruleXExpression )
-                    	    // InternalSignalDSL.g:3720:7: lv_elements_5_0= ruleXExpression
+                    	    // InternalSignalDSL.g:3763:6: (lv_elements_5_0= ruleXExpression )
+                    	    // InternalSignalDSL.g:3764:7: lv_elements_5_0= ruleXExpression
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_29);
+                    	    pushFollow(FOLLOW_31);
                     	    lv_elements_5_0=ruleXExpression();
 
                     	    state._fsp--;
@@ -10507,7 +10644,7 @@
                     	    break;
 
                     	default :
-                    	    break loop61;
+                    	    break loop62;
                         }
                     } while (true);
 
@@ -10517,7 +10654,7 @@
 
             }
 
-            otherlv_6=(Token)match(input,35,FOLLOW_2); if (state.failed) return current;
+            otherlv_6=(Token)match(input,36,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_6, grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4());
@@ -10548,7 +10685,7 @@
 
 
     // $ANTLR start "entryRuleXClosure"
-    // InternalSignalDSL.g:3747:1: entryRuleXClosure returns [EObject current=null] : iv_ruleXClosure= ruleXClosure EOF ;
+    // InternalSignalDSL.g:3791:1: entryRuleXClosure returns [EObject current=null] : iv_ruleXClosure= ruleXClosure EOF ;
     public final EObject entryRuleXClosure() throws RecognitionException {
         EObject current = null;
 
@@ -10556,8 +10693,8 @@
 
 
         try {
-            // InternalSignalDSL.g:3747:49: (iv_ruleXClosure= ruleXClosure EOF )
-            // InternalSignalDSL.g:3748:2: iv_ruleXClosure= ruleXClosure EOF
+            // InternalSignalDSL.g:3791:49: (iv_ruleXClosure= ruleXClosure EOF )
+            // InternalSignalDSL.g:3792:2: iv_ruleXClosure= ruleXClosure EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXClosureRule()); 
@@ -10588,7 +10725,7 @@
 
 
     // $ANTLR start "ruleXClosure"
-    // InternalSignalDSL.g:3754:1: ruleXClosure returns [EObject current=null] : ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) ;
+    // InternalSignalDSL.g:3798:1: ruleXClosure returns [EObject current=null] : ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) ;
     public final EObject ruleXClosure() throws RecognitionException {
         EObject current = null;
 
@@ -10607,20 +10744,20 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:3760:2: ( ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) )
-            // InternalSignalDSL.g:3761:2: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' )
+            // InternalSignalDSL.g:3804:2: ( ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) )
+            // InternalSignalDSL.g:3805:2: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' )
             {
-            // InternalSignalDSL.g:3761:2: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' )
-            // InternalSignalDSL.g:3762:3: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']'
+            // InternalSignalDSL.g:3805:2: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' )
+            // InternalSignalDSL.g:3806:3: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']'
             {
-            // InternalSignalDSL.g:3762:3: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) )
-            // InternalSignalDSL.g:3763:4: ( ( () '[' ) )=> ( () otherlv_1= '[' )
+            // InternalSignalDSL.g:3806:3: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) )
+            // InternalSignalDSL.g:3807:4: ( ( () '[' ) )=> ( () otherlv_1= '[' )
             {
-            // InternalSignalDSL.g:3769:4: ( () otherlv_1= '[' )
-            // InternalSignalDSL.g:3770:5: () otherlv_1= '['
+            // InternalSignalDSL.g:3813:4: ( () otherlv_1= '[' )
+            // InternalSignalDSL.g:3814:5: () otherlv_1= '['
             {
-            // InternalSignalDSL.g:3770:5: ()
-            // InternalSignalDSL.g:3771:6: 
+            // InternalSignalDSL.g:3814:5: ()
+            // InternalSignalDSL.g:3815:6: 
             {
             if ( state.backtracking==0 ) {
 
@@ -10632,7 +10769,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,34,FOLLOW_58); if (state.failed) return current;
+            otherlv_1=(Token)match(input,35,FOLLOW_60); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1());
@@ -10644,39 +10781,39 @@
 
             }
 
-            // InternalSignalDSL.g:3783:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )?
-            int alt65=2;
-            alt65 = dfa65.predict(input);
-            switch (alt65) {
+            // InternalSignalDSL.g:3827:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )?
+            int alt66=2;
+            alt66 = dfa66.predict(input);
+            switch (alt66) {
                 case 1 :
-                    // InternalSignalDSL.g:3784:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) )
+                    // InternalSignalDSL.g:3828:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) )
                     {
-                    // InternalSignalDSL.g:3807:4: ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) )
-                    // InternalSignalDSL.g:3808:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) )
+                    // InternalSignalDSL.g:3851:4: ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) )
+                    // InternalSignalDSL.g:3852:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) )
                     {
-                    // InternalSignalDSL.g:3808:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )?
-                    int alt64=2;
-                    int LA64_0 = input.LA(1);
+                    // InternalSignalDSL.g:3852:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )?
+                    int alt65=2;
+                    int LA65_0 = input.LA(1);
 
-                    if ( (LA64_0==RULE_ID||LA64_0==29||LA64_0==54) ) {
-                        alt64=1;
+                    if ( (LA65_0==RULE_ID||LA65_0==30||LA65_0==55) ) {
+                        alt65=1;
                     }
-                    switch (alt64) {
+                    switch (alt65) {
                         case 1 :
-                            // InternalSignalDSL.g:3809:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )*
+                            // InternalSignalDSL.g:3853:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )*
                             {
-                            // InternalSignalDSL.g:3809:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) )
-                            // InternalSignalDSL.g:3810:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter )
+                            // InternalSignalDSL.g:3853:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) )
+                            // InternalSignalDSL.g:3854:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter )
                             {
-                            // InternalSignalDSL.g:3810:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter )
-                            // InternalSignalDSL.g:3811:8: lv_declaredFormalParameters_2_0= ruleJvmFormalParameter
+                            // InternalSignalDSL.g:3854:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter )
+                            // InternalSignalDSL.g:3855:8: lv_declaredFormalParameters_2_0= ruleJvmFormalParameter
                             {
                             if ( state.backtracking==0 ) {
 
                               								newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0());
                               							
                             }
-                            pushFollow(FOLLOW_59);
+                            pushFollow(FOLLOW_61);
                             lv_declaredFormalParameters_2_0=ruleJvmFormalParameter();
 
                             state._fsp--;
@@ -10700,39 +10837,39 @@
 
                             }
 
-                            // InternalSignalDSL.g:3828:6: (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )*
-                            loop63:
+                            // InternalSignalDSL.g:3872:6: (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )*
+                            loop64:
                             do {
-                                int alt63=2;
-                                int LA63_0 = input.LA(1);
+                                int alt64=2;
+                                int LA64_0 = input.LA(1);
 
-                                if ( (LA63_0==30) ) {
-                                    alt63=1;
+                                if ( (LA64_0==31) ) {
+                                    alt64=1;
                                 }
 
 
-                                switch (alt63) {
+                                switch (alt64) {
                             	case 1 :
-                            	    // InternalSignalDSL.g:3829:7: otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) )
+                            	    // InternalSignalDSL.g:3873:7: otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) )
                             	    {
-                            	    otherlv_3=(Token)match(input,30,FOLLOW_39); if (state.failed) return current;
+                            	    otherlv_3=(Token)match(input,31,FOLLOW_41); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	      							newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0());
                             	      						
                             	    }
-                            	    // InternalSignalDSL.g:3833:7: ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) )
-                            	    // InternalSignalDSL.g:3834:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter )
+                            	    // InternalSignalDSL.g:3877:7: ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) )
+                            	    // InternalSignalDSL.g:3878:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter )
                             	    {
-                            	    // InternalSignalDSL.g:3834:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter )
-                            	    // InternalSignalDSL.g:3835:9: lv_declaredFormalParameters_4_0= ruleJvmFormalParameter
+                            	    // InternalSignalDSL.g:3878:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter )
+                            	    // InternalSignalDSL.g:3879:9: lv_declaredFormalParameters_4_0= ruleJvmFormalParameter
                             	    {
                             	    if ( state.backtracking==0 ) {
 
                             	      									newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0());
                             	      								
                             	    }
-                            	    pushFollow(FOLLOW_59);
+                            	    pushFollow(FOLLOW_61);
                             	    lv_declaredFormalParameters_4_0=ruleJvmFormalParameter();
 
                             	    state._fsp--;
@@ -10761,7 +10898,7 @@
                             	    break;
 
                             	default :
-                            	    break loop63;
+                            	    break loop64;
                                 }
                             } while (true);
 
@@ -10771,13 +10908,13 @@
 
                     }
 
-                    // InternalSignalDSL.g:3854:5: ( (lv_explicitSyntax_5_0= '|' ) )
-                    // InternalSignalDSL.g:3855:6: (lv_explicitSyntax_5_0= '|' )
+                    // InternalSignalDSL.g:3898:5: ( (lv_explicitSyntax_5_0= '|' ) )
+                    // InternalSignalDSL.g:3899:6: (lv_explicitSyntax_5_0= '|' )
                     {
-                    // InternalSignalDSL.g:3855:6: (lv_explicitSyntax_5_0= '|' )
-                    // InternalSignalDSL.g:3856:7: lv_explicitSyntax_5_0= '|'
+                    // InternalSignalDSL.g:3899:6: (lv_explicitSyntax_5_0= '|' )
+                    // InternalSignalDSL.g:3900:7: lv_explicitSyntax_5_0= '|'
                     {
-                    lv_explicitSyntax_5_0=(Token)match(input,69,FOLLOW_60); if (state.failed) return current;
+                    lv_explicitSyntax_5_0=(Token)match(input,70,FOLLOW_62); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       							newLeafNode(lv_explicitSyntax_5_0, grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0());
@@ -10806,18 +10943,18 @@
 
             }
 
-            // InternalSignalDSL.g:3870:3: ( (lv_expression_6_0= ruleXExpressionInClosure ) )
-            // InternalSignalDSL.g:3871:4: (lv_expression_6_0= ruleXExpressionInClosure )
+            // InternalSignalDSL.g:3914:3: ( (lv_expression_6_0= ruleXExpressionInClosure ) )
+            // InternalSignalDSL.g:3915:4: (lv_expression_6_0= ruleXExpressionInClosure )
             {
-            // InternalSignalDSL.g:3871:4: (lv_expression_6_0= ruleXExpressionInClosure )
-            // InternalSignalDSL.g:3872:5: lv_expression_6_0= ruleXExpressionInClosure
+            // InternalSignalDSL.g:3915:4: (lv_expression_6_0= ruleXExpressionInClosure )
+            // InternalSignalDSL.g:3916:5: lv_expression_6_0= ruleXExpressionInClosure
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0());
               				
             }
-            pushFollow(FOLLOW_61);
+            pushFollow(FOLLOW_63);
             lv_expression_6_0=ruleXExpressionInClosure();
 
             state._fsp--;
@@ -10841,7 +10978,7 @@
 
             }
 
-            otherlv_7=(Token)match(input,35,FOLLOW_2); if (state.failed) return current;
+            otherlv_7=(Token)match(input,36,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_7, grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3());
@@ -10872,7 +11009,7 @@
 
 
     // $ANTLR start "entryRuleXExpressionInClosure"
-    // InternalSignalDSL.g:3897:1: entryRuleXExpressionInClosure returns [EObject current=null] : iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ;
+    // InternalSignalDSL.g:3941:1: entryRuleXExpressionInClosure returns [EObject current=null] : iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ;
     public final EObject entryRuleXExpressionInClosure() throws RecognitionException {
         EObject current = null;
 
@@ -10880,8 +11017,8 @@
 
 
         try {
-            // InternalSignalDSL.g:3897:61: (iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF )
-            // InternalSignalDSL.g:3898:2: iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF
+            // InternalSignalDSL.g:3941:61: (iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF )
+            // InternalSignalDSL.g:3942:2: iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXExpressionInClosureRule()); 
@@ -10912,7 +11049,7 @@
 
 
     // $ANTLR start "ruleXExpressionInClosure"
-    // InternalSignalDSL.g:3904:1: ruleXExpressionInClosure returns [EObject current=null] : ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) ;
+    // InternalSignalDSL.g:3948:1: ruleXExpressionInClosure returns [EObject current=null] : ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) ;
     public final EObject ruleXExpressionInClosure() throws RecognitionException {
         EObject current = null;
 
@@ -10924,14 +11061,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:3910:2: ( ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) )
-            // InternalSignalDSL.g:3911:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* )
+            // InternalSignalDSL.g:3954:2: ( ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) )
+            // InternalSignalDSL.g:3955:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* )
             {
-            // InternalSignalDSL.g:3911:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* )
-            // InternalSignalDSL.g:3912:3: () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )*
+            // InternalSignalDSL.g:3955:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* )
+            // InternalSignalDSL.g:3956:3: () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )*
             {
-            // InternalSignalDSL.g:3912:3: ()
-            // InternalSignalDSL.g:3913:4: 
+            // InternalSignalDSL.g:3956:3: ()
+            // InternalSignalDSL.g:3957:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -10943,33 +11080,33 @@
 
             }
 
-            // InternalSignalDSL.g:3919:3: ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )*
-            loop67:
+            // InternalSignalDSL.g:3963:3: ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )*
+            loop68:
             do {
-                int alt67=2;
-                int LA67_0 = input.LA(1);
+                int alt68=2;
+                int LA68_0 = input.LA(1);
 
-                if ( ((LA67_0>=RULE_ID && LA67_0<=RULE_DECIMAL)||LA67_0==14||LA67_0==18||(LA67_0>=22 && LA67_0<=24)||LA67_0==29||(LA67_0>=33 && LA67_0<=34)||LA67_0==41||(LA67_0>=57 && LA67_0<=58)||LA67_0==62||LA67_0==70||LA67_0==72||(LA67_0>=76 && LA67_0<=89)||LA67_0==91) ) {
-                    alt67=1;
+                if ( ((LA68_0>=RULE_STRING && LA68_0<=RULE_DECIMAL)||LA68_0==14||LA68_0==18||(LA68_0>=23 && LA68_0<=25)||LA68_0==30||(LA68_0>=34 && LA68_0<=35)||LA68_0==42||(LA68_0>=58 && LA68_0<=59)||LA68_0==63||LA68_0==71||LA68_0==73||(LA68_0>=77 && LA68_0<=90)||LA68_0==92) ) {
+                    alt68=1;
                 }
 
 
-                switch (alt67) {
+                switch (alt68) {
             	case 1 :
-            	    // InternalSignalDSL.g:3920:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )?
+            	    // InternalSignalDSL.g:3964:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )?
             	    {
-            	    // InternalSignalDSL.g:3920:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) )
-            	    // InternalSignalDSL.g:3921:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration )
+            	    // InternalSignalDSL.g:3964:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) )
+            	    // InternalSignalDSL.g:3965:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration )
             	    {
-            	    // InternalSignalDSL.g:3921:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration )
-            	    // InternalSignalDSL.g:3922:6: lv_expressions_1_0= ruleXExpressionOrVarDeclaration
+            	    // InternalSignalDSL.g:3965:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration )
+            	    // InternalSignalDSL.g:3966:6: lv_expressions_1_0= ruleXExpressionOrVarDeclaration
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      						newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0());
             	      					
             	    }
-            	    pushFollow(FOLLOW_62);
+            	    pushFollow(FOLLOW_64);
             	    lv_expressions_1_0=ruleXExpressionOrVarDeclaration();
 
             	    state._fsp--;
@@ -10993,18 +11130,18 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:3939:4: (otherlv_2= ';' )?
-            	    int alt66=2;
-            	    int LA66_0 = input.LA(1);
+            	    // InternalSignalDSL.g:3983:4: (otherlv_2= ';' )?
+            	    int alt67=2;
+            	    int LA67_0 = input.LA(1);
 
-            	    if ( (LA66_0==27) ) {
-            	        alt66=1;
+            	    if ( (LA67_0==28) ) {
+            	        alt67=1;
             	    }
-            	    switch (alt66) {
+            	    switch (alt67) {
             	        case 1 :
-            	            // InternalSignalDSL.g:3940:5: otherlv_2= ';'
+            	            // InternalSignalDSL.g:3984:5: otherlv_2= ';'
             	            {
-            	            otherlv_2=(Token)match(input,27,FOLLOW_63); if (state.failed) return current;
+            	            otherlv_2=(Token)match(input,28,FOLLOW_65); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              					newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1());
@@ -11021,7 +11158,7 @@
             	    break;
 
             	default :
-            	    break loop67;
+            	    break loop68;
                 }
             } while (true);
 
@@ -11050,7 +11187,7 @@
 
 
     // $ANTLR start "entryRuleXShortClosure"
-    // InternalSignalDSL.g:3950:1: entryRuleXShortClosure returns [EObject current=null] : iv_ruleXShortClosure= ruleXShortClosure EOF ;
+    // InternalSignalDSL.g:3994:1: entryRuleXShortClosure returns [EObject current=null] : iv_ruleXShortClosure= ruleXShortClosure EOF ;
     public final EObject entryRuleXShortClosure() throws RecognitionException {
         EObject current = null;
 
@@ -11058,8 +11195,8 @@
 
 
         try {
-            // InternalSignalDSL.g:3950:54: (iv_ruleXShortClosure= ruleXShortClosure EOF )
-            // InternalSignalDSL.g:3951:2: iv_ruleXShortClosure= ruleXShortClosure EOF
+            // InternalSignalDSL.g:3994:54: (iv_ruleXShortClosure= ruleXShortClosure EOF )
+            // InternalSignalDSL.g:3995:2: iv_ruleXShortClosure= ruleXShortClosure EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXShortClosureRule()); 
@@ -11090,7 +11227,7 @@
 
 
     // $ANTLR start "ruleXShortClosure"
-    // InternalSignalDSL.g:3957:1: ruleXShortClosure returns [EObject current=null] : ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) ;
+    // InternalSignalDSL.g:4001:1: ruleXShortClosure returns [EObject current=null] : ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) ;
     public final EObject ruleXShortClosure() throws RecognitionException {
         EObject current = null;
 
@@ -11107,20 +11244,20 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:3963:2: ( ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) )
-            // InternalSignalDSL.g:3964:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) )
+            // InternalSignalDSL.g:4007:2: ( ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) )
+            // InternalSignalDSL.g:4008:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) )
             {
-            // InternalSignalDSL.g:3964:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) )
-            // InternalSignalDSL.g:3965:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) )
+            // InternalSignalDSL.g:4008:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) )
+            // InternalSignalDSL.g:4009:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) )
             {
-            // InternalSignalDSL.g:3965:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) )
-            // InternalSignalDSL.g:3966:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) )
+            // InternalSignalDSL.g:4009:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) )
+            // InternalSignalDSL.g:4010:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) )
             {
-            // InternalSignalDSL.g:3991:4: ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) )
-            // InternalSignalDSL.g:3992:5: () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) )
+            // InternalSignalDSL.g:4035:4: ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) )
+            // InternalSignalDSL.g:4036:5: () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) )
             {
-            // InternalSignalDSL.g:3992:5: ()
-            // InternalSignalDSL.g:3993:6: 
+            // InternalSignalDSL.g:4036:5: ()
+            // InternalSignalDSL.g:4037:6: 
             {
             if ( state.backtracking==0 ) {
 
@@ -11132,29 +11269,29 @@
 
             }
 
-            // InternalSignalDSL.g:3999:5: ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )?
-            int alt69=2;
-            int LA69_0 = input.LA(1);
+            // InternalSignalDSL.g:4043:5: ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )?
+            int alt70=2;
+            int LA70_0 = input.LA(1);
 
-            if ( (LA69_0==RULE_ID||LA69_0==29||LA69_0==54) ) {
-                alt69=1;
+            if ( (LA70_0==RULE_ID||LA70_0==30||LA70_0==55) ) {
+                alt70=1;
             }
-            switch (alt69) {
+            switch (alt70) {
                 case 1 :
-                    // InternalSignalDSL.g:4000:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )*
+                    // InternalSignalDSL.g:4044:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )*
                     {
-                    // InternalSignalDSL.g:4000:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) )
-                    // InternalSignalDSL.g:4001:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter )
+                    // InternalSignalDSL.g:4044:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) )
+                    // InternalSignalDSL.g:4045:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter )
                     {
-                    // InternalSignalDSL.g:4001:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter )
-                    // InternalSignalDSL.g:4002:8: lv_declaredFormalParameters_1_0= ruleJvmFormalParameter
+                    // InternalSignalDSL.g:4045:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter )
+                    // InternalSignalDSL.g:4046:8: lv_declaredFormalParameters_1_0= ruleJvmFormalParameter
                     {
                     if ( state.backtracking==0 ) {
 
                       								newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0());
                       							
                     }
-                    pushFollow(FOLLOW_59);
+                    pushFollow(FOLLOW_61);
                     lv_declaredFormalParameters_1_0=ruleJvmFormalParameter();
 
                     state._fsp--;
@@ -11178,39 +11315,39 @@
 
                     }
 
-                    // InternalSignalDSL.g:4019:6: (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )*
-                    loop68:
+                    // InternalSignalDSL.g:4063:6: (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )*
+                    loop69:
                     do {
-                        int alt68=2;
-                        int LA68_0 = input.LA(1);
+                        int alt69=2;
+                        int LA69_0 = input.LA(1);
 
-                        if ( (LA68_0==30) ) {
-                            alt68=1;
+                        if ( (LA69_0==31) ) {
+                            alt69=1;
                         }
 
 
-                        switch (alt68) {
+                        switch (alt69) {
                     	case 1 :
-                    	    // InternalSignalDSL.g:4020:7: otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) )
+                    	    // InternalSignalDSL.g:4064:7: otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) )
                     	    {
-                    	    otherlv_2=(Token)match(input,30,FOLLOW_39); if (state.failed) return current;
+                    	    otherlv_2=(Token)match(input,31,FOLLOW_41); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      							newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0());
                     	      						
                     	    }
-                    	    // InternalSignalDSL.g:4024:7: ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) )
-                    	    // InternalSignalDSL.g:4025:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter )
+                    	    // InternalSignalDSL.g:4068:7: ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) )
+                    	    // InternalSignalDSL.g:4069:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter )
                     	    {
-                    	    // InternalSignalDSL.g:4025:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter )
-                    	    // InternalSignalDSL.g:4026:9: lv_declaredFormalParameters_3_0= ruleJvmFormalParameter
+                    	    // InternalSignalDSL.g:4069:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter )
+                    	    // InternalSignalDSL.g:4070:9: lv_declaredFormalParameters_3_0= ruleJvmFormalParameter
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      									newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0());
                     	      								
                     	    }
-                    	    pushFollow(FOLLOW_59);
+                    	    pushFollow(FOLLOW_61);
                     	    lv_declaredFormalParameters_3_0=ruleJvmFormalParameter();
 
                     	    state._fsp--;
@@ -11239,7 +11376,7 @@
                     	    break;
 
                     	default :
-                    	    break loop68;
+                    	    break loop69;
                         }
                     } while (true);
 
@@ -11249,13 +11386,13 @@
 
             }
 
-            // InternalSignalDSL.g:4045:5: ( (lv_explicitSyntax_4_0= '|' ) )
-            // InternalSignalDSL.g:4046:6: (lv_explicitSyntax_4_0= '|' )
+            // InternalSignalDSL.g:4089:5: ( (lv_explicitSyntax_4_0= '|' ) )
+            // InternalSignalDSL.g:4090:6: (lv_explicitSyntax_4_0= '|' )
             {
-            // InternalSignalDSL.g:4046:6: (lv_explicitSyntax_4_0= '|' )
-            // InternalSignalDSL.g:4047:7: lv_explicitSyntax_4_0= '|'
+            // InternalSignalDSL.g:4090:6: (lv_explicitSyntax_4_0= '|' )
+            // InternalSignalDSL.g:4091:7: lv_explicitSyntax_4_0= '|'
             {
-            lv_explicitSyntax_4_0=(Token)match(input,69,FOLLOW_26); if (state.failed) return current;
+            lv_explicitSyntax_4_0=(Token)match(input,70,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               							newLeafNode(lv_explicitSyntax_4_0, grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0());
@@ -11281,11 +11418,11 @@
 
             }
 
-            // InternalSignalDSL.g:4061:3: ( (lv_expression_5_0= ruleXExpression ) )
-            // InternalSignalDSL.g:4062:4: (lv_expression_5_0= ruleXExpression )
+            // InternalSignalDSL.g:4105:3: ( (lv_expression_5_0= ruleXExpression ) )
+            // InternalSignalDSL.g:4106:4: (lv_expression_5_0= ruleXExpression )
             {
-            // InternalSignalDSL.g:4062:4: (lv_expression_5_0= ruleXExpression )
-            // InternalSignalDSL.g:4063:5: lv_expression_5_0= ruleXExpression
+            // InternalSignalDSL.g:4106:4: (lv_expression_5_0= ruleXExpression )
+            // InternalSignalDSL.g:4107:5: lv_expression_5_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
@@ -11341,7 +11478,7 @@
 
 
     // $ANTLR start "entryRuleXParenthesizedExpression"
-    // InternalSignalDSL.g:4084:1: entryRuleXParenthesizedExpression returns [EObject current=null] : iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ;
+    // InternalSignalDSL.g:4128:1: entryRuleXParenthesizedExpression returns [EObject current=null] : iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ;
     public final EObject entryRuleXParenthesizedExpression() throws RecognitionException {
         EObject current = null;
 
@@ -11349,8 +11486,8 @@
 
 
         try {
-            // InternalSignalDSL.g:4084:65: (iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF )
-            // InternalSignalDSL.g:4085:2: iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF
+            // InternalSignalDSL.g:4128:65: (iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF )
+            // InternalSignalDSL.g:4129:2: iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXParenthesizedExpressionRule()); 
@@ -11381,7 +11518,7 @@
 
 
     // $ANTLR start "ruleXParenthesizedExpression"
-    // InternalSignalDSL.g:4091:1: ruleXParenthesizedExpression returns [EObject current=null] : (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) ;
+    // InternalSignalDSL.g:4135:1: ruleXParenthesizedExpression returns [EObject current=null] : (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) ;
     public final EObject ruleXParenthesizedExpression() throws RecognitionException {
         EObject current = null;
 
@@ -11394,13 +11531,13 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:4097:2: ( (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) )
-            // InternalSignalDSL.g:4098:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' )
+            // InternalSignalDSL.g:4141:2: ( (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) )
+            // InternalSignalDSL.g:4142:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' )
             {
-            // InternalSignalDSL.g:4098:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' )
-            // InternalSignalDSL.g:4099:3: otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')'
+            // InternalSignalDSL.g:4142:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' )
+            // InternalSignalDSL.g:4143:3: otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')'
             {
-            otherlv_0=(Token)match(input,29,FOLLOW_26); if (state.failed) return current;
+            otherlv_0=(Token)match(input,30,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0());
@@ -11411,7 +11548,7 @@
               			newCompositeNode(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1());
               		
             }
-            pushFollow(FOLLOW_24);
+            pushFollow(FOLLOW_26);
             this_XExpression_1=ruleXExpression();
 
             state._fsp--;
@@ -11422,7 +11559,7 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            otherlv_2=(Token)match(input,31,FOLLOW_2); if (state.failed) return current;
+            otherlv_2=(Token)match(input,32,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2());
@@ -11453,7 +11590,7 @@
 
 
     // $ANTLR start "entryRuleXIfExpression"
-    // InternalSignalDSL.g:4119:1: entryRuleXIfExpression returns [EObject current=null] : iv_ruleXIfExpression= ruleXIfExpression EOF ;
+    // InternalSignalDSL.g:4163:1: entryRuleXIfExpression returns [EObject current=null] : iv_ruleXIfExpression= ruleXIfExpression EOF ;
     public final EObject entryRuleXIfExpression() throws RecognitionException {
         EObject current = null;
 
@@ -11461,8 +11598,8 @@
 
 
         try {
-            // InternalSignalDSL.g:4119:54: (iv_ruleXIfExpression= ruleXIfExpression EOF )
-            // InternalSignalDSL.g:4120:2: iv_ruleXIfExpression= ruleXIfExpression EOF
+            // InternalSignalDSL.g:4163:54: (iv_ruleXIfExpression= ruleXIfExpression EOF )
+            // InternalSignalDSL.g:4164:2: iv_ruleXIfExpression= ruleXIfExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXIfExpressionRule()); 
@@ -11493,7 +11630,7 @@
 
 
     // $ANTLR start "ruleXIfExpression"
-    // InternalSignalDSL.g:4126:1: ruleXIfExpression returns [EObject current=null] : ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) ;
+    // InternalSignalDSL.g:4170:1: ruleXIfExpression returns [EObject current=null] : ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) ;
     public final EObject ruleXIfExpression() throws RecognitionException {
         EObject current = null;
 
@@ -11512,14 +11649,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:4132:2: ( ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) )
-            // InternalSignalDSL.g:4133:2: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? )
+            // InternalSignalDSL.g:4176:2: ( ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) )
+            // InternalSignalDSL.g:4177:2: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? )
             {
-            // InternalSignalDSL.g:4133:2: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? )
-            // InternalSignalDSL.g:4134:3: () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )?
+            // InternalSignalDSL.g:4177:2: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? )
+            // InternalSignalDSL.g:4178:3: () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )?
             {
-            // InternalSignalDSL.g:4134:3: ()
-            // InternalSignalDSL.g:4135:4: 
+            // InternalSignalDSL.g:4178:3: ()
+            // InternalSignalDSL.g:4179:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -11531,30 +11668,30 @@
 
             }
 
-            otherlv_1=(Token)match(input,70,FOLLOW_64); if (state.failed) return current;
+            otherlv_1=(Token)match(input,71,FOLLOW_66); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1());
               		
             }
-            otherlv_2=(Token)match(input,29,FOLLOW_26); if (state.failed) return current;
+            otherlv_2=(Token)match(input,30,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2());
               		
             }
-            // InternalSignalDSL.g:4149:3: ( (lv_if_3_0= ruleXExpression ) )
-            // InternalSignalDSL.g:4150:4: (lv_if_3_0= ruleXExpression )
+            // InternalSignalDSL.g:4193:3: ( (lv_if_3_0= ruleXExpression ) )
+            // InternalSignalDSL.g:4194:4: (lv_if_3_0= ruleXExpression )
             {
-            // InternalSignalDSL.g:4150:4: (lv_if_3_0= ruleXExpression )
-            // InternalSignalDSL.g:4151:5: lv_if_3_0= ruleXExpression
+            // InternalSignalDSL.g:4194:4: (lv_if_3_0= ruleXExpression )
+            // InternalSignalDSL.g:4195:5: lv_if_3_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0());
               				
             }
-            pushFollow(FOLLOW_24);
+            pushFollow(FOLLOW_26);
             lv_if_3_0=ruleXExpression();
 
             state._fsp--;
@@ -11578,24 +11715,24 @@
 
             }
 
-            otherlv_4=(Token)match(input,31,FOLLOW_26); if (state.failed) return current;
+            otherlv_4=(Token)match(input,32,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_4, grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4());
               		
             }
-            // InternalSignalDSL.g:4172:3: ( (lv_then_5_0= ruleXExpression ) )
-            // InternalSignalDSL.g:4173:4: (lv_then_5_0= ruleXExpression )
+            // InternalSignalDSL.g:4216:3: ( (lv_then_5_0= ruleXExpression ) )
+            // InternalSignalDSL.g:4217:4: (lv_then_5_0= ruleXExpression )
             {
-            // InternalSignalDSL.g:4173:4: (lv_then_5_0= ruleXExpression )
-            // InternalSignalDSL.g:4174:5: lv_then_5_0= ruleXExpression
+            // InternalSignalDSL.g:4217:4: (lv_then_5_0= ruleXExpression )
+            // InternalSignalDSL.g:4218:5: lv_then_5_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0());
               				
             }
-            pushFollow(FOLLOW_65);
+            pushFollow(FOLLOW_67);
             lv_then_5_0=ruleXExpression();
 
             state._fsp--;
@@ -11619,25 +11756,25 @@
 
             }
 
-            // InternalSignalDSL.g:4191:3: ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )?
-            int alt70=2;
-            int LA70_0 = input.LA(1);
+            // InternalSignalDSL.g:4235:3: ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )?
+            int alt71=2;
+            int LA71_0 = input.LA(1);
 
-            if ( (LA70_0==71) ) {
-                int LA70_1 = input.LA(2);
+            if ( (LA71_0==72) ) {
+                int LA71_1 = input.LA(2);
 
                 if ( (synpred31_InternalSignalDSL()) ) {
-                    alt70=1;
+                    alt71=1;
                 }
             }
-            switch (alt70) {
+            switch (alt71) {
                 case 1 :
-                    // InternalSignalDSL.g:4192:4: ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:4236:4: ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) )
                     {
-                    // InternalSignalDSL.g:4192:4: ( ( 'else' )=>otherlv_6= 'else' )
-                    // InternalSignalDSL.g:4193:5: ( 'else' )=>otherlv_6= 'else'
+                    // InternalSignalDSL.g:4236:4: ( ( 'else' )=>otherlv_6= 'else' )
+                    // InternalSignalDSL.g:4237:5: ( 'else' )=>otherlv_6= 'else'
                     {
-                    otherlv_6=(Token)match(input,71,FOLLOW_26); if (state.failed) return current;
+                    otherlv_6=(Token)match(input,72,FOLLOW_28); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(otherlv_6, grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0());
@@ -11646,11 +11783,11 @@
 
                     }
 
-                    // InternalSignalDSL.g:4199:4: ( (lv_else_7_0= ruleXExpression ) )
-                    // InternalSignalDSL.g:4200:5: (lv_else_7_0= ruleXExpression )
+                    // InternalSignalDSL.g:4243:4: ( (lv_else_7_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:4244:5: (lv_else_7_0= ruleXExpression )
                     {
-                    // InternalSignalDSL.g:4200:5: (lv_else_7_0= ruleXExpression )
-                    // InternalSignalDSL.g:4201:6: lv_else_7_0= ruleXExpression
+                    // InternalSignalDSL.g:4244:5: (lv_else_7_0= ruleXExpression )
+                    // InternalSignalDSL.g:4245:6: lv_else_7_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -11712,7 +11849,7 @@
 
 
     // $ANTLR start "entryRuleXSwitchExpression"
-    // InternalSignalDSL.g:4223:1: entryRuleXSwitchExpression returns [EObject current=null] : iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ;
+    // InternalSignalDSL.g:4267:1: entryRuleXSwitchExpression returns [EObject current=null] : iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ;
     public final EObject entryRuleXSwitchExpression() throws RecognitionException {
         EObject current = null;
 
@@ -11720,8 +11857,8 @@
 
 
         try {
-            // InternalSignalDSL.g:4223:58: (iv_ruleXSwitchExpression= ruleXSwitchExpression EOF )
-            // InternalSignalDSL.g:4224:2: iv_ruleXSwitchExpression= ruleXSwitchExpression EOF
+            // InternalSignalDSL.g:4267:58: (iv_ruleXSwitchExpression= ruleXSwitchExpression EOF )
+            // InternalSignalDSL.g:4268:2: iv_ruleXSwitchExpression= ruleXSwitchExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXSwitchExpressionRule()); 
@@ -11752,7 +11889,7 @@
 
 
     // $ANTLR start "ruleXSwitchExpression"
-    // InternalSignalDSL.g:4230:1: ruleXSwitchExpression returns [EObject current=null] : ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) ;
+    // InternalSignalDSL.g:4274:1: ruleXSwitchExpression returns [EObject current=null] : ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) ;
     public final EObject ruleXSwitchExpression() throws RecognitionException {
         EObject current = null;
 
@@ -11782,14 +11919,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:4236:2: ( ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) )
-            // InternalSignalDSL.g:4237:2: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' )
+            // InternalSignalDSL.g:4280:2: ( ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) )
+            // InternalSignalDSL.g:4281:2: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' )
             {
-            // InternalSignalDSL.g:4237:2: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' )
-            // InternalSignalDSL.g:4238:3: () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}'
+            // InternalSignalDSL.g:4281:2: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' )
+            // InternalSignalDSL.g:4282:3: () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}'
             {
-            // InternalSignalDSL.g:4238:3: ()
-            // InternalSignalDSL.g:4239:4: 
+            // InternalSignalDSL.g:4282:3: ()
+            // InternalSignalDSL.g:4283:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -11801,46 +11938,46 @@
 
             }
 
-            otherlv_1=(Token)match(input,72,FOLLOW_66); if (state.failed) return current;
+            otherlv_1=(Token)match(input,73,FOLLOW_68); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1());
               		
             }
-            // InternalSignalDSL.g:4249:3: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) )
-            int alt72=2;
-            alt72 = dfa72.predict(input);
-            switch (alt72) {
+            // InternalSignalDSL.g:4293:3: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) )
+            int alt73=2;
+            alt73 = dfa73.predict(input);
+            switch (alt73) {
                 case 1 :
-                    // InternalSignalDSL.g:4250:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' )
+                    // InternalSignalDSL.g:4294:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' )
                     {
-                    // InternalSignalDSL.g:4250:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' )
-                    // InternalSignalDSL.g:4251:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')'
+                    // InternalSignalDSL.g:4294:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' )
+                    // InternalSignalDSL.g:4295:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')'
                     {
-                    // InternalSignalDSL.g:4251:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) )
-                    // InternalSignalDSL.g:4252:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
+                    // InternalSignalDSL.g:4295:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) )
+                    // InternalSignalDSL.g:4296:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
                     {
-                    // InternalSignalDSL.g:4262:6: (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
-                    // InternalSignalDSL.g:4263:7: otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':'
+                    // InternalSignalDSL.g:4306:6: (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
+                    // InternalSignalDSL.g:4307:7: otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':'
                     {
-                    otherlv_2=(Token)match(input,29,FOLLOW_39); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,30,FOLLOW_41); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       							newLeafNode(otherlv_2, grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0());
                       						
                     }
-                    // InternalSignalDSL.g:4267:7: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) )
-                    // InternalSignalDSL.g:4268:8: (lv_declaredParam_3_0= ruleJvmFormalParameter )
+                    // InternalSignalDSL.g:4311:7: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) )
+                    // InternalSignalDSL.g:4312:8: (lv_declaredParam_3_0= ruleJvmFormalParameter )
                     {
-                    // InternalSignalDSL.g:4268:8: (lv_declaredParam_3_0= ruleJvmFormalParameter )
-                    // InternalSignalDSL.g:4269:9: lv_declaredParam_3_0= ruleJvmFormalParameter
+                    // InternalSignalDSL.g:4312:8: (lv_declaredParam_3_0= ruleJvmFormalParameter )
+                    // InternalSignalDSL.g:4313:9: lv_declaredParam_3_0= ruleJvmFormalParameter
                     {
                     if ( state.backtracking==0 ) {
 
                       									newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0());
                       								
                     }
-                    pushFollow(FOLLOW_67);
+                    pushFollow(FOLLOW_69);
                     lv_declaredParam_3_0=ruleJvmFormalParameter();
 
                     state._fsp--;
@@ -11864,7 +12001,7 @@
 
                     }
 
-                    otherlv_4=(Token)match(input,73,FOLLOW_26); if (state.failed) return current;
+                    otherlv_4=(Token)match(input,74,FOLLOW_28); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       							newLeafNode(otherlv_4, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2());
@@ -11876,18 +12013,18 @@
 
                     }
 
-                    // InternalSignalDSL.g:4292:5: ( (lv_switch_5_0= ruleXExpression ) )
-                    // InternalSignalDSL.g:4293:6: (lv_switch_5_0= ruleXExpression )
+                    // InternalSignalDSL.g:4336:5: ( (lv_switch_5_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:4337:6: (lv_switch_5_0= ruleXExpression )
                     {
-                    // InternalSignalDSL.g:4293:6: (lv_switch_5_0= ruleXExpression )
-                    // InternalSignalDSL.g:4294:7: lv_switch_5_0= ruleXExpression
+                    // InternalSignalDSL.g:4337:6: (lv_switch_5_0= ruleXExpression )
+                    // InternalSignalDSL.g:4338:7: lv_switch_5_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
                       							newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0());
                       						
                     }
-                    pushFollow(FOLLOW_24);
+                    pushFollow(FOLLOW_26);
                     lv_switch_5_0=ruleXExpression();
 
                     state._fsp--;
@@ -11911,7 +12048,7 @@
 
                     }
 
-                    otherlv_6=(Token)match(input,31,FOLLOW_5); if (state.failed) return current;
+                    otherlv_6=(Token)match(input,32,FOLLOW_11); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(otherlv_6, grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2());
@@ -11924,33 +12061,33 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:4317:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) )
+                    // InternalSignalDSL.g:4361:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) )
                     {
-                    // InternalSignalDSL.g:4317:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) )
-                    // InternalSignalDSL.g:4318:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:4361:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) )
+                    // InternalSignalDSL.g:4362:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) )
                     {
-                    // InternalSignalDSL.g:4318:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )?
-                    int alt71=2;
-                    alt71 = dfa71.predict(input);
-                    switch (alt71) {
+                    // InternalSignalDSL.g:4362:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )?
+                    int alt72=2;
+                    alt72 = dfa72.predict(input);
+                    switch (alt72) {
                         case 1 :
-                            // InternalSignalDSL.g:4319:6: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' )
+                            // InternalSignalDSL.g:4363:6: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' )
                             {
-                            // InternalSignalDSL.g:4328:6: ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' )
-                            // InternalSignalDSL.g:4329:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':'
+                            // InternalSignalDSL.g:4372:6: ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' )
+                            // InternalSignalDSL.g:4373:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':'
                             {
-                            // InternalSignalDSL.g:4329:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) )
-                            // InternalSignalDSL.g:4330:8: (lv_declaredParam_7_0= ruleJvmFormalParameter )
+                            // InternalSignalDSL.g:4373:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) )
+                            // InternalSignalDSL.g:4374:8: (lv_declaredParam_7_0= ruleJvmFormalParameter )
                             {
-                            // InternalSignalDSL.g:4330:8: (lv_declaredParam_7_0= ruleJvmFormalParameter )
-                            // InternalSignalDSL.g:4331:9: lv_declaredParam_7_0= ruleJvmFormalParameter
+                            // InternalSignalDSL.g:4374:8: (lv_declaredParam_7_0= ruleJvmFormalParameter )
+                            // InternalSignalDSL.g:4375:9: lv_declaredParam_7_0= ruleJvmFormalParameter
                             {
                             if ( state.backtracking==0 ) {
 
                               									newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0());
                               								
                             }
-                            pushFollow(FOLLOW_67);
+                            pushFollow(FOLLOW_69);
                             lv_declaredParam_7_0=ruleJvmFormalParameter();
 
                             state._fsp--;
@@ -11974,7 +12111,7 @@
 
                             }
 
-                            otherlv_8=(Token)match(input,73,FOLLOW_26); if (state.failed) return current;
+                            otherlv_8=(Token)match(input,74,FOLLOW_28); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               							newLeafNode(otherlv_8, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1());
@@ -11989,18 +12126,18 @@
 
                     }
 
-                    // InternalSignalDSL.g:4354:5: ( (lv_switch_9_0= ruleXExpression ) )
-                    // InternalSignalDSL.g:4355:6: (lv_switch_9_0= ruleXExpression )
+                    // InternalSignalDSL.g:4398:5: ( (lv_switch_9_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:4399:6: (lv_switch_9_0= ruleXExpression )
                     {
-                    // InternalSignalDSL.g:4355:6: (lv_switch_9_0= ruleXExpression )
-                    // InternalSignalDSL.g:4356:7: lv_switch_9_0= ruleXExpression
+                    // InternalSignalDSL.g:4399:6: (lv_switch_9_0= ruleXExpression )
+                    // InternalSignalDSL.g:4400:7: lv_switch_9_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
                       							newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0());
                       						
                     }
-                    pushFollow(FOLLOW_5);
+                    pushFollow(FOLLOW_11);
                     lv_switch_9_0=ruleXExpression();
 
                     state._fsp--;
@@ -12033,36 +12170,36 @@
 
             }
 
-            otherlv_10=(Token)match(input,14,FOLLOW_68); if (state.failed) return current;
+            otherlv_10=(Token)match(input,14,FOLLOW_70); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_10, grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3());
               		
             }
-            // InternalSignalDSL.g:4379:3: ( (lv_cases_11_0= ruleXCasePart ) )*
-            loop73:
+            // InternalSignalDSL.g:4423:3: ( (lv_cases_11_0= ruleXCasePart ) )*
+            loop74:
             do {
-                int alt73=2;
-                int LA73_0 = input.LA(1);
+                int alt74=2;
+                int LA74_0 = input.LA(1);
 
-                if ( (LA73_0==RULE_ID||(LA73_0>=29 && LA73_0<=30)||LA73_0==54||LA73_0==73||LA73_0==75) ) {
-                    alt73=1;
+                if ( (LA74_0==RULE_ID||(LA74_0>=30 && LA74_0<=31)||LA74_0==55||LA74_0==74||LA74_0==76) ) {
+                    alt74=1;
                 }
 
 
-                switch (alt73) {
+                switch (alt74) {
             	case 1 :
-            	    // InternalSignalDSL.g:4380:4: (lv_cases_11_0= ruleXCasePart )
+            	    // InternalSignalDSL.g:4424:4: (lv_cases_11_0= ruleXCasePart )
             	    {
-            	    // InternalSignalDSL.g:4380:4: (lv_cases_11_0= ruleXCasePart )
-            	    // InternalSignalDSL.g:4381:5: lv_cases_11_0= ruleXCasePart
+            	    // InternalSignalDSL.g:4424:4: (lv_cases_11_0= ruleXCasePart )
+            	    // InternalSignalDSL.g:4425:5: lv_cases_11_0= ruleXCasePart
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      					newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0());
             	      				
             	    }
-            	    pushFollow(FOLLOW_68);
+            	    pushFollow(FOLLOW_70);
             	    lv_cases_11_0=ruleXCasePart();
 
             	    state._fsp--;
@@ -12088,45 +12225,45 @@
             	    break;
 
             	default :
-            	    break loop73;
+            	    break loop74;
                 }
             } while (true);
 
-            // InternalSignalDSL.g:4398:3: (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )?
-            int alt74=2;
-            int LA74_0 = input.LA(1);
+            // InternalSignalDSL.g:4442:3: (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )?
+            int alt75=2;
+            int LA75_0 = input.LA(1);
 
-            if ( (LA74_0==74) ) {
-                alt74=1;
+            if ( (LA75_0==75) ) {
+                alt75=1;
             }
-            switch (alt74) {
+            switch (alt75) {
                 case 1 :
-                    // InternalSignalDSL.g:4399:4: otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:4443:4: otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) )
                     {
-                    otherlv_12=(Token)match(input,74,FOLLOW_67); if (state.failed) return current;
+                    otherlv_12=(Token)match(input,75,FOLLOW_69); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_12, grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0());
                       			
                     }
-                    otherlv_13=(Token)match(input,73,FOLLOW_26); if (state.failed) return current;
+                    otherlv_13=(Token)match(input,74,FOLLOW_28); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_13, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1());
                       			
                     }
-                    // InternalSignalDSL.g:4407:4: ( (lv_default_14_0= ruleXExpression ) )
-                    // InternalSignalDSL.g:4408:5: (lv_default_14_0= ruleXExpression )
+                    // InternalSignalDSL.g:4451:4: ( (lv_default_14_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:4452:5: (lv_default_14_0= ruleXExpression )
                     {
-                    // InternalSignalDSL.g:4408:5: (lv_default_14_0= ruleXExpression )
-                    // InternalSignalDSL.g:4409:6: lv_default_14_0= ruleXExpression
+                    // InternalSignalDSL.g:4452:5: (lv_default_14_0= ruleXExpression )
+                    // InternalSignalDSL.g:4453:6: lv_default_14_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0());
                       					
                     }
-                    pushFollow(FOLLOW_69);
+                    pushFollow(FOLLOW_71);
                     lv_default_14_0=ruleXExpression();
 
                     state._fsp--;
@@ -12187,7 +12324,7 @@
 
 
     // $ANTLR start "entryRuleXCasePart"
-    // InternalSignalDSL.g:4435:1: entryRuleXCasePart returns [EObject current=null] : iv_ruleXCasePart= ruleXCasePart EOF ;
+    // InternalSignalDSL.g:4479:1: entryRuleXCasePart returns [EObject current=null] : iv_ruleXCasePart= ruleXCasePart EOF ;
     public final EObject entryRuleXCasePart() throws RecognitionException {
         EObject current = null;
 
@@ -12195,8 +12332,8 @@
 
 
         try {
-            // InternalSignalDSL.g:4435:50: (iv_ruleXCasePart= ruleXCasePart EOF )
-            // InternalSignalDSL.g:4436:2: iv_ruleXCasePart= ruleXCasePart EOF
+            // InternalSignalDSL.g:4479:50: (iv_ruleXCasePart= ruleXCasePart EOF )
+            // InternalSignalDSL.g:4480:2: iv_ruleXCasePart= ruleXCasePart EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXCasePartRule()); 
@@ -12227,7 +12364,7 @@
 
 
     // $ANTLR start "ruleXCasePart"
-    // InternalSignalDSL.g:4442:1: ruleXCasePart returns [EObject current=null] : ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) ;
+    // InternalSignalDSL.g:4486:1: ruleXCasePart returns [EObject current=null] : ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) ;
     public final EObject ruleXCasePart() throws RecognitionException {
         EObject current = null;
 
@@ -12245,14 +12382,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:4448:2: ( ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) )
-            // InternalSignalDSL.g:4449:2: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) )
+            // InternalSignalDSL.g:4492:2: ( ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) )
+            // InternalSignalDSL.g:4493:2: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) )
             {
-            // InternalSignalDSL.g:4449:2: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) )
-            // InternalSignalDSL.g:4450:3: () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) )
+            // InternalSignalDSL.g:4493:2: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) )
+            // InternalSignalDSL.g:4494:3: () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) )
             {
-            // InternalSignalDSL.g:4450:3: ()
-            // InternalSignalDSL.g:4451:4: 
+            // InternalSignalDSL.g:4494:3: ()
+            // InternalSignalDSL.g:4495:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -12264,26 +12401,26 @@
 
             }
 
-            // InternalSignalDSL.g:4457:3: ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )?
-            int alt75=2;
-            int LA75_0 = input.LA(1);
+            // InternalSignalDSL.g:4501:3: ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )?
+            int alt76=2;
+            int LA76_0 = input.LA(1);
 
-            if ( (LA75_0==RULE_ID||LA75_0==29||LA75_0==54) ) {
-                alt75=1;
+            if ( (LA76_0==RULE_ID||LA76_0==30||LA76_0==55) ) {
+                alt76=1;
             }
-            switch (alt75) {
+            switch (alt76) {
                 case 1 :
-                    // InternalSignalDSL.g:4458:4: (lv_typeGuard_1_0= ruleJvmTypeReference )
+                    // InternalSignalDSL.g:4502:4: (lv_typeGuard_1_0= ruleJvmTypeReference )
                     {
-                    // InternalSignalDSL.g:4458:4: (lv_typeGuard_1_0= ruleJvmTypeReference )
-                    // InternalSignalDSL.g:4459:5: lv_typeGuard_1_0= ruleJvmTypeReference
+                    // InternalSignalDSL.g:4502:4: (lv_typeGuard_1_0= ruleJvmTypeReference )
+                    // InternalSignalDSL.g:4503:5: lv_typeGuard_1_0= ruleJvmTypeReference
                     {
                     if ( state.backtracking==0 ) {
 
                       					newCompositeNode(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0());
                       				
                     }
-                    pushFollow(FOLLOW_70);
+                    pushFollow(FOLLOW_72);
                     lv_typeGuard_1_0=ruleJvmTypeReference();
 
                     state._fsp--;
@@ -12310,35 +12447,35 @@
 
             }
 
-            // InternalSignalDSL.g:4476:3: (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )?
-            int alt76=2;
-            int LA76_0 = input.LA(1);
+            // InternalSignalDSL.g:4520:3: (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )?
+            int alt77=2;
+            int LA77_0 = input.LA(1);
 
-            if ( (LA76_0==75) ) {
-                alt76=1;
+            if ( (LA77_0==76) ) {
+                alt77=1;
             }
-            switch (alt76) {
+            switch (alt77) {
                 case 1 :
-                    // InternalSignalDSL.g:4477:4: otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:4521:4: otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) )
                     {
-                    otherlv_2=(Token)match(input,75,FOLLOW_26); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,76,FOLLOW_28); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_2, grammarAccess.getXCasePartAccess().getCaseKeyword_2_0());
                       			
                     }
-                    // InternalSignalDSL.g:4481:4: ( (lv_case_3_0= ruleXExpression ) )
-                    // InternalSignalDSL.g:4482:5: (lv_case_3_0= ruleXExpression )
+                    // InternalSignalDSL.g:4525:4: ( (lv_case_3_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:4526:5: (lv_case_3_0= ruleXExpression )
                     {
-                    // InternalSignalDSL.g:4482:5: (lv_case_3_0= ruleXExpression )
-                    // InternalSignalDSL.g:4483:6: lv_case_3_0= ruleXExpression
+                    // InternalSignalDSL.g:4526:5: (lv_case_3_0= ruleXExpression )
+                    // InternalSignalDSL.g:4527:6: lv_case_3_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_71);
+                    pushFollow(FOLLOW_73);
                     lv_case_3_0=ruleXExpression();
 
                     state._fsp--;
@@ -12368,41 +12505,41 @@
 
             }
 
-            // InternalSignalDSL.g:4501:3: ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) )
-            int alt77=2;
-            int LA77_0 = input.LA(1);
+            // InternalSignalDSL.g:4545:3: ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) )
+            int alt78=2;
+            int LA78_0 = input.LA(1);
 
-            if ( (LA77_0==73) ) {
-                alt77=1;
+            if ( (LA78_0==74) ) {
+                alt78=1;
             }
-            else if ( (LA77_0==30) ) {
-                alt77=2;
+            else if ( (LA78_0==31) ) {
+                alt78=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 77, 0, input);
+                    new NoViableAltException("", 78, 0, input);
 
                 throw nvae;
             }
-            switch (alt77) {
+            switch (alt78) {
                 case 1 :
-                    // InternalSignalDSL.g:4502:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) )
+                    // InternalSignalDSL.g:4546:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) )
                     {
-                    // InternalSignalDSL.g:4502:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) )
-                    // InternalSignalDSL.g:4503:5: otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:4546:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) )
+                    // InternalSignalDSL.g:4547:5: otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) )
                     {
-                    otherlv_4=(Token)match(input,73,FOLLOW_26); if (state.failed) return current;
+                    otherlv_4=(Token)match(input,74,FOLLOW_28); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(otherlv_4, grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0());
                       				
                     }
-                    // InternalSignalDSL.g:4507:5: ( (lv_then_5_0= ruleXExpression ) )
-                    // InternalSignalDSL.g:4508:6: (lv_then_5_0= ruleXExpression )
+                    // InternalSignalDSL.g:4551:5: ( (lv_then_5_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:4552:6: (lv_then_5_0= ruleXExpression )
                     {
-                    // InternalSignalDSL.g:4508:6: (lv_then_5_0= ruleXExpression )
-                    // InternalSignalDSL.g:4509:7: lv_then_5_0= ruleXExpression
+                    // InternalSignalDSL.g:4552:6: (lv_then_5_0= ruleXExpression )
+                    // InternalSignalDSL.g:4553:7: lv_then_5_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -12440,15 +12577,15 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:4528:4: ( (lv_fallThrough_6_0= ',' ) )
+                    // InternalSignalDSL.g:4572:4: ( (lv_fallThrough_6_0= ',' ) )
                     {
-                    // InternalSignalDSL.g:4528:4: ( (lv_fallThrough_6_0= ',' ) )
-                    // InternalSignalDSL.g:4529:5: (lv_fallThrough_6_0= ',' )
+                    // InternalSignalDSL.g:4572:4: ( (lv_fallThrough_6_0= ',' ) )
+                    // InternalSignalDSL.g:4573:5: (lv_fallThrough_6_0= ',' )
                     {
-                    // InternalSignalDSL.g:4529:5: (lv_fallThrough_6_0= ',' )
-                    // InternalSignalDSL.g:4530:6: lv_fallThrough_6_0= ','
+                    // InternalSignalDSL.g:4573:5: (lv_fallThrough_6_0= ',' )
+                    // InternalSignalDSL.g:4574:6: lv_fallThrough_6_0= ','
                     {
-                    lv_fallThrough_6_0=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
+                    lv_fallThrough_6_0=(Token)match(input,31,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(lv_fallThrough_6_0, grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0());
@@ -12499,7 +12636,7 @@
 
 
     // $ANTLR start "entryRuleXForLoopExpression"
-    // InternalSignalDSL.g:4547:1: entryRuleXForLoopExpression returns [EObject current=null] : iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ;
+    // InternalSignalDSL.g:4591:1: entryRuleXForLoopExpression returns [EObject current=null] : iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ;
     public final EObject entryRuleXForLoopExpression() throws RecognitionException {
         EObject current = null;
 
@@ -12507,8 +12644,8 @@
 
 
         try {
-            // InternalSignalDSL.g:4547:59: (iv_ruleXForLoopExpression= ruleXForLoopExpression EOF )
-            // InternalSignalDSL.g:4548:2: iv_ruleXForLoopExpression= ruleXForLoopExpression EOF
+            // InternalSignalDSL.g:4591:59: (iv_ruleXForLoopExpression= ruleXForLoopExpression EOF )
+            // InternalSignalDSL.g:4592:2: iv_ruleXForLoopExpression= ruleXForLoopExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXForLoopExpressionRule()); 
@@ -12539,7 +12676,7 @@
 
 
     // $ANTLR start "ruleXForLoopExpression"
-    // InternalSignalDSL.g:4554:1: ruleXForLoopExpression returns [EObject current=null] : ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) ;
+    // InternalSignalDSL.g:4598:1: ruleXForLoopExpression returns [EObject current=null] : ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) ;
     public final EObject ruleXForLoopExpression() throws RecognitionException {
         EObject current = null;
 
@@ -12558,20 +12695,20 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:4560:2: ( ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) )
-            // InternalSignalDSL.g:4561:2: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) )
+            // InternalSignalDSL.g:4604:2: ( ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) )
+            // InternalSignalDSL.g:4605:2: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) )
             {
-            // InternalSignalDSL.g:4561:2: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) )
-            // InternalSignalDSL.g:4562:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) )
+            // InternalSignalDSL.g:4605:2: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) )
+            // InternalSignalDSL.g:4606:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) )
             {
-            // InternalSignalDSL.g:4562:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) )
-            // InternalSignalDSL.g:4563:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
+            // InternalSignalDSL.g:4606:3: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) )
+            // InternalSignalDSL.g:4607:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
             {
-            // InternalSignalDSL.g:4576:4: ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
-            // InternalSignalDSL.g:4577:5: () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':'
+            // InternalSignalDSL.g:4620:4: ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' )
+            // InternalSignalDSL.g:4621:5: () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':'
             {
-            // InternalSignalDSL.g:4577:5: ()
-            // InternalSignalDSL.g:4578:6: 
+            // InternalSignalDSL.g:4621:5: ()
+            // InternalSignalDSL.g:4622:6: 
             {
             if ( state.backtracking==0 ) {
 
@@ -12583,30 +12720,30 @@
 
             }
 
-            otherlv_1=(Token)match(input,18,FOLLOW_64); if (state.failed) return current;
+            otherlv_1=(Token)match(input,18,FOLLOW_66); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_1, grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1());
               				
             }
-            otherlv_2=(Token)match(input,29,FOLLOW_39); if (state.failed) return current;
+            otherlv_2=(Token)match(input,30,FOLLOW_41); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_2, grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2());
               				
             }
-            // InternalSignalDSL.g:4592:5: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) )
-            // InternalSignalDSL.g:4593:6: (lv_declaredParam_3_0= ruleJvmFormalParameter )
+            // InternalSignalDSL.g:4636:5: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) )
+            // InternalSignalDSL.g:4637:6: (lv_declaredParam_3_0= ruleJvmFormalParameter )
             {
-            // InternalSignalDSL.g:4593:6: (lv_declaredParam_3_0= ruleJvmFormalParameter )
-            // InternalSignalDSL.g:4594:7: lv_declaredParam_3_0= ruleJvmFormalParameter
+            // InternalSignalDSL.g:4637:6: (lv_declaredParam_3_0= ruleJvmFormalParameter )
+            // InternalSignalDSL.g:4638:7: lv_declaredParam_3_0= ruleJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
 
               							newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0());
               						
             }
-            pushFollow(FOLLOW_67);
+            pushFollow(FOLLOW_69);
             lv_declaredParam_3_0=ruleJvmFormalParameter();
 
             state._fsp--;
@@ -12630,7 +12767,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,73,FOLLOW_26); if (state.failed) return current;
+            otherlv_4=(Token)match(input,74,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_4, grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4());
@@ -12642,18 +12779,18 @@
 
             }
 
-            // InternalSignalDSL.g:4617:3: ( (lv_forExpression_5_0= ruleXExpression ) )
-            // InternalSignalDSL.g:4618:4: (lv_forExpression_5_0= ruleXExpression )
+            // InternalSignalDSL.g:4661:3: ( (lv_forExpression_5_0= ruleXExpression ) )
+            // InternalSignalDSL.g:4662:4: (lv_forExpression_5_0= ruleXExpression )
             {
-            // InternalSignalDSL.g:4618:4: (lv_forExpression_5_0= ruleXExpression )
-            // InternalSignalDSL.g:4619:5: lv_forExpression_5_0= ruleXExpression
+            // InternalSignalDSL.g:4662:4: (lv_forExpression_5_0= ruleXExpression )
+            // InternalSignalDSL.g:4663:5: lv_forExpression_5_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0());
               				
             }
-            pushFollow(FOLLOW_24);
+            pushFollow(FOLLOW_26);
             lv_forExpression_5_0=ruleXExpression();
 
             state._fsp--;
@@ -12677,17 +12814,17 @@
 
             }
 
-            otherlv_6=(Token)match(input,31,FOLLOW_26); if (state.failed) return current;
+            otherlv_6=(Token)match(input,32,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_6, grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2());
               		
             }
-            // InternalSignalDSL.g:4640:3: ( (lv_eachExpression_7_0= ruleXExpression ) )
-            // InternalSignalDSL.g:4641:4: (lv_eachExpression_7_0= ruleXExpression )
+            // InternalSignalDSL.g:4684:3: ( (lv_eachExpression_7_0= ruleXExpression ) )
+            // InternalSignalDSL.g:4685:4: (lv_eachExpression_7_0= ruleXExpression )
             {
-            // InternalSignalDSL.g:4641:4: (lv_eachExpression_7_0= ruleXExpression )
-            // InternalSignalDSL.g:4642:5: lv_eachExpression_7_0= ruleXExpression
+            // InternalSignalDSL.g:4685:4: (lv_eachExpression_7_0= ruleXExpression )
+            // InternalSignalDSL.g:4686:5: lv_eachExpression_7_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
@@ -12743,7 +12880,7 @@
 
 
     // $ANTLR start "entryRuleXBasicForLoopExpression"
-    // InternalSignalDSL.g:4663:1: entryRuleXBasicForLoopExpression returns [EObject current=null] : iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ;
+    // InternalSignalDSL.g:4707:1: entryRuleXBasicForLoopExpression returns [EObject current=null] : iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ;
     public final EObject entryRuleXBasicForLoopExpression() throws RecognitionException {
         EObject current = null;
 
@@ -12751,8 +12888,8 @@
 
 
         try {
-            // InternalSignalDSL.g:4663:64: (iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF )
-            // InternalSignalDSL.g:4664:2: iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF
+            // InternalSignalDSL.g:4707:64: (iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF )
+            // InternalSignalDSL.g:4708:2: iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXBasicForLoopExpressionRule()); 
@@ -12783,7 +12920,7 @@
 
 
     // $ANTLR start "ruleXBasicForLoopExpression"
-    // InternalSignalDSL.g:4670:1: ruleXBasicForLoopExpression returns [EObject current=null] : ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) ;
+    // InternalSignalDSL.g:4714:1: ruleXBasicForLoopExpression returns [EObject current=null] : ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) ;
     public final EObject ruleXBasicForLoopExpression() throws RecognitionException {
         EObject current = null;
 
@@ -12811,14 +12948,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:4676:2: ( ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) )
-            // InternalSignalDSL.g:4677:2: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) )
+            // InternalSignalDSL.g:4720:2: ( ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) )
+            // InternalSignalDSL.g:4721:2: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) )
             {
-            // InternalSignalDSL.g:4677:2: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) )
-            // InternalSignalDSL.g:4678:3: () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) )
+            // InternalSignalDSL.g:4721:2: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) )
+            // InternalSignalDSL.g:4722:3: () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) )
             {
-            // InternalSignalDSL.g:4678:3: ()
-            // InternalSignalDSL.g:4679:4: 
+            // InternalSignalDSL.g:4722:3: ()
+            // InternalSignalDSL.g:4723:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -12830,41 +12967,41 @@
 
             }
 
-            otherlv_1=(Token)match(input,18,FOLLOW_64); if (state.failed) return current;
+            otherlv_1=(Token)match(input,18,FOLLOW_66); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1());
               		
             }
-            otherlv_2=(Token)match(input,29,FOLLOW_72); if (state.failed) return current;
+            otherlv_2=(Token)match(input,30,FOLLOW_74); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2());
               		
             }
-            // InternalSignalDSL.g:4693:3: ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )?
-            int alt79=2;
-            int LA79_0 = input.LA(1);
+            // InternalSignalDSL.g:4737:3: ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )?
+            int alt80=2;
+            int LA80_0 = input.LA(1);
 
-            if ( ((LA79_0>=RULE_ID && LA79_0<=RULE_DECIMAL)||LA79_0==14||LA79_0==18||(LA79_0>=22 && LA79_0<=24)||LA79_0==29||(LA79_0>=33 && LA79_0<=34)||LA79_0==41||(LA79_0>=57 && LA79_0<=58)||LA79_0==62||LA79_0==70||LA79_0==72||(LA79_0>=76 && LA79_0<=89)||LA79_0==91) ) {
-                alt79=1;
+            if ( ((LA80_0>=RULE_STRING && LA80_0<=RULE_DECIMAL)||LA80_0==14||LA80_0==18||(LA80_0>=23 && LA80_0<=25)||LA80_0==30||(LA80_0>=34 && LA80_0<=35)||LA80_0==42||(LA80_0>=58 && LA80_0<=59)||LA80_0==63||LA80_0==71||LA80_0==73||(LA80_0>=77 && LA80_0<=90)||LA80_0==92) ) {
+                alt80=1;
             }
-            switch (alt79) {
+            switch (alt80) {
                 case 1 :
-                    // InternalSignalDSL.g:4694:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )*
+                    // InternalSignalDSL.g:4738:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )*
                     {
-                    // InternalSignalDSL.g:4694:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) )
-                    // InternalSignalDSL.g:4695:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration )
+                    // InternalSignalDSL.g:4738:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) )
+                    // InternalSignalDSL.g:4739:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration )
                     {
-                    // InternalSignalDSL.g:4695:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration )
-                    // InternalSignalDSL.g:4696:6: lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration
+                    // InternalSignalDSL.g:4739:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration )
+                    // InternalSignalDSL.g:4740:6: lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0());
                       					
                     }
-                    pushFollow(FOLLOW_73);
+                    pushFollow(FOLLOW_75);
                     lv_initExpressions_3_0=ruleXExpressionOrVarDeclaration();
 
                     state._fsp--;
@@ -12888,39 +13025,39 @@
 
                     }
 
-                    // InternalSignalDSL.g:4713:4: (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )*
-                    loop78:
+                    // InternalSignalDSL.g:4757:4: (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )*
+                    loop79:
                     do {
-                        int alt78=2;
-                        int LA78_0 = input.LA(1);
+                        int alt79=2;
+                        int LA79_0 = input.LA(1);
 
-                        if ( (LA78_0==30) ) {
-                            alt78=1;
+                        if ( (LA79_0==31) ) {
+                            alt79=1;
                         }
 
 
-                        switch (alt78) {
+                        switch (alt79) {
                     	case 1 :
-                    	    // InternalSignalDSL.g:4714:5: otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) )
+                    	    // InternalSignalDSL.g:4758:5: otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) )
                     	    {
-                    	    otherlv_4=(Token)match(input,30,FOLLOW_74); if (state.failed) return current;
+                    	    otherlv_4=(Token)match(input,31,FOLLOW_76); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      					newLeafNode(otherlv_4, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0());
                     	      				
                     	    }
-                    	    // InternalSignalDSL.g:4718:5: ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) )
-                    	    // InternalSignalDSL.g:4719:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration )
+                    	    // InternalSignalDSL.g:4762:5: ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) )
+                    	    // InternalSignalDSL.g:4763:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration )
                     	    {
-                    	    // InternalSignalDSL.g:4719:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration )
-                    	    // InternalSignalDSL.g:4720:7: lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration
+                    	    // InternalSignalDSL.g:4763:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration )
+                    	    // InternalSignalDSL.g:4764:7: lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_73);
+                    	    pushFollow(FOLLOW_75);
                     	    lv_initExpressions_5_0=ruleXExpressionOrVarDeclaration();
 
                     	    state._fsp--;
@@ -12949,7 +13086,7 @@
                     	    break;
 
                     	default :
-                    	    break loop78;
+                    	    break loop79;
                         }
                     } while (true);
 
@@ -12959,32 +13096,32 @@
 
             }
 
-            otherlv_6=(Token)match(input,27,FOLLOW_75); if (state.failed) return current;
+            otherlv_6=(Token)match(input,28,FOLLOW_77); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_6, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4());
               		
             }
-            // InternalSignalDSL.g:4743:3: ( (lv_expression_7_0= ruleXExpression ) )?
-            int alt80=2;
-            int LA80_0 = input.LA(1);
+            // InternalSignalDSL.g:4787:3: ( (lv_expression_7_0= ruleXExpression ) )?
+            int alt81=2;
+            int LA81_0 = input.LA(1);
 
-            if ( ((LA80_0>=RULE_ID && LA80_0<=RULE_DECIMAL)||LA80_0==14||LA80_0==18||(LA80_0>=22 && LA80_0<=24)||LA80_0==29||(LA80_0>=33 && LA80_0<=34)||LA80_0==41||(LA80_0>=57 && LA80_0<=58)||LA80_0==62||LA80_0==70||LA80_0==72||(LA80_0>=76 && LA80_0<=77)||(LA80_0>=80 && LA80_0<=89)||LA80_0==91) ) {
-                alt80=1;
+            if ( ((LA81_0>=RULE_STRING && LA81_0<=RULE_DECIMAL)||LA81_0==14||LA81_0==18||(LA81_0>=23 && LA81_0<=25)||LA81_0==30||(LA81_0>=34 && LA81_0<=35)||LA81_0==42||(LA81_0>=58 && LA81_0<=59)||LA81_0==63||LA81_0==71||LA81_0==73||(LA81_0>=77 && LA81_0<=78)||(LA81_0>=81 && LA81_0<=90)||LA81_0==92) ) {
+                alt81=1;
             }
-            switch (alt80) {
+            switch (alt81) {
                 case 1 :
-                    // InternalSignalDSL.g:4744:4: (lv_expression_7_0= ruleXExpression )
+                    // InternalSignalDSL.g:4788:4: (lv_expression_7_0= ruleXExpression )
                     {
-                    // InternalSignalDSL.g:4744:4: (lv_expression_7_0= ruleXExpression )
-                    // InternalSignalDSL.g:4745:5: lv_expression_7_0= ruleXExpression
+                    // InternalSignalDSL.g:4788:4: (lv_expression_7_0= ruleXExpression )
+                    // InternalSignalDSL.g:4789:5: lv_expression_7_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
                       					newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0());
                       				
                     }
-                    pushFollow(FOLLOW_76);
+                    pushFollow(FOLLOW_78);
                     lv_expression_7_0=ruleXExpression();
 
                     state._fsp--;
@@ -13011,35 +13148,35 @@
 
             }
 
-            otherlv_8=(Token)match(input,27,FOLLOW_22); if (state.failed) return current;
+            otherlv_8=(Token)match(input,28,FOLLOW_24); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_8, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6());
               		
             }
-            // InternalSignalDSL.g:4766:3: ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )?
-            int alt82=2;
-            int LA82_0 = input.LA(1);
+            // InternalSignalDSL.g:4810:3: ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )?
+            int alt83=2;
+            int LA83_0 = input.LA(1);
 
-            if ( ((LA82_0>=RULE_ID && LA82_0<=RULE_DECIMAL)||LA82_0==14||LA82_0==18||(LA82_0>=22 && LA82_0<=24)||LA82_0==29||(LA82_0>=33 && LA82_0<=34)||LA82_0==41||(LA82_0>=57 && LA82_0<=58)||LA82_0==62||LA82_0==70||LA82_0==72||(LA82_0>=76 && LA82_0<=77)||(LA82_0>=80 && LA82_0<=89)||LA82_0==91) ) {
-                alt82=1;
+            if ( ((LA83_0>=RULE_STRING && LA83_0<=RULE_DECIMAL)||LA83_0==14||LA83_0==18||(LA83_0>=23 && LA83_0<=25)||LA83_0==30||(LA83_0>=34 && LA83_0<=35)||LA83_0==42||(LA83_0>=58 && LA83_0<=59)||LA83_0==63||LA83_0==71||LA83_0==73||(LA83_0>=77 && LA83_0<=78)||(LA83_0>=81 && LA83_0<=90)||LA83_0==92) ) {
+                alt83=1;
             }
-            switch (alt82) {
+            switch (alt83) {
                 case 1 :
-                    // InternalSignalDSL.g:4767:4: ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )*
+                    // InternalSignalDSL.g:4811:4: ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )*
                     {
-                    // InternalSignalDSL.g:4767:4: ( (lv_updateExpressions_9_0= ruleXExpression ) )
-                    // InternalSignalDSL.g:4768:5: (lv_updateExpressions_9_0= ruleXExpression )
+                    // InternalSignalDSL.g:4811:4: ( (lv_updateExpressions_9_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:4812:5: (lv_updateExpressions_9_0= ruleXExpression )
                     {
-                    // InternalSignalDSL.g:4768:5: (lv_updateExpressions_9_0= ruleXExpression )
-                    // InternalSignalDSL.g:4769:6: lv_updateExpressions_9_0= ruleXExpression
+                    // InternalSignalDSL.g:4812:5: (lv_updateExpressions_9_0= ruleXExpression )
+                    // InternalSignalDSL.g:4813:6: lv_updateExpressions_9_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0());
                       					
                     }
-                    pushFollow(FOLLOW_23);
+                    pushFollow(FOLLOW_25);
                     lv_updateExpressions_9_0=ruleXExpression();
 
                     state._fsp--;
@@ -13063,39 +13200,39 @@
 
                     }
 
-                    // InternalSignalDSL.g:4786:4: (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )*
-                    loop81:
+                    // InternalSignalDSL.g:4830:4: (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )*
+                    loop82:
                     do {
-                        int alt81=2;
-                        int LA81_0 = input.LA(1);
+                        int alt82=2;
+                        int LA82_0 = input.LA(1);
 
-                        if ( (LA81_0==30) ) {
-                            alt81=1;
+                        if ( (LA82_0==31) ) {
+                            alt82=1;
                         }
 
 
-                        switch (alt81) {
+                        switch (alt82) {
                     	case 1 :
-                    	    // InternalSignalDSL.g:4787:5: otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) )
+                    	    // InternalSignalDSL.g:4831:5: otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) )
                     	    {
-                    	    otherlv_10=(Token)match(input,30,FOLLOW_26); if (state.failed) return current;
+                    	    otherlv_10=(Token)match(input,31,FOLLOW_28); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      					newLeafNode(otherlv_10, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0());
                     	      				
                     	    }
-                    	    // InternalSignalDSL.g:4791:5: ( (lv_updateExpressions_11_0= ruleXExpression ) )
-                    	    // InternalSignalDSL.g:4792:6: (lv_updateExpressions_11_0= ruleXExpression )
+                    	    // InternalSignalDSL.g:4835:5: ( (lv_updateExpressions_11_0= ruleXExpression ) )
+                    	    // InternalSignalDSL.g:4836:6: (lv_updateExpressions_11_0= ruleXExpression )
                     	    {
-                    	    // InternalSignalDSL.g:4792:6: (lv_updateExpressions_11_0= ruleXExpression )
-                    	    // InternalSignalDSL.g:4793:7: lv_updateExpressions_11_0= ruleXExpression
+                    	    // InternalSignalDSL.g:4836:6: (lv_updateExpressions_11_0= ruleXExpression )
+                    	    // InternalSignalDSL.g:4837:7: lv_updateExpressions_11_0= ruleXExpression
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_23);
+                    	    pushFollow(FOLLOW_25);
                     	    lv_updateExpressions_11_0=ruleXExpression();
 
                     	    state._fsp--;
@@ -13124,7 +13261,7 @@
                     	    break;
 
                     	default :
-                    	    break loop81;
+                    	    break loop82;
                         }
                     } while (true);
 
@@ -13134,17 +13271,17 @@
 
             }
 
-            otherlv_12=(Token)match(input,31,FOLLOW_26); if (state.failed) return current;
+            otherlv_12=(Token)match(input,32,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_12, grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8());
               		
             }
-            // InternalSignalDSL.g:4816:3: ( (lv_eachExpression_13_0= ruleXExpression ) )
-            // InternalSignalDSL.g:4817:4: (lv_eachExpression_13_0= ruleXExpression )
+            // InternalSignalDSL.g:4860:3: ( (lv_eachExpression_13_0= ruleXExpression ) )
+            // InternalSignalDSL.g:4861:4: (lv_eachExpression_13_0= ruleXExpression )
             {
-            // InternalSignalDSL.g:4817:4: (lv_eachExpression_13_0= ruleXExpression )
-            // InternalSignalDSL.g:4818:5: lv_eachExpression_13_0= ruleXExpression
+            // InternalSignalDSL.g:4861:4: (lv_eachExpression_13_0= ruleXExpression )
+            // InternalSignalDSL.g:4862:5: lv_eachExpression_13_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
@@ -13200,7 +13337,7 @@
 
 
     // $ANTLR start "entryRuleXWhileExpression"
-    // InternalSignalDSL.g:4839:1: entryRuleXWhileExpression returns [EObject current=null] : iv_ruleXWhileExpression= ruleXWhileExpression EOF ;
+    // InternalSignalDSL.g:4883:1: entryRuleXWhileExpression returns [EObject current=null] : iv_ruleXWhileExpression= ruleXWhileExpression EOF ;
     public final EObject entryRuleXWhileExpression() throws RecognitionException {
         EObject current = null;
 
@@ -13208,8 +13345,8 @@
 
 
         try {
-            // InternalSignalDSL.g:4839:57: (iv_ruleXWhileExpression= ruleXWhileExpression EOF )
-            // InternalSignalDSL.g:4840:2: iv_ruleXWhileExpression= ruleXWhileExpression EOF
+            // InternalSignalDSL.g:4883:57: (iv_ruleXWhileExpression= ruleXWhileExpression EOF )
+            // InternalSignalDSL.g:4884:2: iv_ruleXWhileExpression= ruleXWhileExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXWhileExpressionRule()); 
@@ -13240,7 +13377,7 @@
 
 
     // $ANTLR start "ruleXWhileExpression"
-    // InternalSignalDSL.g:4846:1: ruleXWhileExpression returns [EObject current=null] : ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) ;
+    // InternalSignalDSL.g:4890:1: ruleXWhileExpression returns [EObject current=null] : ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) ;
     public final EObject ruleXWhileExpression() throws RecognitionException {
         EObject current = null;
 
@@ -13256,14 +13393,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:4852:2: ( ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) )
-            // InternalSignalDSL.g:4853:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) )
+            // InternalSignalDSL.g:4896:2: ( ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) )
+            // InternalSignalDSL.g:4897:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) )
             {
-            // InternalSignalDSL.g:4853:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) )
-            // InternalSignalDSL.g:4854:3: () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) )
+            // InternalSignalDSL.g:4897:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) )
+            // InternalSignalDSL.g:4898:3: () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) )
             {
-            // InternalSignalDSL.g:4854:3: ()
-            // InternalSignalDSL.g:4855:4: 
+            // InternalSignalDSL.g:4898:3: ()
+            // InternalSignalDSL.g:4899:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -13275,30 +13412,30 @@
 
             }
 
-            otherlv_1=(Token)match(input,76,FOLLOW_64); if (state.failed) return current;
+            otherlv_1=(Token)match(input,77,FOLLOW_66); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1());
               		
             }
-            otherlv_2=(Token)match(input,29,FOLLOW_26); if (state.failed) return current;
+            otherlv_2=(Token)match(input,30,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2());
               		
             }
-            // InternalSignalDSL.g:4869:3: ( (lv_predicate_3_0= ruleXExpression ) )
-            // InternalSignalDSL.g:4870:4: (lv_predicate_3_0= ruleXExpression )
+            // InternalSignalDSL.g:4913:3: ( (lv_predicate_3_0= ruleXExpression ) )
+            // InternalSignalDSL.g:4914:4: (lv_predicate_3_0= ruleXExpression )
             {
-            // InternalSignalDSL.g:4870:4: (lv_predicate_3_0= ruleXExpression )
-            // InternalSignalDSL.g:4871:5: lv_predicate_3_0= ruleXExpression
+            // InternalSignalDSL.g:4914:4: (lv_predicate_3_0= ruleXExpression )
+            // InternalSignalDSL.g:4915:5: lv_predicate_3_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0());
               				
             }
-            pushFollow(FOLLOW_24);
+            pushFollow(FOLLOW_26);
             lv_predicate_3_0=ruleXExpression();
 
             state._fsp--;
@@ -13322,17 +13459,17 @@
 
             }
 
-            otherlv_4=(Token)match(input,31,FOLLOW_26); if (state.failed) return current;
+            otherlv_4=(Token)match(input,32,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_4, grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4());
               		
             }
-            // InternalSignalDSL.g:4892:3: ( (lv_body_5_0= ruleXExpression ) )
-            // InternalSignalDSL.g:4893:4: (lv_body_5_0= ruleXExpression )
+            // InternalSignalDSL.g:4936:3: ( (lv_body_5_0= ruleXExpression ) )
+            // InternalSignalDSL.g:4937:4: (lv_body_5_0= ruleXExpression )
             {
-            // InternalSignalDSL.g:4893:4: (lv_body_5_0= ruleXExpression )
-            // InternalSignalDSL.g:4894:5: lv_body_5_0= ruleXExpression
+            // InternalSignalDSL.g:4937:4: (lv_body_5_0= ruleXExpression )
+            // InternalSignalDSL.g:4938:5: lv_body_5_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
@@ -13388,7 +13525,7 @@
 
 
     // $ANTLR start "entryRuleXDoWhileExpression"
-    // InternalSignalDSL.g:4915:1: entryRuleXDoWhileExpression returns [EObject current=null] : iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ;
+    // InternalSignalDSL.g:4959:1: entryRuleXDoWhileExpression returns [EObject current=null] : iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ;
     public final EObject entryRuleXDoWhileExpression() throws RecognitionException {
         EObject current = null;
 
@@ -13396,8 +13533,8 @@
 
 
         try {
-            // InternalSignalDSL.g:4915:59: (iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF )
-            // InternalSignalDSL.g:4916:2: iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF
+            // InternalSignalDSL.g:4959:59: (iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF )
+            // InternalSignalDSL.g:4960:2: iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXDoWhileExpressionRule()); 
@@ -13428,7 +13565,7 @@
 
 
     // $ANTLR start "ruleXDoWhileExpression"
-    // InternalSignalDSL.g:4922:1: ruleXDoWhileExpression returns [EObject current=null] : ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) ;
+    // InternalSignalDSL.g:4966:1: ruleXDoWhileExpression returns [EObject current=null] : ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) ;
     public final EObject ruleXDoWhileExpression() throws RecognitionException {
         EObject current = null;
 
@@ -13445,14 +13582,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:4928:2: ( ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) )
-            // InternalSignalDSL.g:4929:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' )
+            // InternalSignalDSL.g:4972:2: ( ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) )
+            // InternalSignalDSL.g:4973:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' )
             {
-            // InternalSignalDSL.g:4929:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' )
-            // InternalSignalDSL.g:4930:3: () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')'
+            // InternalSignalDSL.g:4973:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' )
+            // InternalSignalDSL.g:4974:3: () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')'
             {
-            // InternalSignalDSL.g:4930:3: ()
-            // InternalSignalDSL.g:4931:4: 
+            // InternalSignalDSL.g:4974:3: ()
+            // InternalSignalDSL.g:4975:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -13464,24 +13601,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,77,FOLLOW_26); if (state.failed) return current;
+            otherlv_1=(Token)match(input,78,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1());
               		
             }
-            // InternalSignalDSL.g:4941:3: ( (lv_body_2_0= ruleXExpression ) )
-            // InternalSignalDSL.g:4942:4: (lv_body_2_0= ruleXExpression )
+            // InternalSignalDSL.g:4985:3: ( (lv_body_2_0= ruleXExpression ) )
+            // InternalSignalDSL.g:4986:4: (lv_body_2_0= ruleXExpression )
             {
-            // InternalSignalDSL.g:4942:4: (lv_body_2_0= ruleXExpression )
-            // InternalSignalDSL.g:4943:5: lv_body_2_0= ruleXExpression
+            // InternalSignalDSL.g:4986:4: (lv_body_2_0= ruleXExpression )
+            // InternalSignalDSL.g:4987:5: lv_body_2_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0());
               				
             }
-            pushFollow(FOLLOW_77);
+            pushFollow(FOLLOW_79);
             lv_body_2_0=ruleXExpression();
 
             state._fsp--;
@@ -13505,30 +13642,30 @@
 
             }
 
-            otherlv_3=(Token)match(input,76,FOLLOW_64); if (state.failed) return current;
+            otherlv_3=(Token)match(input,77,FOLLOW_66); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_3, grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3());
               		
             }
-            otherlv_4=(Token)match(input,29,FOLLOW_26); if (state.failed) return current;
+            otherlv_4=(Token)match(input,30,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_4, grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4());
               		
             }
-            // InternalSignalDSL.g:4968:3: ( (lv_predicate_5_0= ruleXExpression ) )
-            // InternalSignalDSL.g:4969:4: (lv_predicate_5_0= ruleXExpression )
+            // InternalSignalDSL.g:5012:3: ( (lv_predicate_5_0= ruleXExpression ) )
+            // InternalSignalDSL.g:5013:4: (lv_predicate_5_0= ruleXExpression )
             {
-            // InternalSignalDSL.g:4969:4: (lv_predicate_5_0= ruleXExpression )
-            // InternalSignalDSL.g:4970:5: lv_predicate_5_0= ruleXExpression
+            // InternalSignalDSL.g:5013:4: (lv_predicate_5_0= ruleXExpression )
+            // InternalSignalDSL.g:5014:5: lv_predicate_5_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0());
               				
             }
-            pushFollow(FOLLOW_24);
+            pushFollow(FOLLOW_26);
             lv_predicate_5_0=ruleXExpression();
 
             state._fsp--;
@@ -13552,7 +13689,7 @@
 
             }
 
-            otherlv_6=(Token)match(input,31,FOLLOW_2); if (state.failed) return current;
+            otherlv_6=(Token)match(input,32,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_6, grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6());
@@ -13583,7 +13720,7 @@
 
 
     // $ANTLR start "entryRuleXBlockExpression"
-    // InternalSignalDSL.g:4995:1: entryRuleXBlockExpression returns [EObject current=null] : iv_ruleXBlockExpression= ruleXBlockExpression EOF ;
+    // InternalSignalDSL.g:5039:1: entryRuleXBlockExpression returns [EObject current=null] : iv_ruleXBlockExpression= ruleXBlockExpression EOF ;
     public final EObject entryRuleXBlockExpression() throws RecognitionException {
         EObject current = null;
 
@@ -13591,8 +13728,8 @@
 
 
         try {
-            // InternalSignalDSL.g:4995:57: (iv_ruleXBlockExpression= ruleXBlockExpression EOF )
-            // InternalSignalDSL.g:4996:2: iv_ruleXBlockExpression= ruleXBlockExpression EOF
+            // InternalSignalDSL.g:5039:57: (iv_ruleXBlockExpression= ruleXBlockExpression EOF )
+            // InternalSignalDSL.g:5040:2: iv_ruleXBlockExpression= ruleXBlockExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXBlockExpressionRule()); 
@@ -13623,7 +13760,7 @@
 
 
     // $ANTLR start "ruleXBlockExpression"
-    // InternalSignalDSL.g:5002:1: ruleXBlockExpression returns [EObject current=null] : ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) ;
+    // InternalSignalDSL.g:5046:1: ruleXBlockExpression returns [EObject current=null] : ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) ;
     public final EObject ruleXBlockExpression() throws RecognitionException {
         EObject current = null;
 
@@ -13637,14 +13774,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:5008:2: ( ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) )
-            // InternalSignalDSL.g:5009:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' )
+            // InternalSignalDSL.g:5052:2: ( ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) )
+            // InternalSignalDSL.g:5053:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' )
             {
-            // InternalSignalDSL.g:5009:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' )
-            // InternalSignalDSL.g:5010:3: () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}'
+            // InternalSignalDSL.g:5053:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' )
+            // InternalSignalDSL.g:5054:3: () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}'
             {
-            // InternalSignalDSL.g:5010:3: ()
-            // InternalSignalDSL.g:5011:4: 
+            // InternalSignalDSL.g:5054:3: ()
+            // InternalSignalDSL.g:5055:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -13656,39 +13793,39 @@
 
             }
 
-            otherlv_1=(Token)match(input,14,FOLLOW_78); if (state.failed) return current;
+            otherlv_1=(Token)match(input,14,FOLLOW_80); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1());
               		
             }
-            // InternalSignalDSL.g:5021:3: ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )*
-            loop84:
+            // InternalSignalDSL.g:5065:3: ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )*
+            loop85:
             do {
-                int alt84=2;
-                int LA84_0 = input.LA(1);
+                int alt85=2;
+                int LA85_0 = input.LA(1);
 
-                if ( ((LA84_0>=RULE_ID && LA84_0<=RULE_DECIMAL)||LA84_0==14||LA84_0==18||(LA84_0>=22 && LA84_0<=24)||LA84_0==29||(LA84_0>=33 && LA84_0<=34)||LA84_0==41||(LA84_0>=57 && LA84_0<=58)||LA84_0==62||LA84_0==70||LA84_0==72||(LA84_0>=76 && LA84_0<=89)||LA84_0==91) ) {
-                    alt84=1;
+                if ( ((LA85_0>=RULE_STRING && LA85_0<=RULE_DECIMAL)||LA85_0==14||LA85_0==18||(LA85_0>=23 && LA85_0<=25)||LA85_0==30||(LA85_0>=34 && LA85_0<=35)||LA85_0==42||(LA85_0>=58 && LA85_0<=59)||LA85_0==63||LA85_0==71||LA85_0==73||(LA85_0>=77 && LA85_0<=90)||LA85_0==92) ) {
+                    alt85=1;
                 }
 
 
-                switch (alt84) {
+                switch (alt85) {
             	case 1 :
-            	    // InternalSignalDSL.g:5022:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )?
+            	    // InternalSignalDSL.g:5066:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )?
             	    {
-            	    // InternalSignalDSL.g:5022:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) )
-            	    // InternalSignalDSL.g:5023:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration )
+            	    // InternalSignalDSL.g:5066:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) )
+            	    // InternalSignalDSL.g:5067:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration )
             	    {
-            	    // InternalSignalDSL.g:5023:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration )
-            	    // InternalSignalDSL.g:5024:6: lv_expressions_2_0= ruleXExpressionOrVarDeclaration
+            	    // InternalSignalDSL.g:5067:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration )
+            	    // InternalSignalDSL.g:5068:6: lv_expressions_2_0= ruleXExpressionOrVarDeclaration
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      						newCompositeNode(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0());
             	      					
             	    }
-            	    pushFollow(FOLLOW_79);
+            	    pushFollow(FOLLOW_81);
             	    lv_expressions_2_0=ruleXExpressionOrVarDeclaration();
 
             	    state._fsp--;
@@ -13712,18 +13849,18 @@
 
             	    }
 
-            	    // InternalSignalDSL.g:5041:4: (otherlv_3= ';' )?
-            	    int alt83=2;
-            	    int LA83_0 = input.LA(1);
+            	    // InternalSignalDSL.g:5085:4: (otherlv_3= ';' )?
+            	    int alt84=2;
+            	    int LA84_0 = input.LA(1);
 
-            	    if ( (LA83_0==27) ) {
-            	        alt83=1;
+            	    if ( (LA84_0==28) ) {
+            	        alt84=1;
             	    }
-            	    switch (alt83) {
+            	    switch (alt84) {
             	        case 1 :
-            	            // InternalSignalDSL.g:5042:5: otherlv_3= ';'
+            	            // InternalSignalDSL.g:5086:5: otherlv_3= ';'
             	            {
-            	            otherlv_3=(Token)match(input,27,FOLLOW_78); if (state.failed) return current;
+            	            otherlv_3=(Token)match(input,28,FOLLOW_80); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              					newLeafNode(otherlv_3, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1());
@@ -13740,7 +13877,7 @@
             	    break;
 
             	default :
-            	    break loop84;
+            	    break loop85;
                 }
             } while (true);
 
@@ -13775,7 +13912,7 @@
 
 
     // $ANTLR start "entryRuleXExpressionOrVarDeclaration"
-    // InternalSignalDSL.g:5056:1: entryRuleXExpressionOrVarDeclaration returns [EObject current=null] : iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ;
+    // InternalSignalDSL.g:5100:1: entryRuleXExpressionOrVarDeclaration returns [EObject current=null] : iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ;
     public final EObject entryRuleXExpressionOrVarDeclaration() throws RecognitionException {
         EObject current = null;
 
@@ -13783,8 +13920,8 @@
 
 
         try {
-            // InternalSignalDSL.g:5056:68: (iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF )
-            // InternalSignalDSL.g:5057:2: iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF
+            // InternalSignalDSL.g:5100:68: (iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF )
+            // InternalSignalDSL.g:5101:2: iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationRule()); 
@@ -13815,7 +13952,7 @@
 
 
     // $ANTLR start "ruleXExpressionOrVarDeclaration"
-    // InternalSignalDSL.g:5063:1: ruleXExpressionOrVarDeclaration returns [EObject current=null] : (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) ;
+    // InternalSignalDSL.g:5107:1: ruleXExpressionOrVarDeclaration returns [EObject current=null] : (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) ;
     public final EObject ruleXExpressionOrVarDeclaration() throws RecognitionException {
         EObject current = null;
 
@@ -13828,29 +13965,29 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:5069:2: ( (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) )
-            // InternalSignalDSL.g:5070:2: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression )
+            // InternalSignalDSL.g:5113:2: ( (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) )
+            // InternalSignalDSL.g:5114:2: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression )
             {
-            // InternalSignalDSL.g:5070:2: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression )
-            int alt85=2;
-            int LA85_0 = input.LA(1);
+            // InternalSignalDSL.g:5114:2: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression )
+            int alt86=2;
+            int LA86_0 = input.LA(1);
 
-            if ( ((LA85_0>=78 && LA85_0<=79)) ) {
-                alt85=1;
+            if ( ((LA86_0>=79 && LA86_0<=80)) ) {
+                alt86=1;
             }
-            else if ( ((LA85_0>=RULE_ID && LA85_0<=RULE_DECIMAL)||LA85_0==14||LA85_0==18||(LA85_0>=22 && LA85_0<=24)||LA85_0==29||(LA85_0>=33 && LA85_0<=34)||LA85_0==41||(LA85_0>=57 && LA85_0<=58)||LA85_0==62||LA85_0==70||LA85_0==72||(LA85_0>=76 && LA85_0<=77)||(LA85_0>=80 && LA85_0<=89)||LA85_0==91) ) {
-                alt85=2;
+            else if ( ((LA86_0>=RULE_STRING && LA86_0<=RULE_DECIMAL)||LA86_0==14||LA86_0==18||(LA86_0>=23 && LA86_0<=25)||LA86_0==30||(LA86_0>=34 && LA86_0<=35)||LA86_0==42||(LA86_0>=58 && LA86_0<=59)||LA86_0==63||LA86_0==71||LA86_0==73||(LA86_0>=77 && LA86_0<=78)||(LA86_0>=81 && LA86_0<=90)||LA86_0==92) ) {
+                alt86=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 85, 0, input);
+                    new NoViableAltException("", 86, 0, input);
 
                 throw nvae;
             }
-            switch (alt85) {
+            switch (alt86) {
                 case 1 :
-                    // InternalSignalDSL.g:5071:3: this_XVariableDeclaration_0= ruleXVariableDeclaration
+                    // InternalSignalDSL.g:5115:3: this_XVariableDeclaration_0= ruleXVariableDeclaration
                     {
                     if ( state.backtracking==0 ) {
 
@@ -13872,7 +14009,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:5080:3: this_XExpression_1= ruleXExpression
+                    // InternalSignalDSL.g:5124:3: this_XExpression_1= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -13918,7 +14055,7 @@
 
 
     // $ANTLR start "entryRuleXVariableDeclaration"
-    // InternalSignalDSL.g:5092:1: entryRuleXVariableDeclaration returns [EObject current=null] : iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ;
+    // InternalSignalDSL.g:5136:1: entryRuleXVariableDeclaration returns [EObject current=null] : iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ;
     public final EObject entryRuleXVariableDeclaration() throws RecognitionException {
         EObject current = null;
 
@@ -13926,8 +14063,8 @@
 
 
         try {
-            // InternalSignalDSL.g:5092:61: (iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF )
-            // InternalSignalDSL.g:5093:2: iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF
+            // InternalSignalDSL.g:5136:61: (iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF )
+            // InternalSignalDSL.g:5137:2: iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXVariableDeclarationRule()); 
@@ -13958,7 +14095,7 @@
 
 
     // $ANTLR start "ruleXVariableDeclaration"
-    // InternalSignalDSL.g:5099:1: ruleXVariableDeclaration returns [EObject current=null] : ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) ;
+    // InternalSignalDSL.g:5143:1: ruleXVariableDeclaration returns [EObject current=null] : ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) ;
     public final EObject ruleXVariableDeclaration() throws RecognitionException {
         EObject current = null;
 
@@ -13978,14 +14115,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:5105:2: ( ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) )
-            // InternalSignalDSL.g:5106:2: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? )
+            // InternalSignalDSL.g:5149:2: ( ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) )
+            // InternalSignalDSL.g:5150:2: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? )
             {
-            // InternalSignalDSL.g:5106:2: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? )
-            // InternalSignalDSL.g:5107:3: () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )?
+            // InternalSignalDSL.g:5150:2: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? )
+            // InternalSignalDSL.g:5151:3: () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )?
             {
-            // InternalSignalDSL.g:5107:3: ()
-            // InternalSignalDSL.g:5108:4: 
+            // InternalSignalDSL.g:5151:3: ()
+            // InternalSignalDSL.g:5152:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -13997,34 +14134,34 @@
 
             }
 
-            // InternalSignalDSL.g:5114:3: ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' )
-            int alt86=2;
-            int LA86_0 = input.LA(1);
+            // InternalSignalDSL.g:5158:3: ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' )
+            int alt87=2;
+            int LA87_0 = input.LA(1);
 
-            if ( (LA86_0==78) ) {
-                alt86=1;
+            if ( (LA87_0==79) ) {
+                alt87=1;
             }
-            else if ( (LA86_0==79) ) {
-                alt86=2;
+            else if ( (LA87_0==80) ) {
+                alt87=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 86, 0, input);
+                    new NoViableAltException("", 87, 0, input);
 
                 throw nvae;
             }
-            switch (alt86) {
+            switch (alt87) {
                 case 1 :
-                    // InternalSignalDSL.g:5115:4: ( (lv_writeable_1_0= 'var' ) )
+                    // InternalSignalDSL.g:5159:4: ( (lv_writeable_1_0= 'var' ) )
                     {
-                    // InternalSignalDSL.g:5115:4: ( (lv_writeable_1_0= 'var' ) )
-                    // InternalSignalDSL.g:5116:5: (lv_writeable_1_0= 'var' )
+                    // InternalSignalDSL.g:5159:4: ( (lv_writeable_1_0= 'var' ) )
+                    // InternalSignalDSL.g:5160:5: (lv_writeable_1_0= 'var' )
                     {
-                    // InternalSignalDSL.g:5116:5: (lv_writeable_1_0= 'var' )
-                    // InternalSignalDSL.g:5117:6: lv_writeable_1_0= 'var'
+                    // InternalSignalDSL.g:5160:5: (lv_writeable_1_0= 'var' )
+                    // InternalSignalDSL.g:5161:6: lv_writeable_1_0= 'var'
                     {
-                    lv_writeable_1_0=(Token)match(input,78,FOLLOW_39); if (state.failed) return current;
+                    lv_writeable_1_0=(Token)match(input,79,FOLLOW_41); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(lv_writeable_1_0, grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0());
@@ -14048,9 +14185,9 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:5130:4: otherlv_2= 'val'
+                    // InternalSignalDSL.g:5174:4: otherlv_2= 'val'
                     {
-                    otherlv_2=(Token)match(input,79,FOLLOW_39); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,80,FOLLOW_41); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_2, grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1());
@@ -14062,55 +14199,55 @@
 
             }
 
-            // InternalSignalDSL.g:5135:3: ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) )
-            int alt87=2;
-            int LA87_0 = input.LA(1);
+            // InternalSignalDSL.g:5179:3: ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) )
+            int alt88=2;
+            int LA88_0 = input.LA(1);
 
-            if ( (LA87_0==RULE_ID) ) {
-                int LA87_1 = input.LA(2);
+            if ( (LA88_0==RULE_ID) ) {
+                int LA88_1 = input.LA(2);
 
                 if ( (synpred35_InternalSignalDSL()) ) {
-                    alt87=1;
+                    alt88=1;
                 }
                 else if ( (true) ) {
-                    alt87=2;
+                    alt88=2;
                 }
                 else {
                     if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 87, 1, input);
+                        new NoViableAltException("", 88, 1, input);
 
                     throw nvae;
                 }
             }
-            else if ( (LA87_0==29) && (synpred35_InternalSignalDSL())) {
-                alt87=1;
+            else if ( (LA88_0==30) && (synpred35_InternalSignalDSL())) {
+                alt88=1;
             }
-            else if ( (LA87_0==54) && (synpred35_InternalSignalDSL())) {
-                alt87=1;
+            else if ( (LA88_0==55) && (synpred35_InternalSignalDSL())) {
+                alt88=1;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 87, 0, input);
+                    new NoViableAltException("", 88, 0, input);
 
                 throw nvae;
             }
-            switch (alt87) {
+            switch (alt88) {
                 case 1 :
-                    // InternalSignalDSL.g:5136:4: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) )
+                    // InternalSignalDSL.g:5180:4: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) )
                     {
-                    // InternalSignalDSL.g:5136:4: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) )
-                    // InternalSignalDSL.g:5137:5: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) )
+                    // InternalSignalDSL.g:5180:4: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) )
+                    // InternalSignalDSL.g:5181:5: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) )
                     {
-                    // InternalSignalDSL.g:5150:5: ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) )
-                    // InternalSignalDSL.g:5151:6: ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) )
+                    // InternalSignalDSL.g:5194:5: ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) )
+                    // InternalSignalDSL.g:5195:6: ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) )
                     {
-                    // InternalSignalDSL.g:5151:6: ( (lv_type_3_0= ruleJvmTypeReference ) )
-                    // InternalSignalDSL.g:5152:7: (lv_type_3_0= ruleJvmTypeReference )
+                    // InternalSignalDSL.g:5195:6: ( (lv_type_3_0= ruleJvmTypeReference ) )
+                    // InternalSignalDSL.g:5196:7: (lv_type_3_0= ruleJvmTypeReference )
                     {
-                    // InternalSignalDSL.g:5152:7: (lv_type_3_0= ruleJvmTypeReference )
-                    // InternalSignalDSL.g:5153:8: lv_type_3_0= ruleJvmTypeReference
+                    // InternalSignalDSL.g:5196:7: (lv_type_3_0= ruleJvmTypeReference )
+                    // InternalSignalDSL.g:5197:8: lv_type_3_0= ruleJvmTypeReference
                     {
                     if ( state.backtracking==0 ) {
 
@@ -14141,18 +14278,18 @@
 
                     }
 
-                    // InternalSignalDSL.g:5170:6: ( (lv_name_4_0= ruleValidID ) )
-                    // InternalSignalDSL.g:5171:7: (lv_name_4_0= ruleValidID )
+                    // InternalSignalDSL.g:5214:6: ( (lv_name_4_0= ruleValidID ) )
+                    // InternalSignalDSL.g:5215:7: (lv_name_4_0= ruleValidID )
                     {
-                    // InternalSignalDSL.g:5171:7: (lv_name_4_0= ruleValidID )
-                    // InternalSignalDSL.g:5172:8: lv_name_4_0= ruleValidID
+                    // InternalSignalDSL.g:5215:7: (lv_name_4_0= ruleValidID )
+                    // InternalSignalDSL.g:5216:8: lv_name_4_0= ruleValidID
                     {
                     if ( state.backtracking==0 ) {
 
                       								newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0());
                       							
                     }
-                    pushFollow(FOLLOW_80);
+                    pushFollow(FOLLOW_82);
                     lv_name_4_0=ruleValidID();
 
                     state._fsp--;
@@ -14186,20 +14323,20 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:5192:4: ( (lv_name_5_0= ruleValidID ) )
+                    // InternalSignalDSL.g:5236:4: ( (lv_name_5_0= ruleValidID ) )
                     {
-                    // InternalSignalDSL.g:5192:4: ( (lv_name_5_0= ruleValidID ) )
-                    // InternalSignalDSL.g:5193:5: (lv_name_5_0= ruleValidID )
+                    // InternalSignalDSL.g:5236:4: ( (lv_name_5_0= ruleValidID ) )
+                    // InternalSignalDSL.g:5237:5: (lv_name_5_0= ruleValidID )
                     {
-                    // InternalSignalDSL.g:5193:5: (lv_name_5_0= ruleValidID )
-                    // InternalSignalDSL.g:5194:6: lv_name_5_0= ruleValidID
+                    // InternalSignalDSL.g:5237:5: (lv_name_5_0= ruleValidID )
+                    // InternalSignalDSL.g:5238:6: lv_name_5_0= ruleValidID
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_80);
+                    pushFollow(FOLLOW_82);
                     lv_name_5_0=ruleValidID();
 
                     state._fsp--;
@@ -14229,28 +14366,28 @@
 
             }
 
-            // InternalSignalDSL.g:5212:3: (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )?
-            int alt88=2;
-            int LA88_0 = input.LA(1);
+            // InternalSignalDSL.g:5256:3: (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )?
+            int alt89=2;
+            int LA89_0 = input.LA(1);
 
-            if ( (LA88_0==32) ) {
-                alt88=1;
+            if ( (LA89_0==33) ) {
+                alt89=1;
             }
-            switch (alt88) {
+            switch (alt89) {
                 case 1 :
-                    // InternalSignalDSL.g:5213:4: otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:5257:4: otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) )
                     {
-                    otherlv_6=(Token)match(input,32,FOLLOW_26); if (state.failed) return current;
+                    otherlv_6=(Token)match(input,33,FOLLOW_28); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_6, grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0());
                       			
                     }
-                    // InternalSignalDSL.g:5217:4: ( (lv_right_7_0= ruleXExpression ) )
-                    // InternalSignalDSL.g:5218:5: (lv_right_7_0= ruleXExpression )
+                    // InternalSignalDSL.g:5261:4: ( (lv_right_7_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:5262:5: (lv_right_7_0= ruleXExpression )
                     {
-                    // InternalSignalDSL.g:5218:5: (lv_right_7_0= ruleXExpression )
-                    // InternalSignalDSL.g:5219:6: lv_right_7_0= ruleXExpression
+                    // InternalSignalDSL.g:5262:5: (lv_right_7_0= ruleXExpression )
+                    // InternalSignalDSL.g:5263:6: lv_right_7_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -14312,7 +14449,7 @@
 
 
     // $ANTLR start "entryRuleJvmFormalParameter"
-    // InternalSignalDSL.g:5241:1: entryRuleJvmFormalParameter returns [EObject current=null] : iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ;
+    // InternalSignalDSL.g:5285:1: entryRuleJvmFormalParameter returns [EObject current=null] : iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ;
     public final EObject entryRuleJvmFormalParameter() throws RecognitionException {
         EObject current = null;
 
@@ -14320,8 +14457,8 @@
 
 
         try {
-            // InternalSignalDSL.g:5241:59: (iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF )
-            // InternalSignalDSL.g:5242:2: iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF
+            // InternalSignalDSL.g:5285:59: (iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF )
+            // InternalSignalDSL.g:5286:2: iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmFormalParameterRule()); 
@@ -14352,7 +14489,7 @@
 
 
     // $ANTLR start "ruleJvmFormalParameter"
-    // InternalSignalDSL.g:5248:1: ruleJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) ;
+    // InternalSignalDSL.g:5292:1: ruleJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) ;
     public final EObject ruleJvmFormalParameter() throws RecognitionException {
         EObject current = null;
 
@@ -14365,32 +14502,32 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:5254:2: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) )
-            // InternalSignalDSL.g:5255:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) )
+            // InternalSignalDSL.g:5298:2: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) )
+            // InternalSignalDSL.g:5299:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) )
             {
-            // InternalSignalDSL.g:5255:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) )
-            // InternalSignalDSL.g:5256:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) )
+            // InternalSignalDSL.g:5299:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) )
+            // InternalSignalDSL.g:5300:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) )
             {
-            // InternalSignalDSL.g:5256:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )?
-            int alt89=2;
-            int LA89_0 = input.LA(1);
+            // InternalSignalDSL.g:5300:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )?
+            int alt90=2;
+            int LA90_0 = input.LA(1);
 
-            if ( (LA89_0==RULE_ID) ) {
-                int LA89_1 = input.LA(2);
+            if ( (LA90_0==RULE_ID) ) {
+                int LA90_1 = input.LA(2);
 
-                if ( (LA89_1==RULE_ID||LA89_1==34||LA89_1==41||LA89_1==66) ) {
-                    alt89=1;
+                if ( (LA90_1==RULE_ID||LA90_1==35||LA90_1==42||LA90_1==67) ) {
+                    alt90=1;
                 }
             }
-            else if ( (LA89_0==29||LA89_0==54) ) {
-                alt89=1;
+            else if ( (LA90_0==30||LA90_0==55) ) {
+                alt90=1;
             }
-            switch (alt89) {
+            switch (alt90) {
                 case 1 :
-                    // InternalSignalDSL.g:5257:4: (lv_parameterType_0_0= ruleJvmTypeReference )
+                    // InternalSignalDSL.g:5301:4: (lv_parameterType_0_0= ruleJvmTypeReference )
                     {
-                    // InternalSignalDSL.g:5257:4: (lv_parameterType_0_0= ruleJvmTypeReference )
-                    // InternalSignalDSL.g:5258:5: lv_parameterType_0_0= ruleJvmTypeReference
+                    // InternalSignalDSL.g:5301:4: (lv_parameterType_0_0= ruleJvmTypeReference )
+                    // InternalSignalDSL.g:5302:5: lv_parameterType_0_0= ruleJvmTypeReference
                     {
                     if ( state.backtracking==0 ) {
 
@@ -14424,11 +14561,11 @@
 
             }
 
-            // InternalSignalDSL.g:5275:3: ( (lv_name_1_0= ruleValidID ) )
-            // InternalSignalDSL.g:5276:4: (lv_name_1_0= ruleValidID )
+            // InternalSignalDSL.g:5319:3: ( (lv_name_1_0= ruleValidID ) )
+            // InternalSignalDSL.g:5320:4: (lv_name_1_0= ruleValidID )
             {
-            // InternalSignalDSL.g:5276:4: (lv_name_1_0= ruleValidID )
-            // InternalSignalDSL.g:5277:5: lv_name_1_0= ruleValidID
+            // InternalSignalDSL.g:5320:4: (lv_name_1_0= ruleValidID )
+            // InternalSignalDSL.g:5321:5: lv_name_1_0= ruleValidID
             {
             if ( state.backtracking==0 ) {
 
@@ -14484,7 +14621,7 @@
 
 
     // $ANTLR start "entryRuleFullJvmFormalParameter"
-    // InternalSignalDSL.g:5298:1: entryRuleFullJvmFormalParameter returns [EObject current=null] : iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ;
+    // InternalSignalDSL.g:5342:1: entryRuleFullJvmFormalParameter returns [EObject current=null] : iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ;
     public final EObject entryRuleFullJvmFormalParameter() throws RecognitionException {
         EObject current = null;
 
@@ -14492,8 +14629,8 @@
 
 
         try {
-            // InternalSignalDSL.g:5298:63: (iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF )
-            // InternalSignalDSL.g:5299:2: iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF
+            // InternalSignalDSL.g:5342:63: (iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF )
+            // InternalSignalDSL.g:5343:2: iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getFullJvmFormalParameterRule()); 
@@ -14524,7 +14661,7 @@
 
 
     // $ANTLR start "ruleFullJvmFormalParameter"
-    // InternalSignalDSL.g:5305:1: ruleFullJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) ;
+    // InternalSignalDSL.g:5349:1: ruleFullJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) ;
     public final EObject ruleFullJvmFormalParameter() throws RecognitionException {
         EObject current = null;
 
@@ -14537,17 +14674,17 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:5311:2: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) )
-            // InternalSignalDSL.g:5312:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) )
+            // InternalSignalDSL.g:5355:2: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) )
+            // InternalSignalDSL.g:5356:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) )
             {
-            // InternalSignalDSL.g:5312:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) )
-            // InternalSignalDSL.g:5313:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) )
+            // InternalSignalDSL.g:5356:2: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) )
+            // InternalSignalDSL.g:5357:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) )
             {
-            // InternalSignalDSL.g:5313:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:5314:4: (lv_parameterType_0_0= ruleJvmTypeReference )
+            // InternalSignalDSL.g:5357:3: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:5358:4: (lv_parameterType_0_0= ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:5314:4: (lv_parameterType_0_0= ruleJvmTypeReference )
-            // InternalSignalDSL.g:5315:5: lv_parameterType_0_0= ruleJvmTypeReference
+            // InternalSignalDSL.g:5358:4: (lv_parameterType_0_0= ruleJvmTypeReference )
+            // InternalSignalDSL.g:5359:5: lv_parameterType_0_0= ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
 
@@ -14578,11 +14715,11 @@
 
             }
 
-            // InternalSignalDSL.g:5332:3: ( (lv_name_1_0= ruleValidID ) )
-            // InternalSignalDSL.g:5333:4: (lv_name_1_0= ruleValidID )
+            // InternalSignalDSL.g:5376:3: ( (lv_name_1_0= ruleValidID ) )
+            // InternalSignalDSL.g:5377:4: (lv_name_1_0= ruleValidID )
             {
-            // InternalSignalDSL.g:5333:4: (lv_name_1_0= ruleValidID )
-            // InternalSignalDSL.g:5334:5: lv_name_1_0= ruleValidID
+            // InternalSignalDSL.g:5377:4: (lv_name_1_0= ruleValidID )
+            // InternalSignalDSL.g:5378:5: lv_name_1_0= ruleValidID
             {
             if ( state.backtracking==0 ) {
 
@@ -14638,7 +14775,7 @@
 
 
     // $ANTLR start "entryRuleXFeatureCall"
-    // InternalSignalDSL.g:5355:1: entryRuleXFeatureCall returns [EObject current=null] : iv_ruleXFeatureCall= ruleXFeatureCall EOF ;
+    // InternalSignalDSL.g:5399:1: entryRuleXFeatureCall returns [EObject current=null] : iv_ruleXFeatureCall= ruleXFeatureCall EOF ;
     public final EObject entryRuleXFeatureCall() throws RecognitionException {
         EObject current = null;
 
@@ -14646,8 +14783,8 @@
 
 
         try {
-            // InternalSignalDSL.g:5355:53: (iv_ruleXFeatureCall= ruleXFeatureCall EOF )
-            // InternalSignalDSL.g:5356:2: iv_ruleXFeatureCall= ruleXFeatureCall EOF
+            // InternalSignalDSL.g:5399:53: (iv_ruleXFeatureCall= ruleXFeatureCall EOF )
+            // InternalSignalDSL.g:5400:2: iv_ruleXFeatureCall= ruleXFeatureCall EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXFeatureCallRule()); 
@@ -14678,7 +14815,7 @@
 
 
     // $ANTLR start "ruleXFeatureCall"
-    // InternalSignalDSL.g:5362:1: ruleXFeatureCall returns [EObject current=null] : ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) ;
+    // InternalSignalDSL.g:5406:1: ruleXFeatureCall returns [EObject current=null] : ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) ;
     public final EObject ruleXFeatureCall() throws RecognitionException {
         EObject current = null;
 
@@ -14705,14 +14842,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:5368:2: ( ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) )
-            // InternalSignalDSL.g:5369:2: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? )
+            // InternalSignalDSL.g:5412:2: ( ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) )
+            // InternalSignalDSL.g:5413:2: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? )
             {
-            // InternalSignalDSL.g:5369:2: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? )
-            // InternalSignalDSL.g:5370:3: () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?
+            // InternalSignalDSL.g:5413:2: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? )
+            // InternalSignalDSL.g:5414:3: () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?
             {
-            // InternalSignalDSL.g:5370:3: ()
-            // InternalSignalDSL.g:5371:4: 
+            // InternalSignalDSL.g:5414:3: ()
+            // InternalSignalDSL.g:5415:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -14724,35 +14861,35 @@
 
             }
 
-            // InternalSignalDSL.g:5377:3: (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )?
-            int alt91=2;
-            int LA91_0 = input.LA(1);
+            // InternalSignalDSL.g:5421:3: (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )?
+            int alt92=2;
+            int LA92_0 = input.LA(1);
 
-            if ( (LA91_0==41) ) {
-                alt91=1;
+            if ( (LA92_0==42) ) {
+                alt92=1;
             }
-            switch (alt91) {
+            switch (alt92) {
                 case 1 :
-                    // InternalSignalDSL.g:5378:4: otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>'
+                    // InternalSignalDSL.g:5422:4: otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>'
                     {
-                    otherlv_1=(Token)match(input,41,FOLLOW_51); if (state.failed) return current;
+                    otherlv_1=(Token)match(input,42,FOLLOW_53); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_1, grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0());
                       			
                     }
-                    // InternalSignalDSL.g:5382:4: ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) )
-                    // InternalSignalDSL.g:5383:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference )
+                    // InternalSignalDSL.g:5426:4: ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) )
+                    // InternalSignalDSL.g:5427:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference )
                     {
-                    // InternalSignalDSL.g:5383:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference )
-                    // InternalSignalDSL.g:5384:6: lv_typeArguments_2_0= ruleJvmArgumentTypeReference
+                    // InternalSignalDSL.g:5427:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference )
+                    // InternalSignalDSL.g:5428:6: lv_typeArguments_2_0= ruleJvmArgumentTypeReference
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_52);
+                    pushFollow(FOLLOW_54);
                     lv_typeArguments_2_0=ruleJvmArgumentTypeReference();
 
                     state._fsp--;
@@ -14776,39 +14913,39 @@
 
                     }
 
-                    // InternalSignalDSL.g:5401:4: (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )*
-                    loop90:
+                    // InternalSignalDSL.g:5445:4: (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )*
+                    loop91:
                     do {
-                        int alt90=2;
-                        int LA90_0 = input.LA(1);
+                        int alt91=2;
+                        int LA91_0 = input.LA(1);
 
-                        if ( (LA90_0==30) ) {
-                            alt90=1;
+                        if ( (LA91_0==31) ) {
+                            alt91=1;
                         }
 
 
-                        switch (alt90) {
+                        switch (alt91) {
                     	case 1 :
-                    	    // InternalSignalDSL.g:5402:5: otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
+                    	    // InternalSignalDSL.g:5446:5: otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
                     	    {
-                    	    otherlv_3=(Token)match(input,30,FOLLOW_51); if (state.failed) return current;
+                    	    otherlv_3=(Token)match(input,31,FOLLOW_53); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      					newLeafNode(otherlv_3, grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0());
                     	      				
                     	    }
-                    	    // InternalSignalDSL.g:5406:5: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
-                    	    // InternalSignalDSL.g:5407:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
+                    	    // InternalSignalDSL.g:5450:5: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
+                    	    // InternalSignalDSL.g:5451:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
                     	    {
-                    	    // InternalSignalDSL.g:5407:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
-                    	    // InternalSignalDSL.g:5408:7: lv_typeArguments_4_0= ruleJvmArgumentTypeReference
+                    	    // InternalSignalDSL.g:5451:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
+                    	    // InternalSignalDSL.g:5452:7: lv_typeArguments_4_0= ruleJvmArgumentTypeReference
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_52);
+                    	    pushFollow(FOLLOW_54);
                     	    lv_typeArguments_4_0=ruleJvmArgumentTypeReference();
 
                     	    state._fsp--;
@@ -14837,11 +14974,11 @@
                     	    break;
 
                     	default :
-                    	    break loop90;
+                    	    break loop91;
                         }
                     } while (true);
 
-                    otherlv_5=(Token)match(input,42,FOLLOW_50); if (state.failed) return current;
+                    otherlv_5=(Token)match(input,43,FOLLOW_52); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_5, grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3());
@@ -14853,11 +14990,11 @@
 
             }
 
-            // InternalSignalDSL.g:5431:3: ( ( ruleIdOrSuper ) )
-            // InternalSignalDSL.g:5432:4: ( ruleIdOrSuper )
+            // InternalSignalDSL.g:5475:3: ( ( ruleIdOrSuper ) )
+            // InternalSignalDSL.g:5476:4: ( ruleIdOrSuper )
             {
-            // InternalSignalDSL.g:5432:4: ( ruleIdOrSuper )
-            // InternalSignalDSL.g:5433:5: ruleIdOrSuper
+            // InternalSignalDSL.g:5476:4: ( ruleIdOrSuper )
+            // InternalSignalDSL.g:5477:5: ruleIdOrSuper
             {
             if ( state.backtracking==0 ) {
 
@@ -14871,7 +15008,7 @@
               					newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0());
               				
             }
-            pushFollow(FOLLOW_81);
+            pushFollow(FOLLOW_83);
             ruleIdOrSuper();
 
             state._fsp--;
@@ -14887,20 +15024,20 @@
 
             }
 
-            // InternalSignalDSL.g:5447:3: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )?
-            int alt94=2;
-            alt94 = dfa94.predict(input);
-            switch (alt94) {
+            // InternalSignalDSL.g:5491:3: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )?
+            int alt95=2;
+            alt95 = dfa95.predict(input);
+            switch (alt95) {
                 case 1 :
-                    // InternalSignalDSL.g:5448:4: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')'
+                    // InternalSignalDSL.g:5492:4: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')'
                     {
-                    // InternalSignalDSL.g:5448:4: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) )
-                    // InternalSignalDSL.g:5449:5: ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' )
+                    // InternalSignalDSL.g:5492:4: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) )
+                    // InternalSignalDSL.g:5493:5: ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' )
                     {
-                    // InternalSignalDSL.g:5453:5: (lv_explicitOperationCall_7_0= '(' )
-                    // InternalSignalDSL.g:5454:6: lv_explicitOperationCall_7_0= '('
+                    // InternalSignalDSL.g:5497:5: (lv_explicitOperationCall_7_0= '(' )
+                    // InternalSignalDSL.g:5498:6: lv_explicitOperationCall_7_0= '('
                     {
-                    lv_explicitOperationCall_7_0=(Token)match(input,29,FOLLOW_54); if (state.failed) return current;
+                    lv_explicitOperationCall_7_0=(Token)match(input,30,FOLLOW_56); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(lv_explicitOperationCall_7_0, grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0());
@@ -14920,25 +15057,25 @@
 
                     }
 
-                    // InternalSignalDSL.g:5466:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?
-                    int alt93=3;
-                    alt93 = dfa93.predict(input);
-                    switch (alt93) {
+                    // InternalSignalDSL.g:5510:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?
+                    int alt94=3;
+                    alt94 = dfa94.predict(input);
+                    switch (alt94) {
                         case 1 :
-                            // InternalSignalDSL.g:5467:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) )
+                            // InternalSignalDSL.g:5511:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) )
                             {
-                            // InternalSignalDSL.g:5467:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) )
-                            // InternalSignalDSL.g:5468:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure )
+                            // InternalSignalDSL.g:5511:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) )
+                            // InternalSignalDSL.g:5512:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure )
                             {
-                            // InternalSignalDSL.g:5493:6: (lv_featureCallArguments_8_0= ruleXShortClosure )
-                            // InternalSignalDSL.g:5494:7: lv_featureCallArguments_8_0= ruleXShortClosure
+                            // InternalSignalDSL.g:5537:6: (lv_featureCallArguments_8_0= ruleXShortClosure )
+                            // InternalSignalDSL.g:5538:7: lv_featureCallArguments_8_0= ruleXShortClosure
                             {
                             if ( state.backtracking==0 ) {
 
                               							newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0());
                               						
                             }
-                            pushFollow(FOLLOW_24);
+                            pushFollow(FOLLOW_26);
                             lv_featureCallArguments_8_0=ruleXShortClosure();
 
                             state._fsp--;
@@ -14966,23 +15103,23 @@
                             }
                             break;
                         case 2 :
-                            // InternalSignalDSL.g:5512:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* )
+                            // InternalSignalDSL.g:5556:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* )
                             {
-                            // InternalSignalDSL.g:5512:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* )
-                            // InternalSignalDSL.g:5513:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )*
+                            // InternalSignalDSL.g:5556:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* )
+                            // InternalSignalDSL.g:5557:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )*
                             {
-                            // InternalSignalDSL.g:5513:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) )
-                            // InternalSignalDSL.g:5514:7: (lv_featureCallArguments_9_0= ruleXExpression )
+                            // InternalSignalDSL.g:5557:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) )
+                            // InternalSignalDSL.g:5558:7: (lv_featureCallArguments_9_0= ruleXExpression )
                             {
-                            // InternalSignalDSL.g:5514:7: (lv_featureCallArguments_9_0= ruleXExpression )
-                            // InternalSignalDSL.g:5515:8: lv_featureCallArguments_9_0= ruleXExpression
+                            // InternalSignalDSL.g:5558:7: (lv_featureCallArguments_9_0= ruleXExpression )
+                            // InternalSignalDSL.g:5559:8: lv_featureCallArguments_9_0= ruleXExpression
                             {
                             if ( state.backtracking==0 ) {
 
                               								newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0());
                               							
                             }
-                            pushFollow(FOLLOW_23);
+                            pushFollow(FOLLOW_25);
                             lv_featureCallArguments_9_0=ruleXExpression();
 
                             state._fsp--;
@@ -15006,39 +15143,39 @@
 
                             }
 
-                            // InternalSignalDSL.g:5532:6: (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )*
-                            loop92:
+                            // InternalSignalDSL.g:5576:6: (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )*
+                            loop93:
                             do {
-                                int alt92=2;
-                                int LA92_0 = input.LA(1);
+                                int alt93=2;
+                                int LA93_0 = input.LA(1);
 
-                                if ( (LA92_0==30) ) {
-                                    alt92=1;
+                                if ( (LA93_0==31) ) {
+                                    alt93=1;
                                 }
 
 
-                                switch (alt92) {
+                                switch (alt93) {
                             	case 1 :
-                            	    // InternalSignalDSL.g:5533:7: otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) )
+                            	    // InternalSignalDSL.g:5577:7: otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) )
                             	    {
-                            	    otherlv_10=(Token)match(input,30,FOLLOW_26); if (state.failed) return current;
+                            	    otherlv_10=(Token)match(input,31,FOLLOW_28); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	      							newLeafNode(otherlv_10, grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0());
                             	      						
                             	    }
-                            	    // InternalSignalDSL.g:5537:7: ( (lv_featureCallArguments_11_0= ruleXExpression ) )
-                            	    // InternalSignalDSL.g:5538:8: (lv_featureCallArguments_11_0= ruleXExpression )
+                            	    // InternalSignalDSL.g:5581:7: ( (lv_featureCallArguments_11_0= ruleXExpression ) )
+                            	    // InternalSignalDSL.g:5582:8: (lv_featureCallArguments_11_0= ruleXExpression )
                             	    {
-                            	    // InternalSignalDSL.g:5538:8: (lv_featureCallArguments_11_0= ruleXExpression )
-                            	    // InternalSignalDSL.g:5539:9: lv_featureCallArguments_11_0= ruleXExpression
+                            	    // InternalSignalDSL.g:5582:8: (lv_featureCallArguments_11_0= ruleXExpression )
+                            	    // InternalSignalDSL.g:5583:9: lv_featureCallArguments_11_0= ruleXExpression
                             	    {
                             	    if ( state.backtracking==0 ) {
 
                             	      									newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0());
                             	      								
                             	    }
-                            	    pushFollow(FOLLOW_23);
+                            	    pushFollow(FOLLOW_25);
                             	    lv_featureCallArguments_11_0=ruleXExpression();
 
                             	    state._fsp--;
@@ -15067,7 +15204,7 @@
                             	    break;
 
                             	default :
-                            	    break loop92;
+                            	    break loop93;
                                 }
                             } while (true);
 
@@ -15080,7 +15217,7 @@
 
                     }
 
-                    otherlv_12=(Token)match(input,31,FOLLOW_82); if (state.failed) return current;
+                    otherlv_12=(Token)match(input,32,FOLLOW_84); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_12, grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2());
@@ -15092,15 +15229,15 @@
 
             }
 
-            // InternalSignalDSL.g:5564:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?
-            int alt95=2;
-            alt95 = dfa95.predict(input);
-            switch (alt95) {
+            // InternalSignalDSL.g:5608:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?
+            int alt96=2;
+            alt96 = dfa96.predict(input);
+            switch (alt96) {
                 case 1 :
-                    // InternalSignalDSL.g:5565:4: ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure )
+                    // InternalSignalDSL.g:5609:4: ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure )
                     {
-                    // InternalSignalDSL.g:5571:4: (lv_featureCallArguments_13_0= ruleXClosure )
-                    // InternalSignalDSL.g:5572:5: lv_featureCallArguments_13_0= ruleXClosure
+                    // InternalSignalDSL.g:5615:4: (lv_featureCallArguments_13_0= ruleXClosure )
+                    // InternalSignalDSL.g:5616:5: lv_featureCallArguments_13_0= ruleXClosure
                     {
                     if ( state.backtracking==0 ) {
 
@@ -15159,7 +15296,7 @@
 
 
     // $ANTLR start "entryRuleFeatureCallID"
-    // InternalSignalDSL.g:5593:1: entryRuleFeatureCallID returns [String current=null] : iv_ruleFeatureCallID= ruleFeatureCallID EOF ;
+    // InternalSignalDSL.g:5637:1: entryRuleFeatureCallID returns [String current=null] : iv_ruleFeatureCallID= ruleFeatureCallID EOF ;
     public final String entryRuleFeatureCallID() throws RecognitionException {
         String current = null;
 
@@ -15167,8 +15304,8 @@
 
 
         try {
-            // InternalSignalDSL.g:5593:53: (iv_ruleFeatureCallID= ruleFeatureCallID EOF )
-            // InternalSignalDSL.g:5594:2: iv_ruleFeatureCallID= ruleFeatureCallID EOF
+            // InternalSignalDSL.g:5637:53: (iv_ruleFeatureCallID= ruleFeatureCallID EOF )
+            // InternalSignalDSL.g:5638:2: iv_ruleFeatureCallID= ruleFeatureCallID EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getFeatureCallIDRule()); 
@@ -15199,7 +15336,7 @@
 
 
     // $ANTLR start "ruleFeatureCallID"
-    // InternalSignalDSL.g:5600:1: ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) ;
+    // InternalSignalDSL.g:5644:1: ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) ;
     public final AntlrDatatypeRuleToken ruleFeatureCallID() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -15211,48 +15348,48 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:5606:2: ( (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) )
-            // InternalSignalDSL.g:5607:2: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' )
+            // InternalSignalDSL.g:5650:2: ( (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) )
+            // InternalSignalDSL.g:5651:2: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' )
             {
-            // InternalSignalDSL.g:5607:2: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' )
-            int alt96=5;
+            // InternalSignalDSL.g:5651:2: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' )
+            int alt97=5;
             switch ( input.LA(1) ) {
             case RULE_ID:
                 {
-                alt96=1;
+                alt97=1;
                 }
                 break;
-            case 80:
+            case 81:
                 {
-                alt96=2;
-                }
-                break;
-            case 23:
-                {
-                alt96=3;
-                }
-                break;
-            case 22:
-                {
-                alt96=4;
+                alt97=2;
                 }
                 break;
             case 24:
                 {
-                alt96=5;
+                alt97=3;
+                }
+                break;
+            case 23:
+                {
+                alt97=4;
+                }
+                break;
+            case 25:
+                {
+                alt97=5;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 96, 0, input);
+                    new NoViableAltException("", 97, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt96) {
+            switch (alt97) {
                 case 1 :
-                    // InternalSignalDSL.g:5608:3: this_ValidID_0= ruleValidID
+                    // InternalSignalDSL.g:5652:3: this_ValidID_0= ruleValidID
                     {
                     if ( state.backtracking==0 ) {
 
@@ -15278,9 +15415,9 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:5619:3: kw= 'extends'
+                    // InternalSignalDSL.g:5663:3: kw= 'extends'
                     {
-                    kw=(Token)match(input,80,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,81,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -15291,9 +15428,9 @@
                     }
                     break;
                 case 3 :
-                    // InternalSignalDSL.g:5625:3: kw= 'static'
+                    // InternalSignalDSL.g:5669:3: kw= 'static'
                     {
-                    kw=(Token)match(input,23,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,24,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -15304,9 +15441,9 @@
                     }
                     break;
                 case 4 :
-                    // InternalSignalDSL.g:5631:3: kw= 'import'
+                    // InternalSignalDSL.g:5675:3: kw= 'import'
                     {
-                    kw=(Token)match(input,22,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,23,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -15317,9 +15454,9 @@
                     }
                     break;
                 case 5 :
-                    // InternalSignalDSL.g:5637:3: kw= 'extension'
+                    // InternalSignalDSL.g:5681:3: kw= 'extension'
                     {
-                    kw=(Token)match(input,24,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,25,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -15354,7 +15491,7 @@
 
 
     // $ANTLR start "entryRuleIdOrSuper"
-    // InternalSignalDSL.g:5646:1: entryRuleIdOrSuper returns [String current=null] : iv_ruleIdOrSuper= ruleIdOrSuper EOF ;
+    // InternalSignalDSL.g:5690:1: entryRuleIdOrSuper returns [String current=null] : iv_ruleIdOrSuper= ruleIdOrSuper EOF ;
     public final String entryRuleIdOrSuper() throws RecognitionException {
         String current = null;
 
@@ -15362,8 +15499,8 @@
 
 
         try {
-            // InternalSignalDSL.g:5646:49: (iv_ruleIdOrSuper= ruleIdOrSuper EOF )
-            // InternalSignalDSL.g:5647:2: iv_ruleIdOrSuper= ruleIdOrSuper EOF
+            // InternalSignalDSL.g:5690:49: (iv_ruleIdOrSuper= ruleIdOrSuper EOF )
+            // InternalSignalDSL.g:5691:2: iv_ruleIdOrSuper= ruleIdOrSuper EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getIdOrSuperRule()); 
@@ -15394,7 +15531,7 @@
 
 
     // $ANTLR start "ruleIdOrSuper"
-    // InternalSignalDSL.g:5653:1: ruleIdOrSuper returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) ;
+    // InternalSignalDSL.g:5697:1: ruleIdOrSuper returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) ;
     public final AntlrDatatypeRuleToken ruleIdOrSuper() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -15406,29 +15543,29 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:5659:2: ( (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) )
-            // InternalSignalDSL.g:5660:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' )
+            // InternalSignalDSL.g:5703:2: ( (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) )
+            // InternalSignalDSL.g:5704:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' )
             {
-            // InternalSignalDSL.g:5660:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' )
-            int alt97=2;
-            int LA97_0 = input.LA(1);
+            // InternalSignalDSL.g:5704:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' )
+            int alt98=2;
+            int LA98_0 = input.LA(1);
 
-            if ( (LA97_0==RULE_ID||(LA97_0>=22 && LA97_0<=24)||LA97_0==80) ) {
-                alt97=1;
+            if ( (LA98_0==RULE_ID||(LA98_0>=23 && LA98_0<=25)||LA98_0==81) ) {
+                alt98=1;
             }
-            else if ( (LA97_0==81) ) {
-                alt97=2;
+            else if ( (LA98_0==82) ) {
+                alt98=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 97, 0, input);
+                    new NoViableAltException("", 98, 0, input);
 
                 throw nvae;
             }
-            switch (alt97) {
+            switch (alt98) {
                 case 1 :
-                    // InternalSignalDSL.g:5661:3: this_FeatureCallID_0= ruleFeatureCallID
+                    // InternalSignalDSL.g:5705:3: this_FeatureCallID_0= ruleFeatureCallID
                     {
                     if ( state.backtracking==0 ) {
 
@@ -15454,9 +15591,9 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:5672:3: kw= 'super'
+                    // InternalSignalDSL.g:5716:3: kw= 'super'
                     {
-                    kw=(Token)match(input,81,FOLLOW_2); if (state.failed) return current;
+                    kw=(Token)match(input,82,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			current.merge(kw);
@@ -15491,7 +15628,7 @@
 
 
     // $ANTLR start "entryRuleXConstructorCall"
-    // InternalSignalDSL.g:5681:1: entryRuleXConstructorCall returns [EObject current=null] : iv_ruleXConstructorCall= ruleXConstructorCall EOF ;
+    // InternalSignalDSL.g:5725:1: entryRuleXConstructorCall returns [EObject current=null] : iv_ruleXConstructorCall= ruleXConstructorCall EOF ;
     public final EObject entryRuleXConstructorCall() throws RecognitionException {
         EObject current = null;
 
@@ -15499,8 +15636,8 @@
 
 
         try {
-            // InternalSignalDSL.g:5681:57: (iv_ruleXConstructorCall= ruleXConstructorCall EOF )
-            // InternalSignalDSL.g:5682:2: iv_ruleXConstructorCall= ruleXConstructorCall EOF
+            // InternalSignalDSL.g:5725:57: (iv_ruleXConstructorCall= ruleXConstructorCall EOF )
+            // InternalSignalDSL.g:5726:2: iv_ruleXConstructorCall= ruleXConstructorCall EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXConstructorCallRule()); 
@@ -15531,7 +15668,7 @@
 
 
     // $ANTLR start "ruleXConstructorCall"
-    // InternalSignalDSL.g:5688:1: ruleXConstructorCall returns [EObject current=null] : ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) ;
+    // InternalSignalDSL.g:5732:1: ruleXConstructorCall returns [EObject current=null] : ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) ;
     public final EObject ruleXConstructorCall() throws RecognitionException {
         EObject current = null;
 
@@ -15559,14 +15696,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:5694:2: ( ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) )
-            // InternalSignalDSL.g:5695:2: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? )
+            // InternalSignalDSL.g:5738:2: ( ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) )
+            // InternalSignalDSL.g:5739:2: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? )
             {
-            // InternalSignalDSL.g:5695:2: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? )
-            // InternalSignalDSL.g:5696:3: () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?
+            // InternalSignalDSL.g:5739:2: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? )
+            // InternalSignalDSL.g:5740:3: () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?
             {
-            // InternalSignalDSL.g:5696:3: ()
-            // InternalSignalDSL.g:5697:4: 
+            // InternalSignalDSL.g:5740:3: ()
+            // InternalSignalDSL.g:5741:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -15578,17 +15715,17 @@
 
             }
 
-            otherlv_1=(Token)match(input,82,FOLLOW_4); if (state.failed) return current;
+            otherlv_1=(Token)match(input,83,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXConstructorCallAccess().getNewKeyword_1());
               		
             }
-            // InternalSignalDSL.g:5707:3: ( ( ruleQualifiedName ) )
-            // InternalSignalDSL.g:5708:4: ( ruleQualifiedName )
+            // InternalSignalDSL.g:5751:3: ( ( ruleQualifiedName ) )
+            // InternalSignalDSL.g:5752:4: ( ruleQualifiedName )
             {
-            // InternalSignalDSL.g:5708:4: ( ruleQualifiedName )
-            // InternalSignalDSL.g:5709:5: ruleQualifiedName
+            // InternalSignalDSL.g:5752:4: ( ruleQualifiedName )
+            // InternalSignalDSL.g:5753:5: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
 
@@ -15602,7 +15739,7 @@
               					newCompositeNode(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0());
               				
             }
-            pushFollow(FOLLOW_83);
+            pushFollow(FOLLOW_85);
             ruleQualifiedName();
 
             state._fsp--;
@@ -15618,17 +15755,17 @@
 
             }
 
-            // InternalSignalDSL.g:5723:3: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?
-            int alt99=2;
-            alt99 = dfa99.predict(input);
-            switch (alt99) {
+            // InternalSignalDSL.g:5767:3: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?
+            int alt100=2;
+            alt100 = dfa100.predict(input);
+            switch (alt100) {
                 case 1 :
-                    // InternalSignalDSL.g:5724:4: ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>'
+                    // InternalSignalDSL.g:5768:4: ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>'
                     {
-                    // InternalSignalDSL.g:5724:4: ( ( '<' )=>otherlv_3= '<' )
-                    // InternalSignalDSL.g:5725:5: ( '<' )=>otherlv_3= '<'
+                    // InternalSignalDSL.g:5768:4: ( ( '<' )=>otherlv_3= '<' )
+                    // InternalSignalDSL.g:5769:5: ( '<' )=>otherlv_3= '<'
                     {
-                    otherlv_3=(Token)match(input,41,FOLLOW_51); if (state.failed) return current;
+                    otherlv_3=(Token)match(input,42,FOLLOW_53); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(otherlv_3, grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0());
@@ -15637,18 +15774,18 @@
 
                     }
 
-                    // InternalSignalDSL.g:5731:4: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
-                    // InternalSignalDSL.g:5732:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
+                    // InternalSignalDSL.g:5775:4: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
+                    // InternalSignalDSL.g:5776:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
                     {
-                    // InternalSignalDSL.g:5732:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
-                    // InternalSignalDSL.g:5733:6: lv_typeArguments_4_0= ruleJvmArgumentTypeReference
+                    // InternalSignalDSL.g:5776:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
+                    // InternalSignalDSL.g:5777:6: lv_typeArguments_4_0= ruleJvmArgumentTypeReference
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_52);
+                    pushFollow(FOLLOW_54);
                     lv_typeArguments_4_0=ruleJvmArgumentTypeReference();
 
                     state._fsp--;
@@ -15672,39 +15809,39 @@
 
                     }
 
-                    // InternalSignalDSL.g:5750:4: (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )*
-                    loop98:
+                    // InternalSignalDSL.g:5794:4: (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )*
+                    loop99:
                     do {
-                        int alt98=2;
-                        int LA98_0 = input.LA(1);
+                        int alt99=2;
+                        int LA99_0 = input.LA(1);
 
-                        if ( (LA98_0==30) ) {
-                            alt98=1;
+                        if ( (LA99_0==31) ) {
+                            alt99=1;
                         }
 
 
-                        switch (alt98) {
+                        switch (alt99) {
                     	case 1 :
-                    	    // InternalSignalDSL.g:5751:5: otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) )
+                    	    // InternalSignalDSL.g:5795:5: otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) )
                     	    {
-                    	    otherlv_5=(Token)match(input,30,FOLLOW_51); if (state.failed) return current;
+                    	    otherlv_5=(Token)match(input,31,FOLLOW_53); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      					newLeafNode(otherlv_5, grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0());
                     	      				
                     	    }
-                    	    // InternalSignalDSL.g:5755:5: ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) )
-                    	    // InternalSignalDSL.g:5756:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference )
+                    	    // InternalSignalDSL.g:5799:5: ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) )
+                    	    // InternalSignalDSL.g:5800:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference )
                     	    {
-                    	    // InternalSignalDSL.g:5756:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference )
-                    	    // InternalSignalDSL.g:5757:7: lv_typeArguments_6_0= ruleJvmArgumentTypeReference
+                    	    // InternalSignalDSL.g:5800:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference )
+                    	    // InternalSignalDSL.g:5801:7: lv_typeArguments_6_0= ruleJvmArgumentTypeReference
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_52);
+                    	    pushFollow(FOLLOW_54);
                     	    lv_typeArguments_6_0=ruleJvmArgumentTypeReference();
 
                     	    state._fsp--;
@@ -15733,11 +15870,11 @@
                     	    break;
 
                     	default :
-                    	    break loop98;
+                    	    break loop99;
                         }
                     } while (true);
 
-                    otherlv_7=(Token)match(input,42,FOLLOW_81); if (state.failed) return current;
+                    otherlv_7=(Token)match(input,43,FOLLOW_83); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_7, grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3());
@@ -15749,20 +15886,20 @@
 
             }
 
-            // InternalSignalDSL.g:5780:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )?
-            int alt102=2;
-            alt102 = dfa102.predict(input);
-            switch (alt102) {
+            // InternalSignalDSL.g:5824:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )?
+            int alt103=2;
+            alt103 = dfa103.predict(input);
+            switch (alt103) {
                 case 1 :
-                    // InternalSignalDSL.g:5781:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')'
+                    // InternalSignalDSL.g:5825:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')'
                     {
-                    // InternalSignalDSL.g:5781:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) )
-                    // InternalSignalDSL.g:5782:5: ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' )
+                    // InternalSignalDSL.g:5825:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) )
+                    // InternalSignalDSL.g:5826:5: ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' )
                     {
-                    // InternalSignalDSL.g:5786:5: (lv_explicitConstructorCall_8_0= '(' )
-                    // InternalSignalDSL.g:5787:6: lv_explicitConstructorCall_8_0= '('
+                    // InternalSignalDSL.g:5830:5: (lv_explicitConstructorCall_8_0= '(' )
+                    // InternalSignalDSL.g:5831:6: lv_explicitConstructorCall_8_0= '('
                     {
-                    lv_explicitConstructorCall_8_0=(Token)match(input,29,FOLLOW_54); if (state.failed) return current;
+                    lv_explicitConstructorCall_8_0=(Token)match(input,30,FOLLOW_56); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(lv_explicitConstructorCall_8_0, grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0());
@@ -15782,25 +15919,25 @@
 
                     }
 
-                    // InternalSignalDSL.g:5799:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?
-                    int alt101=3;
-                    alt101 = dfa101.predict(input);
-                    switch (alt101) {
+                    // InternalSignalDSL.g:5843:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?
+                    int alt102=3;
+                    alt102 = dfa102.predict(input);
+                    switch (alt102) {
                         case 1 :
-                            // InternalSignalDSL.g:5800:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) )
+                            // InternalSignalDSL.g:5844:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) )
                             {
-                            // InternalSignalDSL.g:5800:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) )
-                            // InternalSignalDSL.g:5801:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure )
+                            // InternalSignalDSL.g:5844:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) )
+                            // InternalSignalDSL.g:5845:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure )
                             {
-                            // InternalSignalDSL.g:5826:6: (lv_arguments_9_0= ruleXShortClosure )
-                            // InternalSignalDSL.g:5827:7: lv_arguments_9_0= ruleXShortClosure
+                            // InternalSignalDSL.g:5870:6: (lv_arguments_9_0= ruleXShortClosure )
+                            // InternalSignalDSL.g:5871:7: lv_arguments_9_0= ruleXShortClosure
                             {
                             if ( state.backtracking==0 ) {
 
                               							newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0());
                               						
                             }
-                            pushFollow(FOLLOW_24);
+                            pushFollow(FOLLOW_26);
                             lv_arguments_9_0=ruleXShortClosure();
 
                             state._fsp--;
@@ -15828,23 +15965,23 @@
                             }
                             break;
                         case 2 :
-                            // InternalSignalDSL.g:5845:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* )
+                            // InternalSignalDSL.g:5889:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* )
                             {
-                            // InternalSignalDSL.g:5845:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* )
-                            // InternalSignalDSL.g:5846:6: ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )*
+                            // InternalSignalDSL.g:5889:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* )
+                            // InternalSignalDSL.g:5890:6: ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )*
                             {
-                            // InternalSignalDSL.g:5846:6: ( (lv_arguments_10_0= ruleXExpression ) )
-                            // InternalSignalDSL.g:5847:7: (lv_arguments_10_0= ruleXExpression )
+                            // InternalSignalDSL.g:5890:6: ( (lv_arguments_10_0= ruleXExpression ) )
+                            // InternalSignalDSL.g:5891:7: (lv_arguments_10_0= ruleXExpression )
                             {
-                            // InternalSignalDSL.g:5847:7: (lv_arguments_10_0= ruleXExpression )
-                            // InternalSignalDSL.g:5848:8: lv_arguments_10_0= ruleXExpression
+                            // InternalSignalDSL.g:5891:7: (lv_arguments_10_0= ruleXExpression )
+                            // InternalSignalDSL.g:5892:8: lv_arguments_10_0= ruleXExpression
                             {
                             if ( state.backtracking==0 ) {
 
                               								newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0());
                               							
                             }
-                            pushFollow(FOLLOW_23);
+                            pushFollow(FOLLOW_25);
                             lv_arguments_10_0=ruleXExpression();
 
                             state._fsp--;
@@ -15868,39 +16005,39 @@
 
                             }
 
-                            // InternalSignalDSL.g:5865:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )*
-                            loop100:
+                            // InternalSignalDSL.g:5909:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )*
+                            loop101:
                             do {
-                                int alt100=2;
-                                int LA100_0 = input.LA(1);
+                                int alt101=2;
+                                int LA101_0 = input.LA(1);
 
-                                if ( (LA100_0==30) ) {
-                                    alt100=1;
+                                if ( (LA101_0==31) ) {
+                                    alt101=1;
                                 }
 
 
-                                switch (alt100) {
+                                switch (alt101) {
                             	case 1 :
-                            	    // InternalSignalDSL.g:5866:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) )
+                            	    // InternalSignalDSL.g:5910:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) )
                             	    {
-                            	    otherlv_11=(Token)match(input,30,FOLLOW_26); if (state.failed) return current;
+                            	    otherlv_11=(Token)match(input,31,FOLLOW_28); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	      							newLeafNode(otherlv_11, grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0());
                             	      						
                             	    }
-                            	    // InternalSignalDSL.g:5870:7: ( (lv_arguments_12_0= ruleXExpression ) )
-                            	    // InternalSignalDSL.g:5871:8: (lv_arguments_12_0= ruleXExpression )
+                            	    // InternalSignalDSL.g:5914:7: ( (lv_arguments_12_0= ruleXExpression ) )
+                            	    // InternalSignalDSL.g:5915:8: (lv_arguments_12_0= ruleXExpression )
                             	    {
-                            	    // InternalSignalDSL.g:5871:8: (lv_arguments_12_0= ruleXExpression )
-                            	    // InternalSignalDSL.g:5872:9: lv_arguments_12_0= ruleXExpression
+                            	    // InternalSignalDSL.g:5915:8: (lv_arguments_12_0= ruleXExpression )
+                            	    // InternalSignalDSL.g:5916:9: lv_arguments_12_0= ruleXExpression
                             	    {
                             	    if ( state.backtracking==0 ) {
 
                             	      									newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0());
                             	      								
                             	    }
-                            	    pushFollow(FOLLOW_23);
+                            	    pushFollow(FOLLOW_25);
                             	    lv_arguments_12_0=ruleXExpression();
 
                             	    state._fsp--;
@@ -15929,7 +16066,7 @@
                             	    break;
 
                             	default :
-                            	    break loop100;
+                            	    break loop101;
                                 }
                             } while (true);
 
@@ -15942,7 +16079,7 @@
 
                     }
 
-                    otherlv_13=(Token)match(input,31,FOLLOW_82); if (state.failed) return current;
+                    otherlv_13=(Token)match(input,32,FOLLOW_84); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_13, grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2());
@@ -15954,15 +16091,15 @@
 
             }
 
-            // InternalSignalDSL.g:5897:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?
-            int alt103=2;
-            alt103 = dfa103.predict(input);
-            switch (alt103) {
+            // InternalSignalDSL.g:5941:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?
+            int alt104=2;
+            alt104 = dfa104.predict(input);
+            switch (alt104) {
                 case 1 :
-                    // InternalSignalDSL.g:5898:4: ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure )
+                    // InternalSignalDSL.g:5942:4: ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure )
                     {
-                    // InternalSignalDSL.g:5904:4: (lv_arguments_14_0= ruleXClosure )
-                    // InternalSignalDSL.g:5905:5: lv_arguments_14_0= ruleXClosure
+                    // InternalSignalDSL.g:5948:4: (lv_arguments_14_0= ruleXClosure )
+                    // InternalSignalDSL.g:5949:5: lv_arguments_14_0= ruleXClosure
                     {
                     if ( state.backtracking==0 ) {
 
@@ -16021,7 +16158,7 @@
 
 
     // $ANTLR start "entryRuleXBooleanLiteral"
-    // InternalSignalDSL.g:5926:1: entryRuleXBooleanLiteral returns [EObject current=null] : iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ;
+    // InternalSignalDSL.g:5970:1: entryRuleXBooleanLiteral returns [EObject current=null] : iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ;
     public final EObject entryRuleXBooleanLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -16029,8 +16166,8 @@
 
 
         try {
-            // InternalSignalDSL.g:5926:56: (iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF )
-            // InternalSignalDSL.g:5927:2: iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF
+            // InternalSignalDSL.g:5970:56: (iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF )
+            // InternalSignalDSL.g:5971:2: iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXBooleanLiteralRule()); 
@@ -16061,7 +16198,7 @@
 
 
     // $ANTLR start "ruleXBooleanLiteral"
-    // InternalSignalDSL.g:5933:1: ruleXBooleanLiteral returns [EObject current=null] : ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ;
+    // InternalSignalDSL.g:5977:1: ruleXBooleanLiteral returns [EObject current=null] : ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ;
     public final EObject ruleXBooleanLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -16072,14 +16209,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:5939:2: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) )
-            // InternalSignalDSL.g:5940:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
+            // InternalSignalDSL.g:5983:2: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) )
+            // InternalSignalDSL.g:5984:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
             {
-            // InternalSignalDSL.g:5940:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
-            // InternalSignalDSL.g:5941:3: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
+            // InternalSignalDSL.g:5984:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
+            // InternalSignalDSL.g:5985:3: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
             {
-            // InternalSignalDSL.g:5941:3: ()
-            // InternalSignalDSL.g:5942:4: 
+            // InternalSignalDSL.g:5985:3: ()
+            // InternalSignalDSL.g:5986:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -16091,28 +16228,28 @@
 
             }
 
-            // InternalSignalDSL.g:5948:3: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
-            int alt104=2;
-            int LA104_0 = input.LA(1);
+            // InternalSignalDSL.g:5992:3: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
+            int alt105=2;
+            int LA105_0 = input.LA(1);
 
-            if ( (LA104_0==83) ) {
-                alt104=1;
+            if ( (LA105_0==84) ) {
+                alt105=1;
             }
-            else if ( (LA104_0==84) ) {
-                alt104=2;
+            else if ( (LA105_0==85) ) {
+                alt105=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 104, 0, input);
+                    new NoViableAltException("", 105, 0, input);
 
                 throw nvae;
             }
-            switch (alt104) {
+            switch (alt105) {
                 case 1 :
-                    // InternalSignalDSL.g:5949:4: otherlv_1= 'false'
+                    // InternalSignalDSL.g:5993:4: otherlv_1= 'false'
                     {
-                    otherlv_1=(Token)match(input,83,FOLLOW_2); if (state.failed) return current;
+                    otherlv_1=(Token)match(input,84,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0());
@@ -16122,15 +16259,15 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:5954:4: ( (lv_isTrue_2_0= 'true' ) )
+                    // InternalSignalDSL.g:5998:4: ( (lv_isTrue_2_0= 'true' ) )
                     {
-                    // InternalSignalDSL.g:5954:4: ( (lv_isTrue_2_0= 'true' ) )
-                    // InternalSignalDSL.g:5955:5: (lv_isTrue_2_0= 'true' )
+                    // InternalSignalDSL.g:5998:4: ( (lv_isTrue_2_0= 'true' ) )
+                    // InternalSignalDSL.g:5999:5: (lv_isTrue_2_0= 'true' )
                     {
-                    // InternalSignalDSL.g:5955:5: (lv_isTrue_2_0= 'true' )
-                    // InternalSignalDSL.g:5956:6: lv_isTrue_2_0= 'true'
+                    // InternalSignalDSL.g:5999:5: (lv_isTrue_2_0= 'true' )
+                    // InternalSignalDSL.g:6000:6: lv_isTrue_2_0= 'true'
                     {
-                    lv_isTrue_2_0=(Token)match(input,84,FOLLOW_2); if (state.failed) return current;
+                    lv_isTrue_2_0=(Token)match(input,85,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       						newLeafNode(lv_isTrue_2_0, grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
@@ -16181,7 +16318,7 @@
 
 
     // $ANTLR start "entryRuleXNullLiteral"
-    // InternalSignalDSL.g:5973:1: entryRuleXNullLiteral returns [EObject current=null] : iv_ruleXNullLiteral= ruleXNullLiteral EOF ;
+    // InternalSignalDSL.g:6017:1: entryRuleXNullLiteral returns [EObject current=null] : iv_ruleXNullLiteral= ruleXNullLiteral EOF ;
     public final EObject entryRuleXNullLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -16189,8 +16326,8 @@
 
 
         try {
-            // InternalSignalDSL.g:5973:53: (iv_ruleXNullLiteral= ruleXNullLiteral EOF )
-            // InternalSignalDSL.g:5974:2: iv_ruleXNullLiteral= ruleXNullLiteral EOF
+            // InternalSignalDSL.g:6017:53: (iv_ruleXNullLiteral= ruleXNullLiteral EOF )
+            // InternalSignalDSL.g:6018:2: iv_ruleXNullLiteral= ruleXNullLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXNullLiteralRule()); 
@@ -16221,7 +16358,7 @@
 
 
     // $ANTLR start "ruleXNullLiteral"
-    // InternalSignalDSL.g:5980:1: ruleXNullLiteral returns [EObject current=null] : ( () otherlv_1= 'null' ) ;
+    // InternalSignalDSL.g:6024:1: ruleXNullLiteral returns [EObject current=null] : ( () otherlv_1= 'null' ) ;
     public final EObject ruleXNullLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -16231,14 +16368,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:5986:2: ( ( () otherlv_1= 'null' ) )
-            // InternalSignalDSL.g:5987:2: ( () otherlv_1= 'null' )
+            // InternalSignalDSL.g:6030:2: ( ( () otherlv_1= 'null' ) )
+            // InternalSignalDSL.g:6031:2: ( () otherlv_1= 'null' )
             {
-            // InternalSignalDSL.g:5987:2: ( () otherlv_1= 'null' )
-            // InternalSignalDSL.g:5988:3: () otherlv_1= 'null'
+            // InternalSignalDSL.g:6031:2: ( () otherlv_1= 'null' )
+            // InternalSignalDSL.g:6032:3: () otherlv_1= 'null'
             {
-            // InternalSignalDSL.g:5988:3: ()
-            // InternalSignalDSL.g:5989:4: 
+            // InternalSignalDSL.g:6032:3: ()
+            // InternalSignalDSL.g:6033:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -16250,7 +16387,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,85,FOLLOW_2); if (state.failed) return current;
+            otherlv_1=(Token)match(input,86,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXNullLiteralAccess().getNullKeyword_1());
@@ -16281,7 +16418,7 @@
 
 
     // $ANTLR start "entryRuleXNumberLiteral"
-    // InternalSignalDSL.g:6003:1: entryRuleXNumberLiteral returns [EObject current=null] : iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ;
+    // InternalSignalDSL.g:6047:1: entryRuleXNumberLiteral returns [EObject current=null] : iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ;
     public final EObject entryRuleXNumberLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -16289,8 +16426,8 @@
 
 
         try {
-            // InternalSignalDSL.g:6003:55: (iv_ruleXNumberLiteral= ruleXNumberLiteral EOF )
-            // InternalSignalDSL.g:6004:2: iv_ruleXNumberLiteral= ruleXNumberLiteral EOF
+            // InternalSignalDSL.g:6047:55: (iv_ruleXNumberLiteral= ruleXNumberLiteral EOF )
+            // InternalSignalDSL.g:6048:2: iv_ruleXNumberLiteral= ruleXNumberLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXNumberLiteralRule()); 
@@ -16321,7 +16458,7 @@
 
 
     // $ANTLR start "ruleXNumberLiteral"
-    // InternalSignalDSL.g:6010:1: ruleXNumberLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= ruleNumber ) ) ) ;
+    // InternalSignalDSL.g:6054:1: ruleXNumberLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= ruleNumber ) ) ) ;
     public final EObject ruleXNumberLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -16332,14 +16469,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:6016:2: ( ( () ( (lv_value_1_0= ruleNumber ) ) ) )
-            // InternalSignalDSL.g:6017:2: ( () ( (lv_value_1_0= ruleNumber ) ) )
+            // InternalSignalDSL.g:6060:2: ( ( () ( (lv_value_1_0= ruleNumber ) ) ) )
+            // InternalSignalDSL.g:6061:2: ( () ( (lv_value_1_0= ruleNumber ) ) )
             {
-            // InternalSignalDSL.g:6017:2: ( () ( (lv_value_1_0= ruleNumber ) ) )
-            // InternalSignalDSL.g:6018:3: () ( (lv_value_1_0= ruleNumber ) )
+            // InternalSignalDSL.g:6061:2: ( () ( (lv_value_1_0= ruleNumber ) ) )
+            // InternalSignalDSL.g:6062:3: () ( (lv_value_1_0= ruleNumber ) )
             {
-            // InternalSignalDSL.g:6018:3: ()
-            // InternalSignalDSL.g:6019:4: 
+            // InternalSignalDSL.g:6062:3: ()
+            // InternalSignalDSL.g:6063:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -16351,11 +16488,11 @@
 
             }
 
-            // InternalSignalDSL.g:6025:3: ( (lv_value_1_0= ruleNumber ) )
-            // InternalSignalDSL.g:6026:4: (lv_value_1_0= ruleNumber )
+            // InternalSignalDSL.g:6069:3: ( (lv_value_1_0= ruleNumber ) )
+            // InternalSignalDSL.g:6070:4: (lv_value_1_0= ruleNumber )
             {
-            // InternalSignalDSL.g:6026:4: (lv_value_1_0= ruleNumber )
-            // InternalSignalDSL.g:6027:5: lv_value_1_0= ruleNumber
+            // InternalSignalDSL.g:6070:4: (lv_value_1_0= ruleNumber )
+            // InternalSignalDSL.g:6071:5: lv_value_1_0= ruleNumber
             {
             if ( state.backtracking==0 ) {
 
@@ -16411,7 +16548,7 @@
 
 
     // $ANTLR start "entryRuleXStringLiteral"
-    // InternalSignalDSL.g:6048:1: entryRuleXStringLiteral returns [EObject current=null] : iv_ruleXStringLiteral= ruleXStringLiteral EOF ;
+    // InternalSignalDSL.g:6092:1: entryRuleXStringLiteral returns [EObject current=null] : iv_ruleXStringLiteral= ruleXStringLiteral EOF ;
     public final EObject entryRuleXStringLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -16419,8 +16556,8 @@
 
 
         try {
-            // InternalSignalDSL.g:6048:55: (iv_ruleXStringLiteral= ruleXStringLiteral EOF )
-            // InternalSignalDSL.g:6049:2: iv_ruleXStringLiteral= ruleXStringLiteral EOF
+            // InternalSignalDSL.g:6092:55: (iv_ruleXStringLiteral= ruleXStringLiteral EOF )
+            // InternalSignalDSL.g:6093:2: iv_ruleXStringLiteral= ruleXStringLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXStringLiteralRule()); 
@@ -16451,7 +16588,7 @@
 
 
     // $ANTLR start "ruleXStringLiteral"
-    // InternalSignalDSL.g:6055:1: ruleXStringLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_STRING ) ) ) ;
+    // InternalSignalDSL.g:6099:1: ruleXStringLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_STRING ) ) ) ;
     public final EObject ruleXStringLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -16461,14 +16598,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:6061:2: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) )
-            // InternalSignalDSL.g:6062:2: ( () ( (lv_value_1_0= RULE_STRING ) ) )
+            // InternalSignalDSL.g:6105:2: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) )
+            // InternalSignalDSL.g:6106:2: ( () ( (lv_value_1_0= RULE_STRING ) ) )
             {
-            // InternalSignalDSL.g:6062:2: ( () ( (lv_value_1_0= RULE_STRING ) ) )
-            // InternalSignalDSL.g:6063:3: () ( (lv_value_1_0= RULE_STRING ) )
+            // InternalSignalDSL.g:6106:2: ( () ( (lv_value_1_0= RULE_STRING ) ) )
+            // InternalSignalDSL.g:6107:3: () ( (lv_value_1_0= RULE_STRING ) )
             {
-            // InternalSignalDSL.g:6063:3: ()
-            // InternalSignalDSL.g:6064:4: 
+            // InternalSignalDSL.g:6107:3: ()
+            // InternalSignalDSL.g:6108:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -16480,11 +16617,11 @@
 
             }
 
-            // InternalSignalDSL.g:6070:3: ( (lv_value_1_0= RULE_STRING ) )
-            // InternalSignalDSL.g:6071:4: (lv_value_1_0= RULE_STRING )
+            // InternalSignalDSL.g:6114:3: ( (lv_value_1_0= RULE_STRING ) )
+            // InternalSignalDSL.g:6115:4: (lv_value_1_0= RULE_STRING )
             {
-            // InternalSignalDSL.g:6071:4: (lv_value_1_0= RULE_STRING )
-            // InternalSignalDSL.g:6072:5: lv_value_1_0= RULE_STRING
+            // InternalSignalDSL.g:6115:4: (lv_value_1_0= RULE_STRING )
+            // InternalSignalDSL.g:6116:5: lv_value_1_0= RULE_STRING
             {
             lv_value_1_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -16535,7 +16672,7 @@
 
 
     // $ANTLR start "entryRuleXTypeLiteral"
-    // InternalSignalDSL.g:6092:1: entryRuleXTypeLiteral returns [EObject current=null] : iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ;
+    // InternalSignalDSL.g:6136:1: entryRuleXTypeLiteral returns [EObject current=null] : iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ;
     public final EObject entryRuleXTypeLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -16543,8 +16680,8 @@
 
 
         try {
-            // InternalSignalDSL.g:6092:53: (iv_ruleXTypeLiteral= ruleXTypeLiteral EOF )
-            // InternalSignalDSL.g:6093:2: iv_ruleXTypeLiteral= ruleXTypeLiteral EOF
+            // InternalSignalDSL.g:6136:53: (iv_ruleXTypeLiteral= ruleXTypeLiteral EOF )
+            // InternalSignalDSL.g:6137:2: iv_ruleXTypeLiteral= ruleXTypeLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXTypeLiteralRule()); 
@@ -16575,7 +16712,7 @@
 
 
     // $ANTLR start "ruleXTypeLiteral"
-    // InternalSignalDSL.g:6099:1: ruleXTypeLiteral returns [EObject current=null] : ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) ;
+    // InternalSignalDSL.g:6143:1: ruleXTypeLiteral returns [EObject current=null] : ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) ;
     public final EObject ruleXTypeLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -16589,14 +16726,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:6105:2: ( ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) )
-            // InternalSignalDSL.g:6106:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' )
+            // InternalSignalDSL.g:6149:2: ( ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) )
+            // InternalSignalDSL.g:6150:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' )
             {
-            // InternalSignalDSL.g:6106:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' )
-            // InternalSignalDSL.g:6107:3: () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')'
+            // InternalSignalDSL.g:6150:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' )
+            // InternalSignalDSL.g:6151:3: () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')'
             {
-            // InternalSignalDSL.g:6107:3: ()
-            // InternalSignalDSL.g:6108:4: 
+            // InternalSignalDSL.g:6151:3: ()
+            // InternalSignalDSL.g:6152:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -16608,23 +16745,23 @@
 
             }
 
-            otherlv_1=(Token)match(input,86,FOLLOW_64); if (state.failed) return current;
+            otherlv_1=(Token)match(input,87,FOLLOW_66); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1());
               		
             }
-            otherlv_2=(Token)match(input,29,FOLLOW_4); if (state.failed) return current;
+            otherlv_2=(Token)match(input,30,FOLLOW_4); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2());
               		
             }
-            // InternalSignalDSL.g:6122:3: ( ( ruleQualifiedName ) )
-            // InternalSignalDSL.g:6123:4: ( ruleQualifiedName )
+            // InternalSignalDSL.g:6166:3: ( ( ruleQualifiedName ) )
+            // InternalSignalDSL.g:6167:4: ( ruleQualifiedName )
             {
-            // InternalSignalDSL.g:6123:4: ( ruleQualifiedName )
-            // InternalSignalDSL.g:6124:5: ruleQualifiedName
+            // InternalSignalDSL.g:6167:4: ( ruleQualifiedName )
+            // InternalSignalDSL.g:6168:5: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
 
@@ -16638,7 +16775,7 @@
               					newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0());
               				
             }
-            pushFollow(FOLLOW_84);
+            pushFollow(FOLLOW_86);
             ruleQualifiedName();
 
             state._fsp--;
@@ -16654,30 +16791,30 @@
 
             }
 
-            // InternalSignalDSL.g:6138:3: ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )*
-            loop105:
+            // InternalSignalDSL.g:6182:3: ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )*
+            loop106:
             do {
-                int alt105=2;
-                int LA105_0 = input.LA(1);
+                int alt106=2;
+                int LA106_0 = input.LA(1);
 
-                if ( (LA105_0==34) ) {
-                    alt105=1;
+                if ( (LA106_0==35) ) {
+                    alt106=1;
                 }
 
 
-                switch (alt105) {
+                switch (alt106) {
             	case 1 :
-            	    // InternalSignalDSL.g:6139:4: (lv_arrayDimensions_4_0= ruleArrayBrackets )
+            	    // InternalSignalDSL.g:6183:4: (lv_arrayDimensions_4_0= ruleArrayBrackets )
             	    {
-            	    // InternalSignalDSL.g:6139:4: (lv_arrayDimensions_4_0= ruleArrayBrackets )
-            	    // InternalSignalDSL.g:6140:5: lv_arrayDimensions_4_0= ruleArrayBrackets
+            	    // InternalSignalDSL.g:6183:4: (lv_arrayDimensions_4_0= ruleArrayBrackets )
+            	    // InternalSignalDSL.g:6184:5: lv_arrayDimensions_4_0= ruleArrayBrackets
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      					newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0());
             	      				
             	    }
-            	    pushFollow(FOLLOW_84);
+            	    pushFollow(FOLLOW_86);
             	    lv_arrayDimensions_4_0=ruleArrayBrackets();
 
             	    state._fsp--;
@@ -16703,11 +16840,11 @@
             	    break;
 
             	default :
-            	    break loop105;
+            	    break loop106;
                 }
             } while (true);
 
-            otherlv_5=(Token)match(input,31,FOLLOW_2); if (state.failed) return current;
+            otherlv_5=(Token)match(input,32,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_5, grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5());
@@ -16738,7 +16875,7 @@
 
 
     // $ANTLR start "entryRuleXThrowExpression"
-    // InternalSignalDSL.g:6165:1: entryRuleXThrowExpression returns [EObject current=null] : iv_ruleXThrowExpression= ruleXThrowExpression EOF ;
+    // InternalSignalDSL.g:6209:1: entryRuleXThrowExpression returns [EObject current=null] : iv_ruleXThrowExpression= ruleXThrowExpression EOF ;
     public final EObject entryRuleXThrowExpression() throws RecognitionException {
         EObject current = null;
 
@@ -16746,8 +16883,8 @@
 
 
         try {
-            // InternalSignalDSL.g:6165:57: (iv_ruleXThrowExpression= ruleXThrowExpression EOF )
-            // InternalSignalDSL.g:6166:2: iv_ruleXThrowExpression= ruleXThrowExpression EOF
+            // InternalSignalDSL.g:6209:57: (iv_ruleXThrowExpression= ruleXThrowExpression EOF )
+            // InternalSignalDSL.g:6210:2: iv_ruleXThrowExpression= ruleXThrowExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXThrowExpressionRule()); 
@@ -16778,7 +16915,7 @@
 
 
     // $ANTLR start "ruleXThrowExpression"
-    // InternalSignalDSL.g:6172:1: ruleXThrowExpression returns [EObject current=null] : ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) ;
+    // InternalSignalDSL.g:6216:1: ruleXThrowExpression returns [EObject current=null] : ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) ;
     public final EObject ruleXThrowExpression() throws RecognitionException {
         EObject current = null;
 
@@ -16790,14 +16927,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:6178:2: ( ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) )
-            // InternalSignalDSL.g:6179:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) )
+            // InternalSignalDSL.g:6222:2: ( ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) )
+            // InternalSignalDSL.g:6223:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) )
             {
-            // InternalSignalDSL.g:6179:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) )
-            // InternalSignalDSL.g:6180:3: () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) )
+            // InternalSignalDSL.g:6223:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) )
+            // InternalSignalDSL.g:6224:3: () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) )
             {
-            // InternalSignalDSL.g:6180:3: ()
-            // InternalSignalDSL.g:6181:4: 
+            // InternalSignalDSL.g:6224:3: ()
+            // InternalSignalDSL.g:6225:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -16809,17 +16946,17 @@
 
             }
 
-            otherlv_1=(Token)match(input,87,FOLLOW_26); if (state.failed) return current;
+            otherlv_1=(Token)match(input,88,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1());
               		
             }
-            // InternalSignalDSL.g:6191:3: ( (lv_expression_2_0= ruleXExpression ) )
-            // InternalSignalDSL.g:6192:4: (lv_expression_2_0= ruleXExpression )
+            // InternalSignalDSL.g:6235:3: ( (lv_expression_2_0= ruleXExpression ) )
+            // InternalSignalDSL.g:6236:4: (lv_expression_2_0= ruleXExpression )
             {
-            // InternalSignalDSL.g:6192:4: (lv_expression_2_0= ruleXExpression )
-            // InternalSignalDSL.g:6193:5: lv_expression_2_0= ruleXExpression
+            // InternalSignalDSL.g:6236:4: (lv_expression_2_0= ruleXExpression )
+            // InternalSignalDSL.g:6237:5: lv_expression_2_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
@@ -16875,7 +17012,7 @@
 
 
     // $ANTLR start "entryRuleXReturnExpression"
-    // InternalSignalDSL.g:6214:1: entryRuleXReturnExpression returns [EObject current=null] : iv_ruleXReturnExpression= ruleXReturnExpression EOF ;
+    // InternalSignalDSL.g:6258:1: entryRuleXReturnExpression returns [EObject current=null] : iv_ruleXReturnExpression= ruleXReturnExpression EOF ;
     public final EObject entryRuleXReturnExpression() throws RecognitionException {
         EObject current = null;
 
@@ -16883,8 +17020,8 @@
 
 
         try {
-            // InternalSignalDSL.g:6214:58: (iv_ruleXReturnExpression= ruleXReturnExpression EOF )
-            // InternalSignalDSL.g:6215:2: iv_ruleXReturnExpression= ruleXReturnExpression EOF
+            // InternalSignalDSL.g:6258:58: (iv_ruleXReturnExpression= ruleXReturnExpression EOF )
+            // InternalSignalDSL.g:6259:2: iv_ruleXReturnExpression= ruleXReturnExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXReturnExpressionRule()); 
@@ -16915,7 +17052,7 @@
 
 
     // $ANTLR start "ruleXReturnExpression"
-    // InternalSignalDSL.g:6221:1: ruleXReturnExpression returns [EObject current=null] : ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) ;
+    // InternalSignalDSL.g:6265:1: ruleXReturnExpression returns [EObject current=null] : ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) ;
     public final EObject ruleXReturnExpression() throws RecognitionException {
         EObject current = null;
 
@@ -16927,14 +17064,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:6227:2: ( ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) )
-            // InternalSignalDSL.g:6228:2: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? )
+            // InternalSignalDSL.g:6271:2: ( ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) )
+            // InternalSignalDSL.g:6272:2: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? )
             {
-            // InternalSignalDSL.g:6228:2: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? )
-            // InternalSignalDSL.g:6229:3: () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?
+            // InternalSignalDSL.g:6272:2: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? )
+            // InternalSignalDSL.g:6273:3: () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?
             {
-            // InternalSignalDSL.g:6229:3: ()
-            // InternalSignalDSL.g:6230:4: 
+            // InternalSignalDSL.g:6273:3: ()
+            // InternalSignalDSL.g:6274:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -16946,21 +17083,21 @@
 
             }
 
-            otherlv_1=(Token)match(input,88,FOLLOW_85); if (state.failed) return current;
+            otherlv_1=(Token)match(input,89,FOLLOW_87); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1());
               		
             }
-            // InternalSignalDSL.g:6240:3: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?
-            int alt106=2;
-            alt106 = dfa106.predict(input);
-            switch (alt106) {
+            // InternalSignalDSL.g:6284:3: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?
+            int alt107=2;
+            alt107 = dfa107.predict(input);
+            switch (alt107) {
                 case 1 :
-                    // InternalSignalDSL.g:6241:4: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression )
+                    // InternalSignalDSL.g:6285:4: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression )
                     {
-                    // InternalSignalDSL.g:6242:4: (lv_expression_2_0= ruleXExpression )
-                    // InternalSignalDSL.g:6243:5: lv_expression_2_0= ruleXExpression
+                    // InternalSignalDSL.g:6286:4: (lv_expression_2_0= ruleXExpression )
+                    // InternalSignalDSL.g:6287:5: lv_expression_2_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -17019,7 +17156,7 @@
 
 
     // $ANTLR start "entryRuleXTryCatchFinallyExpression"
-    // InternalSignalDSL.g:6264:1: entryRuleXTryCatchFinallyExpression returns [EObject current=null] : iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ;
+    // InternalSignalDSL.g:6308:1: entryRuleXTryCatchFinallyExpression returns [EObject current=null] : iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ;
     public final EObject entryRuleXTryCatchFinallyExpression() throws RecognitionException {
         EObject current = null;
 
@@ -17027,8 +17164,8 @@
 
 
         try {
-            // InternalSignalDSL.g:6264:67: (iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF )
-            // InternalSignalDSL.g:6265:2: iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF
+            // InternalSignalDSL.g:6308:67: (iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF )
+            // InternalSignalDSL.g:6309:2: iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionRule()); 
@@ -17059,7 +17196,7 @@
 
 
     // $ANTLR start "ruleXTryCatchFinallyExpression"
-    // InternalSignalDSL.g:6271:1: ruleXTryCatchFinallyExpression returns [EObject current=null] : ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) ;
+    // InternalSignalDSL.g:6315:1: ruleXTryCatchFinallyExpression returns [EObject current=null] : ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) ;
     public final EObject ruleXTryCatchFinallyExpression() throws RecognitionException {
         EObject current = null;
 
@@ -17079,14 +17216,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:6277:2: ( ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) )
-            // InternalSignalDSL.g:6278:2: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) )
+            // InternalSignalDSL.g:6321:2: ( ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) )
+            // InternalSignalDSL.g:6322:2: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) )
             {
-            // InternalSignalDSL.g:6278:2: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) )
-            // InternalSignalDSL.g:6279:3: () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) )
+            // InternalSignalDSL.g:6322:2: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) )
+            // InternalSignalDSL.g:6323:3: () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) )
             {
-            // InternalSignalDSL.g:6279:3: ()
-            // InternalSignalDSL.g:6280:4: 
+            // InternalSignalDSL.g:6323:3: ()
+            // InternalSignalDSL.g:6324:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -17098,24 +17235,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,89,FOLLOW_26); if (state.failed) return current;
+            otherlv_1=(Token)match(input,90,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1());
               		
             }
-            // InternalSignalDSL.g:6290:3: ( (lv_expression_2_0= ruleXExpression ) )
-            // InternalSignalDSL.g:6291:4: (lv_expression_2_0= ruleXExpression )
+            // InternalSignalDSL.g:6334:3: ( (lv_expression_2_0= ruleXExpression ) )
+            // InternalSignalDSL.g:6335:4: (lv_expression_2_0= ruleXExpression )
             {
-            // InternalSignalDSL.g:6291:4: (lv_expression_2_0= ruleXExpression )
-            // InternalSignalDSL.g:6292:5: lv_expression_2_0= ruleXExpression
+            // InternalSignalDSL.g:6335:4: (lv_expression_2_0= ruleXExpression )
+            // InternalSignalDSL.g:6336:5: lv_expression_2_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0());
               				
             }
-            pushFollow(FOLLOW_86);
+            pushFollow(FOLLOW_88);
             lv_expression_2_0=ruleXExpression();
 
             state._fsp--;
@@ -17139,61 +17276,61 @@
 
             }
 
-            // InternalSignalDSL.g:6309:3: ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) )
-            int alt109=2;
-            int LA109_0 = input.LA(1);
+            // InternalSignalDSL.g:6353:3: ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) )
+            int alt110=2;
+            int LA110_0 = input.LA(1);
 
-            if ( (LA109_0==92) ) {
-                alt109=1;
+            if ( (LA110_0==93) ) {
+                alt110=1;
             }
-            else if ( (LA109_0==90) ) {
-                alt109=2;
+            else if ( (LA110_0==91) ) {
+                alt110=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 109, 0, input);
+                    new NoViableAltException("", 110, 0, input);
 
                 throw nvae;
             }
-            switch (alt109) {
+            switch (alt110) {
                 case 1 :
-                    // InternalSignalDSL.g:6310:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? )
+                    // InternalSignalDSL.g:6354:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? )
                     {
-                    // InternalSignalDSL.g:6310:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? )
-                    // InternalSignalDSL.g:6311:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )?
+                    // InternalSignalDSL.g:6354:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? )
+                    // InternalSignalDSL.g:6355:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )?
                     {
-                    // InternalSignalDSL.g:6311:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+
-                    int cnt107=0;
-                    loop107:
+                    // InternalSignalDSL.g:6355:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+
+                    int cnt108=0;
+                    loop108:
                     do {
-                        int alt107=2;
-                        int LA107_0 = input.LA(1);
+                        int alt108=2;
+                        int LA108_0 = input.LA(1);
 
-                        if ( (LA107_0==92) ) {
-                            int LA107_2 = input.LA(2);
+                        if ( (LA108_0==93) ) {
+                            int LA108_2 = input.LA(2);
 
                             if ( (synpred44_InternalSignalDSL()) ) {
-                                alt107=1;
+                                alt108=1;
                             }
 
 
                         }
 
 
-                        switch (alt107) {
+                        switch (alt108) {
                     	case 1 :
-                    	    // InternalSignalDSL.g:6312:6: ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause )
+                    	    // InternalSignalDSL.g:6356:6: ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause )
                     	    {
-                    	    // InternalSignalDSL.g:6313:6: (lv_catchClauses_3_0= ruleXCatchClause )
-                    	    // InternalSignalDSL.g:6314:7: lv_catchClauses_3_0= ruleXCatchClause
+                    	    // InternalSignalDSL.g:6357:6: (lv_catchClauses_3_0= ruleXCatchClause )
+                    	    // InternalSignalDSL.g:6358:7: lv_catchClauses_3_0= ruleXCatchClause
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_87);
+                    	    pushFollow(FOLLOW_89);
                     	    lv_catchClauses_3_0=ruleXCatchClause();
 
                     	    state._fsp--;
@@ -17219,34 +17356,34 @@
                     	    break;
 
                     	default :
-                    	    if ( cnt107 >= 1 ) break loop107;
+                    	    if ( cnt108 >= 1 ) break loop108;
                     	    if (state.backtracking>0) {state.failed=true; return current;}
                                 EarlyExitException eee =
-                                    new EarlyExitException(107, input);
+                                    new EarlyExitException(108, input);
                                 throw eee;
                         }
-                        cnt107++;
+                        cnt108++;
                     } while (true);
 
-                    // InternalSignalDSL.g:6331:5: ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )?
-                    int alt108=2;
-                    int LA108_0 = input.LA(1);
+                    // InternalSignalDSL.g:6375:5: ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )?
+                    int alt109=2;
+                    int LA109_0 = input.LA(1);
 
-                    if ( (LA108_0==90) ) {
-                        int LA108_1 = input.LA(2);
+                    if ( (LA109_0==91) ) {
+                        int LA109_1 = input.LA(2);
 
                         if ( (synpred45_InternalSignalDSL()) ) {
-                            alt108=1;
+                            alt109=1;
                         }
                     }
-                    switch (alt108) {
+                    switch (alt109) {
                         case 1 :
-                            // InternalSignalDSL.g:6332:6: ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) )
+                            // InternalSignalDSL.g:6376:6: ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) )
                             {
-                            // InternalSignalDSL.g:6332:6: ( ( 'finally' )=>otherlv_4= 'finally' )
-                            // InternalSignalDSL.g:6333:7: ( 'finally' )=>otherlv_4= 'finally'
+                            // InternalSignalDSL.g:6376:6: ( ( 'finally' )=>otherlv_4= 'finally' )
+                            // InternalSignalDSL.g:6377:7: ( 'finally' )=>otherlv_4= 'finally'
                             {
-                            otherlv_4=(Token)match(input,90,FOLLOW_26); if (state.failed) return current;
+                            otherlv_4=(Token)match(input,91,FOLLOW_28); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               							newLeafNode(otherlv_4, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0());
@@ -17255,11 +17392,11 @@
 
                             }
 
-                            // InternalSignalDSL.g:6339:6: ( (lv_finallyExpression_5_0= ruleXExpression ) )
-                            // InternalSignalDSL.g:6340:7: (lv_finallyExpression_5_0= ruleXExpression )
+                            // InternalSignalDSL.g:6383:6: ( (lv_finallyExpression_5_0= ruleXExpression ) )
+                            // InternalSignalDSL.g:6384:7: (lv_finallyExpression_5_0= ruleXExpression )
                             {
-                            // InternalSignalDSL.g:6340:7: (lv_finallyExpression_5_0= ruleXExpression )
-                            // InternalSignalDSL.g:6341:8: lv_finallyExpression_5_0= ruleXExpression
+                            // InternalSignalDSL.g:6384:7: (lv_finallyExpression_5_0= ruleXExpression )
+                            // InternalSignalDSL.g:6385:8: lv_finallyExpression_5_0= ruleXExpression
                             {
                             if ( state.backtracking==0 ) {
 
@@ -17303,22 +17440,22 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:6361:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) )
+                    // InternalSignalDSL.g:6405:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) )
                     {
-                    // InternalSignalDSL.g:6361:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) )
-                    // InternalSignalDSL.g:6362:5: otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:6405:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) )
+                    // InternalSignalDSL.g:6406:5: otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) )
                     {
-                    otherlv_6=(Token)match(input,90,FOLLOW_26); if (state.failed) return current;
+                    otherlv_6=(Token)match(input,91,FOLLOW_28); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(otherlv_6, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0());
                       				
                     }
-                    // InternalSignalDSL.g:6366:5: ( (lv_finallyExpression_7_0= ruleXExpression ) )
-                    // InternalSignalDSL.g:6367:6: (lv_finallyExpression_7_0= ruleXExpression )
+                    // InternalSignalDSL.g:6410:5: ( (lv_finallyExpression_7_0= ruleXExpression ) )
+                    // InternalSignalDSL.g:6411:6: (lv_finallyExpression_7_0= ruleXExpression )
                     {
-                    // InternalSignalDSL.g:6367:6: (lv_finallyExpression_7_0= ruleXExpression )
-                    // InternalSignalDSL.g:6368:7: lv_finallyExpression_7_0= ruleXExpression
+                    // InternalSignalDSL.g:6411:6: (lv_finallyExpression_7_0= ruleXExpression )
+                    // InternalSignalDSL.g:6412:7: lv_finallyExpression_7_0= ruleXExpression
                     {
                     if ( state.backtracking==0 ) {
 
@@ -17383,7 +17520,7 @@
 
 
     // $ANTLR start "entryRuleXSynchronizedExpression"
-    // InternalSignalDSL.g:6391:1: entryRuleXSynchronizedExpression returns [EObject current=null] : iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ;
+    // InternalSignalDSL.g:6435:1: entryRuleXSynchronizedExpression returns [EObject current=null] : iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ;
     public final EObject entryRuleXSynchronizedExpression() throws RecognitionException {
         EObject current = null;
 
@@ -17391,8 +17528,8 @@
 
 
         try {
-            // InternalSignalDSL.g:6391:64: (iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF )
-            // InternalSignalDSL.g:6392:2: iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF
+            // InternalSignalDSL.g:6435:64: (iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF )
+            // InternalSignalDSL.g:6436:2: iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXSynchronizedExpressionRule()); 
@@ -17423,7 +17560,7 @@
 
 
     // $ANTLR start "ruleXSynchronizedExpression"
-    // InternalSignalDSL.g:6398:1: ruleXSynchronizedExpression returns [EObject current=null] : ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) ;
+    // InternalSignalDSL.g:6442:1: ruleXSynchronizedExpression returns [EObject current=null] : ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) ;
     public final EObject ruleXSynchronizedExpression() throws RecognitionException {
         EObject current = null;
 
@@ -17439,20 +17576,20 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:6404:2: ( ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) )
-            // InternalSignalDSL.g:6405:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) )
+            // InternalSignalDSL.g:6448:2: ( ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) )
+            // InternalSignalDSL.g:6449:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) )
             {
-            // InternalSignalDSL.g:6405:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) )
-            // InternalSignalDSL.g:6406:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) )
+            // InternalSignalDSL.g:6449:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) )
+            // InternalSignalDSL.g:6450:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) )
             {
-            // InternalSignalDSL.g:6406:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) )
-            // InternalSignalDSL.g:6407:4: ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' )
+            // InternalSignalDSL.g:6450:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) )
+            // InternalSignalDSL.g:6451:4: ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' )
             {
-            // InternalSignalDSL.g:6414:4: ( () otherlv_1= 'synchronized' otherlv_2= '(' )
-            // InternalSignalDSL.g:6415:5: () otherlv_1= 'synchronized' otherlv_2= '('
+            // InternalSignalDSL.g:6458:4: ( () otherlv_1= 'synchronized' otherlv_2= '(' )
+            // InternalSignalDSL.g:6459:5: () otherlv_1= 'synchronized' otherlv_2= '('
             {
-            // InternalSignalDSL.g:6415:5: ()
-            // InternalSignalDSL.g:6416:6: 
+            // InternalSignalDSL.g:6459:5: ()
+            // InternalSignalDSL.g:6460:6: 
             {
             if ( state.backtracking==0 ) {
 
@@ -17464,13 +17601,13 @@
 
             }
 
-            otherlv_1=(Token)match(input,91,FOLLOW_64); if (state.failed) return current;
+            otherlv_1=(Token)match(input,92,FOLLOW_66); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_1, grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1());
               				
             }
-            otherlv_2=(Token)match(input,29,FOLLOW_26); if (state.failed) return current;
+            otherlv_2=(Token)match(input,30,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               					newLeafNode(otherlv_2, grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2());
@@ -17482,18 +17619,18 @@
 
             }
 
-            // InternalSignalDSL.g:6432:3: ( (lv_param_3_0= ruleXExpression ) )
-            // InternalSignalDSL.g:6433:4: (lv_param_3_0= ruleXExpression )
+            // InternalSignalDSL.g:6476:3: ( (lv_param_3_0= ruleXExpression ) )
+            // InternalSignalDSL.g:6477:4: (lv_param_3_0= ruleXExpression )
             {
-            // InternalSignalDSL.g:6433:4: (lv_param_3_0= ruleXExpression )
-            // InternalSignalDSL.g:6434:5: lv_param_3_0= ruleXExpression
+            // InternalSignalDSL.g:6477:4: (lv_param_3_0= ruleXExpression )
+            // InternalSignalDSL.g:6478:5: lv_param_3_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0());
               				
             }
-            pushFollow(FOLLOW_24);
+            pushFollow(FOLLOW_26);
             lv_param_3_0=ruleXExpression();
 
             state._fsp--;
@@ -17517,17 +17654,17 @@
 
             }
 
-            otherlv_4=(Token)match(input,31,FOLLOW_26); if (state.failed) return current;
+            otherlv_4=(Token)match(input,32,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_4, grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2());
               		
             }
-            // InternalSignalDSL.g:6455:3: ( (lv_expression_5_0= ruleXExpression ) )
-            // InternalSignalDSL.g:6456:4: (lv_expression_5_0= ruleXExpression )
+            // InternalSignalDSL.g:6499:3: ( (lv_expression_5_0= ruleXExpression ) )
+            // InternalSignalDSL.g:6500:4: (lv_expression_5_0= ruleXExpression )
             {
-            // InternalSignalDSL.g:6456:4: (lv_expression_5_0= ruleXExpression )
-            // InternalSignalDSL.g:6457:5: lv_expression_5_0= ruleXExpression
+            // InternalSignalDSL.g:6500:4: (lv_expression_5_0= ruleXExpression )
+            // InternalSignalDSL.g:6501:5: lv_expression_5_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
@@ -17583,7 +17720,7 @@
 
 
     // $ANTLR start "entryRuleXCatchClause"
-    // InternalSignalDSL.g:6478:1: entryRuleXCatchClause returns [EObject current=null] : iv_ruleXCatchClause= ruleXCatchClause EOF ;
+    // InternalSignalDSL.g:6522:1: entryRuleXCatchClause returns [EObject current=null] : iv_ruleXCatchClause= ruleXCatchClause EOF ;
     public final EObject entryRuleXCatchClause() throws RecognitionException {
         EObject current = null;
 
@@ -17591,8 +17728,8 @@
 
 
         try {
-            // InternalSignalDSL.g:6478:53: (iv_ruleXCatchClause= ruleXCatchClause EOF )
-            // InternalSignalDSL.g:6479:2: iv_ruleXCatchClause= ruleXCatchClause EOF
+            // InternalSignalDSL.g:6522:53: (iv_ruleXCatchClause= ruleXCatchClause EOF )
+            // InternalSignalDSL.g:6523:2: iv_ruleXCatchClause= ruleXCatchClause EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXCatchClauseRule()); 
@@ -17623,7 +17760,7 @@
 
 
     // $ANTLR start "ruleXCatchClause"
-    // InternalSignalDSL.g:6485:1: ruleXCatchClause returns [EObject current=null] : ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) ;
+    // InternalSignalDSL.g:6529:1: ruleXCatchClause returns [EObject current=null] : ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) ;
     public final EObject ruleXCatchClause() throws RecognitionException {
         EObject current = null;
 
@@ -17639,16 +17776,16 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:6491:2: ( ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) )
-            // InternalSignalDSL.g:6492:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) )
+            // InternalSignalDSL.g:6535:2: ( ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) )
+            // InternalSignalDSL.g:6536:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) )
             {
-            // InternalSignalDSL.g:6492:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) )
-            // InternalSignalDSL.g:6493:3: ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) )
+            // InternalSignalDSL.g:6536:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) )
+            // InternalSignalDSL.g:6537:3: ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) )
             {
-            // InternalSignalDSL.g:6493:3: ( ( 'catch' )=>otherlv_0= 'catch' )
-            // InternalSignalDSL.g:6494:4: ( 'catch' )=>otherlv_0= 'catch'
+            // InternalSignalDSL.g:6537:3: ( ( 'catch' )=>otherlv_0= 'catch' )
+            // InternalSignalDSL.g:6538:4: ( 'catch' )=>otherlv_0= 'catch'
             {
-            otherlv_0=(Token)match(input,92,FOLLOW_64); if (state.failed) return current;
+            otherlv_0=(Token)match(input,93,FOLLOW_66); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               				newLeafNode(otherlv_0, grammarAccess.getXCatchClauseAccess().getCatchKeyword_0());
@@ -17657,24 +17794,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,29,FOLLOW_39); if (state.failed) return current;
+            otherlv_1=(Token)match(input,30,FOLLOW_41); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1());
               		
             }
-            // InternalSignalDSL.g:6504:3: ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) )
-            // InternalSignalDSL.g:6505:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter )
+            // InternalSignalDSL.g:6548:3: ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) )
+            // InternalSignalDSL.g:6549:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter )
             {
-            // InternalSignalDSL.g:6505:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter )
-            // InternalSignalDSL.g:6506:5: lv_declaredParam_2_0= ruleFullJvmFormalParameter
+            // InternalSignalDSL.g:6549:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter )
+            // InternalSignalDSL.g:6550:5: lv_declaredParam_2_0= ruleFullJvmFormalParameter
             {
             if ( state.backtracking==0 ) {
 
               					newCompositeNode(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0());
               				
             }
-            pushFollow(FOLLOW_24);
+            pushFollow(FOLLOW_26);
             lv_declaredParam_2_0=ruleFullJvmFormalParameter();
 
             state._fsp--;
@@ -17698,17 +17835,17 @@
 
             }
 
-            otherlv_3=(Token)match(input,31,FOLLOW_26); if (state.failed) return current;
+            otherlv_3=(Token)match(input,32,FOLLOW_28); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_3, grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3());
               		
             }
-            // InternalSignalDSL.g:6527:3: ( (lv_expression_4_0= ruleXExpression ) )
-            // InternalSignalDSL.g:6528:4: (lv_expression_4_0= ruleXExpression )
+            // InternalSignalDSL.g:6571:3: ( (lv_expression_4_0= ruleXExpression ) )
+            // InternalSignalDSL.g:6572:4: (lv_expression_4_0= ruleXExpression )
             {
-            // InternalSignalDSL.g:6528:4: (lv_expression_4_0= ruleXExpression )
-            // InternalSignalDSL.g:6529:5: lv_expression_4_0= ruleXExpression
+            // InternalSignalDSL.g:6572:4: (lv_expression_4_0= ruleXExpression )
+            // InternalSignalDSL.g:6573:5: lv_expression_4_0= ruleXExpression
             {
             if ( state.backtracking==0 ) {
 
@@ -17764,7 +17901,7 @@
 
 
     // $ANTLR start "entryRuleQualifiedName"
-    // InternalSignalDSL.g:6550:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
+    // InternalSignalDSL.g:6594:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
     public final String entryRuleQualifiedName() throws RecognitionException {
         String current = null;
 
@@ -17772,8 +17909,8 @@
 
 
         try {
-            // InternalSignalDSL.g:6550:53: (iv_ruleQualifiedName= ruleQualifiedName EOF )
-            // InternalSignalDSL.g:6551:2: iv_ruleQualifiedName= ruleQualifiedName EOF
+            // InternalSignalDSL.g:6594:53: (iv_ruleQualifiedName= ruleQualifiedName EOF )
+            // InternalSignalDSL.g:6595:2: iv_ruleQualifiedName= ruleQualifiedName EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getQualifiedNameRule()); 
@@ -17804,7 +17941,7 @@
 
 
     // $ANTLR start "ruleQualifiedName"
-    // InternalSignalDSL.g:6557:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) ;
+    // InternalSignalDSL.g:6601:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) ;
     public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -17818,18 +17955,18 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:6563:2: ( (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) )
-            // InternalSignalDSL.g:6564:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* )
+            // InternalSignalDSL.g:6607:2: ( (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) )
+            // InternalSignalDSL.g:6608:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* )
             {
-            // InternalSignalDSL.g:6564:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* )
-            // InternalSignalDSL.g:6565:3: this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*
+            // InternalSignalDSL.g:6608:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* )
+            // InternalSignalDSL.g:6609:3: this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*
             {
             if ( state.backtracking==0 ) {
 
               			newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0());
               		
             }
-            pushFollow(FOLLOW_88);
+            pushFollow(FOLLOW_90);
             this_ValidID_0=ruleValidID();
 
             state._fsp--;
@@ -17844,20 +17981,20 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            // InternalSignalDSL.g:6575:3: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*
-            loop110:
+            // InternalSignalDSL.g:6619:3: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*
+            loop111:
             do {
-                int alt110=2;
-                int LA110_0 = input.LA(1);
+                int alt111=2;
+                int LA111_0 = input.LA(1);
 
-                if ( (LA110_0==66) ) {
-                    int LA110_2 = input.LA(2);
+                if ( (LA111_0==67) ) {
+                    int LA111_2 = input.LA(2);
 
-                    if ( (LA110_2==RULE_ID) ) {
-                        int LA110_3 = input.LA(3);
+                    if ( (LA111_2==RULE_ID) ) {
+                        int LA111_3 = input.LA(3);
 
                         if ( (synpred48_InternalSignalDSL()) ) {
-                            alt110=1;
+                            alt111=1;
                         }
 
 
@@ -17867,14 +18004,14 @@
                 }
 
 
-                switch (alt110) {
+                switch (alt111) {
             	case 1 :
-            	    // InternalSignalDSL.g:6576:4: ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID
+            	    // InternalSignalDSL.g:6620:4: ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID
             	    {
-            	    // InternalSignalDSL.g:6576:4: ( ( '.' )=>kw= '.' )
-            	    // InternalSignalDSL.g:6577:5: ( '.' )=>kw= '.'
+            	    // InternalSignalDSL.g:6620:4: ( ( '.' )=>kw= '.' )
+            	    // InternalSignalDSL.g:6621:5: ( '.' )=>kw= '.'
             	    {
-            	    kw=(Token)match(input,66,FOLLOW_4); if (state.failed) return current;
+            	    kw=(Token)match(input,67,FOLLOW_4); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	      					current.merge(kw);
@@ -17889,7 +18026,7 @@
             	      				newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1());
             	      			
             	    }
-            	    pushFollow(FOLLOW_88);
+            	    pushFollow(FOLLOW_90);
             	    this_ValidID_2=ruleValidID();
 
             	    state._fsp--;
@@ -17909,7 +18046,7 @@
             	    break;
 
             	default :
-            	    break loop110;
+            	    break loop111;
                 }
             } while (true);
 
@@ -17938,7 +18075,7 @@
 
 
     // $ANTLR start "entryRuleNumber"
-    // InternalSignalDSL.g:6599:1: entryRuleNumber returns [String current=null] : iv_ruleNumber= ruleNumber EOF ;
+    // InternalSignalDSL.g:6643:1: entryRuleNumber returns [String current=null] : iv_ruleNumber= ruleNumber EOF ;
     public final String entryRuleNumber() throws RecognitionException {
         String current = null;
 
@@ -17949,8 +18086,8 @@
         	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
 
         try {
-            // InternalSignalDSL.g:6601:2: (iv_ruleNumber= ruleNumber EOF )
-            // InternalSignalDSL.g:6602:2: iv_ruleNumber= ruleNumber EOF
+            // InternalSignalDSL.g:6645:2: (iv_ruleNumber= ruleNumber EOF )
+            // InternalSignalDSL.g:6646:2: iv_ruleNumber= ruleNumber EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getNumberRule()); 
@@ -17984,7 +18121,7 @@
 
 
     // $ANTLR start "ruleNumber"
-    // InternalSignalDSL.g:6611:1: ruleNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) ;
+    // InternalSignalDSL.g:6655:1: ruleNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) ;
     public final AntlrDatatypeRuleToken ruleNumber() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -18000,29 +18137,29 @@
         	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
 
         try {
-            // InternalSignalDSL.g:6618:2: ( (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) )
-            // InternalSignalDSL.g:6619:2: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) )
+            // InternalSignalDSL.g:6662:2: ( (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) )
+            // InternalSignalDSL.g:6663:2: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) )
             {
-            // InternalSignalDSL.g:6619:2: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) )
-            int alt114=2;
-            int LA114_0 = input.LA(1);
+            // InternalSignalDSL.g:6663:2: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) )
+            int alt115=2;
+            int LA115_0 = input.LA(1);
 
-            if ( (LA114_0==RULE_HEX) ) {
-                alt114=1;
+            if ( (LA115_0==RULE_HEX) ) {
+                alt115=1;
             }
-            else if ( ((LA114_0>=RULE_INT && LA114_0<=RULE_DECIMAL)) ) {
-                alt114=2;
+            else if ( ((LA115_0>=RULE_INT && LA115_0<=RULE_DECIMAL)) ) {
+                alt115=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 114, 0, input);
+                    new NoViableAltException("", 115, 0, input);
 
                 throw nvae;
             }
-            switch (alt114) {
+            switch (alt115) {
                 case 1 :
-                    // InternalSignalDSL.g:6620:3: this_HEX_0= RULE_HEX
+                    // InternalSignalDSL.g:6664:3: this_HEX_0= RULE_HEX
                     {
                     this_HEX_0=(Token)match(input,RULE_HEX,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -18039,33 +18176,33 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:6628:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? )
+                    // InternalSignalDSL.g:6672:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? )
                     {
-                    // InternalSignalDSL.g:6628:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? )
-                    // InternalSignalDSL.g:6629:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )?
+                    // InternalSignalDSL.g:6672:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? )
+                    // InternalSignalDSL.g:6673:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )?
                     {
-                    // InternalSignalDSL.g:6629:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL )
-                    int alt111=2;
-                    int LA111_0 = input.LA(1);
+                    // InternalSignalDSL.g:6673:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL )
+                    int alt112=2;
+                    int LA112_0 = input.LA(1);
 
-                    if ( (LA111_0==RULE_INT) ) {
-                        alt111=1;
+                    if ( (LA112_0==RULE_INT) ) {
+                        alt112=1;
                     }
-                    else if ( (LA111_0==RULE_DECIMAL) ) {
-                        alt111=2;
+                    else if ( (LA112_0==RULE_DECIMAL) ) {
+                        alt112=2;
                     }
                     else {
                         if (state.backtracking>0) {state.failed=true; return current;}
                         NoViableAltException nvae =
-                            new NoViableAltException("", 111, 0, input);
+                            new NoViableAltException("", 112, 0, input);
 
                         throw nvae;
                     }
-                    switch (alt111) {
+                    switch (alt112) {
                         case 1 :
-                            // InternalSignalDSL.g:6630:5: this_INT_1= RULE_INT
+                            // InternalSignalDSL.g:6674:5: this_INT_1= RULE_INT
                             {
-                            this_INT_1=(Token)match(input,RULE_INT,FOLLOW_88); if (state.failed) return current;
+                            this_INT_1=(Token)match(input,RULE_INT,FOLLOW_90); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               					current.merge(this_INT_1);
@@ -18080,9 +18217,9 @@
                             }
                             break;
                         case 2 :
-                            // InternalSignalDSL.g:6638:5: this_DECIMAL_2= RULE_DECIMAL
+                            // InternalSignalDSL.g:6682:5: this_DECIMAL_2= RULE_DECIMAL
                             {
-                            this_DECIMAL_2=(Token)match(input,RULE_DECIMAL,FOLLOW_88); if (state.failed) return current;
+                            this_DECIMAL_2=(Token)match(input,RULE_DECIMAL,FOLLOW_90); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               					current.merge(this_DECIMAL_2);
@@ -18099,48 +18236,48 @@
 
                     }
 
-                    // InternalSignalDSL.g:6646:4: (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )?
-                    int alt113=2;
-                    int LA113_0 = input.LA(1);
+                    // InternalSignalDSL.g:6690:4: (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )?
+                    int alt114=2;
+                    int LA114_0 = input.LA(1);
 
-                    if ( (LA113_0==66) ) {
-                        int LA113_1 = input.LA(2);
+                    if ( (LA114_0==67) ) {
+                        int LA114_1 = input.LA(2);
 
-                        if ( ((LA113_1>=RULE_INT && LA113_1<=RULE_DECIMAL)) ) {
-                            alt113=1;
+                        if ( ((LA114_1>=RULE_INT && LA114_1<=RULE_DECIMAL)) ) {
+                            alt114=1;
                         }
                     }
-                    switch (alt113) {
+                    switch (alt114) {
                         case 1 :
-                            // InternalSignalDSL.g:6647:5: kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL )
+                            // InternalSignalDSL.g:6691:5: kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL )
                             {
-                            kw=(Token)match(input,66,FOLLOW_89); if (state.failed) return current;
+                            kw=(Token)match(input,67,FOLLOW_91); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                               					current.merge(kw);
                               					newLeafNode(kw, grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0());
                               				
                             }
-                            // InternalSignalDSL.g:6652:5: (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL )
-                            int alt112=2;
-                            int LA112_0 = input.LA(1);
+                            // InternalSignalDSL.g:6696:5: (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL )
+                            int alt113=2;
+                            int LA113_0 = input.LA(1);
 
-                            if ( (LA112_0==RULE_INT) ) {
-                                alt112=1;
+                            if ( (LA113_0==RULE_INT) ) {
+                                alt113=1;
                             }
-                            else if ( (LA112_0==RULE_DECIMAL) ) {
-                                alt112=2;
+                            else if ( (LA113_0==RULE_DECIMAL) ) {
+                                alt113=2;
                             }
                             else {
                                 if (state.backtracking>0) {state.failed=true; return current;}
                                 NoViableAltException nvae =
-                                    new NoViableAltException("", 112, 0, input);
+                                    new NoViableAltException("", 113, 0, input);
 
                                 throw nvae;
                             }
-                            switch (alt112) {
+                            switch (alt113) {
                                 case 1 :
-                                    // InternalSignalDSL.g:6653:6: this_INT_4= RULE_INT
+                                    // InternalSignalDSL.g:6697:6: this_INT_4= RULE_INT
                                     {
                                     this_INT_4=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current;
                                     if ( state.backtracking==0 ) {
@@ -18157,7 +18294,7 @@
                                     }
                                     break;
                                 case 2 :
-                                    // InternalSignalDSL.g:6661:6: this_DECIMAL_5= RULE_DECIMAL
+                                    // InternalSignalDSL.g:6705:6: this_DECIMAL_5= RULE_DECIMAL
                                     {
                                     this_DECIMAL_5=(Token)match(input,RULE_DECIMAL,FOLLOW_2); if (state.failed) return current;
                                     if ( state.backtracking==0 ) {
@@ -18216,7 +18353,7 @@
 
 
     // $ANTLR start "entryRuleJvmTypeReference"
-    // InternalSignalDSL.g:6678:1: entryRuleJvmTypeReference returns [EObject current=null] : iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ;
+    // InternalSignalDSL.g:6722:1: entryRuleJvmTypeReference returns [EObject current=null] : iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ;
     public final EObject entryRuleJvmTypeReference() throws RecognitionException {
         EObject current = null;
 
@@ -18224,8 +18361,8 @@
 
 
         try {
-            // InternalSignalDSL.g:6678:57: (iv_ruleJvmTypeReference= ruleJvmTypeReference EOF )
-            // InternalSignalDSL.g:6679:2: iv_ruleJvmTypeReference= ruleJvmTypeReference EOF
+            // InternalSignalDSL.g:6722:57: (iv_ruleJvmTypeReference= ruleJvmTypeReference EOF )
+            // InternalSignalDSL.g:6723:2: iv_ruleJvmTypeReference= ruleJvmTypeReference EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmTypeReferenceRule()); 
@@ -18256,7 +18393,7 @@
 
 
     // $ANTLR start "ruleJvmTypeReference"
-    // InternalSignalDSL.g:6685:1: ruleJvmTypeReference returns [EObject current=null] : ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) ;
+    // InternalSignalDSL.g:6729:1: ruleJvmTypeReference returns [EObject current=null] : ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) ;
     public final EObject ruleJvmTypeReference() throws RecognitionException {
         EObject current = null;
 
@@ -18269,39 +18406,39 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:6691:2: ( ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) )
-            // InternalSignalDSL.g:6692:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef )
+            // InternalSignalDSL.g:6735:2: ( ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) )
+            // InternalSignalDSL.g:6736:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef )
             {
-            // InternalSignalDSL.g:6692:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef )
-            int alt116=2;
-            int LA116_0 = input.LA(1);
+            // InternalSignalDSL.g:6736:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef )
+            int alt117=2;
+            int LA117_0 = input.LA(1);
 
-            if ( (LA116_0==RULE_ID) ) {
-                alt116=1;
+            if ( (LA117_0==RULE_ID) ) {
+                alt117=1;
             }
-            else if ( (LA116_0==29||LA116_0==54) ) {
-                alt116=2;
+            else if ( (LA117_0==30||LA117_0==55) ) {
+                alt117=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 116, 0, input);
+                    new NoViableAltException("", 117, 0, input);
 
                 throw nvae;
             }
-            switch (alt116) {
+            switch (alt117) {
                 case 1 :
-                    // InternalSignalDSL.g:6693:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* )
+                    // InternalSignalDSL.g:6737:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* )
                     {
-                    // InternalSignalDSL.g:6693:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* )
-                    // InternalSignalDSL.g:6694:4: this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )*
+                    // InternalSignalDSL.g:6737:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* )
+                    // InternalSignalDSL.g:6738:4: this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )*
                     {
                     if ( state.backtracking==0 ) {
 
                       				newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0());
                       			
                     }
-                    pushFollow(FOLLOW_82);
+                    pushFollow(FOLLOW_84);
                     this_JvmParameterizedTypeReference_0=ruleJvmParameterizedTypeReference();
 
                     state._fsp--;
@@ -18312,20 +18449,20 @@
                       				afterParserOrEnumRuleCall();
                       			
                     }
-                    // InternalSignalDSL.g:6702:4: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )*
-                    loop115:
+                    // InternalSignalDSL.g:6746:4: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )*
+                    loop116:
                     do {
-                        int alt115=2;
-                        int LA115_0 = input.LA(1);
+                        int alt116=2;
+                        int LA116_0 = input.LA(1);
 
-                        if ( (LA115_0==34) ) {
-                            int LA115_2 = input.LA(2);
+                        if ( (LA116_0==35) ) {
+                            int LA116_2 = input.LA(2);
 
-                            if ( (LA115_2==35) ) {
-                                int LA115_3 = input.LA(3);
+                            if ( (LA116_2==36) ) {
+                                int LA116_3 = input.LA(3);
 
                                 if ( (synpred49_InternalSignalDSL()) ) {
-                                    alt115=1;
+                                    alt116=1;
                                 }
 
 
@@ -18335,15 +18472,15 @@
                         }
 
 
-                        switch (alt115) {
+                        switch (alt116) {
                     	case 1 :
-                    	    // InternalSignalDSL.g:6703:5: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets )
+                    	    // InternalSignalDSL.g:6747:5: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets )
                     	    {
-                    	    // InternalSignalDSL.g:6709:5: ( () ruleArrayBrackets )
-                    	    // InternalSignalDSL.g:6710:6: () ruleArrayBrackets
+                    	    // InternalSignalDSL.g:6753:5: ( () ruleArrayBrackets )
+                    	    // InternalSignalDSL.g:6754:6: () ruleArrayBrackets
                     	    {
-                    	    // InternalSignalDSL.g:6710:6: ()
-                    	    // InternalSignalDSL.g:6711:7: 
+                    	    // InternalSignalDSL.g:6754:6: ()
+                    	    // InternalSignalDSL.g:6755:7: 
                     	    {
                     	    if ( state.backtracking==0 ) {
 
@@ -18360,7 +18497,7 @@
                     	      						newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1());
                     	      					
                     	    }
-                    	    pushFollow(FOLLOW_82);
+                    	    pushFollow(FOLLOW_84);
                     	    ruleArrayBrackets();
 
                     	    state._fsp--;
@@ -18378,7 +18515,7 @@
                     	    break;
 
                     	default :
-                    	    break loop115;
+                    	    break loop116;
                         }
                     } while (true);
 
@@ -18389,7 +18526,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:6728:3: this_XFunctionTypeRef_3= ruleXFunctionTypeRef
+                    // InternalSignalDSL.g:6772:3: this_XFunctionTypeRef_3= ruleXFunctionTypeRef
                     {
                     if ( state.backtracking==0 ) {
 
@@ -18435,7 +18572,7 @@
 
 
     // $ANTLR start "entryRuleArrayBrackets"
-    // InternalSignalDSL.g:6740:1: entryRuleArrayBrackets returns [String current=null] : iv_ruleArrayBrackets= ruleArrayBrackets EOF ;
+    // InternalSignalDSL.g:6784:1: entryRuleArrayBrackets returns [String current=null] : iv_ruleArrayBrackets= ruleArrayBrackets EOF ;
     public final String entryRuleArrayBrackets() throws RecognitionException {
         String current = null;
 
@@ -18443,8 +18580,8 @@
 
 
         try {
-            // InternalSignalDSL.g:6740:53: (iv_ruleArrayBrackets= ruleArrayBrackets EOF )
-            // InternalSignalDSL.g:6741:2: iv_ruleArrayBrackets= ruleArrayBrackets EOF
+            // InternalSignalDSL.g:6784:53: (iv_ruleArrayBrackets= ruleArrayBrackets EOF )
+            // InternalSignalDSL.g:6785:2: iv_ruleArrayBrackets= ruleArrayBrackets EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getArrayBracketsRule()); 
@@ -18475,7 +18612,7 @@
 
 
     // $ANTLR start "ruleArrayBrackets"
-    // InternalSignalDSL.g:6747:1: ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '[' kw= ']' ) ;
+    // InternalSignalDSL.g:6791:1: ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '[' kw= ']' ) ;
     public final AntlrDatatypeRuleToken ruleArrayBrackets() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -18485,20 +18622,20 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:6753:2: ( (kw= '[' kw= ']' ) )
-            // InternalSignalDSL.g:6754:2: (kw= '[' kw= ']' )
+            // InternalSignalDSL.g:6797:2: ( (kw= '[' kw= ']' ) )
+            // InternalSignalDSL.g:6798:2: (kw= '[' kw= ']' )
             {
-            // InternalSignalDSL.g:6754:2: (kw= '[' kw= ']' )
-            // InternalSignalDSL.g:6755:3: kw= '[' kw= ']'
+            // InternalSignalDSL.g:6798:2: (kw= '[' kw= ']' )
+            // InternalSignalDSL.g:6799:3: kw= '[' kw= ']'
             {
-            kw=(Token)match(input,34,FOLLOW_61); if (state.failed) return current;
+            kw=(Token)match(input,35,FOLLOW_63); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			current.merge(kw);
               			newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0());
               		
             }
-            kw=(Token)match(input,35,FOLLOW_2); if (state.failed) return current;
+            kw=(Token)match(input,36,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			current.merge(kw);
@@ -18530,7 +18667,7 @@
 
 
     // $ANTLR start "entryRuleXFunctionTypeRef"
-    // InternalSignalDSL.g:6769:1: entryRuleXFunctionTypeRef returns [EObject current=null] : iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ;
+    // InternalSignalDSL.g:6813:1: entryRuleXFunctionTypeRef returns [EObject current=null] : iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ;
     public final EObject entryRuleXFunctionTypeRef() throws RecognitionException {
         EObject current = null;
 
@@ -18538,8 +18675,8 @@
 
 
         try {
-            // InternalSignalDSL.g:6769:57: (iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF )
-            // InternalSignalDSL.g:6770:2: iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF
+            // InternalSignalDSL.g:6813:57: (iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF )
+            // InternalSignalDSL.g:6814:2: iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXFunctionTypeRefRule()); 
@@ -18570,7 +18707,7 @@
 
 
     // $ANTLR start "ruleXFunctionTypeRef"
-    // InternalSignalDSL.g:6776:1: ruleXFunctionTypeRef returns [EObject current=null] : ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ;
+    // InternalSignalDSL.g:6820:1: ruleXFunctionTypeRef returns [EObject current=null] : ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ;
     public final EObject ruleXFunctionTypeRef() throws RecognitionException {
         EObject current = null;
 
@@ -18589,52 +18726,52 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:6782:2: ( ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) )
-            // InternalSignalDSL.g:6783:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) )
+            // InternalSignalDSL.g:6826:2: ( ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) )
+            // InternalSignalDSL.g:6827:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) )
             {
-            // InternalSignalDSL.g:6783:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) )
-            // InternalSignalDSL.g:6784:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:6827:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) )
+            // InternalSignalDSL.g:6828:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) )
             {
-            // InternalSignalDSL.g:6784:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )?
-            int alt119=2;
-            int LA119_0 = input.LA(1);
+            // InternalSignalDSL.g:6828:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )?
+            int alt120=2;
+            int LA120_0 = input.LA(1);
 
-            if ( (LA119_0==29) ) {
-                alt119=1;
+            if ( (LA120_0==30) ) {
+                alt120=1;
             }
-            switch (alt119) {
+            switch (alt120) {
                 case 1 :
-                    // InternalSignalDSL.g:6785:4: otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')'
+                    // InternalSignalDSL.g:6829:4: otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')'
                     {
-                    otherlv_0=(Token)match(input,29,FOLLOW_90); if (state.failed) return current;
+                    otherlv_0=(Token)match(input,30,FOLLOW_92); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_0, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0());
                       			
                     }
-                    // InternalSignalDSL.g:6789:4: ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )?
-                    int alt118=2;
-                    int LA118_0 = input.LA(1);
+                    // InternalSignalDSL.g:6833:4: ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )?
+                    int alt119=2;
+                    int LA119_0 = input.LA(1);
 
-                    if ( (LA118_0==RULE_ID||LA118_0==29||LA118_0==54) ) {
-                        alt118=1;
+                    if ( (LA119_0==RULE_ID||LA119_0==30||LA119_0==55) ) {
+                        alt119=1;
                     }
-                    switch (alt118) {
+                    switch (alt119) {
                         case 1 :
-                            // InternalSignalDSL.g:6790:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )*
+                            // InternalSignalDSL.g:6834:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )*
                             {
-                            // InternalSignalDSL.g:6790:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) )
-                            // InternalSignalDSL.g:6791:6: (lv_paramTypes_1_0= ruleJvmTypeReference )
+                            // InternalSignalDSL.g:6834:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) )
+                            // InternalSignalDSL.g:6835:6: (lv_paramTypes_1_0= ruleJvmTypeReference )
                             {
-                            // InternalSignalDSL.g:6791:6: (lv_paramTypes_1_0= ruleJvmTypeReference )
-                            // InternalSignalDSL.g:6792:7: lv_paramTypes_1_0= ruleJvmTypeReference
+                            // InternalSignalDSL.g:6835:6: (lv_paramTypes_1_0= ruleJvmTypeReference )
+                            // InternalSignalDSL.g:6836:7: lv_paramTypes_1_0= ruleJvmTypeReference
                             {
                             if ( state.backtracking==0 ) {
 
                               							newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0());
                               						
                             }
-                            pushFollow(FOLLOW_23);
+                            pushFollow(FOLLOW_25);
                             lv_paramTypes_1_0=ruleJvmTypeReference();
 
                             state._fsp--;
@@ -18658,39 +18795,39 @@
 
                             }
 
-                            // InternalSignalDSL.g:6809:5: (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )*
-                            loop117:
+                            // InternalSignalDSL.g:6853:5: (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )*
+                            loop118:
                             do {
-                                int alt117=2;
-                                int LA117_0 = input.LA(1);
+                                int alt118=2;
+                                int LA118_0 = input.LA(1);
 
-                                if ( (LA117_0==30) ) {
-                                    alt117=1;
+                                if ( (LA118_0==31) ) {
+                                    alt118=1;
                                 }
 
 
-                                switch (alt117) {
+                                switch (alt118) {
                             	case 1 :
-                            	    // InternalSignalDSL.g:6810:6: otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) )
+                            	    // InternalSignalDSL.g:6854:6: otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) )
                             	    {
-                            	    otherlv_2=(Token)match(input,30,FOLLOW_39); if (state.failed) return current;
+                            	    otherlv_2=(Token)match(input,31,FOLLOW_41); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	      						newLeafNode(otherlv_2, grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0());
                             	      					
                             	    }
-                            	    // InternalSignalDSL.g:6814:6: ( (lv_paramTypes_3_0= ruleJvmTypeReference ) )
-                            	    // InternalSignalDSL.g:6815:7: (lv_paramTypes_3_0= ruleJvmTypeReference )
+                            	    // InternalSignalDSL.g:6858:6: ( (lv_paramTypes_3_0= ruleJvmTypeReference ) )
+                            	    // InternalSignalDSL.g:6859:7: (lv_paramTypes_3_0= ruleJvmTypeReference )
                             	    {
-                            	    // InternalSignalDSL.g:6815:7: (lv_paramTypes_3_0= ruleJvmTypeReference )
-                            	    // InternalSignalDSL.g:6816:8: lv_paramTypes_3_0= ruleJvmTypeReference
+                            	    // InternalSignalDSL.g:6859:7: (lv_paramTypes_3_0= ruleJvmTypeReference )
+                            	    // InternalSignalDSL.g:6860:8: lv_paramTypes_3_0= ruleJvmTypeReference
                             	    {
                             	    if ( state.backtracking==0 ) {
 
                             	      								newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0());
                             	      							
                             	    }
-                            	    pushFollow(FOLLOW_23);
+                            	    pushFollow(FOLLOW_25);
                             	    lv_paramTypes_3_0=ruleJvmTypeReference();
 
                             	    state._fsp--;
@@ -18719,7 +18856,7 @@
                             	    break;
 
                             	default :
-                            	    break loop117;
+                            	    break loop118;
                                 }
                             } while (true);
 
@@ -18729,7 +18866,7 @@
 
                     }
 
-                    otherlv_4=(Token)match(input,31,FOLLOW_91); if (state.failed) return current;
+                    otherlv_4=(Token)match(input,32,FOLLOW_93); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_4, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2());
@@ -18741,17 +18878,17 @@
 
             }
 
-            otherlv_5=(Token)match(input,54,FOLLOW_39); if (state.failed) return current;
+            otherlv_5=(Token)match(input,55,FOLLOW_41); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_5, grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1());
               		
             }
-            // InternalSignalDSL.g:6844:3: ( (lv_returnType_6_0= ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:6845:4: (lv_returnType_6_0= ruleJvmTypeReference )
+            // InternalSignalDSL.g:6888:3: ( (lv_returnType_6_0= ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:6889:4: (lv_returnType_6_0= ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:6845:4: (lv_returnType_6_0= ruleJvmTypeReference )
-            // InternalSignalDSL.g:6846:5: lv_returnType_6_0= ruleJvmTypeReference
+            // InternalSignalDSL.g:6889:4: (lv_returnType_6_0= ruleJvmTypeReference )
+            // InternalSignalDSL.g:6890:5: lv_returnType_6_0= ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
 
@@ -18807,7 +18944,7 @@
 
 
     // $ANTLR start "entryRuleJvmParameterizedTypeReference"
-    // InternalSignalDSL.g:6867:1: entryRuleJvmParameterizedTypeReference returns [EObject current=null] : iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ;
+    // InternalSignalDSL.g:6911:1: entryRuleJvmParameterizedTypeReference returns [EObject current=null] : iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ;
     public final EObject entryRuleJvmParameterizedTypeReference() throws RecognitionException {
         EObject current = null;
 
@@ -18815,8 +18952,8 @@
 
 
         try {
-            // InternalSignalDSL.g:6867:70: (iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF )
-            // InternalSignalDSL.g:6868:2: iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF
+            // InternalSignalDSL.g:6911:70: (iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF )
+            // InternalSignalDSL.g:6912:2: iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceRule()); 
@@ -18847,7 +18984,7 @@
 
 
     // $ANTLR start "ruleJvmParameterizedTypeReference"
-    // InternalSignalDSL.g:6874:1: ruleJvmParameterizedTypeReference returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) ;
+    // InternalSignalDSL.g:6918:1: ruleJvmParameterizedTypeReference returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) ;
     public final EObject ruleJvmParameterizedTypeReference() throws RecognitionException {
         EObject current = null;
 
@@ -18871,17 +19008,17 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:6880:2: ( ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) )
-            // InternalSignalDSL.g:6881:2: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? )
+            // InternalSignalDSL.g:6924:2: ( ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) )
+            // InternalSignalDSL.g:6925:2: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? )
             {
-            // InternalSignalDSL.g:6881:2: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? )
-            // InternalSignalDSL.g:6882:3: ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?
+            // InternalSignalDSL.g:6925:2: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? )
+            // InternalSignalDSL.g:6926:3: ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?
             {
-            // InternalSignalDSL.g:6882:3: ( ( ruleQualifiedName ) )
-            // InternalSignalDSL.g:6883:4: ( ruleQualifiedName )
+            // InternalSignalDSL.g:6926:3: ( ( ruleQualifiedName ) )
+            // InternalSignalDSL.g:6927:4: ( ruleQualifiedName )
             {
-            // InternalSignalDSL.g:6883:4: ( ruleQualifiedName )
-            // InternalSignalDSL.g:6884:5: ruleQualifiedName
+            // InternalSignalDSL.g:6927:4: ( ruleQualifiedName )
+            // InternalSignalDSL.g:6928:5: ruleQualifiedName
             {
             if ( state.backtracking==0 ) {
 
@@ -18895,7 +19032,7 @@
               					newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0());
               				
             }
-            pushFollow(FOLLOW_92);
+            pushFollow(FOLLOW_94);
             ruleQualifiedName();
 
             state._fsp--;
@@ -18911,17 +19048,17 @@
 
             }
 
-            // InternalSignalDSL.g:6898:3: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?
-            int alt124=2;
-            alt124 = dfa124.predict(input);
-            switch (alt124) {
+            // InternalSignalDSL.g:6942:3: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?
+            int alt125=2;
+            alt125 = dfa125.predict(input);
+            switch (alt125) {
                 case 1 :
-                    // InternalSignalDSL.g:6899:4: ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*
+                    // InternalSignalDSL.g:6943:4: ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*
                     {
-                    // InternalSignalDSL.g:6899:4: ( ( '<' )=>otherlv_1= '<' )
-                    // InternalSignalDSL.g:6900:5: ( '<' )=>otherlv_1= '<'
+                    // InternalSignalDSL.g:6943:4: ( ( '<' )=>otherlv_1= '<' )
+                    // InternalSignalDSL.g:6944:5: ( '<' )=>otherlv_1= '<'
                     {
-                    otherlv_1=(Token)match(input,41,FOLLOW_51); if (state.failed) return current;
+                    otherlv_1=(Token)match(input,42,FOLLOW_53); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       					newLeafNode(otherlv_1, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0());
@@ -18930,18 +19067,18 @@
 
                     }
 
-                    // InternalSignalDSL.g:6906:4: ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) )
-                    // InternalSignalDSL.g:6907:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference )
+                    // InternalSignalDSL.g:6950:4: ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) )
+                    // InternalSignalDSL.g:6951:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference )
                     {
-                    // InternalSignalDSL.g:6907:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference )
-                    // InternalSignalDSL.g:6908:6: lv_arguments_2_0= ruleJvmArgumentTypeReference
+                    // InternalSignalDSL.g:6951:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference )
+                    // InternalSignalDSL.g:6952:6: lv_arguments_2_0= ruleJvmArgumentTypeReference
                     {
                     if ( state.backtracking==0 ) {
 
                       						newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0());
                       					
                     }
-                    pushFollow(FOLLOW_52);
+                    pushFollow(FOLLOW_54);
                     lv_arguments_2_0=ruleJvmArgumentTypeReference();
 
                     state._fsp--;
@@ -18965,39 +19102,39 @@
 
                     }
 
-                    // InternalSignalDSL.g:6925:4: (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )*
-                    loop120:
+                    // InternalSignalDSL.g:6969:4: (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )*
+                    loop121:
                     do {
-                        int alt120=2;
-                        int LA120_0 = input.LA(1);
+                        int alt121=2;
+                        int LA121_0 = input.LA(1);
 
-                        if ( (LA120_0==30) ) {
-                            alt120=1;
+                        if ( (LA121_0==31) ) {
+                            alt121=1;
                         }
 
 
-                        switch (alt120) {
+                        switch (alt121) {
                     	case 1 :
-                    	    // InternalSignalDSL.g:6926:5: otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) )
+                    	    // InternalSignalDSL.g:6970:5: otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) )
                     	    {
-                    	    otherlv_3=(Token)match(input,30,FOLLOW_51); if (state.failed) return current;
+                    	    otherlv_3=(Token)match(input,31,FOLLOW_53); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      					newLeafNode(otherlv_3, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0());
                     	      				
                     	    }
-                    	    // InternalSignalDSL.g:6930:5: ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) )
-                    	    // InternalSignalDSL.g:6931:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference )
+                    	    // InternalSignalDSL.g:6974:5: ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) )
+                    	    // InternalSignalDSL.g:6975:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference )
                     	    {
-                    	    // InternalSignalDSL.g:6931:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference )
-                    	    // InternalSignalDSL.g:6932:7: lv_arguments_4_0= ruleJvmArgumentTypeReference
+                    	    // InternalSignalDSL.g:6975:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference )
+                    	    // InternalSignalDSL.g:6976:7: lv_arguments_4_0= ruleJvmArgumentTypeReference
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_52);
+                    	    pushFollow(FOLLOW_54);
                     	    lv_arguments_4_0=ruleJvmArgumentTypeReference();
 
                     	    state._fsp--;
@@ -19026,30 +19163,30 @@
                     	    break;
 
                     	default :
-                    	    break loop120;
+                    	    break loop121;
                         }
                     } while (true);
 
-                    otherlv_5=(Token)match(input,42,FOLLOW_88); if (state.failed) return current;
+                    otherlv_5=(Token)match(input,43,FOLLOW_90); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				newLeafNode(otherlv_5, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3());
                       			
                     }
-                    // InternalSignalDSL.g:6954:4: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*
-                    loop123:
+                    // InternalSignalDSL.g:6998:4: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*
+                    loop124:
                     do {
-                        int alt123=2;
-                        int LA123_0 = input.LA(1);
+                        int alt124=2;
+                        int LA124_0 = input.LA(1);
 
-                        if ( (LA123_0==66) ) {
-                            int LA123_2 = input.LA(2);
+                        if ( (LA124_0==67) ) {
+                            int LA124_2 = input.LA(2);
 
-                            if ( (LA123_2==RULE_ID) ) {
-                                int LA123_3 = input.LA(3);
+                            if ( (LA124_2==RULE_ID) ) {
+                                int LA124_3 = input.LA(3);
 
                                 if ( (synpred51_InternalSignalDSL()) ) {
-                                    alt123=1;
+                                    alt124=1;
                                 }
 
 
@@ -19059,18 +19196,18 @@
                         }
 
 
-                        switch (alt123) {
+                        switch (alt124) {
                     	case 1 :
-                    	    // InternalSignalDSL.g:6955:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?
+                    	    // InternalSignalDSL.g:6999:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?
                     	    {
-                    	    // InternalSignalDSL.g:6955:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) )
-                    	    // InternalSignalDSL.g:6956:6: ( ( () '.' ) )=> ( () otherlv_7= '.' )
+                    	    // InternalSignalDSL.g:6999:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) )
+                    	    // InternalSignalDSL.g:7000:6: ( ( () '.' ) )=> ( () otherlv_7= '.' )
                     	    {
-                    	    // InternalSignalDSL.g:6962:6: ( () otherlv_7= '.' )
-                    	    // InternalSignalDSL.g:6963:7: () otherlv_7= '.'
+                    	    // InternalSignalDSL.g:7006:6: ( () otherlv_7= '.' )
+                    	    // InternalSignalDSL.g:7007:7: () otherlv_7= '.'
                     	    {
-                    	    // InternalSignalDSL.g:6963:7: ()
-                    	    // InternalSignalDSL.g:6964:8: 
+                    	    // InternalSignalDSL.g:7007:7: ()
+                    	    // InternalSignalDSL.g:7008:8: 
                     	    {
                     	    if ( state.backtracking==0 ) {
 
@@ -19082,7 +19219,7 @@
 
                     	    }
 
-                    	    otherlv_7=(Token)match(input,66,FOLLOW_4); if (state.failed) return current;
+                    	    otherlv_7=(Token)match(input,67,FOLLOW_4); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	      							newLeafNode(otherlv_7, grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1());
@@ -19094,11 +19231,11 @@
 
                     	    }
 
-                    	    // InternalSignalDSL.g:6976:5: ( ( ruleValidID ) )
-                    	    // InternalSignalDSL.g:6977:6: ( ruleValidID )
+                    	    // InternalSignalDSL.g:7020:5: ( ( ruleValidID ) )
+                    	    // InternalSignalDSL.g:7021:6: ( ruleValidID )
                     	    {
-                    	    // InternalSignalDSL.g:6977:6: ( ruleValidID )
-                    	    // InternalSignalDSL.g:6978:7: ruleValidID
+                    	    // InternalSignalDSL.g:7021:6: ( ruleValidID )
+                    	    // InternalSignalDSL.g:7022:7: ruleValidID
                     	    {
                     	    if ( state.backtracking==0 ) {
 
@@ -19112,7 +19249,7 @@
                     	      							newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_93);
+                    	    pushFollow(FOLLOW_95);
                     	    ruleValidID();
 
                     	    state._fsp--;
@@ -19128,17 +19265,17 @@
 
                     	    }
 
-                    	    // InternalSignalDSL.g:6992:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?
-                    	    int alt122=2;
-                    	    alt122 = dfa122.predict(input);
-                    	    switch (alt122) {
+                    	    // InternalSignalDSL.g:7036:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?
+                    	    int alt123=2;
+                    	    alt123 = dfa123.predict(input);
+                    	    switch (alt123) {
                     	        case 1 :
-                    	            // InternalSignalDSL.g:6993:6: ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>'
+                    	            // InternalSignalDSL.g:7037:6: ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>'
                     	            {
-                    	            // InternalSignalDSL.g:6993:6: ( ( '<' )=>otherlv_9= '<' )
-                    	            // InternalSignalDSL.g:6994:7: ( '<' )=>otherlv_9= '<'
+                    	            // InternalSignalDSL.g:7037:6: ( ( '<' )=>otherlv_9= '<' )
+                    	            // InternalSignalDSL.g:7038:7: ( '<' )=>otherlv_9= '<'
                     	            {
-                    	            otherlv_9=(Token)match(input,41,FOLLOW_51); if (state.failed) return current;
+                    	            otherlv_9=(Token)match(input,42,FOLLOW_53); if (state.failed) return current;
                     	            if ( state.backtracking==0 ) {
 
                     	              							newLeafNode(otherlv_9, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0());
@@ -19147,18 +19284,18 @@
 
                     	            }
 
-                    	            // InternalSignalDSL.g:7000:6: ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) )
-                    	            // InternalSignalDSL.g:7001:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference )
+                    	            // InternalSignalDSL.g:7044:6: ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) )
+                    	            // InternalSignalDSL.g:7045:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference )
                     	            {
-                    	            // InternalSignalDSL.g:7001:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference )
-                    	            // InternalSignalDSL.g:7002:8: lv_arguments_10_0= ruleJvmArgumentTypeReference
+                    	            // InternalSignalDSL.g:7045:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference )
+                    	            // InternalSignalDSL.g:7046:8: lv_arguments_10_0= ruleJvmArgumentTypeReference
                     	            {
                     	            if ( state.backtracking==0 ) {
 
                     	              								newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0());
                     	              							
                     	            }
-                    	            pushFollow(FOLLOW_52);
+                    	            pushFollow(FOLLOW_54);
                     	            lv_arguments_10_0=ruleJvmArgumentTypeReference();
 
                     	            state._fsp--;
@@ -19182,39 +19319,39 @@
 
                     	            }
 
-                    	            // InternalSignalDSL.g:7019:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )*
-                    	            loop121:
+                    	            // InternalSignalDSL.g:7063:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )*
+                    	            loop122:
                     	            do {
-                    	                int alt121=2;
-                    	                int LA121_0 = input.LA(1);
+                    	                int alt122=2;
+                    	                int LA122_0 = input.LA(1);
 
-                    	                if ( (LA121_0==30) ) {
-                    	                    alt121=1;
+                    	                if ( (LA122_0==31) ) {
+                    	                    alt122=1;
                     	                }
 
 
-                    	                switch (alt121) {
+                    	                switch (alt122) {
                     	            	case 1 :
-                    	            	    // InternalSignalDSL.g:7020:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) )
+                    	            	    // InternalSignalDSL.g:7064:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) )
                     	            	    {
-                    	            	    otherlv_11=(Token)match(input,30,FOLLOW_51); if (state.failed) return current;
+                    	            	    otherlv_11=(Token)match(input,31,FOLLOW_53); if (state.failed) return current;
                     	            	    if ( state.backtracking==0 ) {
 
                     	            	      							newLeafNode(otherlv_11, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0());
                     	            	      						
                     	            	    }
-                    	            	    // InternalSignalDSL.g:7024:7: ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) )
-                    	            	    // InternalSignalDSL.g:7025:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference )
+                    	            	    // InternalSignalDSL.g:7068:7: ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) )
+                    	            	    // InternalSignalDSL.g:7069:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference )
                     	            	    {
-                    	            	    // InternalSignalDSL.g:7025:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference )
-                    	            	    // InternalSignalDSL.g:7026:9: lv_arguments_12_0= ruleJvmArgumentTypeReference
+                    	            	    // InternalSignalDSL.g:7069:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference )
+                    	            	    // InternalSignalDSL.g:7070:9: lv_arguments_12_0= ruleJvmArgumentTypeReference
                     	            	    {
                     	            	    if ( state.backtracking==0 ) {
 
                     	            	      									newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0());
                     	            	      								
                     	            	    }
-                    	            	    pushFollow(FOLLOW_52);
+                    	            	    pushFollow(FOLLOW_54);
                     	            	    lv_arguments_12_0=ruleJvmArgumentTypeReference();
 
                     	            	    state._fsp--;
@@ -19243,11 +19380,11 @@
                     	            	    break;
 
                     	            	default :
-                    	            	    break loop121;
+                    	            	    break loop122;
                     	                }
                     	            } while (true);
 
-                    	            otherlv_13=(Token)match(input,42,FOLLOW_88); if (state.failed) return current;
+                    	            otherlv_13=(Token)match(input,43,FOLLOW_90); if (state.failed) return current;
                     	            if ( state.backtracking==0 ) {
 
                     	              						newLeafNode(otherlv_13, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3());
@@ -19264,7 +19401,7 @@
                     	    break;
 
                     	default :
-                    	    break loop123;
+                    	    break loop124;
                         }
                     } while (true);
 
@@ -19299,7 +19436,7 @@
 
 
     // $ANTLR start "entryRuleJvmArgumentTypeReference"
-    // InternalSignalDSL.g:7055:1: entryRuleJvmArgumentTypeReference returns [EObject current=null] : iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ;
+    // InternalSignalDSL.g:7099:1: entryRuleJvmArgumentTypeReference returns [EObject current=null] : iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ;
     public final EObject entryRuleJvmArgumentTypeReference() throws RecognitionException {
         EObject current = null;
 
@@ -19307,8 +19444,8 @@
 
 
         try {
-            // InternalSignalDSL.g:7055:65: (iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF )
-            // InternalSignalDSL.g:7056:2: iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF
+            // InternalSignalDSL.g:7099:65: (iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF )
+            // InternalSignalDSL.g:7100:2: iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceRule()); 
@@ -19339,7 +19476,7 @@
 
 
     // $ANTLR start "ruleJvmArgumentTypeReference"
-    // InternalSignalDSL.g:7062:1: ruleJvmArgumentTypeReference returns [EObject current=null] : (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) ;
+    // InternalSignalDSL.g:7106:1: ruleJvmArgumentTypeReference returns [EObject current=null] : (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) ;
     public final EObject ruleJvmArgumentTypeReference() throws RecognitionException {
         EObject current = null;
 
@@ -19352,29 +19489,29 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:7068:2: ( (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) )
-            // InternalSignalDSL.g:7069:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference )
+            // InternalSignalDSL.g:7112:2: ( (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) )
+            // InternalSignalDSL.g:7113:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference )
             {
-            // InternalSignalDSL.g:7069:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference )
-            int alt125=2;
-            int LA125_0 = input.LA(1);
+            // InternalSignalDSL.g:7113:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference )
+            int alt126=2;
+            int LA126_0 = input.LA(1);
 
-            if ( (LA125_0==RULE_ID||LA125_0==29||LA125_0==54) ) {
-                alt125=1;
+            if ( (LA126_0==RULE_ID||LA126_0==30||LA126_0==55) ) {
+                alt126=1;
             }
-            else if ( (LA125_0==93) ) {
-                alt125=2;
+            else if ( (LA126_0==94) ) {
+                alt126=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 125, 0, input);
+                    new NoViableAltException("", 126, 0, input);
 
                 throw nvae;
             }
-            switch (alt125) {
+            switch (alt126) {
                 case 1 :
-                    // InternalSignalDSL.g:7070:3: this_JvmTypeReference_0= ruleJvmTypeReference
+                    // InternalSignalDSL.g:7114:3: this_JvmTypeReference_0= ruleJvmTypeReference
                     {
                     if ( state.backtracking==0 ) {
 
@@ -19396,7 +19533,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:7079:3: this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference
+                    // InternalSignalDSL.g:7123:3: this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference
                     {
                     if ( state.backtracking==0 ) {
 
@@ -19442,7 +19579,7 @@
 
 
     // $ANTLR start "entryRuleJvmWildcardTypeReference"
-    // InternalSignalDSL.g:7091:1: entryRuleJvmWildcardTypeReference returns [EObject current=null] : iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ;
+    // InternalSignalDSL.g:7135:1: entryRuleJvmWildcardTypeReference returns [EObject current=null] : iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ;
     public final EObject entryRuleJvmWildcardTypeReference() throws RecognitionException {
         EObject current = null;
 
@@ -19450,8 +19587,8 @@
 
 
         try {
-            // InternalSignalDSL.g:7091:65: (iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF )
-            // InternalSignalDSL.g:7092:2: iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF
+            // InternalSignalDSL.g:7135:65: (iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF )
+            // InternalSignalDSL.g:7136:2: iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceRule()); 
@@ -19482,7 +19619,7 @@
 
 
     // $ANTLR start "ruleJvmWildcardTypeReference"
-    // InternalSignalDSL.g:7098:1: ruleJvmWildcardTypeReference returns [EObject current=null] : ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) ;
+    // InternalSignalDSL.g:7142:1: ruleJvmWildcardTypeReference returns [EObject current=null] : ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) ;
     public final EObject ruleJvmWildcardTypeReference() throws RecognitionException {
         EObject current = null;
 
@@ -19500,14 +19637,14 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:7104:2: ( ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) )
-            // InternalSignalDSL.g:7105:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? )
+            // InternalSignalDSL.g:7148:2: ( ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) )
+            // InternalSignalDSL.g:7149:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? )
             {
-            // InternalSignalDSL.g:7105:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? )
-            // InternalSignalDSL.g:7106:3: () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )?
+            // InternalSignalDSL.g:7149:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? )
+            // InternalSignalDSL.g:7150:3: () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )?
             {
-            // InternalSignalDSL.g:7106:3: ()
-            // InternalSignalDSL.g:7107:4: 
+            // InternalSignalDSL.g:7150:3: ()
+            // InternalSignalDSL.g:7151:4: 
             {
             if ( state.backtracking==0 ) {
 
@@ -19519,41 +19656,41 @@
 
             }
 
-            otherlv_1=(Token)match(input,93,FOLLOW_94); if (state.failed) return current;
+            otherlv_1=(Token)match(input,94,FOLLOW_96); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_1, grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1());
               		
             }
-            // InternalSignalDSL.g:7117:3: ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )?
-            int alt128=3;
-            int LA128_0 = input.LA(1);
+            // InternalSignalDSL.g:7161:3: ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )?
+            int alt129=3;
+            int LA129_0 = input.LA(1);
 
-            if ( (LA128_0==80) ) {
-                alt128=1;
+            if ( (LA129_0==81) ) {
+                alt129=1;
             }
-            else if ( (LA128_0==81) ) {
-                alt128=2;
+            else if ( (LA129_0==82) ) {
+                alt129=2;
             }
-            switch (alt128) {
+            switch (alt129) {
                 case 1 :
-                    // InternalSignalDSL.g:7118:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* )
+                    // InternalSignalDSL.g:7162:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* )
                     {
-                    // InternalSignalDSL.g:7118:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* )
-                    // InternalSignalDSL.g:7119:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )*
+                    // InternalSignalDSL.g:7162:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* )
+                    // InternalSignalDSL.g:7163:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )*
                     {
-                    // InternalSignalDSL.g:7119:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) )
-                    // InternalSignalDSL.g:7120:6: (lv_constraints_2_0= ruleJvmUpperBound )
+                    // InternalSignalDSL.g:7163:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) )
+                    // InternalSignalDSL.g:7164:6: (lv_constraints_2_0= ruleJvmUpperBound )
                     {
-                    // InternalSignalDSL.g:7120:6: (lv_constraints_2_0= ruleJvmUpperBound )
-                    // InternalSignalDSL.g:7121:7: lv_constraints_2_0= ruleJvmUpperBound
+                    // InternalSignalDSL.g:7164:6: (lv_constraints_2_0= ruleJvmUpperBound )
+                    // InternalSignalDSL.g:7165:7: lv_constraints_2_0= ruleJvmUpperBound
                     {
                     if ( state.backtracking==0 ) {
 
                       							newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0());
                       						
                     }
-                    pushFollow(FOLLOW_95);
+                    pushFollow(FOLLOW_97);
                     lv_constraints_2_0=ruleJvmUpperBound();
 
                     state._fsp--;
@@ -19577,30 +19714,30 @@
 
                     }
 
-                    // InternalSignalDSL.g:7138:5: ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )*
-                    loop126:
+                    // InternalSignalDSL.g:7182:5: ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )*
+                    loop127:
                     do {
-                        int alt126=2;
-                        int LA126_0 = input.LA(1);
+                        int alt127=2;
+                        int LA127_0 = input.LA(1);
 
-                        if ( (LA126_0==94) ) {
-                            alt126=1;
+                        if ( (LA127_0==95) ) {
+                            alt127=1;
                         }
 
 
-                        switch (alt126) {
+                        switch (alt127) {
                     	case 1 :
-                    	    // InternalSignalDSL.g:7139:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded )
+                    	    // InternalSignalDSL.g:7183:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded )
                     	    {
-                    	    // InternalSignalDSL.g:7139:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded )
-                    	    // InternalSignalDSL.g:7140:7: lv_constraints_3_0= ruleJvmUpperBoundAnded
+                    	    // InternalSignalDSL.g:7183:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded )
+                    	    // InternalSignalDSL.g:7184:7: lv_constraints_3_0= ruleJvmUpperBoundAnded
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_95);
+                    	    pushFollow(FOLLOW_97);
                     	    lv_constraints_3_0=ruleJvmUpperBoundAnded();
 
                     	    state._fsp--;
@@ -19626,7 +19763,7 @@
                     	    break;
 
                     	default :
-                    	    break loop126;
+                    	    break loop127;
                         }
                     } while (true);
 
@@ -19637,23 +19774,23 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:7159:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* )
+                    // InternalSignalDSL.g:7203:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* )
                     {
-                    // InternalSignalDSL.g:7159:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* )
-                    // InternalSignalDSL.g:7160:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )*
+                    // InternalSignalDSL.g:7203:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* )
+                    // InternalSignalDSL.g:7204:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )*
                     {
-                    // InternalSignalDSL.g:7160:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) )
-                    // InternalSignalDSL.g:7161:6: (lv_constraints_4_0= ruleJvmLowerBound )
+                    // InternalSignalDSL.g:7204:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) )
+                    // InternalSignalDSL.g:7205:6: (lv_constraints_4_0= ruleJvmLowerBound )
                     {
-                    // InternalSignalDSL.g:7161:6: (lv_constraints_4_0= ruleJvmLowerBound )
-                    // InternalSignalDSL.g:7162:7: lv_constraints_4_0= ruleJvmLowerBound
+                    // InternalSignalDSL.g:7205:6: (lv_constraints_4_0= ruleJvmLowerBound )
+                    // InternalSignalDSL.g:7206:7: lv_constraints_4_0= ruleJvmLowerBound
                     {
                     if ( state.backtracking==0 ) {
 
                       							newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0());
                       						
                     }
-                    pushFollow(FOLLOW_95);
+                    pushFollow(FOLLOW_97);
                     lv_constraints_4_0=ruleJvmLowerBound();
 
                     state._fsp--;
@@ -19677,30 +19814,30 @@
 
                     }
 
-                    // InternalSignalDSL.g:7179:5: ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )*
-                    loop127:
+                    // InternalSignalDSL.g:7223:5: ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )*
+                    loop128:
                     do {
-                        int alt127=2;
-                        int LA127_0 = input.LA(1);
+                        int alt128=2;
+                        int LA128_0 = input.LA(1);
 
-                        if ( (LA127_0==94) ) {
-                            alt127=1;
+                        if ( (LA128_0==95) ) {
+                            alt128=1;
                         }
 
 
-                        switch (alt127) {
+                        switch (alt128) {
                     	case 1 :
-                    	    // InternalSignalDSL.g:7180:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded )
+                    	    // InternalSignalDSL.g:7224:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded )
                     	    {
-                    	    // InternalSignalDSL.g:7180:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded )
-                    	    // InternalSignalDSL.g:7181:7: lv_constraints_5_0= ruleJvmLowerBoundAnded
+                    	    // InternalSignalDSL.g:7224:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded )
+                    	    // InternalSignalDSL.g:7225:7: lv_constraints_5_0= ruleJvmLowerBoundAnded
                     	    {
                     	    if ( state.backtracking==0 ) {
 
                     	      							newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0());
                     	      						
                     	    }
-                    	    pushFollow(FOLLOW_95);
+                    	    pushFollow(FOLLOW_97);
                     	    lv_constraints_5_0=ruleJvmLowerBoundAnded();
 
                     	    state._fsp--;
@@ -19726,7 +19863,7 @@
                     	    break;
 
                     	default :
-                    	    break loop127;
+                    	    break loop128;
                         }
                     } while (true);
 
@@ -19764,7 +19901,7 @@
 
 
     // $ANTLR start "entryRuleJvmUpperBound"
-    // InternalSignalDSL.g:7204:1: entryRuleJvmUpperBound returns [EObject current=null] : iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ;
+    // InternalSignalDSL.g:7248:1: entryRuleJvmUpperBound returns [EObject current=null] : iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ;
     public final EObject entryRuleJvmUpperBound() throws RecognitionException {
         EObject current = null;
 
@@ -19772,8 +19909,8 @@
 
 
         try {
-            // InternalSignalDSL.g:7204:54: (iv_ruleJvmUpperBound= ruleJvmUpperBound EOF )
-            // InternalSignalDSL.g:7205:2: iv_ruleJvmUpperBound= ruleJvmUpperBound EOF
+            // InternalSignalDSL.g:7248:54: (iv_ruleJvmUpperBound= ruleJvmUpperBound EOF )
+            // InternalSignalDSL.g:7249:2: iv_ruleJvmUpperBound= ruleJvmUpperBound EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmUpperBoundRule()); 
@@ -19804,7 +19941,7 @@
 
 
     // $ANTLR start "ruleJvmUpperBound"
-    // InternalSignalDSL.g:7211:1: ruleJvmUpperBound returns [EObject current=null] : (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
+    // InternalSignalDSL.g:7255:1: ruleJvmUpperBound returns [EObject current=null] : (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
     public final EObject ruleJvmUpperBound() throws RecognitionException {
         EObject current = null;
 
@@ -19816,23 +19953,23 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:7217:2: ( (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
-            // InternalSignalDSL.g:7218:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
+            // InternalSignalDSL.g:7261:2: ( (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
+            // InternalSignalDSL.g:7262:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
             {
-            // InternalSignalDSL.g:7218:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
-            // InternalSignalDSL.g:7219:3: otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:7262:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
+            // InternalSignalDSL.g:7263:3: otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
             {
-            otherlv_0=(Token)match(input,80,FOLLOW_39); if (state.failed) return current;
+            otherlv_0=(Token)match(input,81,FOLLOW_41); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0());
               		
             }
-            // InternalSignalDSL.g:7223:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:7224:4: (lv_typeReference_1_0= ruleJvmTypeReference )
+            // InternalSignalDSL.g:7267:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:7268:4: (lv_typeReference_1_0= ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:7224:4: (lv_typeReference_1_0= ruleJvmTypeReference )
-            // InternalSignalDSL.g:7225:5: lv_typeReference_1_0= ruleJvmTypeReference
+            // InternalSignalDSL.g:7268:4: (lv_typeReference_1_0= ruleJvmTypeReference )
+            // InternalSignalDSL.g:7269:5: lv_typeReference_1_0= ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
 
@@ -19888,7 +20025,7 @@
 
 
     // $ANTLR start "entryRuleJvmUpperBoundAnded"
-    // InternalSignalDSL.g:7246:1: entryRuleJvmUpperBoundAnded returns [EObject current=null] : iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ;
+    // InternalSignalDSL.g:7290:1: entryRuleJvmUpperBoundAnded returns [EObject current=null] : iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ;
     public final EObject entryRuleJvmUpperBoundAnded() throws RecognitionException {
         EObject current = null;
 
@@ -19896,8 +20033,8 @@
 
 
         try {
-            // InternalSignalDSL.g:7246:59: (iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF )
-            // InternalSignalDSL.g:7247:2: iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF
+            // InternalSignalDSL.g:7290:59: (iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF )
+            // InternalSignalDSL.g:7291:2: iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmUpperBoundAndedRule()); 
@@ -19928,7 +20065,7 @@
 
 
     // $ANTLR start "ruleJvmUpperBoundAnded"
-    // InternalSignalDSL.g:7253:1: ruleJvmUpperBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
+    // InternalSignalDSL.g:7297:1: ruleJvmUpperBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
     public final EObject ruleJvmUpperBoundAnded() throws RecognitionException {
         EObject current = null;
 
@@ -19940,23 +20077,23 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:7259:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
-            // InternalSignalDSL.g:7260:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
+            // InternalSignalDSL.g:7303:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
+            // InternalSignalDSL.g:7304:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
             {
-            // InternalSignalDSL.g:7260:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
-            // InternalSignalDSL.g:7261:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:7304:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
+            // InternalSignalDSL.g:7305:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
             {
-            otherlv_0=(Token)match(input,94,FOLLOW_39); if (state.failed) return current;
+            otherlv_0=(Token)match(input,95,FOLLOW_41); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0());
               		
             }
-            // InternalSignalDSL.g:7265:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:7266:4: (lv_typeReference_1_0= ruleJvmTypeReference )
+            // InternalSignalDSL.g:7309:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:7310:4: (lv_typeReference_1_0= ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:7266:4: (lv_typeReference_1_0= ruleJvmTypeReference )
-            // InternalSignalDSL.g:7267:5: lv_typeReference_1_0= ruleJvmTypeReference
+            // InternalSignalDSL.g:7310:4: (lv_typeReference_1_0= ruleJvmTypeReference )
+            // InternalSignalDSL.g:7311:5: lv_typeReference_1_0= ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
 
@@ -20012,7 +20149,7 @@
 
 
     // $ANTLR start "entryRuleJvmLowerBound"
-    // InternalSignalDSL.g:7288:1: entryRuleJvmLowerBound returns [EObject current=null] : iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ;
+    // InternalSignalDSL.g:7332:1: entryRuleJvmLowerBound returns [EObject current=null] : iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ;
     public final EObject entryRuleJvmLowerBound() throws RecognitionException {
         EObject current = null;
 
@@ -20020,8 +20157,8 @@
 
 
         try {
-            // InternalSignalDSL.g:7288:54: (iv_ruleJvmLowerBound= ruleJvmLowerBound EOF )
-            // InternalSignalDSL.g:7289:2: iv_ruleJvmLowerBound= ruleJvmLowerBound EOF
+            // InternalSignalDSL.g:7332:54: (iv_ruleJvmLowerBound= ruleJvmLowerBound EOF )
+            // InternalSignalDSL.g:7333:2: iv_ruleJvmLowerBound= ruleJvmLowerBound EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmLowerBoundRule()); 
@@ -20052,7 +20189,7 @@
 
 
     // $ANTLR start "ruleJvmLowerBound"
-    // InternalSignalDSL.g:7295:1: ruleJvmLowerBound returns [EObject current=null] : (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
+    // InternalSignalDSL.g:7339:1: ruleJvmLowerBound returns [EObject current=null] : (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
     public final EObject ruleJvmLowerBound() throws RecognitionException {
         EObject current = null;
 
@@ -20064,23 +20201,23 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:7301:2: ( (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
-            // InternalSignalDSL.g:7302:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
+            // InternalSignalDSL.g:7345:2: ( (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
+            // InternalSignalDSL.g:7346:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
             {
-            // InternalSignalDSL.g:7302:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
-            // InternalSignalDSL.g:7303:3: otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:7346:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
+            // InternalSignalDSL.g:7347:3: otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
             {
-            otherlv_0=(Token)match(input,81,FOLLOW_39); if (state.failed) return current;
+            otherlv_0=(Token)match(input,82,FOLLOW_41); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0());
               		
             }
-            // InternalSignalDSL.g:7307:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:7308:4: (lv_typeReference_1_0= ruleJvmTypeReference )
+            // InternalSignalDSL.g:7351:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:7352:4: (lv_typeReference_1_0= ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:7308:4: (lv_typeReference_1_0= ruleJvmTypeReference )
-            // InternalSignalDSL.g:7309:5: lv_typeReference_1_0= ruleJvmTypeReference
+            // InternalSignalDSL.g:7352:4: (lv_typeReference_1_0= ruleJvmTypeReference )
+            // InternalSignalDSL.g:7353:5: lv_typeReference_1_0= ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
 
@@ -20136,7 +20273,7 @@
 
 
     // $ANTLR start "entryRuleJvmLowerBoundAnded"
-    // InternalSignalDSL.g:7330:1: entryRuleJvmLowerBoundAnded returns [EObject current=null] : iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ;
+    // InternalSignalDSL.g:7374:1: entryRuleJvmLowerBoundAnded returns [EObject current=null] : iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ;
     public final EObject entryRuleJvmLowerBoundAnded() throws RecognitionException {
         EObject current = null;
 
@@ -20144,8 +20281,8 @@
 
 
         try {
-            // InternalSignalDSL.g:7330:59: (iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF )
-            // InternalSignalDSL.g:7331:2: iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF
+            // InternalSignalDSL.g:7374:59: (iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF )
+            // InternalSignalDSL.g:7375:2: iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getJvmLowerBoundAndedRule()); 
@@ -20176,7 +20313,7 @@
 
 
     // $ANTLR start "ruleJvmLowerBoundAnded"
-    // InternalSignalDSL.g:7337:1: ruleJvmLowerBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
+    // InternalSignalDSL.g:7381:1: ruleJvmLowerBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
     public final EObject ruleJvmLowerBoundAnded() throws RecognitionException {
         EObject current = null;
 
@@ -20188,23 +20325,23 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:7343:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
-            // InternalSignalDSL.g:7344:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
+            // InternalSignalDSL.g:7387:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
+            // InternalSignalDSL.g:7388:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
             {
-            // InternalSignalDSL.g:7344:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
-            // InternalSignalDSL.g:7345:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:7388:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
+            // InternalSignalDSL.g:7389:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
             {
-            otherlv_0=(Token)match(input,94,FOLLOW_39); if (state.failed) return current;
+            otherlv_0=(Token)match(input,95,FOLLOW_41); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0());
               		
             }
-            // InternalSignalDSL.g:7349:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
-            // InternalSignalDSL.g:7350:4: (lv_typeReference_1_0= ruleJvmTypeReference )
+            // InternalSignalDSL.g:7393:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
+            // InternalSignalDSL.g:7394:4: (lv_typeReference_1_0= ruleJvmTypeReference )
             {
-            // InternalSignalDSL.g:7350:4: (lv_typeReference_1_0= ruleJvmTypeReference )
-            // InternalSignalDSL.g:7351:5: lv_typeReference_1_0= ruleJvmTypeReference
+            // InternalSignalDSL.g:7394:4: (lv_typeReference_1_0= ruleJvmTypeReference )
+            // InternalSignalDSL.g:7395:5: lv_typeReference_1_0= ruleJvmTypeReference
             {
             if ( state.backtracking==0 ) {
 
@@ -20260,7 +20397,7 @@
 
 
     // $ANTLR start "entryRuleQualifiedNameWithWildcard"
-    // InternalSignalDSL.g:7372:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ;
+    // InternalSignalDSL.g:7416:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ;
     public final String entryRuleQualifiedNameWithWildcard() throws RecognitionException {
         String current = null;
 
@@ -20268,8 +20405,8 @@
 
 
         try {
-            // InternalSignalDSL.g:7372:65: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF )
-            // InternalSignalDSL.g:7373:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF
+            // InternalSignalDSL.g:7416:65: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF )
+            // InternalSignalDSL.g:7417:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); 
@@ -20300,7 +20437,7 @@
 
 
     // $ANTLR start "ruleQualifiedNameWithWildcard"
-    // InternalSignalDSL.g:7379:1: ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) ;
+    // InternalSignalDSL.g:7423:1: ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) ;
     public final AntlrDatatypeRuleToken ruleQualifiedNameWithWildcard() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -20312,18 +20449,18 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:7385:2: ( (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) )
-            // InternalSignalDSL.g:7386:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' )
+            // InternalSignalDSL.g:7429:2: ( (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) )
+            // InternalSignalDSL.g:7430:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' )
             {
-            // InternalSignalDSL.g:7386:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' )
-            // InternalSignalDSL.g:7387:3: this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*'
+            // InternalSignalDSL.g:7430:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' )
+            // InternalSignalDSL.g:7431:3: this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*'
             {
             if ( state.backtracking==0 ) {
 
               			newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0());
               		
             }
-            pushFollow(FOLLOW_96);
+            pushFollow(FOLLOW_98);
             this_QualifiedName_0=ruleQualifiedName();
 
             state._fsp--;
@@ -20338,14 +20475,14 @@
               			afterParserOrEnumRuleCall();
               		
             }
-            kw=(Token)match(input,66,FOLLOW_97); if (state.failed) return current;
+            kw=(Token)match(input,67,FOLLOW_99); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			current.merge(kw);
               			newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1());
               		
             }
-            kw=(Token)match(input,25,FOLLOW_2); if (state.failed) return current;
+            kw=(Token)match(input,26,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               			current.merge(kw);
@@ -20377,7 +20514,7 @@
 
 
     // $ANTLR start "entryRuleValidID"
-    // InternalSignalDSL.g:7411:1: entryRuleValidID returns [String current=null] : iv_ruleValidID= ruleValidID EOF ;
+    // InternalSignalDSL.g:7455:1: entryRuleValidID returns [String current=null] : iv_ruleValidID= ruleValidID EOF ;
     public final String entryRuleValidID() throws RecognitionException {
         String current = null;
 
@@ -20385,8 +20522,8 @@
 
 
         try {
-            // InternalSignalDSL.g:7411:47: (iv_ruleValidID= ruleValidID EOF )
-            // InternalSignalDSL.g:7412:2: iv_ruleValidID= ruleValidID EOF
+            // InternalSignalDSL.g:7455:47: (iv_ruleValidID= ruleValidID EOF )
+            // InternalSignalDSL.g:7456:2: iv_ruleValidID= ruleValidID EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getValidIDRule()); 
@@ -20417,7 +20554,7 @@
 
 
     // $ANTLR start "ruleValidID"
-    // InternalSignalDSL.g:7418:1: ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_ID_0= RULE_ID ;
+    // InternalSignalDSL.g:7462:1: ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_ID_0= RULE_ID ;
     public final AntlrDatatypeRuleToken ruleValidID() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -20427,8 +20564,8 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:7424:2: (this_ID_0= RULE_ID )
-            // InternalSignalDSL.g:7425:2: this_ID_0= RULE_ID
+            // InternalSignalDSL.g:7468:2: (this_ID_0= RULE_ID )
+            // InternalSignalDSL.g:7469:2: this_ID_0= RULE_ID
             {
             this_ID_0=(Token)match(input,RULE_ID,FOLLOW_2); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -20463,7 +20600,7 @@
 
 
     // $ANTLR start "entryRuleXImportSection"
-    // InternalSignalDSL.g:7435:1: entryRuleXImportSection returns [EObject current=null] : iv_ruleXImportSection= ruleXImportSection EOF ;
+    // InternalSignalDSL.g:7479:1: entryRuleXImportSection returns [EObject current=null] : iv_ruleXImportSection= ruleXImportSection EOF ;
     public final EObject entryRuleXImportSection() throws RecognitionException {
         EObject current = null;
 
@@ -20471,8 +20608,8 @@
 
 
         try {
-            // InternalSignalDSL.g:7435:55: (iv_ruleXImportSection= ruleXImportSection EOF )
-            // InternalSignalDSL.g:7436:2: iv_ruleXImportSection= ruleXImportSection EOF
+            // InternalSignalDSL.g:7479:55: (iv_ruleXImportSection= ruleXImportSection EOF )
+            // InternalSignalDSL.g:7480:2: iv_ruleXImportSection= ruleXImportSection EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getXImportSectionRule()); 
@@ -20503,7 +20640,7 @@
 
 
     // $ANTLR start "ruleXImportSection"
-    // InternalSignalDSL.g:7442:1: ruleXImportSection returns [EObject current=null] : ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ ;
+    // InternalSignalDSL.g:7486:1: ruleXImportSection returns [EObject current=null] : ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ ;
     public final EObject ruleXImportSection() throws RecognitionException {
         EObject current = null;
 
@@ -20514,34 +20651,34 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:7448:2: ( ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ )
-            // InternalSignalDSL.g:7449:2: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+
+            // InternalSignalDSL.g:7492:2: ( ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ )
+            // InternalSignalDSL.g:7493:2: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+
             {
-            // InternalSignalDSL.g:7449:2: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+
-            int cnt129=0;
-            loop129:
+            // InternalSignalDSL.g:7493:2: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+
+            int cnt130=0;
+            loop130:
             do {
-                int alt129=2;
-                int LA129_0 = input.LA(1);
+                int alt130=2;
+                int LA130_0 = input.LA(1);
 
-                if ( (LA129_0==22) ) {
-                    alt129=1;
+                if ( (LA130_0==23) ) {
+                    alt130=1;
                 }
 
 
-                switch (alt129) {
+                switch (alt130) {
             	case 1 :
-            	    // InternalSignalDSL.g:7450:3: (lv_importDeclarations_0_0= ruleXImportDeclaration )
+            	    // InternalSignalDSL.g:7494:3: (lv_importDeclarations_0_0= ruleXImportDeclaration )
             	    {
-            	    // InternalSignalDSL.g:7450:3: (lv_importDeclarations_0_0= ruleXImportDeclaration )
-            	    // InternalSignalDSL.g:7451:4: lv_importDeclarations_0_0= ruleXImportDeclaration
+            	    // InternalSignalDSL.g:7494:3: (lv_importDeclarations_0_0= ruleXImportDeclaration )
+            	    // InternalSignalDSL.g:7495:4: lv_importDeclarations_0_0= ruleXImportDeclaration
             	    {
             	    if ( state.backtracking==0 ) {
 
             	      				newCompositeNode(grammarAccess.getXImportSectionAccess().getImportDeclarationsXImportDeclarationParserRuleCall_0());
             	      			
             	    }
-            	    pushFollow(FOLLOW_98);
+            	    pushFollow(FOLLOW_100);
             	    lv_importDeclarations_0_0=ruleXImportDeclaration();
 
             	    state._fsp--;
@@ -20567,146 +20704,6 @@
             	    break;
 
             	default :
-            	    if ( cnt129 >= 1 ) break loop129;
-            	    if (state.backtracking>0) {state.failed=true; return current;}
-                        EarlyExitException eee =
-                            new EarlyExitException(129, input);
-                        throw eee;
-                }
-                cnt129++;
-            } while (true);
-
-
-            }
-
-            if ( state.backtracking==0 ) {
-
-              	leaveRule();
-
-            }
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleXImportSection"
-
-
-    // $ANTLR start "entryRuleQualifiedNameInStaticImport"
-    // InternalSignalDSL.g:7471:1: entryRuleQualifiedNameInStaticImport returns [String current=null] : iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ;
-    public final String entryRuleQualifiedNameInStaticImport() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleQualifiedNameInStaticImport = null;
-
-
-        try {
-            // InternalSignalDSL.g:7471:67: (iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF )
-            // InternalSignalDSL.g:7472:2: iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF
-            {
-            if ( state.backtracking==0 ) {
-               newCompositeNode(grammarAccess.getQualifiedNameInStaticImportRule()); 
-            }
-            pushFollow(FOLLOW_1);
-            iv_ruleQualifiedNameInStaticImport=ruleQualifiedNameInStaticImport();
-
-            state._fsp--;
-            if (state.failed) return current;
-            if ( state.backtracking==0 ) {
-               current =iv_ruleQualifiedNameInStaticImport.getText(); 
-            }
-            match(input,EOF,FOLLOW_2); if (state.failed) return current;
-
-            }
-
-        }
-
-            catch (RecognitionException re) {
-                recover(input,re);
-                appendSkippedTokens();
-            }
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleQualifiedNameInStaticImport"
-
-
-    // $ANTLR start "ruleQualifiedNameInStaticImport"
-    // InternalSignalDSL.g:7478:1: ruleQualifiedNameInStaticImport returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID kw= '.' )+ ;
-    public final AntlrDatatypeRuleToken ruleQualifiedNameInStaticImport() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        AntlrDatatypeRuleToken this_ValidID_0 = null;
-
-
-
-        	enterRule();
-
-        try {
-            // InternalSignalDSL.g:7484:2: ( (this_ValidID_0= ruleValidID kw= '.' )+ )
-            // InternalSignalDSL.g:7485:2: (this_ValidID_0= ruleValidID kw= '.' )+
-            {
-            // InternalSignalDSL.g:7485:2: (this_ValidID_0= ruleValidID kw= '.' )+
-            int cnt130=0;
-            loop130:
-            do {
-                int alt130=2;
-                int LA130_0 = input.LA(1);
-
-                if ( (LA130_0==RULE_ID) ) {
-                    int LA130_2 = input.LA(2);
-
-                    if ( (LA130_2==66) ) {
-                        alt130=1;
-                    }
-
-
-                }
-
-
-                switch (alt130) {
-            	case 1 :
-            	    // InternalSignalDSL.g:7486:3: this_ValidID_0= ruleValidID kw= '.'
-            	    {
-            	    if ( state.backtracking==0 ) {
-
-            	      			newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0());
-            	      		
-            	    }
-            	    pushFollow(FOLLOW_96);
-            	    this_ValidID_0=ruleValidID();
-
-            	    state._fsp--;
-            	    if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      			current.merge(this_ValidID_0);
-            	      		
-            	    }
-            	    if ( state.backtracking==0 ) {
-
-            	      			afterParserOrEnumRuleCall();
-            	      		
-            	    }
-            	    kw=(Token)match(input,66,FOLLOW_99); if (state.failed) return current;
-            	    if ( state.backtracking==0 ) {
-
-            	      			current.merge(kw);
-            	      			newLeafNode(kw, grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1());
-            	      		
-            	    }
-
-            	    }
-            	    break;
-
-            	default :
             	    if ( cnt130 >= 1 ) break loop130;
             	    if (state.backtracking>0) {state.failed=true; return current;}
                         EarlyExitException eee =
@@ -20734,11 +20731,151 @@
         }
         return current;
     }
+    // $ANTLR end "ruleXImportSection"
+
+
+    // $ANTLR start "entryRuleQualifiedNameInStaticImport"
+    // InternalSignalDSL.g:7515:1: entryRuleQualifiedNameInStaticImport returns [String current=null] : iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ;
+    public final String entryRuleQualifiedNameInStaticImport() throws RecognitionException {
+        String current = null;
+
+        AntlrDatatypeRuleToken iv_ruleQualifiedNameInStaticImport = null;
+
+
+        try {
+            // InternalSignalDSL.g:7515:67: (iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF )
+            // InternalSignalDSL.g:7516:2: iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF
+            {
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getQualifiedNameInStaticImportRule()); 
+            }
+            pushFollow(FOLLOW_1);
+            iv_ruleQualifiedNameInStaticImport=ruleQualifiedNameInStaticImport();
+
+            state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleQualifiedNameInStaticImport.getText(); 
+            }
+            match(input,EOF,FOLLOW_2); if (state.failed) return current;
+
+            }
+
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleQualifiedNameInStaticImport"
+
+
+    // $ANTLR start "ruleQualifiedNameInStaticImport"
+    // InternalSignalDSL.g:7522:1: ruleQualifiedNameInStaticImport returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID kw= '.' )+ ;
+    public final AntlrDatatypeRuleToken ruleQualifiedNameInStaticImport() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+        Token kw=null;
+        AntlrDatatypeRuleToken this_ValidID_0 = null;
+
+
+
+        	enterRule();
+
+        try {
+            // InternalSignalDSL.g:7528:2: ( (this_ValidID_0= ruleValidID kw= '.' )+ )
+            // InternalSignalDSL.g:7529:2: (this_ValidID_0= ruleValidID kw= '.' )+
+            {
+            // InternalSignalDSL.g:7529:2: (this_ValidID_0= ruleValidID kw= '.' )+
+            int cnt131=0;
+            loop131:
+            do {
+                int alt131=2;
+                int LA131_0 = input.LA(1);
+
+                if ( (LA131_0==RULE_ID) ) {
+                    int LA131_2 = input.LA(2);
+
+                    if ( (LA131_2==67) ) {
+                        alt131=1;
+                    }
+
+
+                }
+
+
+                switch (alt131) {
+            	case 1 :
+            	    // InternalSignalDSL.g:7530:3: this_ValidID_0= ruleValidID kw= '.'
+            	    {
+            	    if ( state.backtracking==0 ) {
+
+            	      			newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0());
+            	      		
+            	    }
+            	    pushFollow(FOLLOW_98);
+            	    this_ValidID_0=ruleValidID();
+
+            	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      			current.merge(this_ValidID_0);
+            	      		
+            	    }
+            	    if ( state.backtracking==0 ) {
+
+            	      			afterParserOrEnumRuleCall();
+            	      		
+            	    }
+            	    kw=(Token)match(input,67,FOLLOW_101); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+
+            	      			current.merge(kw);
+            	      			newLeafNode(kw, grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1());
+            	      		
+            	    }
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt131 >= 1 ) break loop131;
+            	    if (state.backtracking>0) {state.failed=true; return current;}
+                        EarlyExitException eee =
+                            new EarlyExitException(131, input);
+                        throw eee;
+                }
+                cnt131++;
+            } while (true);
+
+
+            }
+
+            if ( state.backtracking==0 ) {
+
+              	leaveRule();
+
+            }
+        }
+
+            catch (RecognitionException re) {
+                recover(input,re);
+                appendSkippedTokens();
+            }
+        finally {
+        }
+        return current;
+    }
     // $ANTLR end "ruleQualifiedNameInStaticImport"
 
 
     // $ANTLR start "ruleSignalActionEnum"
-    // InternalSignalDSL.g:7505:1: ruleSignalActionEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'Import' ) | (enumLiteral_1= 'Export' ) ) ;
+    // InternalSignalDSL.g:7549:1: ruleSignalActionEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'Import' ) | (enumLiteral_1= 'Export' ) ) ;
     public final Enumerator ruleSignalActionEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -20749,34 +20886,34 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:7511:2: ( ( (enumLiteral_0= 'Import' ) | (enumLiteral_1= 'Export' ) ) )
-            // InternalSignalDSL.g:7512:2: ( (enumLiteral_0= 'Import' ) | (enumLiteral_1= 'Export' ) )
+            // InternalSignalDSL.g:7555:2: ( ( (enumLiteral_0= 'Import' ) | (enumLiteral_1= 'Export' ) ) )
+            // InternalSignalDSL.g:7556:2: ( (enumLiteral_0= 'Import' ) | (enumLiteral_1= 'Export' ) )
             {
-            // InternalSignalDSL.g:7512:2: ( (enumLiteral_0= 'Import' ) | (enumLiteral_1= 'Export' ) )
-            int alt131=2;
-            int LA131_0 = input.LA(1);
+            // InternalSignalDSL.g:7556:2: ( (enumLiteral_0= 'Import' ) | (enumLiteral_1= 'Export' ) )
+            int alt132=2;
+            int LA132_0 = input.LA(1);
 
-            if ( (LA131_0==95) ) {
-                alt131=1;
+            if ( (LA132_0==96) ) {
+                alt132=1;
             }
-            else if ( (LA131_0==96) ) {
-                alt131=2;
+            else if ( (LA132_0==97) ) {
+                alt132=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 131, 0, input);
+                    new NoViableAltException("", 132, 0, input);
 
                 throw nvae;
             }
-            switch (alt131) {
+            switch (alt132) {
                 case 1 :
-                    // InternalSignalDSL.g:7513:3: (enumLiteral_0= 'Import' )
+                    // InternalSignalDSL.g:7557:3: (enumLiteral_0= 'Import' )
                     {
-                    // InternalSignalDSL.g:7513:3: (enumLiteral_0= 'Import' )
-                    // InternalSignalDSL.g:7514:4: enumLiteral_0= 'Import'
+                    // InternalSignalDSL.g:7557:3: (enumLiteral_0= 'Import' )
+                    // InternalSignalDSL.g:7558:4: enumLiteral_0= 'Import'
                     {
-                    enumLiteral_0=(Token)match(input,95,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,96,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getSignalActionEnumAccess().getDATAIMPORTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -20790,12 +20927,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:7521:3: (enumLiteral_1= 'Export' )
+                    // InternalSignalDSL.g:7565:3: (enumLiteral_1= 'Export' )
                     {
-                    // InternalSignalDSL.g:7521:3: (enumLiteral_1= 'Export' )
-                    // InternalSignalDSL.g:7522:4: enumLiteral_1= 'Export'
+                    // InternalSignalDSL.g:7565:3: (enumLiteral_1= 'Export' )
+                    // InternalSignalDSL.g:7566:4: enumLiteral_1= 'Export'
                     {
-                    enumLiteral_1=(Token)match(input,96,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,97,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getSignalActionEnumAccess().getDATAEXPORTEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -20833,65 +20970,49 @@
 
 
     // $ANTLR start "ruleSignalTypeEnum"
-    // InternalSignalDSL.g:7532:1: ruleSignalTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'all' ) | (enumLiteral_1= 'createSignals' ) | (enumLiteral_2= 'modifySignals' ) | (enumLiteral_3= 'deleteSignals' ) ) ;
+    // InternalSignalDSL.g:7576:1: ruleSignalTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'createSignals' ) | (enumLiteral_1= 'modifySignals' ) ) ;
     public final Enumerator ruleSignalTypeEnum() throws RecognitionException {
         Enumerator current = null;
 
         Token enumLiteral_0=null;
         Token enumLiteral_1=null;
-        Token enumLiteral_2=null;
-        Token enumLiteral_3=null;
 
 
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:7538:2: ( ( (enumLiteral_0= 'all' ) | (enumLiteral_1= 'createSignals' ) | (enumLiteral_2= 'modifySignals' ) | (enumLiteral_3= 'deleteSignals' ) ) )
-            // InternalSignalDSL.g:7539:2: ( (enumLiteral_0= 'all' ) | (enumLiteral_1= 'createSignals' ) | (enumLiteral_2= 'modifySignals' ) | (enumLiteral_3= 'deleteSignals' ) )
+            // InternalSignalDSL.g:7582:2: ( ( (enumLiteral_0= 'createSignals' ) | (enumLiteral_1= 'modifySignals' ) ) )
+            // InternalSignalDSL.g:7583:2: ( (enumLiteral_0= 'createSignals' ) | (enumLiteral_1= 'modifySignals' ) )
             {
-            // InternalSignalDSL.g:7539:2: ( (enumLiteral_0= 'all' ) | (enumLiteral_1= 'createSignals' ) | (enumLiteral_2= 'modifySignals' ) | (enumLiteral_3= 'deleteSignals' ) )
-            int alt132=4;
-            switch ( input.LA(1) ) {
-            case 97:
-                {
-                alt132=1;
-                }
-                break;
-            case 98:
-                {
-                alt132=2;
-                }
-                break;
-            case 99:
-                {
-                alt132=3;
-                }
-                break;
-            case 100:
-                {
-                alt132=4;
-                }
-                break;
-            default:
+            // InternalSignalDSL.g:7583:2: ( (enumLiteral_0= 'createSignals' ) | (enumLiteral_1= 'modifySignals' ) )
+            int alt133=2;
+            int LA133_0 = input.LA(1);
+
+            if ( (LA133_0==98) ) {
+                alt133=1;
+            }
+            else if ( (LA133_0==99) ) {
+                alt133=2;
+            }
+            else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 132, 0, input);
+                    new NoViableAltException("", 133, 0, input);
 
                 throw nvae;
             }
-
-            switch (alt132) {
+            switch (alt133) {
                 case 1 :
-                    // InternalSignalDSL.g:7540:3: (enumLiteral_0= 'all' )
+                    // InternalSignalDSL.g:7584:3: (enumLiteral_0= 'createSignals' )
                     {
-                    // InternalSignalDSL.g:7540:3: (enumLiteral_0= 'all' )
-                    // InternalSignalDSL.g:7541:4: enumLiteral_0= 'all'
+                    // InternalSignalDSL.g:7584:3: (enumLiteral_0= 'createSignals' )
+                    // InternalSignalDSL.g:7585:4: enumLiteral_0= 'createSignals'
                     {
-                    enumLiteral_0=(Token)match(input,97,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,98,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                      				current = grammarAccess.getSignalTypeEnumAccess().getAllEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-                      				newLeafNode(enumLiteral_0, grammarAccess.getSignalTypeEnumAccess().getAllEnumLiteralDeclaration_0());
+                      				current = grammarAccess.getSignalTypeEnumAccess().getCreatesignalsEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+                      				newLeafNode(enumLiteral_0, grammarAccess.getSignalTypeEnumAccess().getCreatesignalsEnumLiteralDeclaration_0());
                       			
                     }
 
@@ -20901,54 +21022,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:7548:3: (enumLiteral_1= 'createSignals' )
+                    // InternalSignalDSL.g:7592:3: (enumLiteral_1= 'modifySignals' )
                     {
-                    // InternalSignalDSL.g:7548:3: (enumLiteral_1= 'createSignals' )
-                    // InternalSignalDSL.g:7549:4: enumLiteral_1= 'createSignals'
+                    // InternalSignalDSL.g:7592:3: (enumLiteral_1= 'modifySignals' )
+                    // InternalSignalDSL.g:7593:4: enumLiteral_1= 'modifySignals'
                     {
-                    enumLiteral_1=(Token)match(input,98,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,99,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                      				current = grammarAccess.getSignalTypeEnumAccess().getCreatesignalsEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-                      				newLeafNode(enumLiteral_1, grammarAccess.getSignalTypeEnumAccess().getCreatesignalsEnumLiteralDeclaration_1());
-                      			
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // InternalSignalDSL.g:7556:3: (enumLiteral_2= 'modifySignals' )
-                    {
-                    // InternalSignalDSL.g:7556:3: (enumLiteral_2= 'modifySignals' )
-                    // InternalSignalDSL.g:7557:4: enumLiteral_2= 'modifySignals'
-                    {
-                    enumLiteral_2=(Token)match(input,99,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				current = grammarAccess.getSignalTypeEnumAccess().getModifysignalsEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
-                      				newLeafNode(enumLiteral_2, grammarAccess.getSignalTypeEnumAccess().getModifysignalsEnumLiteralDeclaration_2());
-                      			
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // InternalSignalDSL.g:7564:3: (enumLiteral_3= 'deleteSignals' )
-                    {
-                    // InternalSignalDSL.g:7564:3: (enumLiteral_3= 'deleteSignals' )
-                    // InternalSignalDSL.g:7565:4: enumLiteral_3= 'deleteSignals'
-                    {
-                    enumLiteral_3=(Token)match(input,100,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				current = grammarAccess.getSignalTypeEnumAccess().getDeletesignalsEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
-                      				newLeafNode(enumLiteral_3, grammarAccess.getSignalTypeEnumAccess().getDeletesignalsEnumLiteralDeclaration_3());
+                      				current = grammarAccess.getSignalTypeEnumAccess().getModifysignalsEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+                      				newLeafNode(enumLiteral_1, grammarAccess.getSignalTypeEnumAccess().getModifysignalsEnumLiteralDeclaration_1());
                       			
                     }
 
@@ -20982,65 +21065,49 @@
 
 
     // $ANTLR start "ruleSignalHandlerTypeEnum"
-    // InternalSignalDSL.g:7575:1: ruleSignalHandlerTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'doAfter' ) | (enumLiteral_1= 'doAfterModify' ) | (enumLiteral_2= 'doAfterCreate' ) | (enumLiteral_3= 'doAfterDelete' ) ) ;
+    // InternalSignalDSL.g:7603:1: ruleSignalHandlerTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'doAfterModify' ) | (enumLiteral_1= 'doAfterCreate' ) ) ;
     public final Enumerator ruleSignalHandlerTypeEnum() throws RecognitionException {
         Enumerator current = null;
 
         Token enumLiteral_0=null;
         Token enumLiteral_1=null;
-        Token enumLiteral_2=null;
-        Token enumLiteral_3=null;
 
 
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:7581:2: ( ( (enumLiteral_0= 'doAfter' ) | (enumLiteral_1= 'doAfterModify' ) | (enumLiteral_2= 'doAfterCreate' ) | (enumLiteral_3= 'doAfterDelete' ) ) )
-            // InternalSignalDSL.g:7582:2: ( (enumLiteral_0= 'doAfter' ) | (enumLiteral_1= 'doAfterModify' ) | (enumLiteral_2= 'doAfterCreate' ) | (enumLiteral_3= 'doAfterDelete' ) )
+            // InternalSignalDSL.g:7609:2: ( ( (enumLiteral_0= 'doAfterModify' ) | (enumLiteral_1= 'doAfterCreate' ) ) )
+            // InternalSignalDSL.g:7610:2: ( (enumLiteral_0= 'doAfterModify' ) | (enumLiteral_1= 'doAfterCreate' ) )
             {
-            // InternalSignalDSL.g:7582:2: ( (enumLiteral_0= 'doAfter' ) | (enumLiteral_1= 'doAfterModify' ) | (enumLiteral_2= 'doAfterCreate' ) | (enumLiteral_3= 'doAfterDelete' ) )
-            int alt133=4;
-            switch ( input.LA(1) ) {
-            case 101:
-                {
-                alt133=1;
-                }
-                break;
-            case 102:
-                {
-                alt133=2;
-                }
-                break;
-            case 103:
-                {
-                alt133=3;
-                }
-                break;
-            case 104:
-                {
-                alt133=4;
-                }
-                break;
-            default:
+            // InternalSignalDSL.g:7610:2: ( (enumLiteral_0= 'doAfterModify' ) | (enumLiteral_1= 'doAfterCreate' ) )
+            int alt134=2;
+            int LA134_0 = input.LA(1);
+
+            if ( (LA134_0==100) ) {
+                alt134=1;
+            }
+            else if ( (LA134_0==101) ) {
+                alt134=2;
+            }
+            else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 133, 0, input);
+                    new NoViableAltException("", 134, 0, input);
 
                 throw nvae;
             }
-
-            switch (alt133) {
+            switch (alt134) {
                 case 1 :
-                    // InternalSignalDSL.g:7583:3: (enumLiteral_0= 'doAfter' )
+                    // InternalSignalDSL.g:7611:3: (enumLiteral_0= 'doAfterModify' )
                     {
-                    // InternalSignalDSL.g:7583:3: (enumLiteral_0= 'doAfter' )
-                    // InternalSignalDSL.g:7584:4: enumLiteral_0= 'doAfter'
+                    // InternalSignalDSL.g:7611:3: (enumLiteral_0= 'doAfterModify' )
+                    // InternalSignalDSL.g:7612:4: enumLiteral_0= 'doAfterModify'
                     {
-                    enumLiteral_0=(Token)match(input,101,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,100,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                      				current = grammarAccess.getSignalHandlerTypeEnumAccess().getDoafterEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-                      				newLeafNode(enumLiteral_0, grammarAccess.getSignalHandlerTypeEnumAccess().getDoafterEnumLiteralDeclaration_0());
+                      				current = grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftermodifyEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+                      				newLeafNode(enumLiteral_0, grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftermodifyEnumLiteralDeclaration_0());
                       			
                     }
 
@@ -21050,54 +21117,16 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:7591:3: (enumLiteral_1= 'doAfterModify' )
+                    // InternalSignalDSL.g:7619:3: (enumLiteral_1= 'doAfterCreate' )
                     {
-                    // InternalSignalDSL.g:7591:3: (enumLiteral_1= 'doAfterModify' )
-                    // InternalSignalDSL.g:7592:4: enumLiteral_1= 'doAfterModify'
+                    // InternalSignalDSL.g:7619:3: (enumLiteral_1= 'doAfterCreate' )
+                    // InternalSignalDSL.g:7620:4: enumLiteral_1= 'doAfterCreate'
                     {
-                    enumLiteral_1=(Token)match(input,102,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,101,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                      				current = grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftermodifyEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-                      				newLeafNode(enumLiteral_1, grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftermodifyEnumLiteralDeclaration_1());
-                      			
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // InternalSignalDSL.g:7599:3: (enumLiteral_2= 'doAfterCreate' )
-                    {
-                    // InternalSignalDSL.g:7599:3: (enumLiteral_2= 'doAfterCreate' )
-                    // InternalSignalDSL.g:7600:4: enumLiteral_2= 'doAfterCreate'
-                    {
-                    enumLiteral_2=(Token)match(input,103,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				current = grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftercreateEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
-                      				newLeafNode(enumLiteral_2, grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftercreateEnumLiteralDeclaration_2());
-                      			
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // InternalSignalDSL.g:7607:3: (enumLiteral_3= 'doAfterDelete' )
-                    {
-                    // InternalSignalDSL.g:7607:3: (enumLiteral_3= 'doAfterDelete' )
-                    // InternalSignalDSL.g:7608:4: enumLiteral_3= 'doAfterDelete'
-                    {
-                    enumLiteral_3=(Token)match(input,104,FOLLOW_2); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                      				current = grammarAccess.getSignalHandlerTypeEnumAccess().getDoafterdeleteEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
-                      				newLeafNode(enumLiteral_3, grammarAccess.getSignalHandlerTypeEnumAccess().getDoafterdeleteEnumLiteralDeclaration_3());
+                      				current = grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftercreateEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+                      				newLeafNode(enumLiteral_1, grammarAccess.getSignalHandlerTypeEnumAccess().getDoaftercreateEnumLiteralDeclaration_1());
                       			
                     }
 
@@ -21131,7 +21160,7 @@
 
 
     // $ANTLR start "ruleSignalExecutionTypeEnum"
-    // InternalSignalDSL.g:7618:1: ruleSignalExecutionTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'synch' ) | (enumLiteral_1= 'asynch' ) ) ;
+    // InternalSignalDSL.g:7630:1: ruleSignalExecutionTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'synch' ) | (enumLiteral_1= 'asynch' ) ) ;
     public final Enumerator ruleSignalExecutionTypeEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -21142,34 +21171,34 @@
         	enterRule();
 
         try {
-            // InternalSignalDSL.g:7624:2: ( ( (enumLiteral_0= 'synch' ) | (enumLiteral_1= 'asynch' ) ) )
-            // InternalSignalDSL.g:7625:2: ( (enumLiteral_0= 'synch' ) | (enumLiteral_1= 'asynch' ) )
+            // InternalSignalDSL.g:7636:2: ( ( (enumLiteral_0= 'synch' ) | (enumLiteral_1= 'asynch' ) ) )
+            // InternalSignalDSL.g:7637:2: ( (enumLiteral_0= 'synch' ) | (enumLiteral_1= 'asynch' ) )
             {
-            // InternalSignalDSL.g:7625:2: ( (enumLiteral_0= 'synch' ) | (enumLiteral_1= 'asynch' ) )
-            int alt134=2;
-            int LA134_0 = input.LA(1);
+            // InternalSignalDSL.g:7637:2: ( (enumLiteral_0= 'synch' ) | (enumLiteral_1= 'asynch' ) )
+            int alt135=2;
+            int LA135_0 = input.LA(1);
 
-            if ( (LA134_0==105) ) {
-                alt134=1;
+            if ( (LA135_0==102) ) {
+                alt135=1;
             }
-            else if ( (LA134_0==106) ) {
-                alt134=2;
+            else if ( (LA135_0==103) ) {
+                alt135=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 134, 0, input);
+                    new NoViableAltException("", 135, 0, input);
 
                 throw nvae;
             }
-            switch (alt134) {
+            switch (alt135) {
                 case 1 :
-                    // InternalSignalDSL.g:7626:3: (enumLiteral_0= 'synch' )
+                    // InternalSignalDSL.g:7638:3: (enumLiteral_0= 'synch' )
                     {
-                    // InternalSignalDSL.g:7626:3: (enumLiteral_0= 'synch' )
-                    // InternalSignalDSL.g:7627:4: enumLiteral_0= 'synch'
+                    // InternalSignalDSL.g:7638:3: (enumLiteral_0= 'synch' )
+                    // InternalSignalDSL.g:7639:4: enumLiteral_0= 'synch'
                     {
-                    enumLiteral_0=(Token)match(input,105,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_0=(Token)match(input,102,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getSignalExecutionTypeEnumAccess().getSYNCEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -21183,12 +21212,12 @@
                     }
                     break;
                 case 2 :
-                    // InternalSignalDSL.g:7634:3: (enumLiteral_1= 'asynch' )
+                    // InternalSignalDSL.g:7646:3: (enumLiteral_1= 'asynch' )
                     {
-                    // InternalSignalDSL.g:7634:3: (enumLiteral_1= 'asynch' )
-                    // InternalSignalDSL.g:7635:4: enumLiteral_1= 'asynch'
+                    // InternalSignalDSL.g:7646:3: (enumLiteral_1= 'asynch' )
+                    // InternalSignalDSL.g:7647:4: enumLiteral_1= 'asynch'
                     {
-                    enumLiteral_1=(Token)match(input,106,FOLLOW_2); if (state.failed) return current;
+                    enumLiteral_1=(Token)match(input,103,FOLLOW_2); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       				current = grammarAccess.getSignalExecutionTypeEnumAccess().getASYNCEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -21226,10 +21255,10 @@
 
     // $ANTLR start synpred1_InternalSignalDSL
     public final void synpred1_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:881:5: ( '(' )
-        // InternalSignalDSL.g:881:6: '('
+        // InternalSignalDSL.g:925:5: ( '(' )
+        // InternalSignalDSL.g:925:6: '('
         {
-        match(input,29,FOLLOW_2); if (state.failed) return ;
+        match(input,30,FOLLOW_2); if (state.failed) return ;
 
         }
     }
@@ -21237,19 +21266,19 @@
 
     // $ANTLR start synpred2_InternalSignalDSL
     public final void synpred2_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:890:7: ( ( ( ( ruleValidID ) ) '=' ) )
-        // InternalSignalDSL.g:890:8: ( ( ( ruleValidID ) ) '=' )
+        // InternalSignalDSL.g:934:7: ( ( ( ( ruleValidID ) ) '=' ) )
+        // InternalSignalDSL.g:934:8: ( ( ( ruleValidID ) ) '=' )
         {
-        // InternalSignalDSL.g:890:8: ( ( ( ruleValidID ) ) '=' )
-        // InternalSignalDSL.g:891:8: ( ( ruleValidID ) ) '='
+        // InternalSignalDSL.g:934:8: ( ( ( ruleValidID ) ) '=' )
+        // InternalSignalDSL.g:935:8: ( ( ruleValidID ) ) '='
         {
-        // InternalSignalDSL.g:891:8: ( ( ruleValidID ) )
-        // InternalSignalDSL.g:892:9: ( ruleValidID )
+        // InternalSignalDSL.g:935:8: ( ( ruleValidID ) )
+        // InternalSignalDSL.g:936:9: ( ruleValidID )
         {
-        // InternalSignalDSL.g:892:9: ( ruleValidID )
-        // InternalSignalDSL.g:893:10: ruleValidID
+        // InternalSignalDSL.g:936:9: ( ruleValidID )
+        // InternalSignalDSL.g:937:10: ruleValidID
         {
-        pushFollow(FOLLOW_25);
+        pushFollow(FOLLOW_27);
         ruleValidID();
 
         state._fsp--;
@@ -21260,7 +21289,7 @@
 
         }
 
-        match(input,32,FOLLOW_2); if (state.failed) return ;
+        match(input,33,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -21271,19 +21300,19 @@
 
     // $ANTLR start synpred5_InternalSignalDSL
     public final void synpred5_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:1070:5: ( ( () '#' '[' ) )
-        // InternalSignalDSL.g:1070:6: ( () '#' '[' )
+        // InternalSignalDSL.g:1114:5: ( ( () '#' '[' ) )
+        // InternalSignalDSL.g:1114:6: ( () '#' '[' )
         {
-        // InternalSignalDSL.g:1070:6: ( () '#' '[' )
-        // InternalSignalDSL.g:1071:6: () '#' '['
+        // InternalSignalDSL.g:1114:6: ( () '#' '[' )
+        // InternalSignalDSL.g:1115:6: () '#' '['
         {
-        // InternalSignalDSL.g:1071:6: ()
-        // InternalSignalDSL.g:1072:6: 
+        // InternalSignalDSL.g:1115:6: ()
+        // InternalSignalDSL.g:1116:6: 
         {
         }
 
-        match(input,33,FOLLOW_27); if (state.failed) return ;
-        match(input,34,FOLLOW_2); if (state.failed) return ;
+        match(input,34,FOLLOW_29); if (state.failed) return ;
+        match(input,35,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -21294,19 +21323,19 @@
 
     // $ANTLR start synpred6_InternalSignalDSL
     public final void synpred6_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:1212:5: ( ( () '#' '[' ) )
-        // InternalSignalDSL.g:1212:6: ( () '#' '[' )
+        // InternalSignalDSL.g:1256:5: ( ( () '#' '[' ) )
+        // InternalSignalDSL.g:1256:6: ( () '#' '[' )
         {
-        // InternalSignalDSL.g:1212:6: ( () '#' '[' )
-        // InternalSignalDSL.g:1213:6: () '#' '['
+        // InternalSignalDSL.g:1256:6: ( () '#' '[' )
+        // InternalSignalDSL.g:1257:6: () '#' '['
         {
-        // InternalSignalDSL.g:1213:6: ()
-        // InternalSignalDSL.g:1214:6: 
+        // InternalSignalDSL.g:1257:6: ()
+        // InternalSignalDSL.g:1258:6: 
         {
         }
 
-        match(input,33,FOLLOW_27); if (state.failed) return ;
-        match(input,34,FOLLOW_2); if (state.failed) return ;
+        match(input,34,FOLLOW_29); if (state.failed) return ;
+        match(input,35,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -21317,22 +21346,22 @@
 
     // $ANTLR start synpred7_InternalSignalDSL
     public final void synpred7_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:1440:6: ( ( () ( ( ruleOpMultiAssign ) ) ) )
-        // InternalSignalDSL.g:1440:7: ( () ( ( ruleOpMultiAssign ) ) )
+        // InternalSignalDSL.g:1484:6: ( ( () ( ( ruleOpMultiAssign ) ) ) )
+        // InternalSignalDSL.g:1484:7: ( () ( ( ruleOpMultiAssign ) ) )
         {
-        // InternalSignalDSL.g:1440:7: ( () ( ( ruleOpMultiAssign ) ) )
-        // InternalSignalDSL.g:1441:7: () ( ( ruleOpMultiAssign ) )
+        // InternalSignalDSL.g:1484:7: ( () ( ( ruleOpMultiAssign ) ) )
+        // InternalSignalDSL.g:1485:7: () ( ( ruleOpMultiAssign ) )
         {
-        // InternalSignalDSL.g:1441:7: ()
-        // InternalSignalDSL.g:1442:7: 
+        // InternalSignalDSL.g:1485:7: ()
+        // InternalSignalDSL.g:1486:7: 
         {
         }
 
-        // InternalSignalDSL.g:1443:7: ( ( ruleOpMultiAssign ) )
-        // InternalSignalDSL.g:1444:8: ( ruleOpMultiAssign )
+        // InternalSignalDSL.g:1487:7: ( ( ruleOpMultiAssign ) )
+        // InternalSignalDSL.g:1488:8: ( ruleOpMultiAssign )
         {
-        // InternalSignalDSL.g:1444:8: ( ruleOpMultiAssign )
-        // InternalSignalDSL.g:1445:9: ruleOpMultiAssign
+        // InternalSignalDSL.g:1488:8: ( ruleOpMultiAssign )
+        // InternalSignalDSL.g:1489:9: ruleOpMultiAssign
         {
         pushFollow(FOLLOW_2);
         ruleOpMultiAssign();
@@ -21355,22 +21384,22 @@
 
     // $ANTLR start synpred8_InternalSignalDSL
     public final void synpred8_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:1634:5: ( ( () ( ( ruleOpOr ) ) ) )
-        // InternalSignalDSL.g:1634:6: ( () ( ( ruleOpOr ) ) )
+        // InternalSignalDSL.g:1678:5: ( ( () ( ( ruleOpOr ) ) ) )
+        // InternalSignalDSL.g:1678:6: ( () ( ( ruleOpOr ) ) )
         {
-        // InternalSignalDSL.g:1634:6: ( () ( ( ruleOpOr ) ) )
-        // InternalSignalDSL.g:1635:6: () ( ( ruleOpOr ) )
+        // InternalSignalDSL.g:1678:6: ( () ( ( ruleOpOr ) ) )
+        // InternalSignalDSL.g:1679:6: () ( ( ruleOpOr ) )
         {
-        // InternalSignalDSL.g:1635:6: ()
-        // InternalSignalDSL.g:1636:6: 
+        // InternalSignalDSL.g:1679:6: ()
+        // InternalSignalDSL.g:1680:6: 
         {
         }
 
-        // InternalSignalDSL.g:1637:6: ( ( ruleOpOr ) )
-        // InternalSignalDSL.g:1638:7: ( ruleOpOr )
+        // InternalSignalDSL.g:1681:6: ( ( ruleOpOr ) )
+        // InternalSignalDSL.g:1682:7: ( ruleOpOr )
         {
-        // InternalSignalDSL.g:1638:7: ( ruleOpOr )
-        // InternalSignalDSL.g:1639:8: ruleOpOr
+        // InternalSignalDSL.g:1682:7: ( ruleOpOr )
+        // InternalSignalDSL.g:1683:8: ruleOpOr
         {
         pushFollow(FOLLOW_2);
         ruleOpOr();
@@ -21393,22 +21422,22 @@
 
     // $ANTLR start synpred9_InternalSignalDSL
     public final void synpred9_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:1741:5: ( ( () ( ( ruleOpAnd ) ) ) )
-        // InternalSignalDSL.g:1741:6: ( () ( ( ruleOpAnd ) ) )
+        // InternalSignalDSL.g:1785:5: ( ( () ( ( ruleOpAnd ) ) ) )
+        // InternalSignalDSL.g:1785:6: ( () ( ( ruleOpAnd ) ) )
         {
-        // InternalSignalDSL.g:1741:6: ( () ( ( ruleOpAnd ) ) )
-        // InternalSignalDSL.g:1742:6: () ( ( ruleOpAnd ) )
+        // InternalSignalDSL.g:1785:6: ( () ( ( ruleOpAnd ) ) )
+        // InternalSignalDSL.g:1786:6: () ( ( ruleOpAnd ) )
         {
-        // InternalSignalDSL.g:1742:6: ()
-        // InternalSignalDSL.g:1743:6: 
+        // InternalSignalDSL.g:1786:6: ()
+        // InternalSignalDSL.g:1787:6: 
         {
         }
 
-        // InternalSignalDSL.g:1744:6: ( ( ruleOpAnd ) )
-        // InternalSignalDSL.g:1745:7: ( ruleOpAnd )
+        // InternalSignalDSL.g:1788:6: ( ( ruleOpAnd ) )
+        // InternalSignalDSL.g:1789:7: ( ruleOpAnd )
         {
-        // InternalSignalDSL.g:1745:7: ( ruleOpAnd )
-        // InternalSignalDSL.g:1746:8: ruleOpAnd
+        // InternalSignalDSL.g:1789:7: ( ruleOpAnd )
+        // InternalSignalDSL.g:1790:8: ruleOpAnd
         {
         pushFollow(FOLLOW_2);
         ruleOpAnd();
@@ -21431,22 +21460,22 @@
 
     // $ANTLR start synpred10_InternalSignalDSL
     public final void synpred10_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:1848:5: ( ( () ( ( ruleOpEquality ) ) ) )
-        // InternalSignalDSL.g:1848:6: ( () ( ( ruleOpEquality ) ) )
+        // InternalSignalDSL.g:1892:5: ( ( () ( ( ruleOpEquality ) ) ) )
+        // InternalSignalDSL.g:1892:6: ( () ( ( ruleOpEquality ) ) )
         {
-        // InternalSignalDSL.g:1848:6: ( () ( ( ruleOpEquality ) ) )
-        // InternalSignalDSL.g:1849:6: () ( ( ruleOpEquality ) )
+        // InternalSignalDSL.g:1892:6: ( () ( ( ruleOpEquality ) ) )
+        // InternalSignalDSL.g:1893:6: () ( ( ruleOpEquality ) )
         {
-        // InternalSignalDSL.g:1849:6: ()
-        // InternalSignalDSL.g:1850:6: 
+        // InternalSignalDSL.g:1893:6: ()
+        // InternalSignalDSL.g:1894:6: 
         {
         }
 
-        // InternalSignalDSL.g:1851:6: ( ( ruleOpEquality ) )
-        // InternalSignalDSL.g:1852:7: ( ruleOpEquality )
+        // InternalSignalDSL.g:1895:6: ( ( ruleOpEquality ) )
+        // InternalSignalDSL.g:1896:7: ( ruleOpEquality )
         {
-        // InternalSignalDSL.g:1852:7: ( ruleOpEquality )
-        // InternalSignalDSL.g:1853:8: ruleOpEquality
+        // InternalSignalDSL.g:1896:7: ( ruleOpEquality )
+        // InternalSignalDSL.g:1897:8: ruleOpEquality
         {
         pushFollow(FOLLOW_2);
         ruleOpEquality();
@@ -21469,18 +21498,18 @@
 
     // $ANTLR start synpred11_InternalSignalDSL
     public final void synpred11_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:1976:6: ( ( () 'instanceof' ) )
-        // InternalSignalDSL.g:1976:7: ( () 'instanceof' )
+        // InternalSignalDSL.g:2020:6: ( ( () 'instanceof' ) )
+        // InternalSignalDSL.g:2020:7: ( () 'instanceof' )
         {
-        // InternalSignalDSL.g:1976:7: ( () 'instanceof' )
-        // InternalSignalDSL.g:1977:7: () 'instanceof'
+        // InternalSignalDSL.g:2020:7: ( () 'instanceof' )
+        // InternalSignalDSL.g:2021:7: () 'instanceof'
         {
-        // InternalSignalDSL.g:1977:7: ()
-        // InternalSignalDSL.g:1978:7: 
+        // InternalSignalDSL.g:2021:7: ()
+        // InternalSignalDSL.g:2022:7: 
         {
         }
 
-        match(input,50,FOLLOW_2); if (state.failed) return ;
+        match(input,51,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -21491,22 +21520,22 @@
 
     // $ANTLR start synpred12_InternalSignalDSL
     public final void synpred12_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:2019:6: ( ( () ( ( ruleOpCompare ) ) ) )
-        // InternalSignalDSL.g:2019:7: ( () ( ( ruleOpCompare ) ) )
+        // InternalSignalDSL.g:2063:6: ( ( () ( ( ruleOpCompare ) ) ) )
+        // InternalSignalDSL.g:2063:7: ( () ( ( ruleOpCompare ) ) )
         {
-        // InternalSignalDSL.g:2019:7: ( () ( ( ruleOpCompare ) ) )
-        // InternalSignalDSL.g:2020:7: () ( ( ruleOpCompare ) )
+        // InternalSignalDSL.g:2063:7: ( () ( ( ruleOpCompare ) ) )
+        // InternalSignalDSL.g:2064:7: () ( ( ruleOpCompare ) )
         {
-        // InternalSignalDSL.g:2020:7: ()
-        // InternalSignalDSL.g:2021:7: 
+        // InternalSignalDSL.g:2064:7: ()
+        // InternalSignalDSL.g:2065:7: 
         {
         }
 
-        // InternalSignalDSL.g:2022:7: ( ( ruleOpCompare ) )
-        // InternalSignalDSL.g:2023:8: ( ruleOpCompare )
+        // InternalSignalDSL.g:2066:7: ( ( ruleOpCompare ) )
+        // InternalSignalDSL.g:2067:8: ( ruleOpCompare )
         {
-        // InternalSignalDSL.g:2023:8: ( ruleOpCompare )
-        // InternalSignalDSL.g:2024:9: ruleOpCompare
+        // InternalSignalDSL.g:2067:8: ( ruleOpCompare )
+        // InternalSignalDSL.g:2068:9: ruleOpCompare
         {
         pushFollow(FOLLOW_2);
         ruleOpCompare();
@@ -21529,22 +21558,22 @@
 
     // $ANTLR start synpred13_InternalSignalDSL
     public final void synpred13_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:2154:5: ( ( () ( ( ruleOpOther ) ) ) )
-        // InternalSignalDSL.g:2154:6: ( () ( ( ruleOpOther ) ) )
+        // InternalSignalDSL.g:2198:5: ( ( () ( ( ruleOpOther ) ) ) )
+        // InternalSignalDSL.g:2198:6: ( () ( ( ruleOpOther ) ) )
         {
-        // InternalSignalDSL.g:2154:6: ( () ( ( ruleOpOther ) ) )
-        // InternalSignalDSL.g:2155:6: () ( ( ruleOpOther ) )
+        // InternalSignalDSL.g:2198:6: ( () ( ( ruleOpOther ) ) )
+        // InternalSignalDSL.g:2199:6: () ( ( ruleOpOther ) )
         {
-        // InternalSignalDSL.g:2155:6: ()
-        // InternalSignalDSL.g:2156:6: 
+        // InternalSignalDSL.g:2199:6: ()
+        // InternalSignalDSL.g:2200:6: 
         {
         }
 
-        // InternalSignalDSL.g:2157:6: ( ( ruleOpOther ) )
-        // InternalSignalDSL.g:2158:7: ( ruleOpOther )
+        // InternalSignalDSL.g:2201:6: ( ( ruleOpOther ) )
+        // InternalSignalDSL.g:2202:7: ( ruleOpOther )
         {
-        // InternalSignalDSL.g:2158:7: ( ruleOpOther )
-        // InternalSignalDSL.g:2159:8: ruleOpOther
+        // InternalSignalDSL.g:2202:7: ( ruleOpOther )
+        // InternalSignalDSL.g:2203:8: ruleOpOther
         {
         pushFollow(FOLLOW_2);
         ruleOpOther();
@@ -21567,14 +21596,14 @@
 
     // $ANTLR start synpred14_InternalSignalDSL
     public final void synpred14_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:2274:6: ( ( '>' '>' ) )
-        // InternalSignalDSL.g:2274:7: ( '>' '>' )
+        // InternalSignalDSL.g:2318:6: ( ( '>' '>' ) )
+        // InternalSignalDSL.g:2318:7: ( '>' '>' )
         {
-        // InternalSignalDSL.g:2274:7: ( '>' '>' )
-        // InternalSignalDSL.g:2275:7: '>' '>'
+        // InternalSignalDSL.g:2318:7: ( '>' '>' )
+        // InternalSignalDSL.g:2319:7: '>' '>'
         {
-        match(input,42,FOLLOW_42); if (state.failed) return ;
-        match(input,42,FOLLOW_2); if (state.failed) return ;
+        match(input,43,FOLLOW_44); if (state.failed) return ;
+        match(input,43,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -21585,14 +21614,14 @@
 
     // $ANTLR start synpred15_InternalSignalDSL
     public final void synpred15_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:2309:6: ( ( '<' '<' ) )
-        // InternalSignalDSL.g:2309:7: ( '<' '<' )
+        // InternalSignalDSL.g:2353:6: ( ( '<' '<' ) )
+        // InternalSignalDSL.g:2353:7: ( '<' '<' )
         {
-        // InternalSignalDSL.g:2309:7: ( '<' '<' )
-        // InternalSignalDSL.g:2310:7: '<' '<'
+        // InternalSignalDSL.g:2353:7: ( '<' '<' )
+        // InternalSignalDSL.g:2354:7: '<' '<'
         {
-        match(input,41,FOLLOW_32); if (state.failed) return ;
-        match(input,41,FOLLOW_2); if (state.failed) return ;
+        match(input,42,FOLLOW_34); if (state.failed) return ;
+        match(input,42,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -21603,22 +21632,22 @@
 
     // $ANTLR start synpred16_InternalSignalDSL
     public final void synpred16_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:2382:5: ( ( () ( ( ruleOpAdd ) ) ) )
-        // InternalSignalDSL.g:2382:6: ( () ( ( ruleOpAdd ) ) )
+        // InternalSignalDSL.g:2426:5: ( ( () ( ( ruleOpAdd ) ) ) )
+        // InternalSignalDSL.g:2426:6: ( () ( ( ruleOpAdd ) ) )
         {
-        // InternalSignalDSL.g:2382:6: ( () ( ( ruleOpAdd ) ) )
-        // InternalSignalDSL.g:2383:6: () ( ( ruleOpAdd ) )
+        // InternalSignalDSL.g:2426:6: ( () ( ( ruleOpAdd ) ) )
+        // InternalSignalDSL.g:2427:6: () ( ( ruleOpAdd ) )
         {
-        // InternalSignalDSL.g:2383:6: ()
-        // InternalSignalDSL.g:2384:6: 
+        // InternalSignalDSL.g:2427:6: ()
+        // InternalSignalDSL.g:2428:6: 
         {
         }
 
-        // InternalSignalDSL.g:2385:6: ( ( ruleOpAdd ) )
-        // InternalSignalDSL.g:2386:7: ( ruleOpAdd )
+        // InternalSignalDSL.g:2429:6: ( ( ruleOpAdd ) )
+        // InternalSignalDSL.g:2430:7: ( ruleOpAdd )
         {
-        // InternalSignalDSL.g:2386:7: ( ruleOpAdd )
-        // InternalSignalDSL.g:2387:8: ruleOpAdd
+        // InternalSignalDSL.g:2430:7: ( ruleOpAdd )
+        // InternalSignalDSL.g:2431:8: ruleOpAdd
         {
         pushFollow(FOLLOW_2);
         ruleOpAdd();
@@ -21641,22 +21670,22 @@
 
     // $ANTLR start synpred17_InternalSignalDSL
     public final void synpred17_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:2497:5: ( ( () ( ( ruleOpMulti ) ) ) )
-        // InternalSignalDSL.g:2497:6: ( () ( ( ruleOpMulti ) ) )
+        // InternalSignalDSL.g:2541:5: ( ( () ( ( ruleOpMulti ) ) ) )
+        // InternalSignalDSL.g:2541:6: ( () ( ( ruleOpMulti ) ) )
         {
-        // InternalSignalDSL.g:2497:6: ( () ( ( ruleOpMulti ) ) )
-        // InternalSignalDSL.g:2498:6: () ( ( ruleOpMulti ) )
+        // InternalSignalDSL.g:2541:6: ( () ( ( ruleOpMulti ) ) )
+        // InternalSignalDSL.g:2542:6: () ( ( ruleOpMulti ) )
         {
-        // InternalSignalDSL.g:2498:6: ()
-        // InternalSignalDSL.g:2499:6: 
+        // InternalSignalDSL.g:2542:6: ()
+        // InternalSignalDSL.g:2543:6: 
         {
         }
 
-        // InternalSignalDSL.g:2500:6: ( ( ruleOpMulti ) )
-        // InternalSignalDSL.g:2501:7: ( ruleOpMulti )
+        // InternalSignalDSL.g:2544:6: ( ( ruleOpMulti ) )
+        // InternalSignalDSL.g:2545:7: ( ruleOpMulti )
         {
-        // InternalSignalDSL.g:2501:7: ( ruleOpMulti )
-        // InternalSignalDSL.g:2502:8: ruleOpMulti
+        // InternalSignalDSL.g:2545:7: ( ruleOpMulti )
+        // InternalSignalDSL.g:2546:8: ruleOpMulti
         {
         pushFollow(FOLLOW_2);
         ruleOpMulti();
@@ -21679,18 +21708,18 @@
 
     // $ANTLR start synpred18_InternalSignalDSL
     public final void synpred18_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:2732:5: ( ( () 'as' ) )
-        // InternalSignalDSL.g:2732:6: ( () 'as' )
+        // InternalSignalDSL.g:2776:5: ( ( () 'as' ) )
+        // InternalSignalDSL.g:2776:6: ( () 'as' )
         {
-        // InternalSignalDSL.g:2732:6: ( () 'as' )
-        // InternalSignalDSL.g:2733:6: () 'as'
+        // InternalSignalDSL.g:2776:6: ( () 'as' )
+        // InternalSignalDSL.g:2777:6: () 'as'
         {
-        // InternalSignalDSL.g:2733:6: ()
-        // InternalSignalDSL.g:2734:6: 
+        // InternalSignalDSL.g:2777:6: ()
+        // InternalSignalDSL.g:2778:6: 
         {
         }
 
-        match(input,63,FOLLOW_2); if (state.failed) return ;
+        match(input,64,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -21701,22 +21730,22 @@
 
     // $ANTLR start synpred19_InternalSignalDSL
     public final void synpred19_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:2800:4: ( ( () ( ( ruleOpPostfix ) ) ) )
-        // InternalSignalDSL.g:2800:5: ( () ( ( ruleOpPostfix ) ) )
+        // InternalSignalDSL.g:2844:4: ( ( () ( ( ruleOpPostfix ) ) ) )
+        // InternalSignalDSL.g:2844:5: ( () ( ( ruleOpPostfix ) ) )
         {
-        // InternalSignalDSL.g:2800:5: ( () ( ( ruleOpPostfix ) ) )
-        // InternalSignalDSL.g:2801:5: () ( ( ruleOpPostfix ) )
+        // InternalSignalDSL.g:2844:5: ( () ( ( ruleOpPostfix ) ) )
+        // InternalSignalDSL.g:2845:5: () ( ( ruleOpPostfix ) )
         {
-        // InternalSignalDSL.g:2801:5: ()
-        // InternalSignalDSL.g:2802:5: 
+        // InternalSignalDSL.g:2845:5: ()
+        // InternalSignalDSL.g:2846:5: 
         {
         }
 
-        // InternalSignalDSL.g:2803:5: ( ( ruleOpPostfix ) )
-        // InternalSignalDSL.g:2804:6: ( ruleOpPostfix )
+        // InternalSignalDSL.g:2847:5: ( ( ruleOpPostfix ) )
+        // InternalSignalDSL.g:2848:6: ( ruleOpPostfix )
         {
-        // InternalSignalDSL.g:2804:6: ( ruleOpPostfix )
-        // InternalSignalDSL.g:2805:7: ruleOpPostfix
+        // InternalSignalDSL.g:2848:6: ( ruleOpPostfix )
+        // InternalSignalDSL.g:2849:7: ruleOpPostfix
         {
         pushFollow(FOLLOW_2);
         ruleOpPostfix();
@@ -21739,52 +21768,52 @@
 
     // $ANTLR start synpred20_InternalSignalDSL
     public final void synpred20_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:2896:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )
-        // InternalSignalDSL.g:2896:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
+        // InternalSignalDSL.g:2940:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )
+        // InternalSignalDSL.g:2940:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
         {
-        // InternalSignalDSL.g:2896:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
-        // InternalSignalDSL.g:2897:7: () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign
+        // InternalSignalDSL.g:2940:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
+        // InternalSignalDSL.g:2941:7: () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign
         {
-        // InternalSignalDSL.g:2897:7: ()
-        // InternalSignalDSL.g:2898:7: 
+        // InternalSignalDSL.g:2941:7: ()
+        // InternalSignalDSL.g:2942:7: 
         {
         }
 
-        // InternalSignalDSL.g:2899:7: ( '.' | ( ( '::' ) ) )
-        int alt135=2;
-        int LA135_0 = input.LA(1);
+        // InternalSignalDSL.g:2943:7: ( '.' | ( ( '::' ) ) )
+        int alt136=2;
+        int LA136_0 = input.LA(1);
 
-        if ( (LA135_0==66) ) {
-            alt135=1;
+        if ( (LA136_0==67) ) {
+            alt136=1;
         }
-        else if ( (LA135_0==67) ) {
-            alt135=2;
+        else if ( (LA136_0==68) ) {
+            alt136=2;
         }
         else {
             if (state.backtracking>0) {state.failed=true; return ;}
             NoViableAltException nvae =
-                new NoViableAltException("", 135, 0, input);
+                new NoViableAltException("", 136, 0, input);
 
             throw nvae;
         }
-        switch (alt135) {
+        switch (alt136) {
             case 1 :
-                // InternalSignalDSL.g:2900:8: '.'
+                // InternalSignalDSL.g:2944:8: '.'
                 {
-                match(input,66,FOLLOW_49); if (state.failed) return ;
+                match(input,67,FOLLOW_51); if (state.failed) return ;
 
                 }
                 break;
             case 2 :
-                // InternalSignalDSL.g:2902:8: ( ( '::' ) )
+                // InternalSignalDSL.g:2946:8: ( ( '::' ) )
                 {
-                // InternalSignalDSL.g:2902:8: ( ( '::' ) )
-                // InternalSignalDSL.g:2903:9: ( '::' )
+                // InternalSignalDSL.g:2946:8: ( ( '::' ) )
+                // InternalSignalDSL.g:2947:9: ( '::' )
                 {
-                // InternalSignalDSL.g:2903:9: ( '::' )
-                // InternalSignalDSL.g:2904:10: '::'
+                // InternalSignalDSL.g:2947:9: ( '::' )
+                // InternalSignalDSL.g:2948:10: '::'
                 {
-                match(input,67,FOLLOW_49); if (state.failed) return ;
+                match(input,68,FOLLOW_51); if (state.failed) return ;
 
                 }
 
@@ -21797,13 +21826,13 @@
 
         }
 
-        // InternalSignalDSL.g:2908:7: ( ( ruleFeatureCallID ) )
-        // InternalSignalDSL.g:2909:8: ( ruleFeatureCallID )
+        // InternalSignalDSL.g:2952:7: ( ( ruleFeatureCallID ) )
+        // InternalSignalDSL.g:2953:8: ( ruleFeatureCallID )
         {
-        // InternalSignalDSL.g:2909:8: ( ruleFeatureCallID )
-        // InternalSignalDSL.g:2910:9: ruleFeatureCallID
+        // InternalSignalDSL.g:2953:8: ( ruleFeatureCallID )
+        // InternalSignalDSL.g:2954:9: ruleFeatureCallID
         {
-        pushFollow(FOLLOW_25);
+        pushFollow(FOLLOW_27);
         ruleFeatureCallID();
 
         state._fsp--;
@@ -21829,61 +21858,61 @@
 
     // $ANTLR start synpred21_InternalSignalDSL
     public final void synpred21_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:2993:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )
-        // InternalSignalDSL.g:2993:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) )
+        // InternalSignalDSL.g:3037:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )
+        // InternalSignalDSL.g:3037:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) )
         {
-        // InternalSignalDSL.g:2993:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) )
-        // InternalSignalDSL.g:2994:7: () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) )
+        // InternalSignalDSL.g:3037:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) )
+        // InternalSignalDSL.g:3038:7: () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) )
         {
-        // InternalSignalDSL.g:2994:7: ()
-        // InternalSignalDSL.g:2995:7: 
+        // InternalSignalDSL.g:3038:7: ()
+        // InternalSignalDSL.g:3039:7: 
         {
         }
 
-        // InternalSignalDSL.g:2996:7: ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) )
-        int alt136=3;
+        // InternalSignalDSL.g:3040:7: ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) )
+        int alt137=3;
         switch ( input.LA(1) ) {
-        case 66:
+        case 67:
             {
-            alt136=1;
+            alt137=1;
+            }
+            break;
+        case 69:
+            {
+            alt137=2;
             }
             break;
         case 68:
             {
-            alt136=2;
-            }
-            break;
-        case 67:
-            {
-            alt136=3;
+            alt137=3;
             }
             break;
         default:
             if (state.backtracking>0) {state.failed=true; return ;}
             NoViableAltException nvae =
-                new NoViableAltException("", 136, 0, input);
+                new NoViableAltException("", 137, 0, input);
 
             throw nvae;
         }
 
-        switch (alt136) {
+        switch (alt137) {
             case 1 :
-                // InternalSignalDSL.g:2997:8: '.'
+                // InternalSignalDSL.g:3041:8: '.'
                 {
-                match(input,66,FOLLOW_2); if (state.failed) return ;
+                match(input,67,FOLLOW_2); if (state.failed) return ;
 
                 }
                 break;
             case 2 :
-                // InternalSignalDSL.g:2999:8: ( ( '?.' ) )
+                // InternalSignalDSL.g:3043:8: ( ( '?.' ) )
                 {
-                // InternalSignalDSL.g:2999:8: ( ( '?.' ) )
-                // InternalSignalDSL.g:3000:9: ( '?.' )
+                // InternalSignalDSL.g:3043:8: ( ( '?.' ) )
+                // InternalSignalDSL.g:3044:9: ( '?.' )
                 {
-                // InternalSignalDSL.g:3000:9: ( '?.' )
-                // InternalSignalDSL.g:3001:10: '?.'
+                // InternalSignalDSL.g:3044:9: ( '?.' )
+                // InternalSignalDSL.g:3045:10: '?.'
                 {
-                match(input,68,FOLLOW_2); if (state.failed) return ;
+                match(input,69,FOLLOW_2); if (state.failed) return ;
 
                 }
 
@@ -21894,15 +21923,15 @@
                 }
                 break;
             case 3 :
-                // InternalSignalDSL.g:3005:8: ( ( '::' ) )
+                // InternalSignalDSL.g:3049:8: ( ( '::' ) )
                 {
-                // InternalSignalDSL.g:3005:8: ( ( '::' ) )
-                // InternalSignalDSL.g:3006:9: ( '::' )
+                // InternalSignalDSL.g:3049:8: ( ( '::' ) )
+                // InternalSignalDSL.g:3050:9: ( '::' )
                 {
-                // InternalSignalDSL.g:3006:9: ( '::' )
-                // InternalSignalDSL.g:3007:10: '::'
+                // InternalSignalDSL.g:3050:9: ( '::' )
+                // InternalSignalDSL.g:3051:10: '::'
                 {
-                match(input,67,FOLLOW_2); if (state.failed) return ;
+                match(input,68,FOLLOW_2); if (state.failed) return ;
 
                 }
 
@@ -21925,13 +21954,13 @@
 
     // $ANTLR start synpred22_InternalSignalDSL
     public final void synpred22_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:3131:7: ( ( '(' ) )
-        // InternalSignalDSL.g:3131:8: ( '(' )
+        // InternalSignalDSL.g:3175:7: ( ( '(' ) )
+        // InternalSignalDSL.g:3175:8: ( '(' )
         {
-        // InternalSignalDSL.g:3131:8: ( '(' )
-        // InternalSignalDSL.g:3132:8: '('
+        // InternalSignalDSL.g:3175:8: ( '(' )
+        // InternalSignalDSL.g:3176:8: '('
         {
-        match(input,29,FOLLOW_2); if (state.failed) return ;
+        match(input,30,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -21942,35 +21971,35 @@
 
     // $ANTLR start synpred23_InternalSignalDSL
     public final void synpred23_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:3150:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
-        // InternalSignalDSL.g:3150:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
+        // InternalSignalDSL.g:3194:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
+        // InternalSignalDSL.g:3194:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
         {
-        // InternalSignalDSL.g:3150:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
-        // InternalSignalDSL.g:3151:9: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
+        // InternalSignalDSL.g:3194:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
+        // InternalSignalDSL.g:3195:9: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
         {
-        // InternalSignalDSL.g:3151:9: ()
-        // InternalSignalDSL.g:3152:9: 
+        // InternalSignalDSL.g:3195:9: ()
+        // InternalSignalDSL.g:3196:9: 
         {
         }
 
-        // InternalSignalDSL.g:3153:9: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
-        int alt138=2;
-        int LA138_0 = input.LA(1);
+        // InternalSignalDSL.g:3197:9: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
+        int alt139=2;
+        int LA139_0 = input.LA(1);
 
-        if ( (LA138_0==RULE_ID||LA138_0==29||LA138_0==54) ) {
-            alt138=1;
+        if ( (LA139_0==RULE_ID||LA139_0==30||LA139_0==55) ) {
+            alt139=1;
         }
-        switch (alt138) {
+        switch (alt139) {
             case 1 :
-                // InternalSignalDSL.g:3154:10: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
+                // InternalSignalDSL.g:3198:10: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                 {
-                // InternalSignalDSL.g:3154:10: ( ( ruleJvmFormalParameter ) )
-                // InternalSignalDSL.g:3155:11: ( ruleJvmFormalParameter )
+                // InternalSignalDSL.g:3198:10: ( ( ruleJvmFormalParameter ) )
+                // InternalSignalDSL.g:3199:11: ( ruleJvmFormalParameter )
                 {
-                // InternalSignalDSL.g:3155:11: ( ruleJvmFormalParameter )
-                // InternalSignalDSL.g:3156:12: ruleJvmFormalParameter
+                // InternalSignalDSL.g:3199:11: ( ruleJvmFormalParameter )
+                // InternalSignalDSL.g:3200:12: ruleJvmFormalParameter
                 {
-                pushFollow(FOLLOW_59);
+                pushFollow(FOLLOW_61);
                 ruleJvmFormalParameter();
 
                 state._fsp--;
@@ -21981,29 +22010,29 @@
 
                 }
 
-                // InternalSignalDSL.g:3159:10: ( ',' ( ( ruleJvmFormalParameter ) ) )*
-                loop137:
+                // InternalSignalDSL.g:3203:10: ( ',' ( ( ruleJvmFormalParameter ) ) )*
+                loop138:
                 do {
-                    int alt137=2;
-                    int LA137_0 = input.LA(1);
+                    int alt138=2;
+                    int LA138_0 = input.LA(1);
 
-                    if ( (LA137_0==30) ) {
-                        alt137=1;
+                    if ( (LA138_0==31) ) {
+                        alt138=1;
                     }
 
 
-                    switch (alt137) {
+                    switch (alt138) {
                 	case 1 :
-                	    // InternalSignalDSL.g:3160:11: ',' ( ( ruleJvmFormalParameter ) )
+                	    // InternalSignalDSL.g:3204:11: ',' ( ( ruleJvmFormalParameter ) )
                 	    {
-                	    match(input,30,FOLLOW_39); if (state.failed) return ;
-                	    // InternalSignalDSL.g:3161:11: ( ( ruleJvmFormalParameter ) )
-                	    // InternalSignalDSL.g:3162:12: ( ruleJvmFormalParameter )
+                	    match(input,31,FOLLOW_41); if (state.failed) return ;
+                	    // InternalSignalDSL.g:3205:11: ( ( ruleJvmFormalParameter ) )
+                	    // InternalSignalDSL.g:3206:12: ( ruleJvmFormalParameter )
                 	    {
-                	    // InternalSignalDSL.g:3162:12: ( ruleJvmFormalParameter )
-                	    // InternalSignalDSL.g:3163:13: ruleJvmFormalParameter
+                	    // InternalSignalDSL.g:3206:12: ( ruleJvmFormalParameter )
+                	    // InternalSignalDSL.g:3207:13: ruleJvmFormalParameter
                 	    {
-                	    pushFollow(FOLLOW_59);
+                	    pushFollow(FOLLOW_61);
                 	    ruleJvmFormalParameter();
 
                 	    state._fsp--;
@@ -22019,7 +22048,7 @@
                 	    break;
 
                 	default :
-                	    break loop137;
+                	    break loop138;
                     }
                 } while (true);
 
@@ -22029,13 +22058,13 @@
 
         }
 
-        // InternalSignalDSL.g:3168:9: ( ( '|' ) )
-        // InternalSignalDSL.g:3169:10: ( '|' )
+        // InternalSignalDSL.g:3212:9: ( ( '|' ) )
+        // InternalSignalDSL.g:3213:10: ( '|' )
         {
-        // InternalSignalDSL.g:3169:10: ( '|' )
-        // InternalSignalDSL.g:3170:11: '|'
+        // InternalSignalDSL.g:3213:10: ( '|' )
+        // InternalSignalDSL.g:3214:11: '|'
         {
-        match(input,69,FOLLOW_2); if (state.failed) return ;
+        match(input,70,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -22052,18 +22081,18 @@
 
     // $ANTLR start synpred24_InternalSignalDSL
     public final void synpred24_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:3247:6: ( ( () '[' ) )
-        // InternalSignalDSL.g:3247:7: ( () '[' )
+        // InternalSignalDSL.g:3291:6: ( ( () '[' ) )
+        // InternalSignalDSL.g:3291:7: ( () '[' )
         {
-        // InternalSignalDSL.g:3247:7: ( () '[' )
-        // InternalSignalDSL.g:3248:7: () '['
+        // InternalSignalDSL.g:3291:7: ( () '[' )
+        // InternalSignalDSL.g:3292:7: () '['
         {
-        // InternalSignalDSL.g:3248:7: ()
-        // InternalSignalDSL.g:3249:7: 
+        // InternalSignalDSL.g:3292:7: ()
+        // InternalSignalDSL.g:3293:7: 
         {
         }
 
-        match(input,34,FOLLOW_2); if (state.failed) return ;
+        match(input,35,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -22074,19 +22103,19 @@
 
     // $ANTLR start synpred25_InternalSignalDSL
     public final void synpred25_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:3320:4: ( ( () 'synchronized' '(' ) )
-        // InternalSignalDSL.g:3320:5: ( () 'synchronized' '(' )
+        // InternalSignalDSL.g:3364:4: ( ( () 'synchronized' '(' ) )
+        // InternalSignalDSL.g:3364:5: ( () 'synchronized' '(' )
         {
-        // InternalSignalDSL.g:3320:5: ( () 'synchronized' '(' )
-        // InternalSignalDSL.g:3321:5: () 'synchronized' '('
+        // InternalSignalDSL.g:3364:5: ( () 'synchronized' '(' )
+        // InternalSignalDSL.g:3365:5: () 'synchronized' '('
         {
-        // InternalSignalDSL.g:3321:5: ()
-        // InternalSignalDSL.g:3322:5: 
+        // InternalSignalDSL.g:3365:5: ()
+        // InternalSignalDSL.g:3366:5: 
         {
         }
 
-        match(input,91,FOLLOW_64); if (state.failed) return ;
-        match(input,29,FOLLOW_2); if (state.failed) return ;
+        match(input,92,FOLLOW_66); if (state.failed) return ;
+        match(input,30,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -22097,26 +22126,26 @@
 
     // $ANTLR start synpred26_InternalSignalDSL
     public final void synpred26_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:3365:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )
-        // InternalSignalDSL.g:3365:5: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' )
+        // InternalSignalDSL.g:3409:4: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )
+        // InternalSignalDSL.g:3409:5: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' )
         {
-        // InternalSignalDSL.g:3365:5: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' )
-        // InternalSignalDSL.g:3366:5: () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':'
+        // InternalSignalDSL.g:3409:5: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' )
+        // InternalSignalDSL.g:3410:5: () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':'
         {
-        // InternalSignalDSL.g:3366:5: ()
-        // InternalSignalDSL.g:3367:5: 
+        // InternalSignalDSL.g:3410:5: ()
+        // InternalSignalDSL.g:3411:5: 
         {
         }
 
-        match(input,18,FOLLOW_64); if (state.failed) return ;
-        match(input,29,FOLLOW_39); if (state.failed) return ;
-        // InternalSignalDSL.g:3370:5: ( ( ruleJvmFormalParameter ) )
-        // InternalSignalDSL.g:3371:6: ( ruleJvmFormalParameter )
+        match(input,18,FOLLOW_66); if (state.failed) return ;
+        match(input,30,FOLLOW_41); if (state.failed) return ;
+        // InternalSignalDSL.g:3414:5: ( ( ruleJvmFormalParameter ) )
+        // InternalSignalDSL.g:3415:6: ( ruleJvmFormalParameter )
         {
-        // InternalSignalDSL.g:3371:6: ( ruleJvmFormalParameter )
-        // InternalSignalDSL.g:3372:7: ruleJvmFormalParameter
+        // InternalSignalDSL.g:3415:6: ( ruleJvmFormalParameter )
+        // InternalSignalDSL.g:3416:7: ruleJvmFormalParameter
         {
-        pushFollow(FOLLOW_67);
+        pushFollow(FOLLOW_69);
         ruleJvmFormalParameter();
 
         state._fsp--;
@@ -22127,7 +22156,7 @@
 
         }
 
-        match(input,73,FOLLOW_2); if (state.failed) return ;
+        match(input,74,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -22138,18 +22167,18 @@
 
     // $ANTLR start synpred27_InternalSignalDSL
     public final void synpred27_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:3479:4: ( ( () '[' ) )
-        // InternalSignalDSL.g:3479:5: ( () '[' )
+        // InternalSignalDSL.g:3523:4: ( ( () '[' ) )
+        // InternalSignalDSL.g:3523:5: ( () '[' )
         {
-        // InternalSignalDSL.g:3479:5: ( () '[' )
-        // InternalSignalDSL.g:3480:5: () '['
+        // InternalSignalDSL.g:3523:5: ( () '[' )
+        // InternalSignalDSL.g:3524:5: () '['
         {
-        // InternalSignalDSL.g:3480:5: ()
-        // InternalSignalDSL.g:3481:5: 
+        // InternalSignalDSL.g:3524:5: ()
+        // InternalSignalDSL.g:3525:5: 
         {
         }
 
-        match(input,34,FOLLOW_2); if (state.failed) return ;
+        match(input,35,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -22160,30 +22189,30 @@
 
     // $ANTLR start synpred29_InternalSignalDSL
     public final void synpred29_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:3784:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
-        // InternalSignalDSL.g:3784:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
+        // InternalSignalDSL.g:3828:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
+        // InternalSignalDSL.g:3828:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
         {
-        // InternalSignalDSL.g:3784:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
-        // InternalSignalDSL.g:3785:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
+        // InternalSignalDSL.g:3828:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
+        // InternalSignalDSL.g:3829:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
         {
-        // InternalSignalDSL.g:3785:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
-        int alt140=2;
-        int LA140_0 = input.LA(1);
+        // InternalSignalDSL.g:3829:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
+        int alt141=2;
+        int LA141_0 = input.LA(1);
 
-        if ( (LA140_0==RULE_ID||LA140_0==29||LA140_0==54) ) {
-            alt140=1;
+        if ( (LA141_0==RULE_ID||LA141_0==30||LA141_0==55) ) {
+            alt141=1;
         }
-        switch (alt140) {
+        switch (alt141) {
             case 1 :
-                // InternalSignalDSL.g:3786:6: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
+                // InternalSignalDSL.g:3830:6: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                 {
-                // InternalSignalDSL.g:3786:6: ( ( ruleJvmFormalParameter ) )
-                // InternalSignalDSL.g:3787:7: ( ruleJvmFormalParameter )
+                // InternalSignalDSL.g:3830:6: ( ( ruleJvmFormalParameter ) )
+                // InternalSignalDSL.g:3831:7: ( ruleJvmFormalParameter )
                 {
-                // InternalSignalDSL.g:3787:7: ( ruleJvmFormalParameter )
-                // InternalSignalDSL.g:3788:8: ruleJvmFormalParameter
+                // InternalSignalDSL.g:3831:7: ( ruleJvmFormalParameter )
+                // InternalSignalDSL.g:3832:8: ruleJvmFormalParameter
                 {
-                pushFollow(FOLLOW_59);
+                pushFollow(FOLLOW_61);
                 ruleJvmFormalParameter();
 
                 state._fsp--;
@@ -22194,29 +22223,29 @@
 
                 }
 
-                // InternalSignalDSL.g:3791:6: ( ',' ( ( ruleJvmFormalParameter ) ) )*
-                loop139:
+                // InternalSignalDSL.g:3835:6: ( ',' ( ( ruleJvmFormalParameter ) ) )*
+                loop140:
                 do {
-                    int alt139=2;
-                    int LA139_0 = input.LA(1);
+                    int alt140=2;
+                    int LA140_0 = input.LA(1);
 
-                    if ( (LA139_0==30) ) {
-                        alt139=1;
+                    if ( (LA140_0==31) ) {
+                        alt140=1;
                     }
 
 
-                    switch (alt139) {
+                    switch (alt140) {
                 	case 1 :
-                	    // InternalSignalDSL.g:3792:7: ',' ( ( ruleJvmFormalParameter ) )
+                	    // InternalSignalDSL.g:3836:7: ',' ( ( ruleJvmFormalParameter ) )
                 	    {
-                	    match(input,30,FOLLOW_39); if (state.failed) return ;
-                	    // InternalSignalDSL.g:3793:7: ( ( ruleJvmFormalParameter ) )
-                	    // InternalSignalDSL.g:3794:8: ( ruleJvmFormalParameter )
+                	    match(input,31,FOLLOW_41); if (state.failed) return ;
+                	    // InternalSignalDSL.g:3837:7: ( ( ruleJvmFormalParameter ) )
+                	    // InternalSignalDSL.g:3838:8: ( ruleJvmFormalParameter )
                 	    {
-                	    // InternalSignalDSL.g:3794:8: ( ruleJvmFormalParameter )
-                	    // InternalSignalDSL.g:3795:9: ruleJvmFormalParameter
+                	    // InternalSignalDSL.g:3838:8: ( ruleJvmFormalParameter )
+                	    // InternalSignalDSL.g:3839:9: ruleJvmFormalParameter
                 	    {
-                	    pushFollow(FOLLOW_59);
+                	    pushFollow(FOLLOW_61);
                 	    ruleJvmFormalParameter();
 
                 	    state._fsp--;
@@ -22232,7 +22261,7 @@
                 	    break;
 
                 	default :
-                	    break loop139;
+                	    break loop140;
                     }
                 } while (true);
 
@@ -22242,13 +22271,13 @@
 
         }
 
-        // InternalSignalDSL.g:3800:5: ( ( '|' ) )
-        // InternalSignalDSL.g:3801:6: ( '|' )
+        // InternalSignalDSL.g:3844:5: ( ( '|' ) )
+        // InternalSignalDSL.g:3845:6: ( '|' )
         {
-        // InternalSignalDSL.g:3801:6: ( '|' )
-        // InternalSignalDSL.g:3802:7: '|'
+        // InternalSignalDSL.g:3845:6: ( '|' )
+        // InternalSignalDSL.g:3846:7: '|'
         {
-        match(input,69,FOLLOW_2); if (state.failed) return ;
+        match(input,70,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -22265,10 +22294,10 @@
 
     // $ANTLR start synpred31_InternalSignalDSL
     public final void synpred31_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:4193:5: ( 'else' )
-        // InternalSignalDSL.g:4193:6: 'else'
+        // InternalSignalDSL.g:4237:5: ( 'else' )
+        // InternalSignalDSL.g:4237:6: 'else'
         {
-        match(input,71,FOLLOW_2); if (state.failed) return ;
+        match(input,72,FOLLOW_2); if (state.failed) return ;
 
         }
     }
@@ -22276,20 +22305,20 @@
 
     // $ANTLR start synpred32_InternalSignalDSL
     public final void synpred32_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:4252:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )
-        // InternalSignalDSL.g:4252:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' )
+        // InternalSignalDSL.g:4296:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )
+        // InternalSignalDSL.g:4296:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' )
         {
-        // InternalSignalDSL.g:4252:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' )
-        // InternalSignalDSL.g:4253:7: '(' ( ( ruleJvmFormalParameter ) ) ':'
+        // InternalSignalDSL.g:4296:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' )
+        // InternalSignalDSL.g:4297:7: '(' ( ( ruleJvmFormalParameter ) ) ':'
         {
-        match(input,29,FOLLOW_39); if (state.failed) return ;
-        // InternalSignalDSL.g:4254:7: ( ( ruleJvmFormalParameter ) )
-        // InternalSignalDSL.g:4255:8: ( ruleJvmFormalParameter )
+        match(input,30,FOLLOW_41); if (state.failed) return ;
+        // InternalSignalDSL.g:4298:7: ( ( ruleJvmFormalParameter ) )
+        // InternalSignalDSL.g:4299:8: ( ruleJvmFormalParameter )
         {
-        // InternalSignalDSL.g:4255:8: ( ruleJvmFormalParameter )
-        // InternalSignalDSL.g:4256:9: ruleJvmFormalParameter
+        // InternalSignalDSL.g:4299:8: ( ruleJvmFormalParameter )
+        // InternalSignalDSL.g:4300:9: ruleJvmFormalParameter
         {
-        pushFollow(FOLLOW_67);
+        pushFollow(FOLLOW_69);
         ruleJvmFormalParameter();
 
         state._fsp--;
@@ -22300,7 +22329,7 @@
 
         }
 
-        match(input,73,FOLLOW_2); if (state.failed) return ;
+        match(input,74,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -22311,19 +22340,19 @@
 
     // $ANTLR start synpred33_InternalSignalDSL
     public final void synpred33_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:4319:6: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )
-        // InternalSignalDSL.g:4319:7: ( ( ( ruleJvmFormalParameter ) ) ':' )
+        // InternalSignalDSL.g:4363:6: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )
+        // InternalSignalDSL.g:4363:7: ( ( ( ruleJvmFormalParameter ) ) ':' )
         {
-        // InternalSignalDSL.g:4319:7: ( ( ( ruleJvmFormalParameter ) ) ':' )
-        // InternalSignalDSL.g:4320:7: ( ( ruleJvmFormalParameter ) ) ':'
+        // InternalSignalDSL.g:4363:7: ( ( ( ruleJvmFormalParameter ) ) ':' )
+        // InternalSignalDSL.g:4364:7: ( ( ruleJvmFormalParameter ) ) ':'
         {
-        // InternalSignalDSL.g:4320:7: ( ( ruleJvmFormalParameter ) )
-        // InternalSignalDSL.g:4321:8: ( ruleJvmFormalParameter )
+        // InternalSignalDSL.g:4364:7: ( ( ruleJvmFormalParameter ) )
+        // InternalSignalDSL.g:4365:8: ( ruleJvmFormalParameter )
         {
-        // InternalSignalDSL.g:4321:8: ( ruleJvmFormalParameter )
-        // InternalSignalDSL.g:4322:9: ruleJvmFormalParameter
+        // InternalSignalDSL.g:4365:8: ( ruleJvmFormalParameter )
+        // InternalSignalDSL.g:4366:9: ruleJvmFormalParameter
         {
-        pushFollow(FOLLOW_67);
+        pushFollow(FOLLOW_69);
         ruleJvmFormalParameter();
 
         state._fsp--;
@@ -22334,7 +22363,7 @@
 
         }
 
-        match(input,73,FOLLOW_2); if (state.failed) return ;
+        match(input,74,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -22345,17 +22374,17 @@
 
     // $ANTLR start synpred35_InternalSignalDSL
     public final void synpred35_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:5137:5: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )
-        // InternalSignalDSL.g:5137:6: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) )
+        // InternalSignalDSL.g:5181:5: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )
+        // InternalSignalDSL.g:5181:6: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) )
         {
-        // InternalSignalDSL.g:5137:6: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) )
-        // InternalSignalDSL.g:5138:6: ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) )
+        // InternalSignalDSL.g:5181:6: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) )
+        // InternalSignalDSL.g:5182:6: ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) )
         {
-        // InternalSignalDSL.g:5138:6: ( ( ruleJvmTypeReference ) )
-        // InternalSignalDSL.g:5139:7: ( ruleJvmTypeReference )
+        // InternalSignalDSL.g:5182:6: ( ( ruleJvmTypeReference ) )
+        // InternalSignalDSL.g:5183:7: ( ruleJvmTypeReference )
         {
-        // InternalSignalDSL.g:5139:7: ( ruleJvmTypeReference )
-        // InternalSignalDSL.g:5140:8: ruleJvmTypeReference
+        // InternalSignalDSL.g:5183:7: ( ruleJvmTypeReference )
+        // InternalSignalDSL.g:5184:8: ruleJvmTypeReference
         {
         pushFollow(FOLLOW_4);
         ruleJvmTypeReference();
@@ -22368,11 +22397,11 @@
 
         }
 
-        // InternalSignalDSL.g:5143:6: ( ( ruleValidID ) )
-        // InternalSignalDSL.g:5144:7: ( ruleValidID )
+        // InternalSignalDSL.g:5187:6: ( ( ruleValidID ) )
+        // InternalSignalDSL.g:5188:7: ( ruleValidID )
         {
-        // InternalSignalDSL.g:5144:7: ( ruleValidID )
-        // InternalSignalDSL.g:5145:8: ruleValidID
+        // InternalSignalDSL.g:5188:7: ( ruleValidID )
+        // InternalSignalDSL.g:5189:8: ruleValidID
         {
         pushFollow(FOLLOW_2);
         ruleValidID();
@@ -22395,13 +22424,13 @@
 
     // $ANTLR start synpred36_InternalSignalDSL
     public final void synpred36_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:5449:5: ( ( '(' ) )
-        // InternalSignalDSL.g:5449:6: ( '(' )
+        // InternalSignalDSL.g:5493:5: ( ( '(' ) )
+        // InternalSignalDSL.g:5493:6: ( '(' )
         {
-        // InternalSignalDSL.g:5449:6: ( '(' )
-        // InternalSignalDSL.g:5450:6: '('
+        // InternalSignalDSL.g:5493:6: ( '(' )
+        // InternalSignalDSL.g:5494:6: '('
         {
-        match(input,29,FOLLOW_2); if (state.failed) return ;
+        match(input,30,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -22412,35 +22441,35 @@
 
     // $ANTLR start synpred37_InternalSignalDSL
     public final void synpred37_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:5468:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
-        // InternalSignalDSL.g:5468:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
+        // InternalSignalDSL.g:5512:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
+        // InternalSignalDSL.g:5512:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
         {
-        // InternalSignalDSL.g:5468:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
-        // InternalSignalDSL.g:5469:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
+        // InternalSignalDSL.g:5512:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
+        // InternalSignalDSL.g:5513:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
         {
-        // InternalSignalDSL.g:5469:7: ()
-        // InternalSignalDSL.g:5470:7: 
+        // InternalSignalDSL.g:5513:7: ()
+        // InternalSignalDSL.g:5514:7: 
         {
         }
 
-        // InternalSignalDSL.g:5471:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
-        int alt144=2;
-        int LA144_0 = input.LA(1);
+        // InternalSignalDSL.g:5515:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
+        int alt145=2;
+        int LA145_0 = input.LA(1);
 
-        if ( (LA144_0==RULE_ID||LA144_0==29||LA144_0==54) ) {
-            alt144=1;
+        if ( (LA145_0==RULE_ID||LA145_0==30||LA145_0==55) ) {
+            alt145=1;
         }
-        switch (alt144) {
+        switch (alt145) {
             case 1 :
-                // InternalSignalDSL.g:5472:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
+                // InternalSignalDSL.g:5516:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                 {
-                // InternalSignalDSL.g:5472:8: ( ( ruleJvmFormalParameter ) )
-                // InternalSignalDSL.g:5473:9: ( ruleJvmFormalParameter )
+                // InternalSignalDSL.g:5516:8: ( ( ruleJvmFormalParameter ) )
+                // InternalSignalDSL.g:5517:9: ( ruleJvmFormalParameter )
                 {
-                // InternalSignalDSL.g:5473:9: ( ruleJvmFormalParameter )
-                // InternalSignalDSL.g:5474:10: ruleJvmFormalParameter
+                // InternalSignalDSL.g:5517:9: ( ruleJvmFormalParameter )
+                // InternalSignalDSL.g:5518:10: ruleJvmFormalParameter
                 {
-                pushFollow(FOLLOW_59);
+                pushFollow(FOLLOW_61);
                 ruleJvmFormalParameter();
 
                 state._fsp--;
@@ -22451,29 +22480,29 @@
 
                 }
 
-                // InternalSignalDSL.g:5477:8: ( ',' ( ( ruleJvmFormalParameter ) ) )*
-                loop143:
+                // InternalSignalDSL.g:5521:8: ( ',' ( ( ruleJvmFormalParameter ) ) )*
+                loop144:
                 do {
-                    int alt143=2;
-                    int LA143_0 = input.LA(1);
+                    int alt144=2;
+                    int LA144_0 = input.LA(1);
 
-                    if ( (LA143_0==30) ) {
-                        alt143=1;
+                    if ( (LA144_0==31) ) {
+                        alt144=1;
                     }
 
 
-                    switch (alt143) {
+                    switch (alt144) {
                 	case 1 :
-                	    // InternalSignalDSL.g:5478:9: ',' ( ( ruleJvmFormalParameter ) )
+                	    // InternalSignalDSL.g:5522:9: ',' ( ( ruleJvmFormalParameter ) )
                 	    {
-                	    match(input,30,FOLLOW_39); if (state.failed) return ;
-                	    // InternalSignalDSL.g:5479:9: ( ( ruleJvmFormalParameter ) )
-                	    // InternalSignalDSL.g:5480:10: ( ruleJvmFormalParameter )
+                	    match(input,31,FOLLOW_41); if (state.failed) return ;
+                	    // InternalSignalDSL.g:5523:9: ( ( ruleJvmFormalParameter ) )
+                	    // InternalSignalDSL.g:5524:10: ( ruleJvmFormalParameter )
                 	    {
-                	    // InternalSignalDSL.g:5480:10: ( ruleJvmFormalParameter )
-                	    // InternalSignalDSL.g:5481:11: ruleJvmFormalParameter
+                	    // InternalSignalDSL.g:5524:10: ( ruleJvmFormalParameter )
+                	    // InternalSignalDSL.g:5525:11: ruleJvmFormalParameter
                 	    {
-                	    pushFollow(FOLLOW_59);
+                	    pushFollow(FOLLOW_61);
                 	    ruleJvmFormalParameter();
 
                 	    state._fsp--;
@@ -22489,7 +22518,7 @@
                 	    break;
 
                 	default :
-                	    break loop143;
+                	    break loop144;
                     }
                 } while (true);
 
@@ -22499,13 +22528,13 @@
 
         }
 
-        // InternalSignalDSL.g:5486:7: ( ( '|' ) )
-        // InternalSignalDSL.g:5487:8: ( '|' )
+        // InternalSignalDSL.g:5530:7: ( ( '|' ) )
+        // InternalSignalDSL.g:5531:8: ( '|' )
         {
-        // InternalSignalDSL.g:5487:8: ( '|' )
-        // InternalSignalDSL.g:5488:9: '|'
+        // InternalSignalDSL.g:5531:8: ( '|' )
+        // InternalSignalDSL.g:5532:9: '|'
         {
-        match(input,69,FOLLOW_2); if (state.failed) return ;
+        match(input,70,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -22522,18 +22551,18 @@
 
     // $ANTLR start synpred38_InternalSignalDSL
     public final void synpred38_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:5565:4: ( ( () '[' ) )
-        // InternalSignalDSL.g:5565:5: ( () '[' )
+        // InternalSignalDSL.g:5609:4: ( ( () '[' ) )
+        // InternalSignalDSL.g:5609:5: ( () '[' )
         {
-        // InternalSignalDSL.g:5565:5: ( () '[' )
-        // InternalSignalDSL.g:5566:5: () '['
+        // InternalSignalDSL.g:5609:5: ( () '[' )
+        // InternalSignalDSL.g:5610:5: () '['
         {
-        // InternalSignalDSL.g:5566:5: ()
-        // InternalSignalDSL.g:5567:5: 
+        // InternalSignalDSL.g:5610:5: ()
+        // InternalSignalDSL.g:5611:5: 
         {
         }
 
-        match(input,34,FOLLOW_2); if (state.failed) return ;
+        match(input,35,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -22544,10 +22573,10 @@
 
     // $ANTLR start synpred39_InternalSignalDSL
     public final void synpred39_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:5725:5: ( '<' )
-        // InternalSignalDSL.g:5725:6: '<'
+        // InternalSignalDSL.g:5769:5: ( '<' )
+        // InternalSignalDSL.g:5769:6: '<'
         {
-        match(input,41,FOLLOW_2); if (state.failed) return ;
+        match(input,42,FOLLOW_2); if (state.failed) return ;
 
         }
     }
@@ -22555,13 +22584,13 @@
 
     // $ANTLR start synpred40_InternalSignalDSL
     public final void synpred40_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:5782:5: ( ( '(' ) )
-        // InternalSignalDSL.g:5782:6: ( '(' )
+        // InternalSignalDSL.g:5826:5: ( ( '(' ) )
+        // InternalSignalDSL.g:5826:6: ( '(' )
         {
-        // InternalSignalDSL.g:5782:6: ( '(' )
-        // InternalSignalDSL.g:5783:6: '('
+        // InternalSignalDSL.g:5826:6: ( '(' )
+        // InternalSignalDSL.g:5827:6: '('
         {
-        match(input,29,FOLLOW_2); if (state.failed) return ;
+        match(input,30,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -22572,35 +22601,35 @@
 
     // $ANTLR start synpred41_InternalSignalDSL
     public final void synpred41_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:5801:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
-        // InternalSignalDSL.g:5801:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
+        // InternalSignalDSL.g:5845:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
+        // InternalSignalDSL.g:5845:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
         {
-        // InternalSignalDSL.g:5801:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
-        // InternalSignalDSL.g:5802:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
+        // InternalSignalDSL.g:5845:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
+        // InternalSignalDSL.g:5846:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
         {
-        // InternalSignalDSL.g:5802:7: ()
-        // InternalSignalDSL.g:5803:7: 
+        // InternalSignalDSL.g:5846:7: ()
+        // InternalSignalDSL.g:5847:7: 
         {
         }
 
-        // InternalSignalDSL.g:5804:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
-        int alt146=2;
-        int LA146_0 = input.LA(1);
+        // InternalSignalDSL.g:5848:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
+        int alt147=2;
+        int LA147_0 = input.LA(1);
 
-        if ( (LA146_0==RULE_ID||LA146_0==29||LA146_0==54) ) {
-            alt146=1;
+        if ( (LA147_0==RULE_ID||LA147_0==30||LA147_0==55) ) {
+            alt147=1;
         }
-        switch (alt146) {
+        switch (alt147) {
             case 1 :
-                // InternalSignalDSL.g:5805:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
+                // InternalSignalDSL.g:5849:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                 {
-                // InternalSignalDSL.g:5805:8: ( ( ruleJvmFormalParameter ) )
-                // InternalSignalDSL.g:5806:9: ( ruleJvmFormalParameter )
+                // InternalSignalDSL.g:5849:8: ( ( ruleJvmFormalParameter ) )
+                // InternalSignalDSL.g:5850:9: ( ruleJvmFormalParameter )
                 {
-                // InternalSignalDSL.g:5806:9: ( ruleJvmFormalParameter )
-                // InternalSignalDSL.g:5807:10: ruleJvmFormalParameter
+                // InternalSignalDSL.g:5850:9: ( ruleJvmFormalParameter )
+                // InternalSignalDSL.g:5851:10: ruleJvmFormalParameter
                 {
-                pushFollow(FOLLOW_59);
+                pushFollow(FOLLOW_61);
                 ruleJvmFormalParameter();
 
                 state._fsp--;
@@ -22611,29 +22640,29 @@
 
                 }
 
-                // InternalSignalDSL.g:5810:8: ( ',' ( ( ruleJvmFormalParameter ) ) )*
-                loop145:
+                // InternalSignalDSL.g:5854:8: ( ',' ( ( ruleJvmFormalParameter ) ) )*
+                loop146:
                 do {
-                    int alt145=2;
-                    int LA145_0 = input.LA(1);
+                    int alt146=2;
+                    int LA146_0 = input.LA(1);
 
-                    if ( (LA145_0==30) ) {
-                        alt145=1;
+                    if ( (LA146_0==31) ) {
+                        alt146=1;
                     }
 
 
-                    switch (alt145) {
+                    switch (alt146) {
                 	case 1 :
-                	    // InternalSignalDSL.g:5811:9: ',' ( ( ruleJvmFormalParameter ) )
+                	    // InternalSignalDSL.g:5855:9: ',' ( ( ruleJvmFormalParameter ) )
                 	    {
-                	    match(input,30,FOLLOW_39); if (state.failed) return ;
-                	    // InternalSignalDSL.g:5812:9: ( ( ruleJvmFormalParameter ) )
-                	    // InternalSignalDSL.g:5813:10: ( ruleJvmFormalParameter )
+                	    match(input,31,FOLLOW_41); if (state.failed) return ;
+                	    // InternalSignalDSL.g:5856:9: ( ( ruleJvmFormalParameter ) )
+                	    // InternalSignalDSL.g:5857:10: ( ruleJvmFormalParameter )
                 	    {
-                	    // InternalSignalDSL.g:5813:10: ( ruleJvmFormalParameter )
-                	    // InternalSignalDSL.g:5814:11: ruleJvmFormalParameter
+                	    // InternalSignalDSL.g:5857:10: ( ruleJvmFormalParameter )
+                	    // InternalSignalDSL.g:5858:11: ruleJvmFormalParameter
                 	    {
-                	    pushFollow(FOLLOW_59);
+                	    pushFollow(FOLLOW_61);
                 	    ruleJvmFormalParameter();
 
                 	    state._fsp--;
@@ -22649,7 +22678,7 @@
                 	    break;
 
                 	default :
-                	    break loop145;
+                	    break loop146;
                     }
                 } while (true);
 
@@ -22659,13 +22688,13 @@
 
         }
 
-        // InternalSignalDSL.g:5819:7: ( ( '|' ) )
-        // InternalSignalDSL.g:5820:8: ( '|' )
+        // InternalSignalDSL.g:5863:7: ( ( '|' ) )
+        // InternalSignalDSL.g:5864:8: ( '|' )
         {
-        // InternalSignalDSL.g:5820:8: ( '|' )
-        // InternalSignalDSL.g:5821:9: '|'
+        // InternalSignalDSL.g:5864:8: ( '|' )
+        // InternalSignalDSL.g:5865:9: '|'
         {
-        match(input,69,FOLLOW_2); if (state.failed) return ;
+        match(input,70,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -22682,18 +22711,18 @@
 
     // $ANTLR start synpred42_InternalSignalDSL
     public final void synpred42_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:5898:4: ( ( () '[' ) )
-        // InternalSignalDSL.g:5898:5: ( () '[' )
+        // InternalSignalDSL.g:5942:4: ( ( () '[' ) )
+        // InternalSignalDSL.g:5942:5: ( () '[' )
         {
-        // InternalSignalDSL.g:5898:5: ( () '[' )
-        // InternalSignalDSL.g:5899:5: () '['
+        // InternalSignalDSL.g:5942:5: ( () '[' )
+        // InternalSignalDSL.g:5943:5: () '['
         {
-        // InternalSignalDSL.g:5899:5: ()
-        // InternalSignalDSL.g:5900:5: 
+        // InternalSignalDSL.g:5943:5: ()
+        // InternalSignalDSL.g:5944:5: 
         {
         }
 
-        match(input,34,FOLLOW_2); if (state.failed) return ;
+        match(input,35,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -22704,10 +22733,10 @@
 
     // $ANTLR start synpred43_InternalSignalDSL
     public final void synpred43_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:6241:4: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )
+        // InternalSignalDSL.g:6285:4: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )
         // InternalSignalDSL.g:
         {
-        if ( (input.LA(1)>=RULE_ID && input.LA(1)<=RULE_DECIMAL)||input.LA(1)==14||input.LA(1)==18||(input.LA(1)>=22 && input.LA(1)<=24)||input.LA(1)==29||(input.LA(1)>=33 && input.LA(1)<=34)||input.LA(1)==41||(input.LA(1)>=57 && input.LA(1)<=58)||input.LA(1)==62||input.LA(1)==70||input.LA(1)==72||(input.LA(1)>=76 && input.LA(1)<=77)||(input.LA(1)>=80 && input.LA(1)<=89)||input.LA(1)==91 ) {
+        if ( (input.LA(1)>=RULE_STRING && input.LA(1)<=RULE_DECIMAL)||input.LA(1)==14||input.LA(1)==18||(input.LA(1)>=23 && input.LA(1)<=25)||input.LA(1)==30||(input.LA(1)>=34 && input.LA(1)<=35)||input.LA(1)==42||(input.LA(1)>=58 && input.LA(1)<=59)||input.LA(1)==63||input.LA(1)==71||input.LA(1)==73||(input.LA(1)>=77 && input.LA(1)<=78)||(input.LA(1)>=81 && input.LA(1)<=90)||input.LA(1)==92 ) {
             input.consume();
             state.errorRecovery=false;state.failed=false;
         }
@@ -22724,10 +22753,10 @@
 
     // $ANTLR start synpred44_InternalSignalDSL
     public final void synpred44_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:6312:6: ( 'catch' )
-        // InternalSignalDSL.g:6312:7: 'catch'
+        // InternalSignalDSL.g:6356:6: ( 'catch' )
+        // InternalSignalDSL.g:6356:7: 'catch'
         {
-        match(input,92,FOLLOW_2); if (state.failed) return ;
+        match(input,93,FOLLOW_2); if (state.failed) return ;
 
         }
     }
@@ -22735,10 +22764,10 @@
 
     // $ANTLR start synpred45_InternalSignalDSL
     public final void synpred45_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:6333:7: ( 'finally' )
-        // InternalSignalDSL.g:6333:8: 'finally'
+        // InternalSignalDSL.g:6377:7: ( 'finally' )
+        // InternalSignalDSL.g:6377:8: 'finally'
         {
-        match(input,90,FOLLOW_2); if (state.failed) return ;
+        match(input,91,FOLLOW_2); if (state.failed) return ;
 
         }
     }
@@ -22746,10 +22775,10 @@
 
     // $ANTLR start synpred48_InternalSignalDSL
     public final void synpred48_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:6577:5: ( '.' )
-        // InternalSignalDSL.g:6577:6: '.'
+        // InternalSignalDSL.g:6621:5: ( '.' )
+        // InternalSignalDSL.g:6621:6: '.'
         {
-        match(input,66,FOLLOW_2); if (state.failed) return ;
+        match(input,67,FOLLOW_2); if (state.failed) return ;
 
         }
     }
@@ -22757,14 +22786,14 @@
 
     // $ANTLR start synpred49_InternalSignalDSL
     public final void synpred49_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:6703:5: ( ( () ruleArrayBrackets ) )
-        // InternalSignalDSL.g:6703:6: ( () ruleArrayBrackets )
+        // InternalSignalDSL.g:6747:5: ( ( () ruleArrayBrackets ) )
+        // InternalSignalDSL.g:6747:6: ( () ruleArrayBrackets )
         {
-        // InternalSignalDSL.g:6703:6: ( () ruleArrayBrackets )
-        // InternalSignalDSL.g:6704:6: () ruleArrayBrackets
+        // InternalSignalDSL.g:6747:6: ( () ruleArrayBrackets )
+        // InternalSignalDSL.g:6748:6: () ruleArrayBrackets
         {
-        // InternalSignalDSL.g:6704:6: ()
-        // InternalSignalDSL.g:6705:6: 
+        // InternalSignalDSL.g:6748:6: ()
+        // InternalSignalDSL.g:6749:6: 
         {
         }
 
@@ -22783,10 +22812,10 @@
 
     // $ANTLR start synpred50_InternalSignalDSL
     public final void synpred50_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:6900:5: ( '<' )
-        // InternalSignalDSL.g:6900:6: '<'
+        // InternalSignalDSL.g:6944:5: ( '<' )
+        // InternalSignalDSL.g:6944:6: '<'
         {
-        match(input,41,FOLLOW_2); if (state.failed) return ;
+        match(input,42,FOLLOW_2); if (state.failed) return ;
 
         }
     }
@@ -22794,18 +22823,18 @@
 
     // $ANTLR start synpred51_InternalSignalDSL
     public final void synpred51_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:6956:6: ( ( () '.' ) )
-        // InternalSignalDSL.g:6956:7: ( () '.' )
+        // InternalSignalDSL.g:7000:6: ( ( () '.' ) )
+        // InternalSignalDSL.g:7000:7: ( () '.' )
         {
-        // InternalSignalDSL.g:6956:7: ( () '.' )
-        // InternalSignalDSL.g:6957:7: () '.'
+        // InternalSignalDSL.g:7000:7: ( () '.' )
+        // InternalSignalDSL.g:7001:7: () '.'
         {
-        // InternalSignalDSL.g:6957:7: ()
-        // InternalSignalDSL.g:6958:7: 
+        // InternalSignalDSL.g:7001:7: ()
+        // InternalSignalDSL.g:7002:7: 
         {
         }
 
-        match(input,66,FOLLOW_2); if (state.failed) return ;
+        match(input,67,FOLLOW_2); if (state.failed) return ;
 
         }
 
@@ -22816,10 +22845,10 @@
 
     // $ANTLR start synpred52_InternalSignalDSL
     public final void synpred52_InternalSignalDSL_fragment() throws RecognitionException {   
-        // InternalSignalDSL.g:6994:7: ( '<' )
-        // InternalSignalDSL.g:6994:8: '<'
+        // InternalSignalDSL.g:7038:7: ( '<' )
+        // InternalSignalDSL.g:7038:8: '<'
         {
-        match(input,41,FOLLOW_2); if (state.failed) return ;
+        match(input,42,FOLLOW_2); if (state.failed) return ;
 
         }
     }
@@ -23459,45 +23488,45 @@
     }
 
 
-    protected DFA10 dfa10 = new DFA10(this);
-    protected DFA13 dfa13 = new DFA13(this);
-    protected DFA19 dfa19 = new DFA19(this);
-    protected DFA22 dfa22 = new DFA22(this);
-    protected DFA24 dfa24 = new DFA24(this);
-    protected DFA34 dfa34 = new DFA34(this);
-    protected DFA37 dfa37 = new DFA37(this);
-    protected DFA53 dfa53 = new DFA53(this);
-    protected DFA52 dfa52 = new DFA52(this);
+    protected DFA11 dfa11 = new DFA11(this);
+    protected DFA14 dfa14 = new DFA14(this);
+    protected DFA20 dfa20 = new DFA20(this);
+    protected DFA23 dfa23 = new DFA23(this);
+    protected DFA25 dfa25 = new DFA25(this);
+    protected DFA35 dfa35 = new DFA35(this);
+    protected DFA38 dfa38 = new DFA38(this);
     protected DFA54 dfa54 = new DFA54(this);
-    protected DFA56 dfa56 = new DFA56(this);
-    protected DFA65 dfa65 = new DFA65(this);
+    protected DFA53 dfa53 = new DFA53(this);
+    protected DFA55 dfa55 = new DFA55(this);
+    protected DFA57 dfa57 = new DFA57(this);
+    protected DFA66 dfa66 = new DFA66(this);
+    protected DFA73 dfa73 = new DFA73(this);
     protected DFA72 dfa72 = new DFA72(this);
-    protected DFA71 dfa71 = new DFA71(this);
-    protected DFA94 dfa94 = new DFA94(this);
-    protected DFA93 dfa93 = new DFA93(this);
     protected DFA95 dfa95 = new DFA95(this);
-    protected DFA99 dfa99 = new DFA99(this);
-    protected DFA102 dfa102 = new DFA102(this);
-    protected DFA101 dfa101 = new DFA101(this);
+    protected DFA94 dfa94 = new DFA94(this);
+    protected DFA96 dfa96 = new DFA96(this);
+    protected DFA100 dfa100 = new DFA100(this);
     protected DFA103 dfa103 = new DFA103(this);
-    protected DFA106 dfa106 = new DFA106(this);
-    protected DFA124 dfa124 = new DFA124(this);
-    protected DFA122 dfa122 = new DFA122(this);
+    protected DFA102 dfa102 = new DFA102(this);
+    protected DFA104 dfa104 = new DFA104(this);
+    protected DFA107 dfa107 = new DFA107(this);
+    protected DFA125 dfa125 = new DFA125(this);
+    protected DFA123 dfa123 = new DFA123(this);
     static final String dfa_1s = "\10\uffff";
     static final String dfa_2s = "\2\uffff\1\5\4\uffff\1\5";
-    static final String dfa_3s = "\1\4\1\uffff\1\15\1\uffff\1\4\2\uffff\1\15";
-    static final String dfa_4s = "\1\32\1\uffff\1\102\1\uffff\1\31\2\uffff\1\102";
+    static final String dfa_3s = "\1\5\1\uffff\1\15\1\uffff\1\5\2\uffff\1\15";
+    static final String dfa_4s = "\1\33\1\uffff\1\103\1\uffff\1\32\2\uffff\1\103";
     static final String dfa_5s = "\1\uffff\1\1\1\uffff\1\4\1\uffff\1\2\1\3\1\uffff";
     static final String dfa_6s = "\10\uffff}>";
     static final String[] dfa_7s = {
             "\1\2\22\uffff\1\1\2\uffff\1\3",
             "",
-            "\1\5\10\uffff\1\5\4\uffff\1\5\46\uffff\1\4",
+            "\1\5\11\uffff\1\5\4\uffff\1\5\46\uffff\1\4",
             "",
             "\1\7\24\uffff\1\6",
             "",
             "",
-            "\1\5\10\uffff\1\5\4\uffff\1\5\46\uffff\1\4"
+            "\1\5\11\uffff\1\5\4\uffff\1\5\46\uffff\1\4"
     };
 
     static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
@@ -23508,11 +23537,11 @@
     static final short[] dfa_6 = DFA.unpackEncodedString(dfa_6s);
     static final short[][] dfa_7 = unpackEncodedStringArray(dfa_7s);
 
-    class DFA10 extends DFA {
+    class DFA11 extends DFA {
 
-        public DFA10(BaseRecognizer recognizer) {
+        public DFA11(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 10;
+            this.decisionNumber = 11;
             this.eot = dfa_1;
             this.eof = dfa_2;
             this.min = dfa_3;
@@ -23522,16 +23551,16 @@
             this.transition = dfa_7;
         }
         public String getDescription() {
-            return "670:3: ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) )";
+            return "714:3: ( ( ( (lv_static_2_0= 'static' ) ) ( (lv_extension_3_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_5_0= '*' ) ) | ( (lv_memberName_6_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_8_0= ruleQualifiedNameWithWildcard ) ) | ( ( (lv_fqnImport_9_0= 'ns' ) ) ( (lv_importedFullyQualifiedName_10_0= ruleQualifiedName ) ) ) )";
         }
     }
     static final String dfa_8s = "\44\uffff";
     static final String dfa_9s = "\1\4\1\0\42\uffff";
-    static final String dfa_10s = "\1\133\1\0\42\uffff";
+    static final String dfa_10s = "\1\134\1\0\42\uffff";
     static final String dfa_11s = "\2\uffff\1\2\37\uffff\1\3\1\1";
     static final String dfa_12s = "\1\uffff\1\0\42\uffff}>";
     static final String[] dfa_13s = {
-            "\1\1\4\2\5\uffff\1\2\3\uffff\1\2\3\uffff\3\2\3\uffff\2\2\1\uffff\1\42\1\uffff\2\2\6\uffff\1\2\17\uffff\2\2\3\uffff\1\2\7\uffff\1\2\1\uffff\1\2\3\uffff\2\2\2\uffff\12\2\1\uffff\1\2",
+            "\1\2\1\1\3\2\5\uffff\1\2\3\uffff\1\2\4\uffff\3\2\3\uffff\2\2\1\uffff\1\42\1\uffff\2\2\6\uffff\1\2\17\uffff\2\2\3\uffff\1\2\7\uffff\1\2\1\uffff\1\2\3\uffff\2\2\2\uffff\12\2\1\uffff\1\2",
             "\1\uffff",
             "",
             "",
@@ -23576,11 +23605,11 @@
     static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s);
     static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s);
 
-    class DFA13 extends DFA {
+    class DFA14 extends DFA {
 
-        public DFA13(BaseRecognizer recognizer) {
+        public DFA14(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 13;
+            this.decisionNumber = 14;
             this.eot = dfa_8;
             this.eof = dfa_8;
             this.min = dfa_9;
@@ -23590,17 +23619,17 @@
             this.transition = dfa_13;
         }
         public String getDescription() {
-            return "887:4: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )?";
+            return "931:4: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA13_1 = input.LA(1);
+                        int LA14_1 = input.LA(1);
 
                          
-                        int index13_1 = input.index();
+                        int index14_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred2_InternalSignalDSL()) ) {s = 35;}
@@ -23608,24 +23637,24 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index13_1);
+                        input.seek(index14_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 13, _s, input);
+                new NoViableAltException(getDescription(), 14, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_14s = "\43\uffff";
     static final String dfa_15s = "\1\4\1\0\41\uffff";
-    static final String dfa_16s = "\1\133\1\0\41\uffff";
+    static final String dfa_16s = "\1\134\1\0\41\uffff";
     static final String dfa_17s = "\2\uffff\1\2\37\uffff\1\1";
     static final String dfa_18s = "\1\uffff\1\0\41\uffff}>";
     static final String[] dfa_19s = {
-            "\5\2\5\uffff\1\2\3\uffff\1\2\3\uffff\3\2\3\uffff\2\2\3\uffff\1\1\1\2\6\uffff\1\2\17\uffff\2\2\3\uffff\1\2\7\uffff\1\2\1\uffff\1\2\3\uffff\2\2\2\uffff\12\2\1\uffff\1\2",
+            "\5\2\5\uffff\1\2\3\uffff\1\2\4\uffff\3\2\3\uffff\2\2\3\uffff\1\1\1\2\6\uffff\1\2\17\uffff\2\2\3\uffff\1\2\7\uffff\1\2\1\uffff\1\2\3\uffff\2\2\2\uffff\12\2\1\uffff\1\2",
             "\1\uffff",
             "",
             "",
@@ -23669,11 +23698,11 @@
     static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s);
     static final short[][] dfa_19 = unpackEncodedStringArray(dfa_19s);
 
-    class DFA19 extends DFA {
+    class DFA20 extends DFA {
 
-        public DFA19(BaseRecognizer recognizer) {
+        public DFA20(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 19;
+            this.decisionNumber = 20;
             this.eot = dfa_14;
             this.eof = dfa_14;
             this.min = dfa_15;
@@ -23683,17 +23712,17 @@
             this.transition = dfa_19;
         }
         public String getDescription() {
-            return "1067:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )";
+            return "1111:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA19_1 = input.LA(1);
+                        int LA20_1 = input.LA(1);
 
                          
-                        int index19_1 = input.index();
+                        int index20_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred5_InternalSignalDSL()) ) {s = 34;}
@@ -23701,23 +23730,23 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index19_1);
+                        input.seek(index20_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 19, _s, input);
+                new NoViableAltException(getDescription(), 20, _s, input);
             error(nvae);
             throw nvae;
         }
     }
 
-    class DFA22 extends DFA {
+    class DFA23 extends DFA {
 
-        public DFA22(BaseRecognizer recognizer) {
+        public DFA23(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 22;
+            this.decisionNumber = 23;
             this.eot = dfa_14;
             this.eof = dfa_14;
             this.min = dfa_15;
@@ -23727,17 +23756,17 @@
             this.transition = dfa_19;
         }
         public String getDescription() {
-            return "1209:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )";
+            return "1253:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA22_1 = input.LA(1);
+                        int LA23_1 = input.LA(1);
 
                          
-                        int index22_1 = input.index();
+                        int index23_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred6_InternalSignalDSL()) ) {s = 34;}
@@ -23745,13 +23774,13 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index22_1);
+                        input.seek(index23_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 22, _s, input);
+                new NoViableAltException(getDescription(), 23, _s, input);
             error(nvae);
             throw nvae;
         }
@@ -23759,11 +23788,11 @@
     static final String dfa_20s = "\12\uffff";
     static final String dfa_21s = "\1\10\11\uffff";
     static final String dfa_22s = "\1\4\7\0\2\uffff";
-    static final String dfa_23s = "\1\134\7\0\2\uffff";
+    static final String dfa_23s = "\1\135\7\0\2\uffff";
     static final String dfa_24s = "\10\uffff\1\2\1\1";
-    static final String dfa_25s = "\1\uffff\1\2\1\3\1\4\1\5\1\6\1\1\1\0\2\uffff}>";
+    static final String dfa_25s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\2\uffff}>";
     static final String[] dfa_26s = {
-            "\5\10\5\uffff\2\10\2\uffff\1\10\3\uffff\4\10\1\uffff\1\10\1\uffff\3\10\1\uffff\3\10\1\1\1\2\1\3\1\4\1\5\1\6\1\7\32\10\1\uffff\27\10",
+            "\5\10\5\uffff\2\10\2\uffff\1\10\4\uffff\4\10\1\uffff\1\10\1\uffff\3\10\1\uffff\3\10\1\1\1\2\1\3\1\4\1\5\1\6\1\7\32\10\1\uffff\27\10",
             "\1\uffff",
             "\1\uffff",
             "\1\uffff",
@@ -23783,11 +23812,11 @@
     static final short[] dfa_25 = DFA.unpackEncodedString(dfa_25s);
     static final short[][] dfa_26 = unpackEncodedStringArray(dfa_26s);
 
-    class DFA24 extends DFA {
+    class DFA25 extends DFA {
 
-        public DFA24(BaseRecognizer recognizer) {
+        public DFA25(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 24;
+            this.decisionNumber = 25;
             this.eot = dfa_20;
             this.eof = dfa_21;
             this.min = dfa_22;
@@ -23797,17 +23826,17 @@
             this.transition = dfa_26;
         }
         public String getDescription() {
-            return "1438:4: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?";
+            return "1482:4: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA24_7 = input.LA(1);
+                        int LA25_1 = input.LA(1);
 
                          
-                        int index24_7 = input.index();
+                        int index25_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred7_InternalSignalDSL()) ) {s = 9;}
@@ -23815,14 +23844,14 @@
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index24_7);
+                        input.seek(index25_1);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA24_6 = input.LA(1);
+                        int LA25_2 = input.LA(1);
 
                          
-                        int index24_6 = input.index();
+                        int index25_2 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred7_InternalSignalDSL()) ) {s = 9;}
@@ -23830,14 +23859,14 @@
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index24_6);
+                        input.seek(index25_2);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA24_1 = input.LA(1);
+                        int LA25_3 = input.LA(1);
 
                          
-                        int index24_1 = input.index();
+                        int index25_3 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred7_InternalSignalDSL()) ) {s = 9;}
@@ -23845,14 +23874,14 @@
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index24_1);
+                        input.seek(index25_3);
                         if ( s>=0 ) return s;
                         break;
                     case 3 : 
-                        int LA24_2 = input.LA(1);
+                        int LA25_4 = input.LA(1);
 
                          
-                        int index24_2 = input.index();
+                        int index25_4 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred7_InternalSignalDSL()) ) {s = 9;}
@@ -23860,14 +23889,14 @@
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index24_2);
+                        input.seek(index25_4);
                         if ( s>=0 ) return s;
                         break;
                     case 4 : 
-                        int LA24_3 = input.LA(1);
+                        int LA25_5 = input.LA(1);
 
                          
-                        int index24_3 = input.index();
+                        int index25_5 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred7_InternalSignalDSL()) ) {s = 9;}
@@ -23875,14 +23904,14 @@
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index24_3);
+                        input.seek(index25_5);
                         if ( s>=0 ) return s;
                         break;
                     case 5 : 
-                        int LA24_4 = input.LA(1);
+                        int LA25_6 = input.LA(1);
 
                          
-                        int index24_4 = input.index();
+                        int index25_6 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred7_InternalSignalDSL()) ) {s = 9;}
@@ -23890,14 +23919,14 @@
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index24_4);
+                        input.seek(index25_6);
                         if ( s>=0 ) return s;
                         break;
                     case 6 : 
-                        int LA24_5 = input.LA(1);
+                        int LA25_7 = input.LA(1);
 
                          
-                        int index24_5 = input.index();
+                        int index25_7 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred7_InternalSignalDSL()) ) {s = 9;}
@@ -23905,13 +23934,13 @@
                         else if ( (true) ) {s = 8;}
 
                          
-                        input.seek(index24_5);
+                        input.seek(index25_7);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 24, _s, input);
+                new NoViableAltException(getDescription(), 25, _s, input);
             error(nvae);
             throw nvae;
         }
@@ -23919,11 +23948,11 @@
     static final String dfa_27s = "\13\uffff";
     static final String dfa_28s = "\1\1\12\uffff";
     static final String dfa_29s = "\1\4\1\uffff\10\0\1\uffff";
-    static final String dfa_30s = "\1\134\1\uffff\10\0\1\uffff";
+    static final String dfa_30s = "\1\135\1\uffff\10\0\1\uffff";
     static final String dfa_31s = "\1\uffff\1\2\10\uffff\1\1";
-    static final String dfa_32s = "\2\uffff\1\4\1\7\1\2\1\3\1\0\1\1\1\5\1\6\1\uffff}>";
+    static final String dfa_32s = "\2\uffff\1\5\1\2\1\6\1\7\1\4\1\3\1\0\1\1\1\uffff}>";
     static final String[] dfa_33s = {
-            "\5\1\5\uffff\2\1\2\uffff\1\1\3\uffff\4\1\1\uffff\1\1\1\uffff\3\1\1\uffff\10\1\1\2\1\3\10\1\1\4\1\5\1\6\1\7\1\10\1\11\14\1\1\uffff\27\1",
+            "\5\1\5\uffff\2\1\2\uffff\1\1\4\uffff\4\1\1\uffff\1\1\1\uffff\3\1\1\uffff\10\1\1\2\1\3\10\1\1\4\1\5\1\6\1\7\1\10\1\11\14\1\1\uffff\27\1",
             "",
             "\1\uffff",
             "\1\uffff",
@@ -23944,11 +23973,11 @@
     static final short[] dfa_32 = DFA.unpackEncodedString(dfa_32s);
     static final short[][] dfa_33 = unpackEncodedStringArray(dfa_33s);
 
-    class DFA34 extends DFA {
+    class DFA35 extends DFA {
 
-        public DFA34(BaseRecognizer recognizer) {
+        public DFA35(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 34;
+            this.decisionNumber = 35;
             this.eot = dfa_27;
             this.eof = dfa_28;
             this.min = dfa_29;
@@ -23958,17 +23987,17 @@
             this.transition = dfa_33;
         }
         public String getDescription() {
-            return "()* loopback of 2152:3: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*";
+            return "()* loopback of 2196:3: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA34_6 = input.LA(1);
+                        int LA35_8 = input.LA(1);
 
                          
-                        int index34_6 = input.index();
+                        int index35_8 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred13_InternalSignalDSL()) ) {s = 10;}
@@ -23976,14 +24005,14 @@
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index34_6);
+                        input.seek(index35_8);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA34_7 = input.LA(1);
+                        int LA35_9 = input.LA(1);
 
                          
-                        int index34_7 = input.index();
+                        int index35_9 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred13_InternalSignalDSL()) ) {s = 10;}
@@ -23991,14 +24020,14 @@
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index34_7);
+                        input.seek(index35_9);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA34_4 = input.LA(1);
+                        int LA35_3 = input.LA(1);
 
                          
-                        int index34_4 = input.index();
+                        int index35_3 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred13_InternalSignalDSL()) ) {s = 10;}
@@ -24006,14 +24035,14 @@
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index34_4);
+                        input.seek(index35_3);
                         if ( s>=0 ) return s;
                         break;
                     case 3 : 
-                        int LA34_5 = input.LA(1);
+                        int LA35_7 = input.LA(1);
 
                          
-                        int index34_5 = input.index();
+                        int index35_7 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred13_InternalSignalDSL()) ) {s = 10;}
@@ -24021,14 +24050,14 @@
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index34_5);
+                        input.seek(index35_7);
                         if ( s>=0 ) return s;
                         break;
                     case 4 : 
-                        int LA34_2 = input.LA(1);
+                        int LA35_6 = input.LA(1);
 
                          
-                        int index34_2 = input.index();
+                        int index35_6 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred13_InternalSignalDSL()) ) {s = 10;}
@@ -24036,14 +24065,14 @@
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index34_2);
+                        input.seek(index35_6);
                         if ( s>=0 ) return s;
                         break;
                     case 5 : 
-                        int LA34_8 = input.LA(1);
+                        int LA35_2 = input.LA(1);
 
                          
-                        int index34_8 = input.index();
+                        int index35_2 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred13_InternalSignalDSL()) ) {s = 10;}
@@ -24051,14 +24080,14 @@
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index34_8);
+                        input.seek(index35_2);
                         if ( s>=0 ) return s;
                         break;
                     case 6 : 
-                        int LA34_9 = input.LA(1);
+                        int LA35_4 = input.LA(1);
 
                          
-                        int index34_9 = input.index();
+                        int index35_4 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred13_InternalSignalDSL()) ) {s = 10;}
@@ -24066,14 +24095,14 @@
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index34_9);
+                        input.seek(index35_4);
                         if ( s>=0 ) return s;
                         break;
                     case 7 : 
-                        int LA34_3 = input.LA(1);
+                        int LA35_5 = input.LA(1);
 
                          
-                        int index34_3 = input.index();
+                        int index35_5 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred13_InternalSignalDSL()) ) {s = 10;}
@@ -24081,19 +24110,19 @@
                         else if ( (true) ) {s = 1;}
 
                          
-                        input.seek(index34_3);
+                        input.seek(index35_5);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 34, _s, input);
+                new NoViableAltException(getDescription(), 35, _s, input);
             error(nvae);
             throw nvae;
         }
     }
-    static final String dfa_34s = "\1\51\2\uffff\1\52\7\uffff";
-    static final String dfa_35s = "\1\70\2\uffff\1\65\7\uffff";
+    static final String dfa_34s = "\1\52\2\uffff\1\53\7\uffff";
+    static final String dfa_35s = "\1\71\2\uffff\1\66\7\uffff";
     static final String dfa_36s = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\6\1\3";
     static final String dfa_37s = "\13\uffff}>";
     static final String[] dfa_38s = {
@@ -24115,11 +24144,11 @@
     static final short[] dfa_37 = DFA.unpackEncodedString(dfa_37s);
     static final short[][] dfa_38 = unpackEncodedStringArray(dfa_38s);
 
-    class DFA37 extends DFA {
+    class DFA38 extends DFA {
 
-        public DFA37(BaseRecognizer recognizer) {
+        public DFA38(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 37;
+            this.decisionNumber = 38;
             this.eot = dfa_27;
             this.eof = dfa_27;
             this.min = dfa_34;
@@ -24129,17 +24158,17 @@
             this.transition = dfa_38;
         }
         public String getDescription() {
-            return "2228:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )";
+            return "2272:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )";
         }
     }
     static final String dfa_39s = "\116\uffff";
     static final String dfa_40s = "\1\2\115\uffff";
     static final String dfa_41s = "\1\4\1\0\114\uffff";
-    static final String dfa_42s = "\1\134\1\0\114\uffff";
+    static final String dfa_42s = "\1\135\1\0\114\uffff";
     static final String dfa_43s = "\2\uffff\1\2\112\uffff\1\1";
     static final String dfa_44s = "\1\uffff\1\0\114\uffff}>";
     static final String[] dfa_45s = {
-            "\5\2\5\uffff\2\2\2\uffff\1\2\3\uffff\4\2\1\uffff\1\2\1\uffff\1\1\2\2\1\uffff\44\2\1\uffff\27\2",
+            "\5\2\5\uffff\2\2\2\uffff\1\2\4\uffff\4\2\1\uffff\1\2\1\uffff\1\1\2\2\1\uffff\44\2\1\uffff\27\2",
             "\1\uffff",
             "",
             "",
@@ -24227,11 +24256,11 @@
     static final short[] dfa_44 = DFA.unpackEncodedString(dfa_44s);
     static final short[][] dfa_45 = unpackEncodedStringArray(dfa_45s);
 
-    class DFA53 extends DFA {
+    class DFA54 extends DFA {
 
-        public DFA53(BaseRecognizer recognizer) {
+        public DFA54(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 53;
+            this.decisionNumber = 54;
             this.eot = dfa_39;
             this.eof = dfa_40;
             this.min = dfa_41;
@@ -24241,17 +24270,17 @@
             this.transition = dfa_45;
         }
         public String getDescription() {
-            return "3129:5: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?";
+            return "3173:5: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA53_1 = input.LA(1);
+                        int LA54_1 = input.LA(1);
 
                          
-                        int index53_1 = input.index();
+                        int index54_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred22_InternalSignalDSL()) ) {s = 77;}
@@ -24259,23 +24288,23 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index53_1);
+                        input.seek(index54_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 53, _s, input);
+                new NoViableAltException(getDescription(), 54, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_46s = "\1\4\2\0\41\uffff";
-    static final String dfa_47s = "\1\133\2\0\41\uffff";
+    static final String dfa_47s = "\1\134\2\0\41\uffff";
     static final String dfa_48s = "\3\uffff\2\1\1\2\35\uffff\1\3";
     static final String dfa_49s = "\1\0\1\1\1\2\41\uffff}>";
     static final String[] dfa_50s = {
-            "\1\1\4\5\5\uffff\1\5\3\uffff\1\5\3\uffff\3\5\4\uffff\1\2\1\uffff\1\43\1\uffff\2\5\6\uffff\1\5\14\uffff\1\3\2\uffff\2\5\3\uffff\1\5\6\uffff\1\4\1\5\1\uffff\1\5\3\uffff\2\5\2\uffff\12\5\1\uffff\1\5",
+            "\1\5\1\1\3\5\5\uffff\1\5\3\uffff\1\5\4\uffff\3\5\4\uffff\1\2\1\uffff\1\43\1\uffff\2\5\6\uffff\1\5\14\uffff\1\3\2\uffff\2\5\3\uffff\1\5\6\uffff\1\4\1\5\1\uffff\1\5\3\uffff\2\5\2\uffff\12\5\1\uffff\1\5",
             "\1\uffff",
             "\1\uffff",
             "",
@@ -24318,11 +24347,11 @@
     static final short[] dfa_49 = DFA.unpackEncodedString(dfa_49s);
     static final short[][] dfa_50 = unpackEncodedStringArray(dfa_50s);
 
-    class DFA52 extends DFA {
+    class DFA53 extends DFA {
 
-        public DFA52(BaseRecognizer recognizer) {
+        public DFA53(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 52;
+            this.decisionNumber = 53;
             this.eot = dfa_8;
             this.eof = dfa_8;
             this.min = dfa_46;
@@ -24332,40 +24361,40 @@
             this.transition = dfa_50;
         }
         public String getDescription() {
-            return "3148:6: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?";
+            return "3192:6: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA52_0 = input.LA(1);
+                        int LA53_0 = input.LA(1);
 
                          
-                        int index52_0 = input.index();
+                        int index53_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA52_0==RULE_ID) ) {s = 1;}
+                        if ( (LA53_0==RULE_ID) ) {s = 1;}
 
-                        else if ( (LA52_0==29) ) {s = 2;}
+                        else if ( (LA53_0==30) ) {s = 2;}
 
-                        else if ( (LA52_0==54) && (synpred23_InternalSignalDSL())) {s = 3;}
+                        else if ( (LA53_0==55) && (synpred23_InternalSignalDSL())) {s = 3;}
 
-                        else if ( (LA52_0==69) && (synpred23_InternalSignalDSL())) {s = 4;}
+                        else if ( (LA53_0==70) && (synpred23_InternalSignalDSL())) {s = 4;}
 
-                        else if ( ((LA52_0>=RULE_STRING && LA52_0<=RULE_DECIMAL)||LA52_0==14||LA52_0==18||(LA52_0>=22 && LA52_0<=24)||(LA52_0>=33 && LA52_0<=34)||LA52_0==41||(LA52_0>=57 && LA52_0<=58)||LA52_0==62||LA52_0==70||LA52_0==72||(LA52_0>=76 && LA52_0<=77)||(LA52_0>=80 && LA52_0<=89)||LA52_0==91) ) {s = 5;}
+                        else if ( (LA53_0==RULE_STRING||(LA53_0>=RULE_HEX && LA53_0<=RULE_DECIMAL)||LA53_0==14||LA53_0==18||(LA53_0>=23 && LA53_0<=25)||(LA53_0>=34 && LA53_0<=35)||LA53_0==42||(LA53_0>=58 && LA53_0<=59)||LA53_0==63||LA53_0==71||LA53_0==73||(LA53_0>=77 && LA53_0<=78)||(LA53_0>=81 && LA53_0<=90)||LA53_0==92) ) {s = 5;}
 
-                        else if ( (LA52_0==31) ) {s = 35;}
+                        else if ( (LA53_0==32) ) {s = 35;}
 
                          
-                        input.seek(index52_0);
+                        input.seek(index53_0);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA52_1 = input.LA(1);
+                        int LA53_1 = input.LA(1);
 
                          
-                        int index52_1 = input.index();
+                        int index53_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred23_InternalSignalDSL()) ) {s = 4;}
@@ -24373,14 +24402,14 @@
                         else if ( (true) ) {s = 5;}
 
                          
-                        input.seek(index52_1);
+                        input.seek(index53_1);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA52_2 = input.LA(1);
+                        int LA53_2 = input.LA(1);
 
                          
-                        int index52_2 = input.index();
+                        int index53_2 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred23_InternalSignalDSL()) ) {s = 4;}
@@ -24388,19 +24417,19 @@
                         else if ( (true) ) {s = 5;}
 
                          
-                        input.seek(index52_2);
+                        input.seek(index53_2);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 52, _s, input);
+                new NoViableAltException(getDescription(), 53, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String[] dfa_51s = {
-            "\5\2\5\uffff\2\2\2\uffff\1\2\3\uffff\4\2\1\uffff\1\2\1\uffff\3\2\1\uffff\1\2\1\1\42\2\1\uffff\27\2",
+            "\5\2\5\uffff\2\2\2\uffff\1\2\4\uffff\4\2\1\uffff\1\2\1\uffff\3\2\1\uffff\1\2\1\1\42\2\1\uffff\27\2",
             "\1\uffff",
             "",
             "",
@@ -24481,11 +24510,11 @@
     };
     static final short[][] dfa_51 = unpackEncodedStringArray(dfa_51s);
 
-    class DFA54 extends DFA {
+    class DFA55 extends DFA {
 
-        public DFA54(BaseRecognizer recognizer) {
+        public DFA55(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 54;
+            this.decisionNumber = 55;
             this.eot = dfa_39;
             this.eof = dfa_40;
             this.min = dfa_41;
@@ -24495,17 +24524,17 @@
             this.transition = dfa_51;
         }
         public String getDescription() {
-            return "3246:5: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?";
+            return "3290:5: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA54_1 = input.LA(1);
+                        int LA55_1 = input.LA(1);
 
                          
-                        int index54_1 = input.index();
+                        int index55_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred24_InternalSignalDSL()) ) {s = 77;}
@@ -24513,24 +24542,24 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index54_1);
+                        input.seek(index55_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 54, _s, input);
+                new NoViableAltException(getDescription(), 55, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_52s = "\40\uffff";
     static final String dfa_53s = "\1\4\26\uffff\1\0\10\uffff";
-    static final String dfa_54s = "\1\133\26\uffff\1\0\10\uffff";
+    static final String dfa_54s = "\1\134\26\uffff\1\0\10\uffff";
     static final String dfa_55s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\6\uffff\1\6\11\uffff\1\7\1\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\10\1\11";
     static final String dfa_56s = "\1\0\26\uffff\1\1\10\uffff}>";
     static final String[] dfa_57s = {
-            "\1\5\4\14\5\uffff\1\2\3\uffff\1\27\3\uffff\3\5\4\uffff\1\35\3\uffff\2\14\6\uffff\1\5\34\uffff\1\26\1\uffff\1\3\3\uffff\1\30\1\31\2\uffff\2\5\1\1\4\14\1\32\1\33\1\34\1\uffff\1\4",
+            "\1\14\1\5\3\14\5\uffff\1\2\3\uffff\1\27\4\uffff\3\5\4\uffff\1\35\3\uffff\2\14\6\uffff\1\5\34\uffff\1\26\1\uffff\1\3\3\uffff\1\30\1\31\2\uffff\2\5\1\1\4\14\1\32\1\33\1\34\1\uffff\1\4",
             "",
             "",
             "",
@@ -24571,11 +24600,11 @@
     static final short[] dfa_56 = DFA.unpackEncodedString(dfa_56s);
     static final short[][] dfa_57 = unpackEncodedStringArray(dfa_57s);
 
-    class DFA56 extends DFA {
+    class DFA57 extends DFA {
 
-        public DFA56(BaseRecognizer recognizer) {
+        public DFA57(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 56;
+            this.decisionNumber = 57;
             this.eot = dfa_52;
             this.eof = dfa_52;
             this.min = dfa_53;
@@ -24585,56 +24614,56 @@
             this.transition = dfa_57;
         }
         public String getDescription() {
-            return "3291:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )";
+            return "3335:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA56_0 = input.LA(1);
+                        int LA57_0 = input.LA(1);
 
                          
-                        int index56_0 = input.index();
+                        int index57_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_0==82) ) {s = 1;}
+                        if ( (LA57_0==83) ) {s = 1;}
 
-                        else if ( (LA56_0==14) ) {s = 2;}
+                        else if ( (LA57_0==14) ) {s = 2;}
 
-                        else if ( (LA56_0==72) ) {s = 3;}
+                        else if ( (LA57_0==73) ) {s = 3;}
 
-                        else if ( (LA56_0==91) && (synpred25_InternalSignalDSL())) {s = 4;}
+                        else if ( (LA57_0==92) && (synpred25_InternalSignalDSL())) {s = 4;}
 
-                        else if ( (LA56_0==RULE_ID||(LA56_0>=22 && LA56_0<=24)||LA56_0==41||(LA56_0>=80 && LA56_0<=81)) ) {s = 5;}
+                        else if ( (LA57_0==RULE_ID||(LA57_0>=23 && LA57_0<=25)||LA57_0==42||(LA57_0>=81 && LA57_0<=82)) ) {s = 5;}
 
-                        else if ( ((LA56_0>=RULE_STRING && LA56_0<=RULE_DECIMAL)||(LA56_0>=33 && LA56_0<=34)||(LA56_0>=83 && LA56_0<=86)) ) {s = 12;}
+                        else if ( (LA57_0==RULE_STRING||(LA57_0>=RULE_HEX && LA57_0<=RULE_DECIMAL)||(LA57_0>=34 && LA57_0<=35)||(LA57_0>=84 && LA57_0<=87)) ) {s = 12;}
 
-                        else if ( (LA56_0==70) ) {s = 22;}
+                        else if ( (LA57_0==71) ) {s = 22;}
 
-                        else if ( (LA56_0==18) ) {s = 23;}
+                        else if ( (LA57_0==18) ) {s = 23;}
 
-                        else if ( (LA56_0==76) ) {s = 24;}
+                        else if ( (LA57_0==77) ) {s = 24;}
 
-                        else if ( (LA56_0==77) ) {s = 25;}
+                        else if ( (LA57_0==78) ) {s = 25;}
 
-                        else if ( (LA56_0==87) ) {s = 26;}
+                        else if ( (LA57_0==88) ) {s = 26;}
 
-                        else if ( (LA56_0==88) ) {s = 27;}
+                        else if ( (LA57_0==89) ) {s = 27;}
 
-                        else if ( (LA56_0==89) ) {s = 28;}
+                        else if ( (LA57_0==90) ) {s = 28;}
 
-                        else if ( (LA56_0==29) ) {s = 29;}
+                        else if ( (LA57_0==30) ) {s = 29;}
 
                          
-                        input.seek(index56_0);
+                        input.seek(index57_0);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA56_23 = input.LA(1);
+                        int LA57_23 = input.LA(1);
 
                          
-                        int index56_23 = input.index();
+                        int index57_23 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred26_InternalSignalDSL()) ) {s = 30;}
@@ -24642,24 +24671,24 @@
                         else if ( (true) ) {s = 31;}
 
                          
-                        input.seek(index56_23);
+                        input.seek(index57_23);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 56, _s, input);
+                new NoViableAltException(getDescription(), 57, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_58s = "\46\uffff";
     static final String dfa_59s = "\1\4\2\0\43\uffff";
-    static final String dfa_60s = "\1\133\2\0\43\uffff";
+    static final String dfa_60s = "\1\134\2\0\43\uffff";
     static final String dfa_61s = "\3\uffff\2\1\1\2\40\uffff";
     static final String dfa_62s = "\1\0\1\1\1\2\43\uffff}>";
     static final String[] dfa_63s = {
-            "\1\1\4\5\5\uffff\1\5\3\uffff\1\5\3\uffff\3\5\4\uffff\1\2\3\uffff\3\5\5\uffff\1\5\14\uffff\1\3\2\uffff\2\5\3\uffff\1\5\6\uffff\1\4\1\5\1\uffff\1\5\3\uffff\16\5\1\uffff\1\5",
+            "\1\5\1\1\3\5\5\uffff\1\5\3\uffff\1\5\4\uffff\3\5\4\uffff\1\2\3\uffff\3\5\5\uffff\1\5\14\uffff\1\3\2\uffff\2\5\3\uffff\1\5\6\uffff\1\4\1\5\1\uffff\1\5\3\uffff\16\5\1\uffff\1\5",
             "\1\uffff",
             "\1\uffff",
             "",
@@ -24706,11 +24735,11 @@
     static final short[] dfa_62 = DFA.unpackEncodedString(dfa_62s);
     static final short[][] dfa_63 = unpackEncodedStringArray(dfa_63s);
 
-    class DFA65 extends DFA {
+    class DFA66 extends DFA {
 
-        public DFA65(BaseRecognizer recognizer) {
+        public DFA66(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 65;
+            this.decisionNumber = 66;
             this.eot = dfa_58;
             this.eof = dfa_58;
             this.min = dfa_59;
@@ -24720,38 +24749,38 @@
             this.transition = dfa_63;
         }
         public String getDescription() {
-            return "3783:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )?";
+            return "3827:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA65_0 = input.LA(1);
+                        int LA66_0 = input.LA(1);
 
                          
-                        int index65_0 = input.index();
+                        int index66_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA65_0==RULE_ID) ) {s = 1;}
+                        if ( (LA66_0==RULE_ID) ) {s = 1;}
 
-                        else if ( (LA65_0==29) ) {s = 2;}
+                        else if ( (LA66_0==30) ) {s = 2;}
 
-                        else if ( (LA65_0==54) && (synpred29_InternalSignalDSL())) {s = 3;}
+                        else if ( (LA66_0==55) && (synpred29_InternalSignalDSL())) {s = 3;}
 
-                        else if ( (LA65_0==69) && (synpred29_InternalSignalDSL())) {s = 4;}
+                        else if ( (LA66_0==70) && (synpred29_InternalSignalDSL())) {s = 4;}
 
-                        else if ( ((LA65_0>=RULE_STRING && LA65_0<=RULE_DECIMAL)||LA65_0==14||LA65_0==18||(LA65_0>=22 && LA65_0<=24)||(LA65_0>=33 && LA65_0<=35)||LA65_0==41||(LA65_0>=57 && LA65_0<=58)||LA65_0==62||LA65_0==70||LA65_0==72||(LA65_0>=76 && LA65_0<=89)||LA65_0==91) ) {s = 5;}
+                        else if ( (LA66_0==RULE_STRING||(LA66_0>=RULE_HEX && LA66_0<=RULE_DECIMAL)||LA66_0==14||LA66_0==18||(LA66_0>=23 && LA66_0<=25)||(LA66_0>=34 && LA66_0<=36)||LA66_0==42||(LA66_0>=58 && LA66_0<=59)||LA66_0==63||LA66_0==71||LA66_0==73||(LA66_0>=77 && LA66_0<=90)||LA66_0==92) ) {s = 5;}
 
                          
-                        input.seek(index65_0);
+                        input.seek(index66_0);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA65_1 = input.LA(1);
+                        int LA66_1 = input.LA(1);
 
                          
-                        int index65_1 = input.index();
+                        int index66_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred29_InternalSignalDSL()) ) {s = 4;}
@@ -24759,14 +24788,14 @@
                         else if ( (true) ) {s = 5;}
 
                          
-                        input.seek(index65_1);
+                        input.seek(index66_1);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA65_2 = input.LA(1);
+                        int LA66_2 = input.LA(1);
 
                          
-                        int index65_2 = input.index();
+                        int index66_2 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred29_InternalSignalDSL()) ) {s = 4;}
@@ -24774,19 +24803,19 @@
                         else if ( (true) ) {s = 5;}
 
                          
-                        input.seek(index65_2);
+                        input.seek(index66_2);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 65, _s, input);
+                new NoViableAltException(getDescription(), 66, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String[] dfa_64s = {
-            "\5\2\5\uffff\1\2\3\uffff\1\2\3\uffff\3\2\4\uffff\1\1\3\uffff\2\2\6\uffff\1\2\14\uffff\1\2\2\uffff\2\2\3\uffff\1\2\7\uffff\1\2\1\uffff\1\2\3\uffff\2\2\2\uffff\12\2\1\uffff\1\2",
+            "\5\2\5\uffff\1\2\3\uffff\1\2\4\uffff\3\2\4\uffff\1\1\3\uffff\2\2\6\uffff\1\2\14\uffff\1\2\2\uffff\2\2\3\uffff\1\2\7\uffff\1\2\1\uffff\1\2\3\uffff\2\2\2\uffff\12\2\1\uffff\1\2",
             "\1\uffff",
             "",
             "",
@@ -24824,11 +24853,11 @@
     };
     static final short[][] dfa_64 = unpackEncodedStringArray(dfa_64s);
 
-    class DFA72 extends DFA {
+    class DFA73 extends DFA {
 
-        public DFA72(BaseRecognizer recognizer) {
+        public DFA73(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 72;
+            this.decisionNumber = 73;
             this.eot = dfa_14;
             this.eof = dfa_14;
             this.min = dfa_15;
@@ -24838,17 +24867,17 @@
             this.transition = dfa_64;
         }
         public String getDescription() {
-            return "4249:3: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) )";
+            return "4293:3: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) )";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA72_1 = input.LA(1);
+                        int LA73_1 = input.LA(1);
 
                          
-                        int index72_1 = input.index();
+                        int index73_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred32_InternalSignalDSL()) ) {s = 34;}
@@ -24856,24 +24885,24 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index72_1);
+                        input.seek(index73_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 72, _s, input);
+                new NoViableAltException(getDescription(), 73, _s, input);
             error(nvae);
             throw nvae;
         }
     }
     static final String dfa_65s = "\42\uffff";
     static final String dfa_66s = "\1\4\2\0\37\uffff";
-    static final String dfa_67s = "\1\133\2\0\37\uffff";
+    static final String dfa_67s = "\1\134\2\0\37\uffff";
     static final String dfa_68s = "\3\uffff\1\1\1\2\35\uffff";
     static final String dfa_69s = "\1\0\1\1\1\2\37\uffff}>";
     static final String[] dfa_70s = {
-            "\1\1\4\4\5\uffff\1\4\3\uffff\1\4\3\uffff\3\4\4\uffff\1\2\3\uffff\2\4\6\uffff\1\4\14\uffff\1\3\2\uffff\2\4\3\uffff\1\4\7\uffff\1\4\1\uffff\1\4\3\uffff\2\4\2\uffff\12\4\1\uffff\1\4",
+            "\1\4\1\1\3\4\5\uffff\1\4\3\uffff\1\4\4\uffff\3\4\4\uffff\1\2\3\uffff\2\4\6\uffff\1\4\14\uffff\1\3\2\uffff\2\4\3\uffff\1\4\7\uffff\1\4\1\uffff\1\4\3\uffff\2\4\2\uffff\12\4\1\uffff\1\4",
             "\1\uffff",
             "\1\uffff",
             "",
@@ -24916,11 +24945,11 @@
     static final short[] dfa_69 = DFA.unpackEncodedString(dfa_69s);
     static final short[][] dfa_70 = unpackEncodedStringArray(dfa_70s);
 
-    class DFA71 extends DFA {
+    class DFA72 extends DFA {
 
-        public DFA71(BaseRecognizer recognizer) {
+        public DFA72(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 71;
+            this.decisionNumber = 72;
             this.eot = dfa_65;
             this.eof = dfa_65;
             this.min = dfa_66;
@@ -24930,36 +24959,36 @@
             this.transition = dfa_70;
         }
         public String getDescription() {
-            return "4318:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )?";
+            return "4362:5: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA71_0 = input.LA(1);
+                        int LA72_0 = input.LA(1);
 
                          
-                        int index71_0 = input.index();
+                        int index72_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA71_0==RULE_ID) ) {s = 1;}
+                        if ( (LA72_0==RULE_ID) ) {s = 1;}
 
-                        else if ( (LA71_0==29) ) {s = 2;}
+                        else if ( (LA72_0==30) ) {s = 2;}
 
-                        else if ( (LA71_0==54) && (synpred33_InternalSignalDSL())) {s = 3;}
+                        else if ( (LA72_0==55) && (synpred33_InternalSignalDSL())) {s = 3;}
 
-                        else if ( ((LA71_0>=RULE_STRING && LA71_0<=RULE_DECIMAL)||LA71_0==14||LA71_0==18||(LA71_0>=22 && LA71_0<=24)||(LA71_0>=33 && LA71_0<=34)||LA71_0==41||(LA71_0>=57 && LA71_0<=58)||LA71_0==62||LA71_0==70||LA71_0==72||(LA71_0>=76 && LA71_0<=77)||(LA71_0>=80 && LA71_0<=89)||LA71_0==91) ) {s = 4;}
+                        else if ( (LA72_0==RULE_STRING||(LA72_0>=RULE_HEX && LA72_0<=RULE_DECIMAL)||LA72_0==14||LA72_0==18||(LA72_0>=23 && LA72_0<=25)||(LA72_0>=34 && LA72_0<=35)||LA72_0==42||(LA72_0>=58 && LA72_0<=59)||LA72_0==63||LA72_0==71||LA72_0==73||(LA72_0>=77 && LA72_0<=78)||(LA72_0>=81 && LA72_0<=90)||LA72_0==92) ) {s = 4;}
 
                          
-                        input.seek(index71_0);
+                        input.seek(index72_0);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA71_1 = input.LA(1);
+                        int LA72_1 = input.LA(1);
 
                          
-                        int index71_1 = input.index();
+                        int index72_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred33_InternalSignalDSL()) ) {s = 3;}
@@ -24967,14 +24996,14 @@
                         else if ( (true) ) {s = 4;}
 
                          
-                        input.seek(index71_1);
+                        input.seek(index72_1);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA71_2 = input.LA(1);
+                        int LA72_2 = input.LA(1);
 
                          
-                        int index71_2 = input.index();
+                        int index72_2 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred33_InternalSignalDSL()) ) {s = 3;}
@@ -24982,139 +25011,13 @@
                         else if ( (true) ) {s = 4;}
 
                          
-                        input.seek(index71_2);
+                        input.seek(index72_2);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 71, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA94 extends DFA {
-
-        public DFA94(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 94;
-            this.eot = dfa_39;
-            this.eof = dfa_40;
-            this.min = dfa_41;
-            this.max = dfa_42;
-            this.accept = dfa_43;
-            this.special = dfa_44;
-            this.transition = dfa_45;
-        }
-        public String getDescription() {
-            return "5447:3: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA94_1 = input.LA(1);
-
-                         
-                        int index94_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred36_InternalSignalDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index94_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 94, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA93 extends DFA {
-
-        public DFA93(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 93;
-            this.eot = dfa_8;
-            this.eof = dfa_8;
-            this.min = dfa_46;
-            this.max = dfa_47;
-            this.accept = dfa_48;
-            this.special = dfa_49;
-            this.transition = dfa_50;
-        }
-        public String getDescription() {
-            return "5466:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA93_0 = input.LA(1);
-
-                         
-                        int index93_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (LA93_0==RULE_ID) ) {s = 1;}
-
-                        else if ( (LA93_0==29) ) {s = 2;}
-
-                        else if ( (LA93_0==54) && (synpred37_InternalSignalDSL())) {s = 3;}
-
-                        else if ( (LA93_0==69) && (synpred37_InternalSignalDSL())) {s = 4;}
-
-                        else if ( ((LA93_0>=RULE_STRING && LA93_0<=RULE_DECIMAL)||LA93_0==14||LA93_0==18||(LA93_0>=22 && LA93_0<=24)||(LA93_0>=33 && LA93_0<=34)||LA93_0==41||(LA93_0>=57 && LA93_0<=58)||LA93_0==62||LA93_0==70||LA93_0==72||(LA93_0>=76 && LA93_0<=77)||(LA93_0>=80 && LA93_0<=89)||LA93_0==91) ) {s = 5;}
-
-                        else if ( (LA93_0==31) ) {s = 35;}
-
-                         
-                        input.seek(index93_0);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA93_1 = input.LA(1);
-
-                         
-                        int index93_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred37_InternalSignalDSL()) ) {s = 4;}
-
-                        else if ( (true) ) {s = 5;}
-
-                         
-                        input.seek(index93_1);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA93_2 = input.LA(1);
-
-                         
-                        int index93_2 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred37_InternalSignalDSL()) ) {s = 4;}
-
-                        else if ( (true) ) {s = 5;}
-
-                         
-                        input.seek(index93_2);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 93, _s, input);
+                new NoViableAltException(getDescription(), 72, _s, input);
             error(nvae);
             throw nvae;
         }
@@ -25131,10 +25034,10 @@
             this.max = dfa_42;
             this.accept = dfa_43;
             this.special = dfa_44;
-            this.transition = dfa_51;
+            this.transition = dfa_45;
         }
         public String getDescription() {
-            return "5564:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?";
+            return "5491:3: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -25147,7 +25050,7 @@
                         int index95_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred38_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred36_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 2;}
 
@@ -25163,8 +25066,134 @@
             throw nvae;
         }
     }
+
+    class DFA94 extends DFA {
+
+        public DFA94(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 94;
+            this.eot = dfa_8;
+            this.eof = dfa_8;
+            this.min = dfa_46;
+            this.max = dfa_47;
+            this.accept = dfa_48;
+            this.special = dfa_49;
+            this.transition = dfa_50;
+        }
+        public String getDescription() {
+            return "5510:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA94_0 = input.LA(1);
+
+                         
+                        int index94_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA94_0==RULE_ID) ) {s = 1;}
+
+                        else if ( (LA94_0==30) ) {s = 2;}
+
+                        else if ( (LA94_0==55) && (synpred37_InternalSignalDSL())) {s = 3;}
+
+                        else if ( (LA94_0==70) && (synpred37_InternalSignalDSL())) {s = 4;}
+
+                        else if ( (LA94_0==RULE_STRING||(LA94_0>=RULE_HEX && LA94_0<=RULE_DECIMAL)||LA94_0==14||LA94_0==18||(LA94_0>=23 && LA94_0<=25)||(LA94_0>=34 && LA94_0<=35)||LA94_0==42||(LA94_0>=58 && LA94_0<=59)||LA94_0==63||LA94_0==71||LA94_0==73||(LA94_0>=77 && LA94_0<=78)||(LA94_0>=81 && LA94_0<=90)||LA94_0==92) ) {s = 5;}
+
+                        else if ( (LA94_0==32) ) {s = 35;}
+
+                         
+                        input.seek(index94_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA94_1 = input.LA(1);
+
+                         
+                        int index94_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred37_InternalSignalDSL()) ) {s = 4;}
+
+                        else if ( (true) ) {s = 5;}
+
+                         
+                        input.seek(index94_1);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA94_2 = input.LA(1);
+
+                         
+                        int index94_2 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred37_InternalSignalDSL()) ) {s = 4;}
+
+                        else if ( (true) ) {s = 5;}
+
+                         
+                        input.seek(index94_2);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 94, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA96 extends DFA {
+
+        public DFA96(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 96;
+            this.eot = dfa_39;
+            this.eof = dfa_40;
+            this.min = dfa_41;
+            this.max = dfa_42;
+            this.accept = dfa_43;
+            this.special = dfa_44;
+            this.transition = dfa_51;
+        }
+        public String getDescription() {
+            return "5608:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA96_1 = input.LA(1);
+
+                         
+                        int index96_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred38_InternalSignalDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index96_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 96, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
     static final String[] dfa_71s = {
-            "\5\2\5\uffff\2\2\2\uffff\1\2\3\uffff\4\2\1\uffff\1\2\1\uffff\3\2\1\uffff\10\2\1\1\33\2\1\uffff\27\2",
+            "\5\2\5\uffff\2\2\2\uffff\1\2\4\uffff\4\2\1\uffff\1\2\1\uffff\3\2\1\uffff\10\2\1\1\33\2\1\uffff\27\2",
             "\1\uffff",
             "",
             "",
@@ -25245,11 +25274,11 @@
     };
     static final short[][] dfa_71 = unpackEncodedStringArray(dfa_71s);
 
-    class DFA99 extends DFA {
+    class DFA100 extends DFA {
 
-        public DFA99(BaseRecognizer recognizer) {
+        public DFA100(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 99;
+            this.decisionNumber = 100;
             this.eot = dfa_39;
             this.eof = dfa_40;
             this.min = dfa_41;
@@ -25259,17 +25288,17 @@
             this.transition = dfa_71;
         }
         public String getDescription() {
-            return "5723:3: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?";
+            return "5767:3: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA99_1 = input.LA(1);
+                        int LA100_1 = input.LA(1);
 
                          
-                        int index99_1 = input.index();
+                        int index100_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred39_InternalSignalDSL()) ) {s = 77;}
@@ -25277,139 +25306,13 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index99_1);
+                        input.seek(index100_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 99, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA102 extends DFA {
-
-        public DFA102(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 102;
-            this.eot = dfa_39;
-            this.eof = dfa_40;
-            this.min = dfa_41;
-            this.max = dfa_42;
-            this.accept = dfa_43;
-            this.special = dfa_44;
-            this.transition = dfa_45;
-        }
-        public String getDescription() {
-            return "5780:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA102_1 = input.LA(1);
-
-                         
-                        int index102_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred40_InternalSignalDSL()) ) {s = 77;}
-
-                        else if ( (true) ) {s = 2;}
-
-                         
-                        input.seek(index102_1);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 102, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-
-    class DFA101 extends DFA {
-
-        public DFA101(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 101;
-            this.eot = dfa_8;
-            this.eof = dfa_8;
-            this.min = dfa_46;
-            this.max = dfa_47;
-            this.accept = dfa_48;
-            this.special = dfa_49;
-            this.transition = dfa_50;
-        }
-        public String getDescription() {
-            return "5799:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA101_0 = input.LA(1);
-
-                         
-                        int index101_0 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (LA101_0==RULE_ID) ) {s = 1;}
-
-                        else if ( (LA101_0==29) ) {s = 2;}
-
-                        else if ( (LA101_0==54) && (synpred41_InternalSignalDSL())) {s = 3;}
-
-                        else if ( (LA101_0==69) && (synpred41_InternalSignalDSL())) {s = 4;}
-
-                        else if ( ((LA101_0>=RULE_STRING && LA101_0<=RULE_DECIMAL)||LA101_0==14||LA101_0==18||(LA101_0>=22 && LA101_0<=24)||(LA101_0>=33 && LA101_0<=34)||LA101_0==41||(LA101_0>=57 && LA101_0<=58)||LA101_0==62||LA101_0==70||LA101_0==72||(LA101_0>=76 && LA101_0<=77)||(LA101_0>=80 && LA101_0<=89)||LA101_0==91) ) {s = 5;}
-
-                        else if ( (LA101_0==31) ) {s = 35;}
-
-                         
-                        input.seek(index101_0);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA101_1 = input.LA(1);
-
-                         
-                        int index101_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred41_InternalSignalDSL()) ) {s = 4;}
-
-                        else if ( (true) ) {s = 5;}
-
-                         
-                        input.seek(index101_1);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA101_2 = input.LA(1);
-
-                         
-                        int index101_2 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred41_InternalSignalDSL()) ) {s = 4;}
-
-                        else if ( (true) ) {s = 5;}
-
-                         
-                        input.seek(index101_2);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 101, _s, input);
+                new NoViableAltException(getDescription(), 100, _s, input);
             error(nvae);
             throw nvae;
         }
@@ -25426,10 +25329,10 @@
             this.max = dfa_42;
             this.accept = dfa_43;
             this.special = dfa_44;
-            this.transition = dfa_51;
+            this.transition = dfa_45;
         }
         public String getDescription() {
-            return "5897:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?";
+            return "5824:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
@@ -25442,7 +25345,7 @@
                         int index103_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred42_InternalSignalDSL()) ) {s = 77;}
+                        if ( (synpred40_InternalSignalDSL()) ) {s = 77;}
 
                         else if ( (true) ) {s = 2;}
 
@@ -25458,13 +25361,139 @@
             throw nvae;
         }
     }
+
+    class DFA102 extends DFA {
+
+        public DFA102(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 102;
+            this.eot = dfa_8;
+            this.eof = dfa_8;
+            this.min = dfa_46;
+            this.max = dfa_47;
+            this.accept = dfa_48;
+            this.special = dfa_49;
+            this.transition = dfa_50;
+        }
+        public String getDescription() {
+            return "5843:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA102_0 = input.LA(1);
+
+                         
+                        int index102_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA102_0==RULE_ID) ) {s = 1;}
+
+                        else if ( (LA102_0==30) ) {s = 2;}
+
+                        else if ( (LA102_0==55) && (synpred41_InternalSignalDSL())) {s = 3;}
+
+                        else if ( (LA102_0==70) && (synpred41_InternalSignalDSL())) {s = 4;}
+
+                        else if ( (LA102_0==RULE_STRING||(LA102_0>=RULE_HEX && LA102_0<=RULE_DECIMAL)||LA102_0==14||LA102_0==18||(LA102_0>=23 && LA102_0<=25)||(LA102_0>=34 && LA102_0<=35)||LA102_0==42||(LA102_0>=58 && LA102_0<=59)||LA102_0==63||LA102_0==71||LA102_0==73||(LA102_0>=77 && LA102_0<=78)||(LA102_0>=81 && LA102_0<=90)||LA102_0==92) ) {s = 5;}
+
+                        else if ( (LA102_0==32) ) {s = 35;}
+
+                         
+                        input.seek(index102_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA102_1 = input.LA(1);
+
+                         
+                        int index102_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred41_InternalSignalDSL()) ) {s = 4;}
+
+                        else if ( (true) ) {s = 5;}
+
+                         
+                        input.seek(index102_1);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA102_2 = input.LA(1);
+
+                         
+                        int index102_2 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred41_InternalSignalDSL()) ) {s = 4;}
+
+                        else if ( (true) ) {s = 5;}
+
+                         
+                        input.seek(index102_2);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 102, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+
+    class DFA104 extends DFA {
+
+        public DFA104(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 104;
+            this.eot = dfa_39;
+            this.eof = dfa_40;
+            this.min = dfa_41;
+            this.max = dfa_42;
+            this.accept = dfa_43;
+            this.special = dfa_44;
+            this.transition = dfa_51;
+        }
+        public String getDescription() {
+            return "5941:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA104_1 = input.LA(1);
+
+                         
+                        int index104_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred42_InternalSignalDSL()) ) {s = 77;}
+
+                        else if ( (true) ) {s = 2;}
+
+                         
+                        input.seek(index104_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 104, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
     static final String dfa_72s = "\1\41\115\uffff";
     static final String dfa_73s = "\1\4\40\0\55\uffff";
-    static final String dfa_74s = "\1\134\40\0\55\uffff";
+    static final String dfa_74s = "\1\135\40\0\55\uffff";
     static final String dfa_75s = "\41\uffff\1\2\53\uffff\1\1";
     static final String dfa_76s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\55\uffff}>";
     static final String[] dfa_77s = {
-            "\1\1\1\27\1\23\1\24\1\25\5\uffff\1\12\1\41\2\uffff\1\32\3\uffff\1\4\1\3\1\5\1\41\1\uffff\1\41\1\uffff\1\40\2\41\1\uffff\1\17\1\20\6\41\1\15\17\41\1\10\1\7\3\41\1\6\6\41\1\uffff\1\31\1\41\1\13\3\41\1\33\1\34\2\41\1\2\1\16\1\11\1\21\1\22\1\26\1\30\1\35\1\36\1\37\1\41\1\14\1\41",
+            "\1\27\1\1\1\23\1\24\1\25\5\uffff\1\12\1\41\2\uffff\1\32\4\uffff\1\4\1\3\1\5\1\41\1\uffff\1\41\1\uffff\1\40\2\41\1\uffff\1\17\1\20\6\41\1\15\17\41\1\10\1\7\3\41\1\6\6\41\1\uffff\1\31\1\41\1\13\3\41\1\33\1\34\2\41\1\2\1\16\1\11\1\21\1\22\1\26\1\30\1\35\1\36\1\37\1\41\1\14\1\41",
             "\1\uffff",
             "\1\uffff",
             "\1\uffff",
@@ -25550,11 +25579,11 @@
     static final short[] dfa_76 = DFA.unpackEncodedString(dfa_76s);
     static final short[][] dfa_77 = unpackEncodedStringArray(dfa_77s);
 
-    class DFA106 extends DFA {
+    class DFA107 extends DFA {
 
-        public DFA106(BaseRecognizer recognizer) {
+        public DFA107(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 106;
+            this.decisionNumber = 107;
             this.eot = dfa_39;
             this.eof = dfa_72;
             this.min = dfa_73;
@@ -25564,17 +25593,17 @@
             this.transition = dfa_77;
         }
         public String getDescription() {
-            return "6240:3: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?";
+            return "6284:3: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA106_1 = input.LA(1);
+                        int LA107_1 = input.LA(1);
 
                          
-                        int index106_1 = input.index();
+                        int index107_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25582,14 +25611,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_1);
+                        input.seek(index107_1);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA106_2 = input.LA(1);
+                        int LA107_2 = input.LA(1);
 
                          
-                        int index106_2 = input.index();
+                        int index107_2 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25597,14 +25626,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_2);
+                        input.seek(index107_2);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA106_3 = input.LA(1);
+                        int LA107_3 = input.LA(1);
 
                          
-                        int index106_3 = input.index();
+                        int index107_3 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25612,14 +25641,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_3);
+                        input.seek(index107_3);
                         if ( s>=0 ) return s;
                         break;
                     case 3 : 
-                        int LA106_4 = input.LA(1);
+                        int LA107_4 = input.LA(1);
 
                          
-                        int index106_4 = input.index();
+                        int index107_4 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25627,14 +25656,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_4);
+                        input.seek(index107_4);
                         if ( s>=0 ) return s;
                         break;
                     case 4 : 
-                        int LA106_5 = input.LA(1);
+                        int LA107_5 = input.LA(1);
 
                          
-                        int index106_5 = input.index();
+                        int index107_5 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25642,14 +25671,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_5);
+                        input.seek(index107_5);
                         if ( s>=0 ) return s;
                         break;
                     case 5 : 
-                        int LA106_6 = input.LA(1);
+                        int LA107_6 = input.LA(1);
 
                          
-                        int index106_6 = input.index();
+                        int index107_6 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25657,14 +25686,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_6);
+                        input.seek(index107_6);
                         if ( s>=0 ) return s;
                         break;
                     case 6 : 
-                        int LA106_7 = input.LA(1);
+                        int LA107_7 = input.LA(1);
 
                          
-                        int index106_7 = input.index();
+                        int index107_7 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25672,14 +25701,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_7);
+                        input.seek(index107_7);
                         if ( s>=0 ) return s;
                         break;
                     case 7 : 
-                        int LA106_8 = input.LA(1);
+                        int LA107_8 = input.LA(1);
 
                          
-                        int index106_8 = input.index();
+                        int index107_8 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25687,14 +25716,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_8);
+                        input.seek(index107_8);
                         if ( s>=0 ) return s;
                         break;
                     case 8 : 
-                        int LA106_9 = input.LA(1);
+                        int LA107_9 = input.LA(1);
 
                          
-                        int index106_9 = input.index();
+                        int index107_9 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25702,14 +25731,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_9);
+                        input.seek(index107_9);
                         if ( s>=0 ) return s;
                         break;
                     case 9 : 
-                        int LA106_10 = input.LA(1);
+                        int LA107_10 = input.LA(1);
 
                          
-                        int index106_10 = input.index();
+                        int index107_10 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25717,14 +25746,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_10);
+                        input.seek(index107_10);
                         if ( s>=0 ) return s;
                         break;
                     case 10 : 
-                        int LA106_11 = input.LA(1);
+                        int LA107_11 = input.LA(1);
 
                          
-                        int index106_11 = input.index();
+                        int index107_11 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25732,14 +25761,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_11);
+                        input.seek(index107_11);
                         if ( s>=0 ) return s;
                         break;
                     case 11 : 
-                        int LA106_12 = input.LA(1);
+                        int LA107_12 = input.LA(1);
 
                          
-                        int index106_12 = input.index();
+                        int index107_12 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25747,14 +25776,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_12);
+                        input.seek(index107_12);
                         if ( s>=0 ) return s;
                         break;
                     case 12 : 
-                        int LA106_13 = input.LA(1);
+                        int LA107_13 = input.LA(1);
 
                          
-                        int index106_13 = input.index();
+                        int index107_13 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25762,14 +25791,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_13);
+                        input.seek(index107_13);
                         if ( s>=0 ) return s;
                         break;
                     case 13 : 
-                        int LA106_14 = input.LA(1);
+                        int LA107_14 = input.LA(1);
 
                          
-                        int index106_14 = input.index();
+                        int index107_14 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25777,14 +25806,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_14);
+                        input.seek(index107_14);
                         if ( s>=0 ) return s;
                         break;
                     case 14 : 
-                        int LA106_15 = input.LA(1);
+                        int LA107_15 = input.LA(1);
 
                          
-                        int index106_15 = input.index();
+                        int index107_15 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25792,14 +25821,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_15);
+                        input.seek(index107_15);
                         if ( s>=0 ) return s;
                         break;
                     case 15 : 
-                        int LA106_16 = input.LA(1);
+                        int LA107_16 = input.LA(1);
 
                          
-                        int index106_16 = input.index();
+                        int index107_16 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25807,14 +25836,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_16);
+                        input.seek(index107_16);
                         if ( s>=0 ) return s;
                         break;
                     case 16 : 
-                        int LA106_17 = input.LA(1);
+                        int LA107_17 = input.LA(1);
 
                          
-                        int index106_17 = input.index();
+                        int index107_17 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25822,14 +25851,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_17);
+                        input.seek(index107_17);
                         if ( s>=0 ) return s;
                         break;
                     case 17 : 
-                        int LA106_18 = input.LA(1);
+                        int LA107_18 = input.LA(1);
 
                          
-                        int index106_18 = input.index();
+                        int index107_18 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25837,14 +25866,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_18);
+                        input.seek(index107_18);
                         if ( s>=0 ) return s;
                         break;
                     case 18 : 
-                        int LA106_19 = input.LA(1);
+                        int LA107_19 = input.LA(1);
 
                          
-                        int index106_19 = input.index();
+                        int index107_19 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25852,14 +25881,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_19);
+                        input.seek(index107_19);
                         if ( s>=0 ) return s;
                         break;
                     case 19 : 
-                        int LA106_20 = input.LA(1);
+                        int LA107_20 = input.LA(1);
 
                          
-                        int index106_20 = input.index();
+                        int index107_20 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25867,14 +25896,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_20);
+                        input.seek(index107_20);
                         if ( s>=0 ) return s;
                         break;
                     case 20 : 
-                        int LA106_21 = input.LA(1);
+                        int LA107_21 = input.LA(1);
 
                          
-                        int index106_21 = input.index();
+                        int index107_21 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25882,14 +25911,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_21);
+                        input.seek(index107_21);
                         if ( s>=0 ) return s;
                         break;
                     case 21 : 
-                        int LA106_22 = input.LA(1);
+                        int LA107_22 = input.LA(1);
 
                          
-                        int index106_22 = input.index();
+                        int index107_22 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25897,14 +25926,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_22);
+                        input.seek(index107_22);
                         if ( s>=0 ) return s;
                         break;
                     case 22 : 
-                        int LA106_23 = input.LA(1);
+                        int LA107_23 = input.LA(1);
 
                          
-                        int index106_23 = input.index();
+                        int index107_23 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25912,14 +25941,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_23);
+                        input.seek(index107_23);
                         if ( s>=0 ) return s;
                         break;
                     case 23 : 
-                        int LA106_24 = input.LA(1);
+                        int LA107_24 = input.LA(1);
 
                          
-                        int index106_24 = input.index();
+                        int index107_24 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25927,14 +25956,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_24);
+                        input.seek(index107_24);
                         if ( s>=0 ) return s;
                         break;
                     case 24 : 
-                        int LA106_25 = input.LA(1);
+                        int LA107_25 = input.LA(1);
 
                          
-                        int index106_25 = input.index();
+                        int index107_25 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25942,14 +25971,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_25);
+                        input.seek(index107_25);
                         if ( s>=0 ) return s;
                         break;
                     case 25 : 
-                        int LA106_26 = input.LA(1);
+                        int LA107_26 = input.LA(1);
 
                          
-                        int index106_26 = input.index();
+                        int index107_26 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25957,14 +25986,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_26);
+                        input.seek(index107_26);
                         if ( s>=0 ) return s;
                         break;
                     case 26 : 
-                        int LA106_27 = input.LA(1);
+                        int LA107_27 = input.LA(1);
 
                          
-                        int index106_27 = input.index();
+                        int index107_27 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25972,14 +26001,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_27);
+                        input.seek(index107_27);
                         if ( s>=0 ) return s;
                         break;
                     case 27 : 
-                        int LA106_28 = input.LA(1);
+                        int LA107_28 = input.LA(1);
 
                          
-                        int index106_28 = input.index();
+                        int index107_28 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -25987,14 +26016,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_28);
+                        input.seek(index107_28);
                         if ( s>=0 ) return s;
                         break;
                     case 28 : 
-                        int LA106_29 = input.LA(1);
+                        int LA107_29 = input.LA(1);
 
                          
-                        int index106_29 = input.index();
+                        int index107_29 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -26002,14 +26031,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_29);
+                        input.seek(index107_29);
                         if ( s>=0 ) return s;
                         break;
                     case 29 : 
-                        int LA106_30 = input.LA(1);
+                        int LA107_30 = input.LA(1);
 
                          
-                        int index106_30 = input.index();
+                        int index107_30 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -26017,14 +26046,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_30);
+                        input.seek(index107_30);
                         if ( s>=0 ) return s;
                         break;
                     case 30 : 
-                        int LA106_31 = input.LA(1);
+                        int LA107_31 = input.LA(1);
 
                          
-                        int index106_31 = input.index();
+                        int index107_31 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -26032,14 +26061,14 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_31);
+                        input.seek(index107_31);
                         if ( s>=0 ) return s;
                         break;
                     case 31 : 
-                        int LA106_32 = input.LA(1);
+                        int LA107_32 = input.LA(1);
 
                          
-                        int index106_32 = input.index();
+                        int index107_32 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred43_InternalSignalDSL()) ) {s = 77;}
@@ -26047,13 +26076,13 @@
                         else if ( (true) ) {s = 33;}
 
                          
-                        input.seek(index106_32);
+                        input.seek(index107_32);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 106, _s, input);
+                new NoViableAltException(getDescription(), 107, _s, input);
             error(nvae);
             throw nvae;
         }
@@ -26061,11 +26090,11 @@
     static final String dfa_78s = "\117\uffff";
     static final String dfa_79s = "\1\2\116\uffff";
     static final String dfa_80s = "\1\4\1\0\115\uffff";
-    static final String dfa_81s = "\1\136\1\0\115\uffff";
+    static final String dfa_81s = "\1\137\1\0\115\uffff";
     static final String dfa_82s = "\2\uffff\1\2\113\uffff\1\1";
     static final String dfa_83s = "\1\uffff\1\0\115\uffff}>";
     static final String[] dfa_84s = {
-            "\5\2\5\uffff\2\2\2\uffff\1\2\3\uffff\4\2\1\uffff\1\2\1\uffff\3\2\1\uffff\10\2\1\1\33\2\1\uffff\27\2\1\uffff\1\2",
+            "\5\2\5\uffff\2\2\2\uffff\1\2\4\uffff\4\2\1\uffff\1\2\1\uffff\3\2\1\uffff\10\2\1\1\33\2\1\uffff\27\2\1\uffff\1\2",
             "\1\uffff",
             "",
             "",
@@ -26154,11 +26183,11 @@
     static final short[] dfa_83 = DFA.unpackEncodedString(dfa_83s);
     static final short[][] dfa_84 = unpackEncodedStringArray(dfa_84s);
 
-    class DFA124 extends DFA {
+    class DFA125 extends DFA {
 
-        public DFA124(BaseRecognizer recognizer) {
+        public DFA125(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 124;
+            this.decisionNumber = 125;
             this.eot = dfa_78;
             this.eof = dfa_79;
             this.min = dfa_80;
@@ -26168,17 +26197,17 @@
             this.transition = dfa_84;
         }
         public String getDescription() {
-            return "6898:3: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?";
+            return "6942:3: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA124_1 = input.LA(1);
+                        int LA125_1 = input.LA(1);
 
                          
-                        int index124_1 = input.index();
+                        int index125_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred50_InternalSignalDSL()) ) {s = 78;}
@@ -26186,23 +26215,23 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index124_1);
+                        input.seek(index125_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 124, _s, input);
+                new NoViableAltException(getDescription(), 125, _s, input);
             error(nvae);
             throw nvae;
         }
     }
 
-    class DFA122 extends DFA {
+    class DFA123 extends DFA {
 
-        public DFA122(BaseRecognizer recognizer) {
+        public DFA123(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 122;
+            this.decisionNumber = 123;
             this.eot = dfa_78;
             this.eof = dfa_79;
             this.min = dfa_80;
@@ -26212,17 +26241,17 @@
             this.transition = dfa_84;
         }
         public String getDescription() {
-            return "6992:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?";
+            return "7036:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA122_1 = input.LA(1);
+                        int LA123_1 = input.LA(1);
 
                          
-                        int index122_1 = input.index();
+                        int index123_1 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred52_InternalSignalDSL()) ) {s = 78;}
@@ -26230,13 +26259,13 @@
                         else if ( (true) ) {s = 2;}
 
                          
-                        input.seek(index122_1);
+                        input.seek(index123_1);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 122, _s, input);
+                new NoViableAltException(getDescription(), 123, _s, input);
             error(nvae);
             throw nvae;
         }
@@ -26246,101 +26275,103 @@
     public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000002002L});
-    public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000004002L});
     public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000018000L});
     public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000040000L});
-    public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000000L,0x0000001E00000000L});
-    public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000088000L});
-    public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000000L,0x000001E000000000L});
-    public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000200000L,0x0000000180000000L});
-    public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000100000L});
-    public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000004000L,0x0000060000000000L});
-    public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000008000L,0x0000000180000000L});
-    public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000004800010L});
-    public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000001000010L});
-    public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000002000010L});
-    public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000008000002L});
-    public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000020000002L});
-    public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x46000206B1C441F0L,0x000000000BFF3140L});
-    public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x00000000C0000000L});
-    public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000100000000L});
-    public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x4600020631C441F0L,0x000000000BFF3140L});
-    public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000400000000L});
-    public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x4600020E31C441F0L,0x000000000BFF3140L});
-    public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000840000000L});
-    public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000040000002L});
-    public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x000007F000000002L});
-    public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000020000000000L});
-    public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x00000C0000000000L});
-    public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000080000000000L});
-    public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000100000000002L});
-    public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000200000000002L});
-    public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0003C00000000002L});
-    public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x00040E0000000002L});
-    public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0040000020000010L});
-    public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x01F8060000000002L});
-    public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0020000000000000L});
-    public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0040020000000000L});
-    public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0600000000000002L});
-    public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x3800000002000002L});
-    public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x8000000000000002L});
-    public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000003L});
-    public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000000000000002L,0x000000000000001CL});
-    public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000000001C00010L,0x0000000000010000L});
-    public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000020001C00010L,0x0000000000030000L});
-    public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0040000020000010L,0x0000000020000000L});
-    public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000040040000000L});
-    public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000420000002L,0x000000000000001CL});
-    public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x46400206B1C441F0L,0x000000000BFF3160L});
-    public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000400000002L,0x000000000000001CL});
-    public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x4600020631C4C1F0L,0x000000000BFF3140L});
-    public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000040008000L});
-    public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x4640020E31C441F0L,0x000000000BFFF160L});
-    public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000040000000L,0x0000000000000020L});
-    public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x4600020E31C441F0L,0x000000000BFFF140L});
-    public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000800000000L});
-    public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x4600020639C441F2L,0x000000000BFFF140L});
-    public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x4600020631C441F2L,0x000000000BFFF140L});
-    public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000080L});
-    public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x4640020631C441F0L,0x000000000BFF3140L});
-    public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
-    public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0040000060008010L,0x0000000000000E00L});
-    public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0000000040000000L,0x0000000000000A00L});
-    public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000040000000L,0x0000000000000200L});
-    public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x4600020639C441F0L,0x000000000BFFF140L});
-    public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0000000048000000L});
-    public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x4600020631C441F0L,0x000000000BFFF140L});
-    public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x4600020639C441F0L,0x000000000BFF3140L});
-    public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
-    public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x4600020631C4C1F0L,0x000000000BFFF140L});
-    public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x4600020639C4C1F0L,0x000000000BFFF140L});
-    public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000100000002L});
-    public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000000420000002L});
-    public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000000400000002L});
-    public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000020420000002L});
-    public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000000480000000L});
-    public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x4600020631C441F2L,0x000000000BFF3140L});
-    public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000000000000000L,0x0000000014000000L});
-    public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000000000002L,0x0000000014000000L});
-    public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000004L});
-    public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0000000000000180L});
-    public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x00400000A0000010L});
-    public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0040000000000000L});
-    public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0000020000000002L,0x0000000000000004L});
-    public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x0000000000000002L,0x0000000000030000L});
-    public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x0000000000000002L,0x0000000040000000L});
-    public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000000002000000L});
-    public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000400002L});
-    public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000000L,0x0000000C00000000L});
+    public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000088000L});
+    public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000000L,0x0000003000000000L});
+    public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000200000L,0x0000000300000000L});
+    public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000100000L,0x000000C000000000L});
+    public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000008000L,0x0000000300000000L});
+    public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000400000L});
+    public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000009000020L});
+    public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000002000020L});
+    public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000004000020L});
+    public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000010000002L});
+    public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000040000002L});
+    public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x8C00040D638441F0L,0x0000000017FE6280L});
+    public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000180000000L});
+    public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000100000000L});
+    public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000200000000L});
+    public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x8C00040C638441F0L,0x0000000017FE6280L});
+    public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x8C00041C638441F0L,0x0000000017FE6280L});
+    public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000001080000000L});
+    public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000080000002L});
+    public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x00000FE000000002L});
+    public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000180000000000L});
+    public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000100000000000L});
+    public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000200000000002L});
+    public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000400000000002L});
+    public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0007800000000002L});
+    public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x00081C0000000002L});
+    public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0080000040000020L});
+    public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x03F00C0000000002L});
+    public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0040000000000000L});
+    public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0080040000000000L});
+    public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0C00000000000002L});
+    public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x7000000004000002L});
+    public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000001L});
+    public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000006L});
+    public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000038L});
+    public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000000003800020L,0x0000000000020000L});
+    public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000040003800020L,0x0000000000060000L});
+    public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0080000040000020L,0x0000000040000000L});
+    public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000080080000000L});
+    public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000840000002L,0x0000000000000038L});
+    public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x8C80040D638441F0L,0x0000000017FE62C0L});
+    public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000800000002L,0x0000000000000038L});
+    public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x8C00040C6384C1F0L,0x0000000017FE6280L});
+    public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000080008000L});
+    public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x8C80041C638441F0L,0x0000000017FFE2C0L});
+    public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000000080000000L,0x0000000000000040L});
+    public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x8C00041C638441F0L,0x0000000017FFE280L});
+    public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000001000000000L});
+    public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x8C00040C738441F2L,0x0000000017FFE280L});
+    public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x8C00040C638441F2L,0x0000000017FFE280L});
+    public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L});
+    public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x8C80040C638441F0L,0x0000000017FE6280L});
+    public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+    public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x00800000C0008020L,0x0000000000001C00L});
+    public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000080000000L,0x0000000000001400L});
+    public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0000000080000000L,0x0000000000000400L});
+    public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x8C00040C738441F0L,0x0000000017FFE280L});
+    public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0000000090000000L});
+    public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x8C00040C638441F0L,0x0000000017FFE280L});
+    public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x8C00040C738441F0L,0x0000000017FE6280L});
+    public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L});
+    public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x8C00040C6384C1F0L,0x0000000017FFE280L});
+    public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x8C00040C7384C1F0L,0x0000000017FFE280L});
+    public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000000200000002L});
+    public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000000840000002L});
+    public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000000800000002L});
+    public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x0000040840000002L});
+    public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000000900000000L});
+    public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x8C00040C638441F2L,0x0000000017FE6280L});
+    public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0000000000000000L,0x0000000028000000L});
+    public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0000000000000002L,0x0000000028000000L});
+    public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000008L});
+    public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0000000000000180L});
+    public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0080000140000020L});
+    public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0080000000000000L});
+    public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x0000040000000002L});
+    public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x0000040000000002L,0x0000000000000008L});
+    public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000000000000002L,0x0000000000060000L});
+    public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000000000000002L,0x0000000080000000L});
+    public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000004000000L});
+    public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000000800002L});
+    public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x0000000000000022L});
 
 }
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/serializer/SignalDSLSemanticSequencer.java b/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/serializer/SignalDSLSemanticSequencer.java
index 8b63099..7eb9ef4 100644
--- a/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/serializer/SignalDSLSemanticSequencer.java
+++ b/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/serializer/SignalDSLSemanticSequencer.java
@@ -435,7 +435,7 @@
 	 *     ListTransfer returns ListTransfer
 	 *
 	 * Constraint:
-	 *     (executiontype=SignalExecutionTypeEnum? interchanges+=SignalDatainterchange*)
+	 *     interchanges+=SignalDatainterchange*
 	 */
 	protected void sequence_ListTransfer(ISerializationContext context, ListTransfer semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
@@ -448,7 +448,7 @@
 	 *     SignalProcessor returns SignalDatainterchange
 	 *
 	 * Constraint:
-	 *     (dataAction=SignalActionEnum dataRef=[DataInterchange|ID])
+	 *     (dataAction=SignalActionEnum dataRef=[DataInterchange|ID] fileName=STRING)
 	 */
 	protected void sequence_SignalDatainterchange(ISerializationContext context, SignalDatainterchange semanticObject) {
 		if (errorAcceptor != null) {
@@ -456,10 +456,13 @@
 				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SignalDSLPackage.Literals.SIGNAL_DATAINTERCHANGE__DATA_ACTION));
 			if (transientValues.isValueTransient(semanticObject, SignalDSLPackage.Literals.SIGNAL_DATAINTERCHANGE__DATA_REF) == ValueTransient.YES)
 				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SignalDSLPackage.Literals.SIGNAL_DATAINTERCHANGE__DATA_REF));
+			if (transientValues.isValueTransient(semanticObject, SignalDSLPackage.Literals.SIGNAL_DATAINTERCHANGE__FILE_NAME) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SignalDSLPackage.Literals.SIGNAL_DATAINTERCHANGE__FILE_NAME));
 		}
 		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
 		feeder.accept(grammarAccess.getSignalDatainterchangeAccess().getDataActionSignalActionEnumEnumRuleCall_0_0(), semanticObject.getDataAction());
 		feeder.accept(grammarAccess.getSignalDatainterchangeAccess().getDataRefDataInterchangeIDTerminalRuleCall_1_0_1(), semanticObject.eGet(SignalDSLPackage.Literals.SIGNAL_DATAINTERCHANGE__DATA_REF, false));
+		feeder.accept(grammarAccess.getSignalDatainterchangeAccess().getFileNameSTRINGTerminalRuleCall_3_0(), semanticObject.getFileName());
 		feeder.finish();
 	}
 	
@@ -469,25 +472,10 @@
 	 *     SignalHandler returns SignalHandler
 	 *
 	 * Constraint:
-	 *     (name=ID actionType=SignalHandlerTypeEnum data=DataTransfer filemask=STRING)
+	 *     (name=TRANSLATABLEID actionType=SignalHandlerTypeEnum data=DataTransfer executiontype=SignalExecutionTypeEnum? filemask=STRING)
 	 */
 	protected void sequence_SignalHandler(ISerializationContext context, SignalHandler semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, SignalDSLPackage.Literals.SIGNAL_HANDLER__NAME) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SignalDSLPackage.Literals.SIGNAL_HANDLER__NAME));
-			if (transientValues.isValueTransient(semanticObject, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE));
-			if (transientValues.isValueTransient(semanticObject, SignalDSLPackage.Literals.SIGNAL_HANDLER__DATA) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SignalDSLPackage.Literals.SIGNAL_HANDLER__DATA));
-			if (transientValues.isValueTransient(semanticObject, SignalDSLPackage.Literals.SIGNAL_HANDLER__FILEMASK) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SignalDSLPackage.Literals.SIGNAL_HANDLER__FILEMASK));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getSignalHandlerAccess().getNameIDTerminalRuleCall_2_0(), semanticObject.getName());
-		feeder.accept(grammarAccess.getSignalHandlerAccess().getActionTypeSignalHandlerTypeEnumEnumRuleCall_3_0(), semanticObject.getActionType());
-		feeder.accept(grammarAccess.getSignalHandlerAccess().getDataDataTransferParserRuleCall_4_0(), semanticObject.getData());
-		feeder.accept(grammarAccess.getSignalHandlerAccess().getFilemaskSTRINGTerminalRuleCall_7_0(), semanticObject.getFilemask());
-		feeder.finish();
+		genericSequencer.createSequence(context, semanticObject);
 	}
 	
 	
@@ -520,7 +508,7 @@
 	 *     SignalWatcher returns SignalWatcher
 	 *
 	 * Constraint:
-	 *     (name=ID directory=STRING signal=SignalTypeEnum handlers+=SignalHandler*)
+	 *     (name=TRANSLATABLEID directory=STRING signal=SignalTypeEnum handlers+=SignalHandler*)
 	 */
 	protected void sequence_SignalWatcher(ISerializationContext context, SignalWatcher semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
diff --git a/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/serializer/SignalDSLSyntacticSequencer.java b/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/serializer/SignalDSLSyntacticSequencer.java
index d9a2007..a53cac9 100644
--- a/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/serializer/SignalDSLSyntacticSequencer.java
+++ b/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/serializer/SignalDSLSyntacticSequencer.java
@@ -34,6 +34,7 @@
 public class SignalDSLSyntacticSequencer extends AbstractSyntacticSequencer {
 
 	protected SignalDSLGrammarAccess grammarAccess;
+	protected AbstractElementAlias match_SignalPackage___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q;
 	protected AbstractElementAlias match_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q;
 	protected AbstractElementAlias match_XBlockExpression_SemicolonKeyword_2_1_q;
 	protected AbstractElementAlias match_XExpressionInClosure_SemicolonKeyword_1_1_q;
@@ -45,6 +46,7 @@
 	@Inject
 	protected void init(IGrammarAccess access) {
 		grammarAccess = (SignalDSLGrammarAccess) access;
+		match_SignalPackage___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getSignalPackageAccess().getLeftCurlyBracketKeyword_3_0()), new TokenAlias(false, false, grammarAccess.getSignalPackageAccess().getRightCurlyBracketKeyword_3_2()));
 		match_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0()), new TokenAlias(false, false, grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2()));
 		match_XBlockExpression_SemicolonKeyword_2_1_q = new TokenAlias(false, true, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1());
 		match_XExpressionInClosure_SemicolonKeyword_1_1_q = new TokenAlias(false, true, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1());
@@ -91,7 +93,9 @@
 		List<INode> transitionNodes = collectNodes(fromNode, toNode);
 		for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
 			List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
-			if (match_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q.equals(syntax))
+			if (match_SignalPackage___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q.equals(syntax))
+				emit_SignalPackage___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if (match_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q.equals(syntax))
 				emit_XAnnotation___LeftParenthesisKeyword_3_0_RightParenthesisKeyword_3_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if (match_XBlockExpression_SemicolonKeyword_2_1_q.equals(syntax))
 				emit_XBlockExpression_SemicolonKeyword_2_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
@@ -111,6 +115,17 @@
 
 	/**
 	 * Ambiguous syntax:
+	 *     ('{' '}')?
+	 *
+	 * This ambiguous syntax occurs at:
+	 *     name=QualifiedName (ambiguity) (rule end)
+	 */
+	protected void emit_SignalPackage___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Ambiguous syntax:
 	 *     ('(' ')')?
 	 *
 	 * This ambiguous syntax occurs at:
diff --git a/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/services/SignalDSLGrammarAccess.java b/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/services/SignalDSLGrammarAccess.java
index 1f10895..f3795a3 100644
--- a/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/services/SignalDSLGrammarAccess.java
+++ b/org.eclipse.osbp.xtext.signal/src-gen/org/eclipse/osbp/xtext/signal/services/SignalDSLGrammarAccess.java
@@ -85,10 +85,10 @@
 		private final Keyword cRightCurlyBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
 		
 		//SignalPackage:
-		//	{SignalPackage} 'package' name=QualifiedName ('{' watchers+=SignalWatcher* '}');
+		//	{SignalPackage} 'package' name=QualifiedName ('{' watchers+=SignalWatcher* '}')?;
 		@Override public ParserRule getRule() { return rule; }
 		
-		//{SignalPackage} 'package' name=QualifiedName ('{' watchers+=SignalWatcher* '}')
+		//{SignalPackage} 'package' name=QualifiedName ('{' watchers+=SignalWatcher* '}')?
 		public Group getGroup() { return cGroup; }
 		
 		//{SignalPackage}
@@ -103,7 +103,7 @@
 		//QualifiedName
 		public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; }
 		
-		//'{' watchers+=SignalWatcher* '}'
+		//('{' watchers+=SignalWatcher* '}')?
 		public Group getGroup_3() { return cGroup_3; }
 		
 		//'{'
@@ -124,7 +124,7 @@
 		private final Action cSignalWatcherAction_0 = (Action)cGroup.eContents().get(0);
 		private final Keyword cWatcherKeyword_1 = (Keyword)cGroup.eContents().get(1);
 		private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
-		private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
+		private final RuleCall cNameTRANSLATABLEIDParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
 		private final Keyword cDirectoryKeyword_3 = (Keyword)cGroup.eContents().get(3);
 		private final Assignment cDirectoryAssignment_4 = (Assignment)cGroup.eContents().get(4);
 		private final RuleCall cDirectorySTRINGTerminalRuleCall_4_0 = (RuleCall)cDirectoryAssignment_4.eContents().get(0);
@@ -138,14 +138,14 @@
 		
 		//SignalWatcher:
 		//	{SignalWatcher}
-		//	'watcher' name=ID
+		//	'watcher' name=TRANSLATABLEID
 		//	'directory' directory=STRING
 		//	'for' signal=SignalTypeEnum
 		//	'{' handlers+=SignalHandler* '}';
 		@Override public ParserRule getRule() { return rule; }
 		
-		//{SignalWatcher} 'watcher' name=ID 'directory' directory=STRING 'for' signal=SignalTypeEnum '{' handlers+=SignalHandler*
-		//'}'
+		//{SignalWatcher} 'watcher' name=TRANSLATABLEID 'directory' directory=STRING 'for' signal=SignalTypeEnum '{'
+		//handlers+=SignalHandler* '}'
 		public Group getGroup() { return cGroup; }
 		
 		//{SignalWatcher}
@@ -154,11 +154,11 @@
 		//'watcher'
 		public Keyword getWatcherKeyword_1() { return cWatcherKeyword_1; }
 		
-		//name=ID
+		//name=TRANSLATABLEID
 		public Assignment getNameAssignment_2() { return cNameAssignment_2; }
 		
-		//ID
-		public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
+		//TRANSLATABLEID
+		public RuleCall getNameTRANSLATABLEIDParserRuleCall_2_0() { return cNameTRANSLATABLEIDParserRuleCall_2_0; }
 		
 		//'directory'
 		public Keyword getDirectoryKeyword_3() { return cDirectoryKeyword_3; }
@@ -196,25 +196,28 @@
 		private final Action cSignalHandlerAction_0 = (Action)cGroup.eContents().get(0);
 		private final Keyword cHandlerKeyword_1 = (Keyword)cGroup.eContents().get(1);
 		private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
-		private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
+		private final RuleCall cNameTRANSLATABLEIDParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
 		private final Assignment cActionTypeAssignment_3 = (Assignment)cGroup.eContents().get(3);
 		private final RuleCall cActionTypeSignalHandlerTypeEnumEnumRuleCall_3_0 = (RuleCall)cActionTypeAssignment_3.eContents().get(0);
 		private final Assignment cDataAssignment_4 = (Assignment)cGroup.eContents().get(4);
 		private final RuleCall cDataDataTransferParserRuleCall_4_0 = (RuleCall)cDataAssignment_4.eContents().get(0);
-		private final Keyword cForKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Keyword cFileMaskKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		private final Assignment cExecutiontypeAssignment_5 = (Assignment)cGroup.eContents().get(5);
+		private final RuleCall cExecutiontypeSignalExecutionTypeEnumEnumRuleCall_5_0 = (RuleCall)cExecutiontypeAssignment_5.eContents().get(0);
+		private final Keyword cForFileMaskKeyword_6 = (Keyword)cGroup.eContents().get(6);
 		private final Assignment cFilemaskAssignment_7 = (Assignment)cGroup.eContents().get(7);
 		private final RuleCall cFilemaskSTRINGTerminalRuleCall_7_0 = (RuleCall)cFilemaskAssignment_7.eContents().get(0);
 		
 		//SignalHandler:
 		//	{SignalHandler}
-		//	'handler' name=ID
+		//	'handler' name=TRANSLATABLEID
 		//	actionType=SignalHandlerTypeEnum
 		//	data=DataTransfer
-		//	'for' 'fileMask' filemask=STRING;
+		//	executiontype=SignalExecutionTypeEnum?
+		//	'forFileMask' filemask=STRING;
 		@Override public ParserRule getRule() { return rule; }
 		
-		//{SignalHandler} 'handler' name=ID actionType=SignalHandlerTypeEnum data=DataTransfer 'for' 'fileMask' filemask=STRING
+		//{SignalHandler} 'handler' name=TRANSLATABLEID actionType=SignalHandlerTypeEnum data=DataTransfer
+		//executiontype=SignalExecutionTypeEnum? 'forFileMask' filemask=STRING
 		public Group getGroup() { return cGroup; }
 		
 		//{SignalHandler}
@@ -223,11 +226,11 @@
 		//'handler'
 		public Keyword getHandlerKeyword_1() { return cHandlerKeyword_1; }
 		
-		//name=ID
+		//name=TRANSLATABLEID
 		public Assignment getNameAssignment_2() { return cNameAssignment_2; }
 		
-		//ID
-		public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
+		//TRANSLATABLEID
+		public RuleCall getNameTRANSLATABLEIDParserRuleCall_2_0() { return cNameTRANSLATABLEIDParserRuleCall_2_0; }
 		
 		//actionType=SignalHandlerTypeEnum
 		public Assignment getActionTypeAssignment_3() { return cActionTypeAssignment_3; }
@@ -241,11 +244,14 @@
 		//DataTransfer
 		public RuleCall getDataDataTransferParserRuleCall_4_0() { return cDataDataTransferParserRuleCall_4_0; }
 		
-		//'for'
-		public Keyword getForKeyword_5() { return cForKeyword_5; }
+		//executiontype=SignalExecutionTypeEnum?
+		public Assignment getExecutiontypeAssignment_5() { return cExecutiontypeAssignment_5; }
 		
-		//'fileMask'
-		public Keyword getFileMaskKeyword_6() { return cFileMaskKeyword_6; }
+		//SignalExecutionTypeEnum
+		public RuleCall getExecutiontypeSignalExecutionTypeEnumEnumRuleCall_5_0() { return cExecutiontypeSignalExecutionTypeEnumEnumRuleCall_5_0; }
+		
+		//'forFileMask'
+		public Keyword getForFileMaskKeyword_6() { return cForFileMaskKeyword_6; }
 		
 		//filemask=STRING
 		public Assignment getFilemaskAssignment_7() { return cFilemaskAssignment_7; }
@@ -278,19 +284,17 @@
 		private final Group cGroup = (Group)rule.eContents().get(1);
 		private final Action cListTransferAction_0 = (Action)cGroup.eContents().get(0);
 		private final Keyword cDataTransferKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Assignment cExecutiontypeAssignment_2 = (Assignment)cGroup.eContents().get(2);
-		private final RuleCall cExecutiontypeSignalExecutionTypeEnumEnumRuleCall_2_0 = (RuleCall)cExecutiontypeAssignment_2.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cInterchangesAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cInterchangesSignalDatainterchangeParserRuleCall_4_0 = (RuleCall)cInterchangesAssignment_4.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cInterchangesAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cInterchangesSignalDatainterchangeParserRuleCall_3_0 = (RuleCall)cInterchangesAssignment_3.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
 		
 		//ListTransfer:
-		//	{ListTransfer} 'DataTransfer' executiontype=SignalExecutionTypeEnum?
+		//	{ListTransfer} 'DataTransfer'
 		//	'{' interchanges+=SignalDatainterchange* '}';
 		@Override public ParserRule getRule() { return rule; }
 		
-		//{ListTransfer} 'DataTransfer' executiontype=SignalExecutionTypeEnum? '{' interchanges+=SignalDatainterchange* '}'
+		//{ListTransfer} 'DataTransfer' '{' interchanges+=SignalDatainterchange* '}'
 		public Group getGroup() { return cGroup; }
 		
 		//{ListTransfer}
@@ -299,23 +303,17 @@
 		//'DataTransfer'
 		public Keyword getDataTransferKeyword_1() { return cDataTransferKeyword_1; }
 		
-		//executiontype=SignalExecutionTypeEnum?
-		public Assignment getExecutiontypeAssignment_2() { return cExecutiontypeAssignment_2; }
-		
-		//SignalExecutionTypeEnum
-		public RuleCall getExecutiontypeSignalExecutionTypeEnumEnumRuleCall_2_0() { return cExecutiontypeSignalExecutionTypeEnumEnumRuleCall_2_0; }
-		
 		//'{'
-		public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
+		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
 		
 		//interchanges+=SignalDatainterchange*
-		public Assignment getInterchangesAssignment_4() { return cInterchangesAssignment_4; }
+		public Assignment getInterchangesAssignment_3() { return cInterchangesAssignment_3; }
 		
 		//SignalDatainterchange
-		public RuleCall getInterchangesSignalDatainterchangeParserRuleCall_4_0() { return cInterchangesSignalDatainterchangeParserRuleCall_4_0; }
+		public RuleCall getInterchangesSignalDatainterchangeParserRuleCall_3_0() { return cInterchangesSignalDatainterchangeParserRuleCall_3_0; }
 		
 		//'}'
-		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
 	}
 	public class SingleTransferElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.signal.SignalDSL.SingleTransfer");
@@ -340,13 +338,17 @@
 		private final Assignment cDataRefAssignment_1 = (Assignment)cGroup.eContents().get(1);
 		private final CrossReference cDataRefDataInterchangeCrossReference_1_0 = (CrossReference)cDataRefAssignment_1.eContents().get(0);
 		private final RuleCall cDataRefDataInterchangeIDTerminalRuleCall_1_0_1 = (RuleCall)cDataRefDataInterchangeCrossReference_1_0.eContents().get(1);
+		private final Keyword cFileNameKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cFileNameAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cFileNameSTRINGTerminalRuleCall_3_0 = (RuleCall)cFileNameAssignment_3.eContents().get(0);
 		
 		//SignalDatainterchange:
 		//	dataAction=SignalActionEnum
-		//	dataRef=[data::DataInterchange];
+		//	dataRef=[data::DataInterchange]
+		//	'fileName' fileName=STRING;
 		@Override public ParserRule getRule() { return rule; }
 		
-		//dataAction=SignalActionEnum dataRef=[data::DataInterchange]
+		//dataAction=SignalActionEnum dataRef=[data::DataInterchange] 'fileName' fileName=STRING
 		public Group getGroup() { return cGroup; }
 		
 		//dataAction=SignalActionEnum
@@ -363,6 +365,15 @@
 		
 		//ID
 		public RuleCall getDataRefDataInterchangeIDTerminalRuleCall_1_0_1() { return cDataRefDataInterchangeIDTerminalRuleCall_1_0_1; }
+		
+		//'fileName'
+		public Keyword getFileNameKeyword_2() { return cFileNameKeyword_2; }
+		
+		//fileName=STRING
+		public Assignment getFileNameAssignment_3() { return cFileNameAssignment_3; }
+		
+		//STRING
+		public RuleCall getFileNameSTRINGTerminalRuleCall_3_0() { return cFileNameSTRINGTerminalRuleCall_3_0; }
 	}
 	public class SignalProcessorElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.signal.SignalDSL.SignalProcessor");
@@ -386,6 +397,17 @@
 		//ID
 		public RuleCall getIDTerminalRuleCall() { return cIDTerminalRuleCall; }
 	}
+	public class TRANSLATABLESTRINGElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.signal.SignalDSL.TRANSLATABLESTRING");
+		private final RuleCall cSTRINGTerminalRuleCall = (RuleCall)rule.eContents().get(1);
+		
+		//TRANSLATABLESTRING:
+		//	STRING;
+		@Override public ParserRule getRule() { return rule; }
+		
+		//STRING
+		public RuleCall getSTRINGTerminalRuleCall() { return cSTRINGTerminalRuleCall; }
+	}
 	
 	public class SignalActionEnumElements extends AbstractEnumRuleElementFinder {
 		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.signal.SignalDSL.SignalActionEnum");
@@ -417,94 +439,60 @@
 	public class SignalTypeEnumElements extends AbstractEnumRuleElementFinder {
 		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.signal.SignalDSL.SignalTypeEnum");
 		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final EnumLiteralDeclaration cAllEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
-		private final Keyword cAllAllKeyword_0_0 = (Keyword)cAllEnumLiteralDeclaration_0.eContents().get(0);
-		private final EnumLiteralDeclaration cCreatesignalsEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
-		private final Keyword cCreatesignalsCreateSignalsKeyword_1_0 = (Keyword)cCreatesignalsEnumLiteralDeclaration_1.eContents().get(0);
-		private final EnumLiteralDeclaration cModifysignalsEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
-		private final Keyword cModifysignalsModifySignalsKeyword_2_0 = (Keyword)cModifysignalsEnumLiteralDeclaration_2.eContents().get(0);
-		private final EnumLiteralDeclaration cDeletesignalsEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
-		private final Keyword cDeletesignalsDeleteSignalsKeyword_3_0 = (Keyword)cDeletesignalsEnumLiteralDeclaration_3.eContents().get(0);
+		private final EnumLiteralDeclaration cCreatesignalsEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+		private final Keyword cCreatesignalsCreateSignalsKeyword_0_0 = (Keyword)cCreatesignalsEnumLiteralDeclaration_0.eContents().get(0);
+		private final EnumLiteralDeclaration cModifysignalsEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+		private final Keyword cModifysignalsModifySignalsKeyword_1_0 = (Keyword)cModifysignalsEnumLiteralDeclaration_1.eContents().get(0);
 		
-		//enum SignalTypeEnum:
-		//	all |
-		//	createsignals='createSignals' |
-		//	modifysignals='modifySignals' |
-		//	deletesignals='deleteSignals';
+		//enum SignalTypeEnum: //	all	= 'all' |
+		//	createsignals='createSignals' | modifysignals='modifySignals';
 		public EnumRule getRule() { return rule; }
 		
-		//all | createsignals='createSignals' | modifysignals='modifySignals' | deletesignals='deleteSignals'
+		////	all	= 'all' |
+		//createsignals='createSignals' | modifysignals='modifySignals'
 		public Alternatives getAlternatives() { return cAlternatives; }
 		
-		//all
-		public EnumLiteralDeclaration getAllEnumLiteralDeclaration_0() { return cAllEnumLiteralDeclaration_0; }
-		
-		//'all'
-		public Keyword getAllAllKeyword_0_0() { return cAllAllKeyword_0_0; }
-		
+		////	all	= 'all' |
 		//createsignals='createSignals'
-		public EnumLiteralDeclaration getCreatesignalsEnumLiteralDeclaration_1() { return cCreatesignalsEnumLiteralDeclaration_1; }
+		public EnumLiteralDeclaration getCreatesignalsEnumLiteralDeclaration_0() { return cCreatesignalsEnumLiteralDeclaration_0; }
 		
 		//'createSignals'
-		public Keyword getCreatesignalsCreateSignalsKeyword_1_0() { return cCreatesignalsCreateSignalsKeyword_1_0; }
+		public Keyword getCreatesignalsCreateSignalsKeyword_0_0() { return cCreatesignalsCreateSignalsKeyword_0_0; }
 		
 		//modifysignals='modifySignals'
-		public EnumLiteralDeclaration getModifysignalsEnumLiteralDeclaration_2() { return cModifysignalsEnumLiteralDeclaration_2; }
+		public EnumLiteralDeclaration getModifysignalsEnumLiteralDeclaration_1() { return cModifysignalsEnumLiteralDeclaration_1; }
 		
 		//'modifySignals'
-		public Keyword getModifysignalsModifySignalsKeyword_2_0() { return cModifysignalsModifySignalsKeyword_2_0; }
-		
-		//deletesignals='deleteSignals'
-		public EnumLiteralDeclaration getDeletesignalsEnumLiteralDeclaration_3() { return cDeletesignalsEnumLiteralDeclaration_3; }
-		
-		//'deleteSignals'
-		public Keyword getDeletesignalsDeleteSignalsKeyword_3_0() { return cDeletesignalsDeleteSignalsKeyword_3_0; }
+		public Keyword getModifysignalsModifySignalsKeyword_1_0() { return cModifysignalsModifySignalsKeyword_1_0; }
 	}
 	public class SignalHandlerTypeEnumElements extends AbstractEnumRuleElementFinder {
 		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.signal.SignalDSL.SignalHandlerTypeEnum");
 		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final EnumLiteralDeclaration cDoafterEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
-		private final Keyword cDoafterDoAfterKeyword_0_0 = (Keyword)cDoafterEnumLiteralDeclaration_0.eContents().get(0);
-		private final EnumLiteralDeclaration cDoaftermodifyEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
-		private final Keyword cDoaftermodifyDoAfterModifyKeyword_1_0 = (Keyword)cDoaftermodifyEnumLiteralDeclaration_1.eContents().get(0);
-		private final EnumLiteralDeclaration cDoaftercreateEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
-		private final Keyword cDoaftercreateDoAfterCreateKeyword_2_0 = (Keyword)cDoaftercreateEnumLiteralDeclaration_2.eContents().get(0);
-		private final EnumLiteralDeclaration cDoafterdeleteEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
-		private final Keyword cDoafterdeleteDoAfterDeleteKeyword_3_0 = (Keyword)cDoafterdeleteEnumLiteralDeclaration_3.eContents().get(0);
+		private final EnumLiteralDeclaration cDoaftermodifyEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+		private final Keyword cDoaftermodifyDoAfterModifyKeyword_0_0 = (Keyword)cDoaftermodifyEnumLiteralDeclaration_0.eContents().get(0);
+		private final EnumLiteralDeclaration cDoaftercreateEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+		private final Keyword cDoaftercreateDoAfterCreateKeyword_1_0 = (Keyword)cDoaftercreateEnumLiteralDeclaration_1.eContents().get(0);
 		
-		//enum SignalHandlerTypeEnum:
-		//	doafter='doAfter' |
-		//	doaftermodify='doAfterModify' |
-		//	doaftercreate='doAfterCreate' |
-		//	doafterdelete='doAfterDelete';
+		//enum SignalHandlerTypeEnum: //	doafter = 'doAfter' |	
+		//	doaftermodify='doAfterModify' | doaftercreate='doAfterCreate';
 		public EnumRule getRule() { return rule; }
 		
-		//doafter='doAfter' | doaftermodify='doAfterModify' | doaftercreate='doAfterCreate' | doafterdelete='doAfterDelete'
+		////	doafter = 'doAfter' |	
+		//doaftermodify='doAfterModify' | doaftercreate='doAfterCreate'
 		public Alternatives getAlternatives() { return cAlternatives; }
 		
-		//doafter='doAfter'
-		public EnumLiteralDeclaration getDoafterEnumLiteralDeclaration_0() { return cDoafterEnumLiteralDeclaration_0; }
-		
-		//'doAfter'
-		public Keyword getDoafterDoAfterKeyword_0_0() { return cDoafterDoAfterKeyword_0_0; }
-		
+		////	doafter = 'doAfter' |	
 		//doaftermodify='doAfterModify'
-		public EnumLiteralDeclaration getDoaftermodifyEnumLiteralDeclaration_1() { return cDoaftermodifyEnumLiteralDeclaration_1; }
+		public EnumLiteralDeclaration getDoaftermodifyEnumLiteralDeclaration_0() { return cDoaftermodifyEnumLiteralDeclaration_0; }
 		
 		//'doAfterModify'
-		public Keyword getDoaftermodifyDoAfterModifyKeyword_1_0() { return cDoaftermodifyDoAfterModifyKeyword_1_0; }
+		public Keyword getDoaftermodifyDoAfterModifyKeyword_0_0() { return cDoaftermodifyDoAfterModifyKeyword_0_0; }
 		
 		//doaftercreate='doAfterCreate'
-		public EnumLiteralDeclaration getDoaftercreateEnumLiteralDeclaration_2() { return cDoaftercreateEnumLiteralDeclaration_2; }
+		public EnumLiteralDeclaration getDoaftercreateEnumLiteralDeclaration_1() { return cDoaftercreateEnumLiteralDeclaration_1; }
 		
 		//'doAfterCreate'
-		public Keyword getDoaftercreateDoAfterCreateKeyword_2_0() { return cDoaftercreateDoAfterCreateKeyword_2_0; }
-		
-		//doafterdelete='doAfterDelete'
-		public EnumLiteralDeclaration getDoafterdeleteEnumLiteralDeclaration_3() { return cDoafterdeleteEnumLiteralDeclaration_3; }
-		
-		//'doAfterDelete'
-		public Keyword getDoafterdeleteDoAfterDeleteKeyword_3_0() { return cDoafterdeleteDoAfterDeleteKeyword_3_0; }
+		public Keyword getDoaftercreateDoAfterCreateKeyword_1_0() { return cDoaftercreateDoAfterCreateKeyword_1_0; }
 	}
 	public class SignalExecutionTypeEnumElements extends AbstractEnumRuleElementFinder {
 		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.osbp.xtext.signal.SignalDSL.SignalExecutionTypeEnum");
@@ -548,6 +536,7 @@
 	private final SignalHandlerTypeEnumElements eSignalHandlerTypeEnum;
 	private final SignalExecutionTypeEnumElements eSignalExecutionTypeEnum;
 	private final TRANSLATABLEIDElements pTRANSLATABLEID;
+	private final TRANSLATABLESTRINGElements pTRANSLATABLESTRING;
 	
 	private final Grammar grammar;
 	
@@ -584,6 +573,7 @@
 		this.eSignalHandlerTypeEnum = new SignalHandlerTypeEnumElements();
 		this.eSignalExecutionTypeEnum = new SignalExecutionTypeEnumElements();
 		this.pTRANSLATABLEID = new TRANSLATABLEIDElements();
+		this.pTRANSLATABLESTRING = new TRANSLATABLESTRINGElements();
 	}
 	
 	protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
@@ -637,7 +627,7 @@
 	}
 	
 	//SignalPackage:
-	//	{SignalPackage} 'package' name=QualifiedName ('{' watchers+=SignalWatcher* '}');
+	//	{SignalPackage} 'package' name=QualifiedName ('{' watchers+=SignalWatcher* '}')?;
 	public SignalPackageElements getSignalPackageAccess() {
 		return pSignalPackage;
 	}
@@ -648,7 +638,7 @@
 	
 	//SignalWatcher:
 	//	{SignalWatcher}
-	//	'watcher' name=ID
+	//	'watcher' name=TRANSLATABLEID
 	//	'directory' directory=STRING
 	//	'for' signal=SignalTypeEnum
 	//	'{' handlers+=SignalHandler* '}';
@@ -662,10 +652,11 @@
 	
 	//SignalHandler:
 	//	{SignalHandler}
-	//	'handler' name=ID
+	//	'handler' name=TRANSLATABLEID
 	//	actionType=SignalHandlerTypeEnum
 	//	data=DataTransfer
-	//	'for' 'fileMask' filemask=STRING;
+	//	executiontype=SignalExecutionTypeEnum?
+	//	'forFileMask' filemask=STRING;
 	public SignalHandlerElements getSignalHandlerAccess() {
 		return pSignalHandler;
 	}
@@ -686,7 +677,7 @@
 	}
 	
 	//ListTransfer:
-	//	{ListTransfer} 'DataTransfer' executiontype=SignalExecutionTypeEnum?
+	//	{ListTransfer} 'DataTransfer'
 	//	'{' interchanges+=SignalDatainterchange* '}';
 	public ListTransferElements getListTransferAccess() {
 		return pListTransfer;
@@ -708,7 +699,8 @@
 	
 	//SignalDatainterchange:
 	//	dataAction=SignalActionEnum
-	//	dataRef=[data::DataInterchange];
+	//	dataRef=[data::DataInterchange]
+	//	'fileName' fileName=STRING;
 	public SignalDatainterchangeElements getSignalDatainterchangeAccess() {
 		return pSignalDatainterchange;
 	}
@@ -737,11 +729,8 @@
 		return getSignalActionEnumAccess().getRule();
 	}
 	
-	//enum SignalTypeEnum:
-	//	all |
-	//	createsignals='createSignals' |
-	//	modifysignals='modifySignals' |
-	//	deletesignals='deleteSignals';
+	//enum SignalTypeEnum: //	all	= 'all' |
+	//	createsignals='createSignals' | modifysignals='modifySignals';
 	public SignalTypeEnumElements getSignalTypeEnumAccess() {
 		return eSignalTypeEnum;
 	}
@@ -750,11 +739,8 @@
 		return getSignalTypeEnumAccess().getRule();
 	}
 	
-	//enum SignalHandlerTypeEnum:
-	//	doafter='doAfter' |
-	//	doaftermodify='doAfterModify' |
-	//	doaftercreate='doAfterCreate' |
-	//	doafterdelete='doAfterDelete';
+	//enum SignalHandlerTypeEnum: //	doafter = 'doAfter' |	
+	//	doaftermodify='doAfterModify' | doaftercreate='doAfterCreate';
 	public SignalHandlerTypeEnumElements getSignalHandlerTypeEnumAccess() {
 		return eSignalHandlerTypeEnum;
 	}
@@ -783,6 +769,16 @@
 		return getTRANSLATABLEIDAccess().getRule();
 	}
 	
+	//TRANSLATABLESTRING:
+	//	STRING;
+	public TRANSLATABLESTRINGElements getTRANSLATABLESTRINGAccess() {
+		return pTRANSLATABLESTRING;
+	}
+	
+	public ParserRule getTRANSLATABLESTRINGRule() {
+		return getTRANSLATABLESTRINGAccess().getRule();
+	}
+	
 	//@ Override XImportDeclaration OXImportDeclaration:
 	//	{OXImportDeclaration}
 	//	'import' (static?='static' extension?='extension'? importedType=[JvmDeclaredType|QualifiedNameInStaticImport]
diff --git a/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/SignalDSL.xtext b/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/SignalDSL.xtext
index 4f918af..1e50e73 100644
--- a/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/SignalDSL.xtext
+++ b/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/SignalDSL.xtext
@@ -26,24 +26,24 @@
 
 SignalPackage:
 	{SignalPackage} 'package' name=QualifiedName 
-	('{' (watchers+=SignalWatcher)*  '}') ;
+	('{' (watchers+=SignalWatcher)*  '}')? ;
 
 
 SignalWatcher:
 	{SignalWatcher}
-	'watcher' name=ID
+	'watcher' name=TRANSLATABLEID
 	'directory' directory=STRING 
 	'for' signal=SignalTypeEnum
-	'{' (handlers+=SignalHandler)*	'}'
-;
+	'{' (handlers+=SignalHandler)*	'}';
 
 
 SignalHandler:
 	{SignalHandler}
-	'handler' name=ID
+	'handler' name=TRANSLATABLEID
 	actionType=SignalHandlerTypeEnum
 	data=DataTransfer
-	'for' 'fileMask' filemask=STRING;
+	(executiontype=SignalExecutionTypeEnum)?
+	'forFileMask' filemask=STRING;
 //	processor=SignalProcessor;
 
 DataTransfer:
@@ -51,7 +51,7 @@
 ;
 
 ListTransfer:
-	{ListTransfer} 'DataTransfer'  (executiontype=SignalExecutionTypeEnum)? 
+	{ListTransfer} 'DataTransfer'  
 	'{' interchanges+=SignalDatainterchange* '}'
 ;
 
@@ -61,7 +61,8 @@
 	
 SignalDatainterchange:
 	dataAction=SignalActionEnum
-	dataRef = ([data::DataInterchange]);
+	dataRef = [data::DataInterchange]
+	'fileName' fileName=STRING;
 	
 SignalProcessor:
 	SignalDatainterchange;
@@ -70,19 +71,22 @@
 	DATAIMPORT='Import' | DATAEXPORT='Export';
 
 enum SignalTypeEnum:
-	all	= 'all' |
+//	all	= 'all' |
 	createsignals = 'createSignals' |
-	modifysignals = 'modifySignals' |
-	deletesignals = 'deleteSignals';
+	modifysignals = 'modifySignals' ;
+//	deletesignals = 'deleteSignals';
 	
 enum SignalHandlerTypeEnum:
-	doafter = 'doAfter' |	
+//	doafter = 'doAfter' |	
 	doaftermodify = 'doAfterModify' |
-	doaftercreate = 'doAfterCreate'|
-	doafterdelete = 'doAfterDelete';
+	doaftercreate = 'doAfterCreate';
+//	doafterdelete = 'doAfterDelete';
 
 enum SignalExecutionTypeEnum:
 	SYNC = 'synch' | ASYNC = 'asynch';
 	
 TRANSLATABLEID:
-	ID;
\ No newline at end of file
+	ID;
+	
+TRANSLATABLESTRING:
+	STRING;
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/SignaleDSLBundleSpaceStandaloneSetup.java b/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/SignalDSLBundleSpaceStandaloneSetup.java
similarity index 89%
rename from org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/SignaleDSLBundleSpaceStandaloneSetup.java
rename to org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/SignalDSLBundleSpaceStandaloneSetup.java
index 0976fd7..3ce9d3e 100644
--- a/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/SignaleDSLBundleSpaceStandaloneSetup.java
+++ b/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/SignalDSLBundleSpaceStandaloneSetup.java
@@ -19,9 +19,10 @@
 import com.google.inject.Injector;
 
 @SuppressWarnings("restriction")
-public class SignaleDSLBundleSpaceStandaloneSetup extends SignalDSLStandaloneSetup {
+public class SignalDSLBundleSpaceStandaloneSetup extends 
+		SignalDSLStandaloneSetup {
 	public static void doSetup() {
-		new SignaleDSLBundleSpaceStandaloneSetup().createInjectorAndDoEMFRegistration();
+		new SignalDSLBundleSpaceStandaloneSetup().createInjectorAndDoEMFRegistration();
 	}
 	
 	@Override
diff --git a/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/SignalDSLRuntimeModule.java b/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/SignalDSLRuntimeModule.java
index afdd39a..8c5c24a 100644
--- a/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/SignalDSLRuntimeModule.java
+++ b/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/SignalDSLRuntimeModule.java
@@ -20,9 +20,7 @@
 
 import org.eclipse.osbp.dsl.common.xtext.scoping.ScopingInfoProvider;
 import org.eclipse.osbp.xtext.i18n.DSLOutputConfigurationProvider;
-import org.eclipse.osbp.xtext.oxtype.imports.EObjectUsages;
 import org.eclipse.osbp.xtext.oxtype.imports.IShouldImportProvider;
-import org.eclipse.osbp.xtext.oxtype.imports.IUnresolvedEObjectResolver;
 import org.eclipse.osbp.xtext.oxtype.imports.OXTypeRewritableImportSection;
 import org.eclipse.osbp.xtext.oxtype.linker.JvmTypeAwareLinker;
 import org.eclipse.osbp.xtext.oxtype.linking.OXTypeLinkingService;
@@ -40,7 +38,6 @@
 import org.eclipse.xtext.generator.IGenerator;
 import org.eclipse.xtext.generator.IOutputConfigurationProvider;
 import org.eclipse.xtext.linking.ILinkingService;
-import org.eclipse.xtext.resource.XtextResource;
 import org.eclipse.xtext.resource.persistence.IResourceStorageFacade;
 import org.eclipse.xtext.scoping.IScopeProvider;
 import org.eclipse.xtext.serializer.sequencer.ITransientValueService;
@@ -56,6 +53,7 @@
  * Use this class to register components to be used at runtime / without the Equinox extension registry.
  */
 public class SignalDSLRuntimeModule extends AbstractSignalDSLRuntimeModule {
+	
 	public Class<? extends IResourceStorageFacade> bindResourceStorageFacade() {
 		return BatchLinkableResourceStorageFacade.class;
 	}
@@ -64,12 +62,12 @@
 		return JvmModelTargetURICollector.class;
 	}
 	
-	
 	@Override
 	public Class<? extends IGenerator> bindIGenerator() {
 		return SignalModelGenerator.class;
 	}
 
+	@Override
 	public Class<? extends IScopeProvider> bindIScopeProvider() {
 		return SignalDSLScopeProvider.class;
 	}
@@ -78,6 +76,7 @@
 		return SignalDSLFormatter.class;
 	}
 	
+	@Override
 	public Class<? extends XbaseBatchScopeProvider> bindXbaseBatchScopeProvider() {
 		return SignalDSLScopeProvider.class;
 	}
@@ -87,28 +86,13 @@
 		return SignalValueConverterService.class;
 	}
 	
-	
-//	public Class<? extends IUnresolvedEObjectResolver> bindIUnresolvedEObjectResolver() {
-//		return Dummy.class;
-//	}
-//	
-//	public static class Dummy implements IUnresolvedEObjectResolver{
-//
-//		@Override
-//		public void resolve(EObjectUsages typeUsages, XtextResource resource) {
-//			// TODO Auto-generated method stub
-//			
-//		}
-//		
-//	}
-//
 	@Override
 	public void configure(Binder binder) {
 		super.configure(binder);
-		binder.bind(IOutputConfigurationProvider.class)
-				.to(DSLOutputConfigurationProvider.class).in(Singleton.class);
+		binder.bind(IOutputConfigurationProvider.class).to(DSLOutputConfigurationProvider.class).in(Singleton.class);
 	}
-
+	
+	@Override
 	public Class<? extends org.eclipse.xtext.resource.XtextResource> bindXtextResource() {
 		return SemanticLoadingResource.class;
 	}
@@ -136,8 +120,7 @@
 	@Override
 	public void configureIScopeProviderDelegate(Binder binder) {
 		binder.bind(IScopeProvider.class)
-				.annotatedWith(
-						Names.named("org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.delegate"))
+				.annotatedWith(Names.named("org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.delegate"))
 				.to(OXDelegatingNamespaceScopeProvider.class);
 	}
 
diff --git a/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/common/OSBPSignalWatcher.java b/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/common/OSBPSignalWatcher.java
index ffd3029..ef0b027 100644
--- a/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/common/OSBPSignalWatcher.java
+++ b/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/common/OSBPSignalWatcher.java
@@ -130,15 +130,15 @@
 	 * @return true if yes, false if not
 	 */
 	public boolean isHandlingAllowed(Kind<?> event) {
-		if (signals.contains(SignalTypeEnum.ALL)) {
-			return true;
-		}
+//		if (signals.contains(SignalTypeEnum.ALL)) {
+//			return true;
+//		}
 
 		switch (event.name()) {
 		case "ENTRY_CREATE":
 			return signals.contains(SignalTypeEnum.CREATESIGNALS);
-		case "ENTRY_DELETE":
-			return signals.contains(SignalTypeEnum.DELETESIGNALS);
+//		case "ENTRY_DELETE":
+//			return signals.contains(SignalTypeEnum.DELETESIGNALS);
 		case "ENTRY_MODIFY":
 			return signals.contains(SignalTypeEnum.MODIFYSIGNALS);
 		default:
@@ -193,12 +193,13 @@
 	 */
 	public void registerPathToWatcher(Path directory) throws IOException {
 		if (signals != null && !signals.isEmpty() && directory != null) {
-			if (signals.contains(SignalTypeEnum.ALL)) {
-				// create a default key for all kind of changes
-				// and save the key for later use
-				getRegisteredKeysAndPaths().put(directory.register(getWatcher(), StandardWatchEventKinds.ENTRY_CREATE,
-						StandardWatchEventKinds.ENTRY_DELETE, StandardWatchEventKinds.ENTRY_MODIFY), directory);
-			} else {
+//			if (signals.contains(SignalTypeEnum.ALL)) {
+//				// create a default key for all kind of changes
+//				// and save the key for later use
+//				getRegisteredKeysAndPaths().put(directory.register(getWatcher(), StandardWatchEventKinds.ENTRY_CREATE,
+//						StandardWatchEventKinds.ENTRY_DELETE, StandardWatchEventKinds.ENTRY_MODIFY), directory);
+//			} 
+//			else {
 				for (SignalTypeEnum signal : signals) {
 					switch (signal) {
 					case CREATESIGNALS: {
@@ -215,19 +216,19 @@
 								.put(directory.register(getWatcher(), StandardWatchEventKinds.ENTRY_MODIFY), directory);
 						break;
 					}
-					case DELETESIGNALS: {
-						// create a default key for all kind of changes
-						// and save the key for later use
-						getRegisteredKeysAndPaths()
-								.put(directory.register(getWatcher(), StandardWatchEventKinds.ENTRY_DELETE), directory);
-						break;
-					}
+//					case DELETESIGNALS: {
+//						// create a default key for all kind of changes
+//						// and save the key for later use
+//						getRegisteredKeysAndPaths()
+//								.put(directory.register(getWatcher(), StandardWatchEventKinds.ENTRY_DELETE), directory);
+//						break;
+//					}
 					default:
 						// create no keys
 						break;
 					}
 				}
-			}
+//			}
 		} else {
 			log.debug("directory or signal type missing");
 		}
@@ -353,10 +354,10 @@
 		switch (event.name()) {
 		case "ENTRY_CREATE":
 			return SignalHandlerTypeEnum.DOAFTERCREATE;
-		case "ENTRY_DELETE":
-			return SignalHandlerTypeEnum.DOAFTERDELETE;
 		case "ENTRY_MODIFY":
 			return SignalHandlerTypeEnum.DOAFTERMODIFY;
+//		case "ENTRY_DELETE":
+//			return SignalHandlerTypeEnum.DOAFTERDELETE;
 		default:
 			return SignalHandlerTypeEnum.DOAFTER;
 		}
diff --git a/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/jvmmodel/SignalDSLJvmModelInferrer.xtend b/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/jvmmodel/SignalDSLJvmModelInferrer.xtend
index b8f03ee..1ce0fc0 100644
--- a/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/jvmmodel/SignalDSLJvmModelInferrer.xtend
+++ b/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/jvmmodel/SignalDSLJvmModelInferrer.xtend
@@ -71,7 +71,6 @@
 	@Inject extension SignalModelGenerator sg
 	@Inject extension AnnotationExtension
 
-	var public static String pckgName = null
 	var HashSet<String> operationlist
 
 	/**
@@ -86,15 +85,12 @@
 	 */
 	def dispatch void infer(SignalPackage signalPackage, IJvmDeclaredTypeAcceptor acceptor,
 		boolean isPreIndexingPhase) {
-		pckgName = signalPackage.name;
-
-		var cls = signalPackage.toClass(pckgName)
-		cls.simpleName = cls.simpleName.toFirstUpper
+		val pckgName = signalPackage.name;
 
 		// create watchers
 		for (watcher : signalPackage.watchers) {
 			var watcherClass = watcher.toClass(watcher.fullyQualifiedName)
-			watcherClass.simpleName = watcher.name.toFirstUpper
+			watcherClass.simpleName = watcher.name.toFirstUpper + "Watcher"
 			watcherClass.packageName = pckgName
 
 			acceptor.accept(watcherClass, [
@@ -263,7 +259,7 @@
 		return dataInterchange.name.toFirstLower
 	}
 
-	def String getBasicRunConfiguration(DataInterchange dataInterchange, boolean fqClass, String fileURL,
+	def String getBasicRunConfiguration(DataInterchange dataInterchange, boolean fqClass,
 		Direction direction, boolean asynch) {
 		var className = ""
 		if (fqClass) {
@@ -273,7 +269,7 @@
 		}
 		return '''
 			«className» «dataInterchange.getDefaultVariableName» = new «className»();
-			«dataInterchange.getDefaultVariableName».setFileURL("«fileURL»");
+			«dataInterchange.getDefaultVariableName».setFileURL(directory + FileSystems.getDefault().getSeparator() + filename);
 			«dataInterchange.getDefaultVariableName».setPersistenceService(persistenceService);
 			«dataInterchange.getDefaultVariableName».setDataInterchange(dataInterchange);
 			«dataInterchange.getDefaultVariableName».setBlobService(blobService);
@@ -348,7 +344,7 @@
 					executorService.submit(interchange).get();
 					log.debug("Watcher: "+interchange.getDirection()+" for "+ interchange.getName() + " successfully ended!");
 				} catch (Exception e) {
-					log.debug("Watcher: "+interchange.getDirection()+" for "+ interchange.getName() + " interupted ended!\n"+e.getMessage());
+					log.debug("Watcher: "+interchange.getDirection()+" for "+ interchange.getName() + " interupted!\n"+e.getMessage());
 				}
 			}
 			else{
@@ -367,16 +363,27 @@
 		'''
 		
 		for(handler : watcher.handlers){
+			var is_synch = (handler.executiontype ?: SignalExecutionTypeEnum.SYNC).equals(SignalExecutionTypeEnum.SYNC)
 			if(handler.data instanceof SingleTransfer){
 				var handlerdata = handler.data as SingleTransfer
 				result = result.concat(
 				'''
 						case "«handler.name+"|"+handler.filemask»":
-							executorService.execute(«handlerdata.interchange.getAppropriateInterchangeOperationName»()); break;
+						«if(is_synch){
+							'''
+							try {
+								log.debug("Watcher: Start «handlerdata.interchange.dataAction.literal.toFirstUpper» for interchange «handlerdata.interchange.dataRef.name.toFirstUpper»!");
+								executorService.submit(«handlerdata.interchange.getAppropriateInterchangeOperationName»(directory + "«handlerdata.interchange.fileName»")).get();
+								log.debug("Watcher: «handlerdata.interchange.dataAction.literal.toFirstUpper» for interchange «handlerdata.interchange.dataRef.name.toFirstUpper» successfully ended!");
+							}catch (Exception e) {
+								log.debug("Watcher: «handlerdata.interchange.dataAction.literal.toFirstUpper» for interchange «handlerdata.interchange.dataRef.name.toFirstUpper» interupted!\n"+e.getMessage());
+							} break;
+							'''
+						}else{
+							'''executorService.execute(«handlerdata.interchange.getAppropriateInterchangeOperationName»(directory + "«handlerdata.interchange.fileName»")); break;'''
+						}»
 				''')
 			}else{
-				var handlerdata = handler.data as ListTransfer
-				var is_synch = (handlerdata.executiontype ?: SignalExecutionTypeEnum.SYNC).equals(SignalExecutionTypeEnum.SYNC)
 				result = result.concat(
 				'''
 						case "«handler.name+"|"+handler.filemask»":
@@ -421,7 +428,7 @@
 				''')
 				
 				for (interchange : handlerdata.interchanges) {
-					result = result.concat('''data.add(«interchange.appropriateInterchangeOperationName»());
+					result = result.concat('''data.add(«interchange.appropriateInterchangeOperationName»("«interchange.fileName»"));
 					''')
 				}
 				result = result.concat('''listOfTasks.put("«handler.name+"|"+handler.filemask»", data);
@@ -454,14 +461,16 @@
 				type.members +=
 				watcher.toMethod(operationname, _typeReferenceBuilder.typeRef("WorkerThreadRunnable"), 
 				[
-					body = [append('''«interchange.dataRef.getBasicRunConfiguration(true, getFileURL(interchange.dataRef), Direction.IMPORT, false)»''')]
+					parameters += watcher.toParameter("filename", _typeReferenceBuilder.typeRef(String))
+					body = [append('''«interchange.dataRef.getBasicRunConfiguration(true, Direction.IMPORT, false)»''')]
 				])
 			}
 			else{
 				type.members +=
 				watcher.toMethod(operationname, _typeReferenceBuilder.typeRef("WorkerThreadRunnable"), 
 				[
-					body = [append('''«interchange.dataRef.getBasicRunConfiguration(true, getFileURL(interchange.dataRef), Direction.EXPORT, false)»''')]
+					parameters += watcher.toParameter("filename", _typeReferenceBuilder.typeRef(String))
+					body = [append('''«interchange.dataRef.getBasicRunConfiguration(true, Direction.EXPORT, false)»''')]
 				])
 			} 
 			operationlist.add(operationname)
@@ -476,6 +485,12 @@
 			setInitializer([append('''LoggerFactory.getLogger("watcher")''')])
 		]
 		type.members += field
+		// create directory field
+		field = watcher.toField("directory", _typeReferenceBuilder.typeRef(String)) [
+			visibility = JvmVisibility::PRIVATE
+			setInitializer([append('''"«watcher.directory»"''')])
+		]
+		type.members += field
 		// create thread field
 		field = watcher.toField("thread", _typeReferenceBuilder.typeRef(Thread)) [
 			visibility = JvmVisibility::PRIVATE
@@ -526,15 +541,15 @@
 			thread = new Thread() {
 				@Override
 					public void run() {
-						//«watcher.name.toFirstUpper» watcherservice = null;
+						//«watcher.name.toFirstUpper+"Watcher"» watcherservice = null;
 							try {
-								//watcherservice = new «watcher.name.toFirstUpper»();
+								//watcherservice = new «watcher.name.toFirstUpper+"Watcher"»();
 								//watcherservice.setSignals(Arrays.asList(SignalTypeEnum.«watcher.signal.literal.toUpperCase»));
-								//watcherservice.registerPathToWatcher(Paths.get("«watcher.directory»"));
+								//watcherservice.registerPathToWatcher(Paths.get(directory));
 								setSignals(Arrays.asList(SignalTypeEnum.«watcher.signal.literal.toUpperCase»));
-								registerPathToWatcher(Paths.get("«watcher.directory»"));
+								registerPathToWatcher(Paths.get(directory));
 								while (active) {
-									log.debug("Start watcher Service «watcher.name.toFirstUpper»");
+									log.debug("Start watcher Service «watcher.name.toFirstUpper+"Watcher"»");
 									//watcherservice.processEvents();
 									initTasksLists();
 									processEvents();
diff --git a/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/jvmmodel/SignalModelGenerator.xtend b/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/jvmmodel/SignalModelGenerator.xtend
index 8c839f2..f3d7718 100644
--- a/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/jvmmodel/SignalModelGenerator.xtend
+++ b/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/jvmmodel/SignalModelGenerator.xtend
@@ -76,6 +76,7 @@
 	}
 
 	override doGenerate(Resource resource, IFileSystemAccess fsa) {
+//		addTranslatables("startProcessText,answerYesText,answerNoText,designer,designmode,undo,redo,new,change,export,download")
 		super.doGenerate(resource, fsa)
 	}
 	
diff --git a/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/validation/SignalDSLValidator.xtend b/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/validation/SignalDSLValidator.xtend
index f3453d7..ef252fc 100644
--- a/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/validation/SignalDSLValidator.xtend
+++ b/org.eclipse.osbp.xtext.signal/src/org/eclipse/osbp/xtext/signal/validation/SignalDSLValidator.xtend
@@ -40,19 +40,19 @@
 				if(watcher !== null && handler.actionType !== null){
 					checkHandlerActionType(handler)
 					var signal = watcher.signal 
-					if(signal !== null && signal.equals(SignalTypeEnum.ALL)){
-						// no problem						
-					}
-					else if ( signal !== null && signal.equals(SignalTypeEnum.CREATESIGNALS)){
+//					if(signal !== null && signal.equals(SignalTypeEnum.ALL)){
+//						// no problem						
+//					}
+//					else if (signal !== null && signal.equals(SignalTypeEnum.DELETESIGNALS)) {
+//						if(!SignalHandlerTypeEnum.DOAFTERDELETE.equals(handler.actionType)){
+//							error("Only the handler type doAfterDelete is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE)
+//						}						
+//					}
+					if ( signal !== null && signal.equals(SignalTypeEnum.CREATESIGNALS)){
 						if (!SignalHandlerTypeEnum.DOAFTERCREATE.equals(handler.actionType)){
 							error("Only the handler type doAfterCreate is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE)
 						}
 					}
-					else if (signal !== null && signal.equals(SignalTypeEnum.DELETESIGNALS)) {
-						if(!SignalHandlerTypeEnum.DOAFTERDELETE.equals(handler.actionType)){
-							error("Only the handler type doAfterDelete is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE)
-						}						
-					}
 					else if (signal !== null && signal.equals(SignalTypeEnum.MODIFYSIGNALS)){
 						if (!SignalHandlerTypeEnum.DOAFTERMODIFY.equals(handler.actionType)){
 							error("Only the handler type doAföterModify is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE)
@@ -65,19 +65,19 @@
 	
 	def checkHandlerActionType(SignalHandler handler){
 		var signal = (handler.eContainer as SignalWatcher).signal 
-		if(signal !== null && signal.equals(SignalTypeEnum.ALL)){
-			// no problem						
-		}
-		else if ( signal !== null && signal.equals(SignalTypeEnum.CREATESIGNALS)){
+//		if(signal !== null && signal.equals(SignalTypeEnum.ALL)){
+//			// no problem						
+//		}
+//		else if (signal !== null && signal.equals(SignalTypeEnum.DELETESIGNALS)) {
+//			if(!SignalHandlerTypeEnum.DOAFTERDELETE.equals(handler.actionType)){
+//				error("Only the handler type doAfterDelete is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE)
+//			}						
+//		}
+		if ( signal !== null && signal.equals(SignalTypeEnum.CREATESIGNALS)){
 			if (!SignalHandlerTypeEnum.DOAFTERCREATE.equals(handler.actionType)){
 				error("Only the handler type doAfterCreate is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE)
 			}
 		}
-		else if (signal !== null && signal.equals(SignalTypeEnum.DELETESIGNALS)) {
-			if(!SignalHandlerTypeEnum.DOAFTERDELETE.equals(handler.actionType)){
-				error("Only the handler type doAfterDelete is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE)
-			}						
-		}
 		else if (signal !== null && signal.equals(SignalTypeEnum.MODIFYSIGNALS)){
 			if (!SignalHandlerTypeEnum.DOAFTERMODIFY.equals(handler.actionType)){
 				error("Only the handler type doAfterModify is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE)
diff --git a/org.eclipse.osbp.xtext.signal/xtend-gen/org/eclipse/osbp/xtext/signal/jvmmodel/SignalDSLJvmModelInferrer.java b/org.eclipse.osbp.xtext.signal/xtend-gen/org/eclipse/osbp/xtext/signal/jvmmodel/SignalDSLJvmModelInferrer.java
index 86b5d93..9b54492 100644
--- a/org.eclipse.osbp.xtext.signal/xtend-gen/org/eclipse/osbp/xtext/signal/jvmmodel/SignalDSLJvmModelInferrer.java
+++ b/org.eclipse.osbp.xtext.signal/xtend-gen/org/eclipse/osbp/xtext/signal/jvmmodel/SignalDSLJvmModelInferrer.java
@@ -98,8 +98,6 @@
   @Extension
   private AnnotationExtension _annotationExtension;
   
-  public static String pckgName = null;
-  
   private HashSet<String> operationlist;
   
   /**
@@ -113,15 +111,15 @@
    *            true if in preindexing phase
    */
   protected void _infer(final SignalPackage signalPackage, final IJvmDeclaredTypeAcceptor acceptor, final boolean isPreIndexingPhase) {
-    SignalDSLJvmModelInferrer.pckgName = signalPackage.getName();
-    JvmGenericType cls = this._jvmTypesBuilder.toClass(signalPackage, SignalDSLJvmModelInferrer.pckgName);
-    cls.setSimpleName(StringExtensions.toFirstUpper(cls.getSimpleName()));
+    final String pckgName = signalPackage.getName();
     EList<SignalWatcher> _watchers = signalPackage.getWatchers();
     for (final SignalWatcher watcher : _watchers) {
       {
         JvmGenericType watcherClass = this._jvmTypesBuilder.toClass(watcher, this._iQualifiedNameProvider.getFullyQualifiedName(watcher));
-        watcherClass.setSimpleName(StringExtensions.toFirstUpper(watcher.getName()));
-        watcherClass.setPackageName(SignalDSLJvmModelInferrer.pckgName);
+        String _firstUpper = StringExtensions.toFirstUpper(watcher.getName());
+        String _plus = (_firstUpper + "Watcher");
+        watcherClass.setSimpleName(_plus);
+        watcherClass.setPackageName(pckgName);
         final Procedure1<JvmGenericType> _function = (JvmGenericType it) -> {
           EList<JvmTypeReference> _superTypes = it.getSuperTypes();
           JvmTypeReference _typeRef = this._typeReferenceBuilder.typeRef(OSBPSignalWatcher.class);
@@ -343,7 +341,7 @@
     return StringExtensions.toFirstLower(dataInterchange.getName());
   }
   
-  public String getBasicRunConfiguration(final DataInterchange dataInterchange, final boolean fqClass, final String fileURL, final WorkerThreadRunnable.Direction direction, final boolean asynch) {
+  public String getBasicRunConfiguration(final DataInterchange dataInterchange, final boolean fqClass, final WorkerThreadRunnable.Direction direction, final boolean asynch) {
     String className = "";
     if (fqClass) {
       className = this._iQualifiedNameProvider.getFullyQualifiedName(dataInterchange).toString();
@@ -361,9 +359,7 @@
     _builder.newLineIfNotEmpty();
     String _defaultVariableName_1 = this.getDefaultVariableName(dataInterchange);
     _builder.append(_defaultVariableName_1);
-    _builder.append(".setFileURL(\"");
-    _builder.append(fileURL);
-    _builder.append("\");");
+    _builder.append(".setFileURL(directory + FileSystems.getDefault().getSeparator() + filename);");
     _builder.newLineIfNotEmpty();
     String _defaultVariableName_2 = this.getDefaultVariableName(dataInterchange);
     _builder.append(_defaultVariableName_2);
@@ -532,7 +528,7 @@
     _builder.append("} catch (Exception e) {");
     _builder.newLine();
     _builder.append("\t\t\t");
-    _builder.append("log.debug(\"Watcher: \"+interchange.getDirection()+\" for \"+ interchange.getName() + \" interupted ended!\\n\"+e.getMessage());");
+    _builder.append("log.debug(\"Watcher: \"+interchange.getDirection()+\" for \"+ interchange.getName() + \" interupted!\\n\"+e.getMessage());");
     _builder.newLine();
     _builder.append("\t\t");
     _builder.append("}");
@@ -570,77 +566,130 @@
     String result = _builder.toString();
     EList<SignalHandler> _handlers = watcher.getHandlers();
     for (final SignalHandler handler : _handlers) {
-      DataTransfer _data = handler.getData();
-      if ((_data instanceof SingleTransfer)) {
-        DataTransfer _data_1 = handler.getData();
-        SingleTransfer handlerdata = ((SingleTransfer) _data_1);
-        StringConcatenation _builder_1 = new StringConcatenation();
-        _builder_1.append("case \"");
-        String _name = handler.getName();
-        String _plus = (_name + "|");
-        String _filemask = handler.getFilemask();
-        String _plus_1 = (_plus + _filemask);
-        _builder_1.append(_plus_1);
-        _builder_1.append("\":");
-        _builder_1.newLineIfNotEmpty();
-        _builder_1.append("\t");
-        _builder_1.append("executorService.execute(");
-        String _appropriateInterchangeOperationName = this.getAppropriateInterchangeOperationName(handlerdata.getInterchange());
-        _builder_1.append(_appropriateInterchangeOperationName, "\t");
-        _builder_1.append("()); break;");
-        _builder_1.newLineIfNotEmpty();
-        result = result.concat(_builder_1.toString());
-      } else {
-        DataTransfer _data_2 = handler.getData();
-        ListTransfer handlerdata_1 = ((ListTransfer) _data_2);
+      {
         SignalExecutionTypeEnum _elvis = null;
-        SignalExecutionTypeEnum _executiontype = handlerdata_1.getExecutiontype();
+        SignalExecutionTypeEnum _executiontype = handler.getExecutiontype();
         if (_executiontype != null) {
           _elvis = _executiontype;
         } else {
           _elvis = SignalExecutionTypeEnum.SYNC;
         }
         boolean is_synch = _elvis.equals(SignalExecutionTypeEnum.SYNC);
-        StringConcatenation _builder_2 = new StringConcatenation();
-        _builder_2.append("case \"");
-        String _name_1 = handler.getName();
-        String _plus_2 = (_name_1 + "|");
-        String _filemask_1 = handler.getFilemask();
-        String _plus_3 = (_plus_2 + _filemask_1);
-        _builder_2.append(_plus_3);
-        _builder_2.append("\":");
-        _builder_2.newLineIfNotEmpty();
-        _builder_2.append("executeTasks(listOfTasks.get(\"");
-        String _name_2 = handler.getName();
-        String _plus_4 = (_name_2 + "|");
-        String _filemask_2 = handler.getFilemask();
-        String _plus_5 = (_plus_4 + _filemask_2);
-        _builder_2.append(_plus_5);
-        _builder_2.append("\"), ");
-        _builder_2.append(is_synch);
-        _builder_2.append("); break;");
-        _builder_2.newLineIfNotEmpty();
-        result = result.concat(_builder_2.toString());
+        DataTransfer _data = handler.getData();
+        if ((_data instanceof SingleTransfer)) {
+          DataTransfer _data_1 = handler.getData();
+          SingleTransfer handlerdata = ((SingleTransfer) _data_1);
+          StringConcatenation _builder_1 = new StringConcatenation();
+          _builder_1.append("case \"");
+          String _name = handler.getName();
+          String _plus = (_name + "|");
+          String _filemask = handler.getFilemask();
+          String _plus_1 = (_plus + _filemask);
+          _builder_1.append(_plus_1);
+          _builder_1.append("\":");
+          _builder_1.newLineIfNotEmpty();
+          CharSequence _xifexpression = null;
+          if (is_synch) {
+            StringConcatenation _builder_2 = new StringConcatenation();
+            _builder_2.append("try {");
+            _builder_2.newLine();
+            _builder_2.append("\t");
+            _builder_2.append("log.debug(\"Watcher: Start ");
+            String _firstUpper = StringExtensions.toFirstUpper(handlerdata.getInterchange().getDataAction().getLiteral());
+            _builder_2.append(_firstUpper, "\t");
+            _builder_2.append(" for interchange ");
+            String _firstUpper_1 = StringExtensions.toFirstUpper(handlerdata.getInterchange().getDataRef().getName());
+            _builder_2.append(_firstUpper_1, "\t");
+            _builder_2.append("!\");");
+            _builder_2.newLineIfNotEmpty();
+            _builder_2.append("\t");
+            _builder_2.append("executorService.submit(");
+            String _appropriateInterchangeOperationName = this.getAppropriateInterchangeOperationName(handlerdata.getInterchange());
+            _builder_2.append(_appropriateInterchangeOperationName, "\t");
+            _builder_2.append("(directory + \"");
+            String _fileName = handlerdata.getInterchange().getFileName();
+            _builder_2.append(_fileName, "\t");
+            _builder_2.append("\")).get();");
+            _builder_2.newLineIfNotEmpty();
+            _builder_2.append("\t");
+            _builder_2.append("log.debug(\"Watcher: ");
+            String _firstUpper_2 = StringExtensions.toFirstUpper(handlerdata.getInterchange().getDataAction().getLiteral());
+            _builder_2.append(_firstUpper_2, "\t");
+            _builder_2.append(" for interchange ");
+            String _firstUpper_3 = StringExtensions.toFirstUpper(handlerdata.getInterchange().getDataRef().getName());
+            _builder_2.append(_firstUpper_3, "\t");
+            _builder_2.append(" successfully ended!\");");
+            _builder_2.newLineIfNotEmpty();
+            _builder_2.append("}catch (Exception e) {");
+            _builder_2.newLine();
+            _builder_2.append("\t");
+            _builder_2.append("log.debug(\"Watcher: ");
+            String _firstUpper_4 = StringExtensions.toFirstUpper(handlerdata.getInterchange().getDataAction().getLiteral());
+            _builder_2.append(_firstUpper_4, "\t");
+            _builder_2.append(" for interchange ");
+            String _firstUpper_5 = StringExtensions.toFirstUpper(handlerdata.getInterchange().getDataRef().getName());
+            _builder_2.append(_firstUpper_5, "\t");
+            _builder_2.append(" interupted!\\n\"+e.getMessage());");
+            _builder_2.newLineIfNotEmpty();
+            _builder_2.append("} break;");
+            _builder_2.newLine();
+            _xifexpression = _builder_2;
+          } else {
+            StringConcatenation _builder_3 = new StringConcatenation();
+            _builder_3.append("executorService.execute(");
+            String _appropriateInterchangeOperationName_1 = this.getAppropriateInterchangeOperationName(handlerdata.getInterchange());
+            _builder_3.append(_appropriateInterchangeOperationName_1);
+            _builder_3.append("(directory + \"");
+            String _fileName_1 = handlerdata.getInterchange().getFileName();
+            _builder_3.append(_fileName_1);
+            _builder_3.append("\")); break;");
+            _xifexpression = _builder_3;
+          }
+          _builder_1.append(_xifexpression);
+          _builder_1.newLineIfNotEmpty();
+          result = result.concat(_builder_1.toString());
+        } else {
+          StringConcatenation _builder_4 = new StringConcatenation();
+          _builder_4.append("case \"");
+          String _name_1 = handler.getName();
+          String _plus_2 = (_name_1 + "|");
+          String _filemask_1 = handler.getFilemask();
+          String _plus_3 = (_plus_2 + _filemask_1);
+          _builder_4.append(_plus_3);
+          _builder_4.append("\":");
+          _builder_4.newLineIfNotEmpty();
+          _builder_4.append("executeTasks(listOfTasks.get(\"");
+          String _name_2 = handler.getName();
+          String _plus_4 = (_name_2 + "|");
+          String _filemask_2 = handler.getFilemask();
+          String _plus_5 = (_plus_4 + _filemask_2);
+          _builder_4.append(_plus_5);
+          _builder_4.append("\"), ");
+          _builder_4.append(is_synch);
+          _builder_4.append("); break;");
+          _builder_4.newLineIfNotEmpty();
+          result = result.concat(_builder_4.toString());
+        }
       }
     }
-    StringConcatenation _builder_3 = new StringConcatenation();
-    _builder_3.append("\t\t");
-    _builder_3.append("default: break;");
-    _builder_3.newLine();
-    _builder_3.append("\t");
-    _builder_3.append("}");
-    _builder_3.newLine();
-    _builder_3.append("}");
-    _builder_3.newLine();
-    _builder_3.append("\t   \t");
-    _builder_3.append("else{");
-    _builder_3.newLine();
-    _builder_3.append("\t    \t");
-    _builder_3.append("log.debug(\"No action executed for file [\"+file+\"] on event [\"+event.kind().name()+\"].\");");
-    _builder_3.newLine();
-    _builder_3.append("\t    ");
-    _builder_3.append("}");
-    result = result.concat(_builder_3.toString());
+    StringConcatenation _builder_1 = new StringConcatenation();
+    _builder_1.append("\t\t");
+    _builder_1.append("default: break;");
+    _builder_1.newLine();
+    _builder_1.append("\t");
+    _builder_1.append("}");
+    _builder_1.newLine();
+    _builder_1.append("}");
+    _builder_1.newLine();
+    _builder_1.append("\t   \t");
+    _builder_1.append("else{");
+    _builder_1.newLine();
+    _builder_1.append("\t    \t");
+    _builder_1.append("log.debug(\"No action executed for file [\"+file+\"] on event [\"+event.kind().name()+\"].\");");
+    _builder_1.newLine();
+    _builder_1.append("\t    ");
+    _builder_1.append("}");
+    result = result.concat(_builder_1.toString());
     return result;
   }
   
@@ -687,7 +736,10 @@
             _builder_2.append("data.add(");
             String _appropriateInterchangeOperationName = this.getAppropriateInterchangeOperationName(interchange);
             _builder_2.append(_appropriateInterchangeOperationName);
-            _builder_2.append("());");
+            _builder_2.append("(\"");
+            String _fileName = interchange.getFileName();
+            _builder_2.append(_fileName);
+            _builder_2.append("\"));");
             _builder_2.newLineIfNotEmpty();
             result = result.concat(_builder_2.toString());
           }
@@ -753,9 +805,12 @@
           if (_equals) {
             EList<JvmMember> _members = type.getMembers();
             final Procedure1<JvmOperation> _function = (JvmOperation it) -> {
+              EList<JvmFormalParameter> _parameters = it.getParameters();
+              JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(watcher, "filename", this._typeReferenceBuilder.typeRef(String.class));
+              this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
               final Procedure1<ITreeAppendable> _function_1 = (ITreeAppendable it_1) -> {
                 StringConcatenation _builder = new StringConcatenation();
-                String _basicRunConfiguration = this.getBasicRunConfiguration(interchange.getDataRef(), true, this.getFileURL(interchange.getDataRef()), WorkerThreadRunnable.Direction.IMPORT, false);
+                String _basicRunConfiguration = this.getBasicRunConfiguration(interchange.getDataRef(), true, WorkerThreadRunnable.Direction.IMPORT, false);
                 _builder.append(_basicRunConfiguration);
                 it_1.append(_builder);
               };
@@ -766,9 +821,12 @@
           } else {
             EList<JvmMember> _members_1 = type.getMembers();
             final Procedure1<JvmOperation> _function_1 = (JvmOperation it) -> {
+              EList<JvmFormalParameter> _parameters = it.getParameters();
+              JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(watcher, "filename", this._typeReferenceBuilder.typeRef(String.class));
+              this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
               final Procedure1<ITreeAppendable> _function_2 = (ITreeAppendable it_1) -> {
                 StringConcatenation _builder = new StringConcatenation();
-                String _basicRunConfiguration = this.getBasicRunConfiguration(interchange.getDataRef(), true, this.getFileURL(interchange.getDataRef()), WorkerThreadRunnable.Direction.EXPORT, false);
+                String _basicRunConfiguration = this.getBasicRunConfiguration(interchange.getDataRef(), true, WorkerThreadRunnable.Direction.EXPORT, false);
                 _builder.append(_basicRunConfiguration);
                 it_1.append(_builder);
               };
@@ -802,56 +860,71 @@
     this._jvmTypesBuilder.<JvmField>operator_add(_members, field);
     final Procedure1<JvmField> _function_1 = (JvmField it) -> {
       it.setVisibility(JvmVisibility.PRIVATE);
+      final Procedure1<ITreeAppendable> _function_2 = (ITreeAppendable it_1) -> {
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("\"");
+        String _directory = watcher.getDirectory();
+        _builder.append(_directory);
+        _builder.append("\"");
+        it_1.append(_builder);
+      };
+      this._jvmTypesBuilder.setInitializer(it, _function_2);
     };
-    field = this._jvmTypesBuilder.toField(watcher, "thread", this._typeReferenceBuilder.typeRef(Thread.class), _function_1);
+    field = this._jvmTypesBuilder.toField(watcher, "directory", this._typeReferenceBuilder.typeRef(String.class), _function_1);
     EList<JvmMember> _members_1 = type.getMembers();
     this._jvmTypesBuilder.<JvmField>operator_add(_members_1, field);
     final Procedure1<JvmField> _function_2 = (JvmField it) -> {
-      final Procedure1<ITreeAppendable> _function_3 = (ITreeAppendable it_1) -> {
+      it.setVisibility(JvmVisibility.PRIVATE);
+    };
+    field = this._jvmTypesBuilder.toField(watcher, "thread", this._typeReferenceBuilder.typeRef(Thread.class), _function_2);
+    EList<JvmMember> _members_2 = type.getMembers();
+    this._jvmTypesBuilder.<JvmField>operator_add(_members_2, field);
+    final Procedure1<JvmField> _function_3 = (JvmField it) -> {
+      final Procedure1<ITreeAppendable> _function_4 = (ITreeAppendable it_1) -> {
         StringConcatenation _builder = new StringConcatenation();
         _builder.append("true");
         it_1.append(_builder);
       };
-      this._jvmTypesBuilder.setInitializer(it, _function_3);
+      this._jvmTypesBuilder.setInitializer(it, _function_4);
       it.setVisibility(JvmVisibility.PRIVATE);
     };
-    field = this._jvmTypesBuilder.toField(watcher, "active", this._typeReferenceBuilder.typeRef(boolean.class), _function_2);
-    EList<JvmMember> _members_2 = type.getMembers();
-    this._jvmTypesBuilder.<JvmField>operator_add(_members_2, field);
-    final Procedure1<JvmField> _function_3 = (JvmField it) -> {
-      it.setVisibility(JvmVisibility.PRIVATE);
-      it.setStatic(true);
-    };
-    field = this._jvmTypesBuilder.toField(watcher, "executorService", this._typeReferenceBuilder.typeRef(ExecutorService.class), _function_3);
+    field = this._jvmTypesBuilder.toField(watcher, "active", this._typeReferenceBuilder.typeRef(boolean.class), _function_3);
     EList<JvmMember> _members_3 = type.getMembers();
     this._jvmTypesBuilder.<JvmField>operator_add(_members_3, field);
     final Procedure1<JvmField> _function_4 = (JvmField it) -> {
       it.setVisibility(JvmVisibility.PRIVATE);
+      it.setStatic(true);
     };
-    field = this._jvmTypesBuilder.toField(watcher, "listOfTasks", 
-      this._typeReferenceBuilder.typeRef("Map<String, ArrayList<WorkerThreadRunnable>>"), _function_4);
+    field = this._jvmTypesBuilder.toField(watcher, "executorService", this._typeReferenceBuilder.typeRef(ExecutorService.class), _function_4);
     EList<JvmMember> _members_4 = type.getMembers();
     this._jvmTypesBuilder.<JvmField>operator_add(_members_4, field);
-    field = this._jvmTypesBuilder.toField(watcher, "persistenceService", this._typeReferenceBuilder.typeRef(IPersistenceService.class));
-    field.setStatic(true);
-    field.setVisibility(JvmVisibility.PRIVATE);
+    final Procedure1<JvmField> _function_5 = (JvmField it) -> {
+      it.setVisibility(JvmVisibility.PRIVATE);
+    };
+    field = this._jvmTypesBuilder.toField(watcher, "listOfTasks", 
+      this._typeReferenceBuilder.typeRef("Map<String, ArrayList<WorkerThreadRunnable>>"), _function_5);
     EList<JvmMember> _members_5 = type.getMembers();
     this._jvmTypesBuilder.<JvmField>operator_add(_members_5, field);
-    field = this._jvmTypesBuilder.toField(watcher, "dataInterchange", this._typeReferenceBuilder.typeRef(IDataInterchange.class));
+    field = this._jvmTypesBuilder.toField(watcher, "persistenceService", this._typeReferenceBuilder.typeRef(IPersistenceService.class));
     field.setStatic(true);
     field.setVisibility(JvmVisibility.PRIVATE);
     EList<JvmMember> _members_6 = type.getMembers();
     this._jvmTypesBuilder.<JvmField>operator_add(_members_6, field);
-    field = this._jvmTypesBuilder.toField(watcher, "userAccessService", this._typeReferenceBuilder.typeRef(IUserAccessService.class));
+    field = this._jvmTypesBuilder.toField(watcher, "dataInterchange", this._typeReferenceBuilder.typeRef(IDataInterchange.class));
     field.setStatic(true);
     field.setVisibility(JvmVisibility.PRIVATE);
     EList<JvmMember> _members_7 = type.getMembers();
     this._jvmTypesBuilder.<JvmField>operator_add(_members_7, field);
-    field = this._jvmTypesBuilder.toField(watcher, "blobService", this._typeReferenceBuilder.typeRef(IBlobService.class));
+    field = this._jvmTypesBuilder.toField(watcher, "userAccessService", this._typeReferenceBuilder.typeRef(IUserAccessService.class));
     field.setStatic(true);
     field.setVisibility(JvmVisibility.PRIVATE);
     EList<JvmMember> _members_8 = type.getMembers();
     this._jvmTypesBuilder.<JvmField>operator_add(_members_8, field);
+    field = this._jvmTypesBuilder.toField(watcher, "blobService", this._typeReferenceBuilder.typeRef(IBlobService.class));
+    field.setStatic(true);
+    field.setVisibility(JvmVisibility.PRIVATE);
+    EList<JvmMember> _members_9 = type.getMembers();
+    this._jvmTypesBuilder.<JvmField>operator_add(_members_9, field);
   }
   
   public String getActivate(final SignalWatcher watcher) {
@@ -867,7 +940,8 @@
     _builder.append("\t\t\t");
     _builder.append("//");
     String _firstUpper = StringExtensions.toFirstUpper(watcher.getName());
-    _builder.append(_firstUpper, "\t\t\t");
+    String _plus = (_firstUpper + "Watcher");
+    _builder.append(_plus, "\t\t\t");
     _builder.append(" watcherservice = null;");
     _builder.newLineIfNotEmpty();
     _builder.append("\t\t\t\t");
@@ -876,7 +950,8 @@
     _builder.append("\t\t\t\t\t");
     _builder.append("//watcherservice = new ");
     String _firstUpper_1 = StringExtensions.toFirstUpper(watcher.getName());
-    _builder.append(_firstUpper_1, "\t\t\t\t\t");
+    String _plus_1 = (_firstUpper_1 + "Watcher");
+    _builder.append(_plus_1, "\t\t\t\t\t");
     _builder.append("();");
     _builder.newLineIfNotEmpty();
     _builder.append("\t\t\t\t\t");
@@ -886,11 +961,8 @@
     _builder.append("));");
     _builder.newLineIfNotEmpty();
     _builder.append("\t\t\t\t\t");
-    _builder.append("//watcherservice.registerPathToWatcher(Paths.get(\"");
-    String _directory = watcher.getDirectory();
-    _builder.append(_directory, "\t\t\t\t\t");
-    _builder.append("\"));");
-    _builder.newLineIfNotEmpty();
+    _builder.append("//watcherservice.registerPathToWatcher(Paths.get(directory));");
+    _builder.newLine();
     _builder.append("\t\t\t\t\t");
     _builder.append("setSignals(Arrays.asList(SignalTypeEnum.");
     String _upperCase_1 = watcher.getSignal().getLiteral().toUpperCase();
@@ -898,18 +970,16 @@
     _builder.append("));");
     _builder.newLineIfNotEmpty();
     _builder.append("\t\t\t\t\t");
-    _builder.append("registerPathToWatcher(Paths.get(\"");
-    String _directory_1 = watcher.getDirectory();
-    _builder.append(_directory_1, "\t\t\t\t\t");
-    _builder.append("\"));");
-    _builder.newLineIfNotEmpty();
+    _builder.append("registerPathToWatcher(Paths.get(directory));");
+    _builder.newLine();
     _builder.append("\t\t\t\t\t");
     _builder.append("while (active) {");
     _builder.newLine();
     _builder.append("\t\t\t\t\t\t");
     _builder.append("log.debug(\"Start watcher Service ");
     String _firstUpper_2 = StringExtensions.toFirstUpper(watcher.getName());
-    _builder.append(_firstUpper_2, "\t\t\t\t\t\t");
+    String _plus_2 = (_firstUpper_2 + "Watcher");
+    _builder.append(_plus_2, "\t\t\t\t\t\t");
     _builder.append("\");");
     _builder.newLineIfNotEmpty();
     _builder.append("\t\t\t\t\t\t");
diff --git a/org.eclipse.osbp.xtext.signal/xtend-gen/org/eclipse/osbp/xtext/signal/validation/SignalDSLValidator.java b/org.eclipse.osbp.xtext.signal/xtend-gen/org/eclipse/osbp/xtext/signal/validation/SignalDSLValidator.java
index a76064f..bb8ff73 100644
--- a/org.eclipse.osbp.xtext.signal/xtend-gen/org/eclipse/osbp/xtext/signal/validation/SignalDSLValidator.java
+++ b/org.eclipse.osbp.xtext.signal/xtend-gen/org/eclipse/osbp/xtext/signal/validation/SignalDSLValidator.java
@@ -40,29 +40,18 @@
         if (((watcher != null) && (handler.getActionType() != null))) {
           this.checkHandlerActionType(handler);
           SignalTypeEnum signal = watcher.getSignal();
-          if (((signal != null) && signal.equals(SignalTypeEnum.ALL))) {
+          if (((signal != null) && signal.equals(SignalTypeEnum.CREATESIGNALS))) {
+            boolean _equals = SignalHandlerTypeEnum.DOAFTERCREATE.equals(handler.getActionType());
+            boolean _not = (!_equals);
+            if (_not) {
+              this.error("Only the handler type doAfterCreate is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE);
+            }
           } else {
-            if (((signal != null) && signal.equals(SignalTypeEnum.CREATESIGNALS))) {
-              boolean _equals = SignalHandlerTypeEnum.DOAFTERCREATE.equals(handler.getActionType());
-              boolean _not = (!_equals);
-              if (_not) {
-                this.error("Only the handler type doAfterCreate is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE);
-              }
-            } else {
-              if (((signal != null) && signal.equals(SignalTypeEnum.DELETESIGNALS))) {
-                boolean _equals_1 = SignalHandlerTypeEnum.DOAFTERDELETE.equals(handler.getActionType());
-                boolean _not_1 = (!_equals_1);
-                if (_not_1) {
-                  this.error("Only the handler type doAfterDelete is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE);
-                }
-              } else {
-                if (((signal != null) && signal.equals(SignalTypeEnum.MODIFYSIGNALS))) {
-                  boolean _equals_2 = SignalHandlerTypeEnum.DOAFTERMODIFY.equals(handler.getActionType());
-                  boolean _not_2 = (!_equals_2);
-                  if (_not_2) {
-                    this.error("Only the handler type doAföterModify is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE);
-                  }
-                }
+            if (((signal != null) && signal.equals(SignalTypeEnum.MODIFYSIGNALS))) {
+              boolean _equals_1 = SignalHandlerTypeEnum.DOAFTERMODIFY.equals(handler.getActionType());
+              boolean _not_1 = (!_equals_1);
+              if (_not_1) {
+                this.error("Only the handler type doAföterModify is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE);
               }
             }
           }
@@ -71,42 +60,24 @@
     }
   }
   
-  public Object checkHandlerActionType(final SignalHandler handler) {
-    Object _xblockexpression = null;
-    {
-      EObject _eContainer = handler.eContainer();
-      SignalTypeEnum signal = ((SignalWatcher) _eContainer).getSignal();
-      Object _xifexpression = null;
-      if (((signal != null) && signal.equals(SignalTypeEnum.ALL))) {
-        _xifexpression = null;
-      } else {
-        if (((signal != null) && signal.equals(SignalTypeEnum.CREATESIGNALS))) {
-          boolean _equals = SignalHandlerTypeEnum.DOAFTERCREATE.equals(handler.getActionType());
-          boolean _not = (!_equals);
-          if (_not) {
-            this.error("Only the handler type doAfterCreate is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE);
-          }
-        } else {
-          if (((signal != null) && signal.equals(SignalTypeEnum.DELETESIGNALS))) {
-            boolean _equals_1 = SignalHandlerTypeEnum.DOAFTERDELETE.equals(handler.getActionType());
-            boolean _not_1 = (!_equals_1);
-            if (_not_1) {
-              this.error("Only the handler type doAfterDelete is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE);
-            }
-          } else {
-            if (((signal != null) && signal.equals(SignalTypeEnum.MODIFYSIGNALS))) {
-              boolean _equals_2 = SignalHandlerTypeEnum.DOAFTERMODIFY.equals(handler.getActionType());
-              boolean _not_2 = (!_equals_2);
-              if (_not_2) {
-                this.error("Only the handler type doAfterModify is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE);
-              }
-            }
-          }
+  public void checkHandlerActionType(final SignalHandler handler) {
+    EObject _eContainer = handler.eContainer();
+    SignalTypeEnum signal = ((SignalWatcher) _eContainer).getSignal();
+    if (((signal != null) && signal.equals(SignalTypeEnum.CREATESIGNALS))) {
+      boolean _equals = SignalHandlerTypeEnum.DOAFTERCREATE.equals(handler.getActionType());
+      boolean _not = (!_equals);
+      if (_not) {
+        this.error("Only the handler type doAfterCreate is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE);
+      }
+    } else {
+      if (((signal != null) && signal.equals(SignalTypeEnum.MODIFYSIGNALS))) {
+        boolean _equals_1 = SignalHandlerTypeEnum.DOAFTERMODIFY.equals(handler.getActionType());
+        boolean _not_1 = (!_equals_1);
+        if (_not_1) {
+          this.error("Only the handler type doAfterModify is allowed here.", handler, SignalDSLPackage.Literals.SIGNAL_HANDLER__ACTION_TYPE);
         }
       }
-      _xblockexpression = _xifexpression;
     }
-    return _xblockexpression;
   }
   
   @Check