aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser
diff options
context:
space:
mode:
Diffstat (limited to 'Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser')
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguage.g121
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguage.tokens34
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguageLexer.java494
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguageParser.java697
4 files changed, 875 insertions, 471 deletions
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguage.g b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguage.g
index 25558250..a00a01ba 100644
--- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguage.g
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguage.g
@@ -2650,7 +2650,18 @@ ruleALSBasicRelationTerm returns [EObject current=null]
2650 |(( 2650 |((
2651 { 2651 {
2652 $current = forceCreateModelElement( 2652 $current = forceCreateModelElement(
2653 grammarAccess.getALSBasicRelationTermAccess().getALSReferenceAction_4_0(), 2653 grammarAccess.getALSBasicRelationTermAccess().getALSStringAction_4_0(),
2654 $current);
2655 }
2656) otherlv_9='String'
2657 {
2658 newLeafNode(otherlv_9, grammarAccess.getALSBasicRelationTermAccess().getStringKeyword_4_1());
2659 }
2660)
2661 |((
2662 {
2663 $current = forceCreateModelElement(
2664 grammarAccess.getALSBasicRelationTermAccess().getALSReferenceAction_5_0(),
2654 $current); 2665 $current);
2655 } 2666 }
2656)( 2667)(
@@ -2660,9 +2671,9 @@ ruleALSBasicRelationTerm returns [EObject current=null]
2660 $current = createModelElement(grammarAccess.getALSBasicRelationTermRule()); 2671 $current = createModelElement(grammarAccess.getALSBasicRelationTermRule());
2661 } 2672 }
2662 } 2673 }
2663 otherlv_9=RULE_ID 2674 otherlv_11=RULE_ID
2664 { 2675 {
2665 newLeafNode(otherlv_9, grammarAccess.getALSBasicRelationTermAccess().getReferredALSRelationDeclarationCrossReference_4_1_0()); 2676 newLeafNode(otherlv_11, grammarAccess.getALSBasicRelationTermAccess().getReferredALSRelationDeclarationCrossReference_5_1_0());
2666 } 2677 }
2667 2678
2668) 2679)
@@ -2670,14 +2681,14 @@ ruleALSBasicRelationTerm returns [EObject current=null]
2670 |(( 2681 |((
2671 { 2682 {
2672 $current = forceCreateModelElement( 2683 $current = forceCreateModelElement(
2673 grammarAccess.getALSBasicRelationTermAccess().getALSNumberLiteralAction_5_0(), 2684 grammarAccess.getALSBasicRelationTermAccess().getALSNumberLiteralAction_6_0(),
2674 $current); 2685 $current);
2675 } 2686 }
2676)( 2687)(
2677( 2688(
2678 lv_value_11_0=RULE_INT 2689 lv_value_13_0=RULE_INT
2679 { 2690 {
2680 newLeafNode(lv_value_11_0, grammarAccess.getALSBasicRelationTermAccess().getValueINTTerminalRuleCall_5_1_0()); 2691 newLeafNode(lv_value_13_0, grammarAccess.getALSBasicRelationTermAccess().getValueINTTerminalRuleCall_6_1_0());
2681 } 2692 }
2682 { 2693 {
2683 if ($current==null) { 2694 if ($current==null) {
@@ -2686,28 +2697,53 @@ ruleALSBasicRelationTerm returns [EObject current=null]
2686 setWithLastConsumed( 2697 setWithLastConsumed(
2687 $current, 2698 $current,
2688 "value", 2699 "value",
2689 lv_value_11_0, 2700 lv_value_13_0,
2690 "org.eclipse.xtext.common.Terminals.INT"); 2701 "org.eclipse.xtext.common.Terminals.INT");
2691 } 2702 }
2692 2703
2693) 2704)
2694)) 2705))
2695 |( otherlv_12='(' 2706 |((
2696 { 2707 {
2697 newLeafNode(otherlv_12, grammarAccess.getALSBasicRelationTermAccess().getLeftParenthesisKeyword_6_0()); 2708 $current = forceCreateModelElement(
2709 grammarAccess.getALSBasicRelationTermAccess().getALSStringLiteralAction_7_0(),
2710 $current);
2711 }
2712)(
2713(
2714 lv_value_15_0=RULE_STRING
2715 {
2716 newLeafNode(lv_value_15_0, grammarAccess.getALSBasicRelationTermAccess().getValueSTRINGTerminalRuleCall_7_1_0());
2717 }
2718 {
2719 if ($current==null) {
2720 $current = createModelElement(grammarAccess.getALSBasicRelationTermRule());
2721 }
2722 setWithLastConsumed(
2723 $current,
2724 "value",
2725 lv_value_15_0,
2726 "org.eclipse.xtext.common.Terminals.STRING");
2727 }
2728
2729)
2730))
2731 |( otherlv_16='('
2732 {
2733 newLeafNode(otherlv_16, grammarAccess.getALSBasicRelationTermAccess().getLeftParenthesisKeyword_8_0());
2698 } 2734 }
2699 2735
2700 { 2736 {
2701 newCompositeNode(grammarAccess.getALSBasicRelationTermAccess().getALSTermParserRuleCall_6_1()); 2737 newCompositeNode(grammarAccess.getALSBasicRelationTermAccess().getALSTermParserRuleCall_8_1());
2702 } 2738 }
2703 this_ALSTerm_13=ruleALSTerm 2739 this_ALSTerm_17=ruleALSTerm
2704 { 2740 {
2705 $current = $this_ALSTerm_13.current; 2741 $current = $this_ALSTerm_17.current;
2706 afterParserOrEnumRuleCall(); 2742 afterParserOrEnumRuleCall();
2707 } 2743 }
2708 otherlv_14=')' 2744 otherlv_18=')'
2709 { 2745 {
2710 newLeafNode(otherlv_14, grammarAccess.getALSBasicRelationTermAccess().getRightParenthesisKeyword_6_2()); 2746 newLeafNode(otherlv_18, grammarAccess.getALSBasicRelationTermAccess().getRightParenthesisKeyword_8_2());
2711 } 2747 }
2712)) 2748))
2713; 2749;
@@ -2832,6 +2868,16 @@ ruleALSTypeScope returns [EObject current=null]
2832 $current = $this_ALSIntScope_1.current; 2868 $current = $this_ALSIntScope_1.current;
2833 afterParserOrEnumRuleCall(); 2869 afterParserOrEnumRuleCall();
2834 } 2870 }
2871
2872 |
2873 {
2874 newCompositeNode(grammarAccess.getALSTypeScopeAccess().getALSStringScopeParserRuleCall_2());
2875 }
2876 this_ALSStringScope_2=ruleALSStringScope
2877 {
2878 $current = $this_ALSStringScope_2.current;
2879 afterParserOrEnumRuleCall();
2880 }
2835) 2881)
2836; 2882;
2837 2883
@@ -2949,6 +2995,53 @@ ruleALSIntScope returns [EObject current=null]
2949 2995
2950 2996
2951 2997
2998// Entry rule entryRuleALSStringScope
2999entryRuleALSStringScope returns [EObject current=null]
3000 :
3001 { newCompositeNode(grammarAccess.getALSStringScopeRule()); }
3002 iv_ruleALSStringScope=ruleALSStringScope
3003 { $current=$iv_ruleALSStringScope.current; }
3004 EOF
3005;
3006
3007// Rule ALSStringScope
3008ruleALSStringScope returns [EObject current=null]
3009 @init { enterRule();
3010 }
3011 @after { leaveRule(); }:
3012( otherlv_0='exactly'
3013 {
3014 newLeafNode(otherlv_0, grammarAccess.getALSStringScopeAccess().getExactlyKeyword_0());
3015 }
3016(
3017(
3018 lv_number_1_0=RULE_INT
3019 {
3020 newLeafNode(lv_number_1_0, grammarAccess.getALSStringScopeAccess().getNumberINTTerminalRuleCall_1_0());
3021 }
3022 {
3023 if ($current==null) {
3024 $current = createModelElement(grammarAccess.getALSStringScopeRule());
3025 }
3026 setWithLastConsumed(
3027 $current,
3028 "number",
3029 lv_number_1_0,
3030 "org.eclipse.xtext.common.Terminals.INT");
3031 }
3032
3033)
3034) otherlv_2='String'
3035 {
3036 newLeafNode(otherlv_2, grammarAccess.getALSStringScopeAccess().getStringKeyword_2());
3037 }
3038)
3039;
3040
3041
3042
3043
3044
2952// Rule ALSMultiplicity 3045// Rule ALSMultiplicity
2953ruleALSMultiplicity returns [Enumerator current=null] 3046ruleALSMultiplicity returns [Enumerator current=null]
2954 @init { enterRule(); } 3047 @init { enterRule(); }
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguage.tokens b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguage.tokens
index 49d2a448..94ce3ecb 100644
--- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguage.tokens
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguage.tokens
@@ -3,8 +3,8 @@
3'#'=54 3'#'=54
4'&&'=34 4'&&'=34
5'&'=47 5'&'=47
6'('=60 6'('=61
7')'=61 7')'=62
8'*'=53 8'*'=53
9'+'=19 9'+'=19
10'++'=42 10'++'=42
@@ -23,40 +23,41 @@
23'>'=38 23'>'=38
24'>='=39 24'>='=39
25'Int'=59 25'Int'=59
26'String'=60
26'['=22 27'['=22
27']'=23 28']'=23
28'^'=52 29'^'=52
29'abstract'=15 30'abstract'=15
30'all'=65 31'all'=66
31'and'=35 32'and'=35
32'disj'=26 33'disj'=26
33'div'=75 34'div'=76
34'else'=33 35'else'=33
35'enum'=11 36'enum'=11
36'exactly'=64 37'exactly'=65
37'extends'=17 38'extends'=17
38'fact'=25 39'fact'=25
39'for'=63 40'for'=64
40'fun'=21 41'fun'=21
41'iden'=57 42'iden'=57
42'iff'=30 43'iff'=30
43'implies'=32 44'implies'=32
44'in'=18 45'in'=18
45'lone'=68 46'lone'=69
46'mul'=73 47'mul'=74
47'no'=66 48'no'=67
48'none'=56 49'none'=56
49'not'=50 50'not'=50
50'one'=69 51'one'=70
51'or'=28 52'or'=28
52'plus'=71 53'plus'=72
53'pred'=24 54'pred'=24
54'rem'=74 55'rem'=75
55'run'=62 56'run'=63
56'set'=70 57'set'=71
57'sig'=16 58'sig'=16
58'some'=67 59'some'=68
59'sub'=72 60'sub'=73
60'sum'=55 61'sum'=55
61'univ'=58 62'univ'=58
62'{'=12 63'{'=12
@@ -135,3 +136,4 @@ T__72=72
135T__73=73 136T__73=73
136T__74=74 137T__74=74
137T__75=75 138T__75=75
139T__76=76
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguageLexer.java b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguageLexer.java
index 27488784..793fe13d 100644
--- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguageLexer.java
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguageLexer.java
@@ -73,6 +73,7 @@ public class InternalAlloyLanguageLexer extends Lexer {
73 public static final int T__31=31; 73 public static final int T__31=31;
74 public static final int T__75=75; 74 public static final int T__75=75;
75 public static final int T__32=32; 75 public static final int T__32=32;
76 public static final int T__76=76;
76 public static final int RULE_WS=9; 77 public static final int RULE_WS=9;
77 public static final int RULE_ANY_OTHER=10; 78 public static final int RULE_ANY_OTHER=10;
78 public static final int T__48=48; 79 public static final int T__48=48;
@@ -1115,10 +1116,11 @@ public class InternalAlloyLanguageLexer extends Lexer {
1115 try { 1116 try {
1116 int _type = T__60; 1117 int _type = T__60;
1117 int _channel = DEFAULT_TOKEN_CHANNEL; 1118 int _channel = DEFAULT_TOKEN_CHANNEL;
1118 // InternalAlloyLanguage.g:60:7: ( '(' ) 1119 // InternalAlloyLanguage.g:60:7: ( 'String' )
1119 // InternalAlloyLanguage.g:60:9: '(' 1120 // InternalAlloyLanguage.g:60:9: 'String'
1120 { 1121 {
1121 match('('); 1122 match("String");
1123
1122 1124
1123 } 1125 }
1124 1126
@@ -1135,10 +1137,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1135 try { 1137 try {
1136 int _type = T__61; 1138 int _type = T__61;
1137 int _channel = DEFAULT_TOKEN_CHANNEL; 1139 int _channel = DEFAULT_TOKEN_CHANNEL;
1138 // InternalAlloyLanguage.g:61:7: ( ')' ) 1140 // InternalAlloyLanguage.g:61:7: ( '(' )
1139 // InternalAlloyLanguage.g:61:9: ')' 1141 // InternalAlloyLanguage.g:61:9: '('
1140 { 1142 {
1141 match(')'); 1143 match('(');
1142 1144
1143 } 1145 }
1144 1146
@@ -1155,11 +1157,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1155 try { 1157 try {
1156 int _type = T__62; 1158 int _type = T__62;
1157 int _channel = DEFAULT_TOKEN_CHANNEL; 1159 int _channel = DEFAULT_TOKEN_CHANNEL;
1158 // InternalAlloyLanguage.g:62:7: ( 'run' ) 1160 // InternalAlloyLanguage.g:62:7: ( ')' )
1159 // InternalAlloyLanguage.g:62:9: 'run' 1161 // InternalAlloyLanguage.g:62:9: ')'
1160 { 1162 {
1161 match("run"); 1163 match(')');
1162
1163 1164
1164 } 1165 }
1165 1166
@@ -1176,10 +1177,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1176 try { 1177 try {
1177 int _type = T__63; 1178 int _type = T__63;
1178 int _channel = DEFAULT_TOKEN_CHANNEL; 1179 int _channel = DEFAULT_TOKEN_CHANNEL;
1179 // InternalAlloyLanguage.g:63:7: ( 'for' ) 1180 // InternalAlloyLanguage.g:63:7: ( 'run' )
1180 // InternalAlloyLanguage.g:63:9: 'for' 1181 // InternalAlloyLanguage.g:63:9: 'run'
1181 { 1182 {
1182 match("for"); 1183 match("run");
1183 1184
1184 1185
1185 } 1186 }
@@ -1197,10 +1198,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1197 try { 1198 try {
1198 int _type = T__64; 1199 int _type = T__64;
1199 int _channel = DEFAULT_TOKEN_CHANNEL; 1200 int _channel = DEFAULT_TOKEN_CHANNEL;
1200 // InternalAlloyLanguage.g:64:7: ( 'exactly' ) 1201 // InternalAlloyLanguage.g:64:7: ( 'for' )
1201 // InternalAlloyLanguage.g:64:9: 'exactly' 1202 // InternalAlloyLanguage.g:64:9: 'for'
1202 { 1203 {
1203 match("exactly"); 1204 match("for");
1204 1205
1205 1206
1206 } 1207 }
@@ -1218,10 +1219,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1218 try { 1219 try {
1219 int _type = T__65; 1220 int _type = T__65;
1220 int _channel = DEFAULT_TOKEN_CHANNEL; 1221 int _channel = DEFAULT_TOKEN_CHANNEL;
1221 // InternalAlloyLanguage.g:65:7: ( 'all' ) 1222 // InternalAlloyLanguage.g:65:7: ( 'exactly' )
1222 // InternalAlloyLanguage.g:65:9: 'all' 1223 // InternalAlloyLanguage.g:65:9: 'exactly'
1223 { 1224 {
1224 match("all"); 1225 match("exactly");
1225 1226
1226 1227
1227 } 1228 }
@@ -1239,10 +1240,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1239 try { 1240 try {
1240 int _type = T__66; 1241 int _type = T__66;
1241 int _channel = DEFAULT_TOKEN_CHANNEL; 1242 int _channel = DEFAULT_TOKEN_CHANNEL;
1242 // InternalAlloyLanguage.g:66:7: ( 'no' ) 1243 // InternalAlloyLanguage.g:66:7: ( 'all' )
1243 // InternalAlloyLanguage.g:66:9: 'no' 1244 // InternalAlloyLanguage.g:66:9: 'all'
1244 { 1245 {
1245 match("no"); 1246 match("all");
1246 1247
1247 1248
1248 } 1249 }
@@ -1260,10 +1261,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1260 try { 1261 try {
1261 int _type = T__67; 1262 int _type = T__67;
1262 int _channel = DEFAULT_TOKEN_CHANNEL; 1263 int _channel = DEFAULT_TOKEN_CHANNEL;
1263 // InternalAlloyLanguage.g:67:7: ( 'some' ) 1264 // InternalAlloyLanguage.g:67:7: ( 'no' )
1264 // InternalAlloyLanguage.g:67:9: 'some' 1265 // InternalAlloyLanguage.g:67:9: 'no'
1265 { 1266 {
1266 match("some"); 1267 match("no");
1267 1268
1268 1269
1269 } 1270 }
@@ -1281,10 +1282,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1281 try { 1282 try {
1282 int _type = T__68; 1283 int _type = T__68;
1283 int _channel = DEFAULT_TOKEN_CHANNEL; 1284 int _channel = DEFAULT_TOKEN_CHANNEL;
1284 // InternalAlloyLanguage.g:68:7: ( 'lone' ) 1285 // InternalAlloyLanguage.g:68:7: ( 'some' )
1285 // InternalAlloyLanguage.g:68:9: 'lone' 1286 // InternalAlloyLanguage.g:68:9: 'some'
1286 { 1287 {
1287 match("lone"); 1288 match("some");
1288 1289
1289 1290
1290 } 1291 }
@@ -1302,10 +1303,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1302 try { 1303 try {
1303 int _type = T__69; 1304 int _type = T__69;
1304 int _channel = DEFAULT_TOKEN_CHANNEL; 1305 int _channel = DEFAULT_TOKEN_CHANNEL;
1305 // InternalAlloyLanguage.g:69:7: ( 'one' ) 1306 // InternalAlloyLanguage.g:69:7: ( 'lone' )
1306 // InternalAlloyLanguage.g:69:9: 'one' 1307 // InternalAlloyLanguage.g:69:9: 'lone'
1307 { 1308 {
1308 match("one"); 1309 match("lone");
1309 1310
1310 1311
1311 } 1312 }
@@ -1323,10 +1324,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1323 try { 1324 try {
1324 int _type = T__70; 1325 int _type = T__70;
1325 int _channel = DEFAULT_TOKEN_CHANNEL; 1326 int _channel = DEFAULT_TOKEN_CHANNEL;
1326 // InternalAlloyLanguage.g:70:7: ( 'set' ) 1327 // InternalAlloyLanguage.g:70:7: ( 'one' )
1327 // InternalAlloyLanguage.g:70:9: 'set' 1328 // InternalAlloyLanguage.g:70:9: 'one'
1328 { 1329 {
1329 match("set"); 1330 match("one");
1330 1331
1331 1332
1332 } 1333 }
@@ -1344,10 +1345,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1344 try { 1345 try {
1345 int _type = T__71; 1346 int _type = T__71;
1346 int _channel = DEFAULT_TOKEN_CHANNEL; 1347 int _channel = DEFAULT_TOKEN_CHANNEL;
1347 // InternalAlloyLanguage.g:71:7: ( 'plus' ) 1348 // InternalAlloyLanguage.g:71:7: ( 'set' )
1348 // InternalAlloyLanguage.g:71:9: 'plus' 1349 // InternalAlloyLanguage.g:71:9: 'set'
1349 { 1350 {
1350 match("plus"); 1351 match("set");
1351 1352
1352 1353
1353 } 1354 }
@@ -1365,10 +1366,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1365 try { 1366 try {
1366 int _type = T__72; 1367 int _type = T__72;
1367 int _channel = DEFAULT_TOKEN_CHANNEL; 1368 int _channel = DEFAULT_TOKEN_CHANNEL;
1368 // InternalAlloyLanguage.g:72:7: ( 'sub' ) 1369 // InternalAlloyLanguage.g:72:7: ( 'plus' )
1369 // InternalAlloyLanguage.g:72:9: 'sub' 1370 // InternalAlloyLanguage.g:72:9: 'plus'
1370 { 1371 {
1371 match("sub"); 1372 match("plus");
1372 1373
1373 1374
1374 } 1375 }
@@ -1386,10 +1387,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1386 try { 1387 try {
1387 int _type = T__73; 1388 int _type = T__73;
1388 int _channel = DEFAULT_TOKEN_CHANNEL; 1389 int _channel = DEFAULT_TOKEN_CHANNEL;
1389 // InternalAlloyLanguage.g:73:7: ( 'mul' ) 1390 // InternalAlloyLanguage.g:73:7: ( 'sub' )
1390 // InternalAlloyLanguage.g:73:9: 'mul' 1391 // InternalAlloyLanguage.g:73:9: 'sub'
1391 { 1392 {
1392 match("mul"); 1393 match("sub");
1393 1394
1394 1395
1395 } 1396 }
@@ -1407,10 +1408,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1407 try { 1408 try {
1408 int _type = T__74; 1409 int _type = T__74;
1409 int _channel = DEFAULT_TOKEN_CHANNEL; 1410 int _channel = DEFAULT_TOKEN_CHANNEL;
1410 // InternalAlloyLanguage.g:74:7: ( 'rem' ) 1411 // InternalAlloyLanguage.g:74:7: ( 'mul' )
1411 // InternalAlloyLanguage.g:74:9: 'rem' 1412 // InternalAlloyLanguage.g:74:9: 'mul'
1412 { 1413 {
1413 match("rem"); 1414 match("mul");
1414 1415
1415 1416
1416 } 1417 }
@@ -1428,10 +1429,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1428 try { 1429 try {
1429 int _type = T__75; 1430 int _type = T__75;
1430 int _channel = DEFAULT_TOKEN_CHANNEL; 1431 int _channel = DEFAULT_TOKEN_CHANNEL;
1431 // InternalAlloyLanguage.g:75:7: ( 'div' ) 1432 // InternalAlloyLanguage.g:75:7: ( 'rem' )
1432 // InternalAlloyLanguage.g:75:9: 'div' 1433 // InternalAlloyLanguage.g:75:9: 'rem'
1433 { 1434 {
1434 match("div"); 1435 match("rem");
1435 1436
1436 1437
1437 } 1438 }
@@ -1444,13 +1445,34 @@ public class InternalAlloyLanguageLexer extends Lexer {
1444 } 1445 }
1445 // $ANTLR end "T__75" 1446 // $ANTLR end "T__75"
1446 1447
1448 // $ANTLR start "T__76"
1449 public final void mT__76() throws RecognitionException {
1450 try {
1451 int _type = T__76;
1452 int _channel = DEFAULT_TOKEN_CHANNEL;
1453 // InternalAlloyLanguage.g:76:7: ( 'div' )
1454 // InternalAlloyLanguage.g:76:9: 'div'
1455 {
1456 match("div");
1457
1458
1459 }
1460
1461 state.type = _type;
1462 state.channel = _channel;
1463 }
1464 finally {
1465 }
1466 }
1467 // $ANTLR end "T__76"
1468
1447 // $ANTLR start "RULE_ID" 1469 // $ANTLR start "RULE_ID"
1448 public final void mRULE_ID() throws RecognitionException { 1470 public final void mRULE_ID() throws RecognitionException {
1449 try { 1471 try {
1450 int _type = RULE_ID; 1472 int _type = RULE_ID;
1451 int _channel = DEFAULT_TOKEN_CHANNEL; 1473 int _channel = DEFAULT_TOKEN_CHANNEL;
1452 // InternalAlloyLanguage.g:3032:9: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '\\'' | '\"' | '0' .. '9' )* ) 1474 // InternalAlloyLanguage.g:3125:9: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '\\'' | '\"' | '0' .. '9' )* )
1453 // InternalAlloyLanguage.g:3032:11: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '\\'' | '\"' | '0' .. '9' )* 1475 // InternalAlloyLanguage.g:3125:11: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '\\'' | '\"' | '0' .. '9' )*
1454 { 1476 {
1455 if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { 1477 if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
1456 input.consume(); 1478 input.consume();
@@ -1461,7 +1483,7 @@ public class InternalAlloyLanguageLexer extends Lexer {
1461 recover(mse); 1483 recover(mse);
1462 throw mse;} 1484 throw mse;}
1463 1485
1464 // InternalAlloyLanguage.g:3032:35: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '\\'' | '\"' | '0' .. '9' )* 1486 // InternalAlloyLanguage.g:3125:35: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '\\'' | '\"' | '0' .. '9' )*
1465 loop1: 1487 loop1:
1466 do { 1488 do {
1467 int alt1=2; 1489 int alt1=2;
@@ -1510,10 +1532,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1510 try { 1532 try {
1511 int _type = RULE_INT; 1533 int _type = RULE_INT;
1512 int _channel = DEFAULT_TOKEN_CHANNEL; 1534 int _channel = DEFAULT_TOKEN_CHANNEL;
1513 // InternalAlloyLanguage.g:3034:10: ( ( '0' .. '9' )+ ) 1535 // InternalAlloyLanguage.g:3127:10: ( ( '0' .. '9' )+ )
1514 // InternalAlloyLanguage.g:3034:12: ( '0' .. '9' )+ 1536 // InternalAlloyLanguage.g:3127:12: ( '0' .. '9' )+
1515 { 1537 {
1516 // InternalAlloyLanguage.g:3034:12: ( '0' .. '9' )+ 1538 // InternalAlloyLanguage.g:3127:12: ( '0' .. '9' )+
1517 int cnt2=0; 1539 int cnt2=0;
1518 loop2: 1540 loop2:
1519 do { 1541 do {
@@ -1527,7 +1549,7 @@ public class InternalAlloyLanguageLexer extends Lexer {
1527 1549
1528 switch (alt2) { 1550 switch (alt2) {
1529 case 1 : 1551 case 1 :
1530 // InternalAlloyLanguage.g:3034:13: '0' .. '9' 1552 // InternalAlloyLanguage.g:3127:13: '0' .. '9'
1531 { 1553 {
1532 matchRange('0','9'); 1554 matchRange('0','9');
1533 1555
@@ -1559,10 +1581,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1559 try { 1581 try {
1560 int _type = RULE_STRING; 1582 int _type = RULE_STRING;
1561 int _channel = DEFAULT_TOKEN_CHANNEL; 1583 int _channel = DEFAULT_TOKEN_CHANNEL;
1562 // InternalAlloyLanguage.g:3036:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) 1584 // InternalAlloyLanguage.g:3129:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
1563 // InternalAlloyLanguage.g:3036:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) 1585 // InternalAlloyLanguage.g:3129:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
1564 { 1586 {
1565 // InternalAlloyLanguage.g:3036:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) 1587 // InternalAlloyLanguage.g:3129:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
1566 int alt5=2; 1588 int alt5=2;
1567 int LA5_0 = input.LA(1); 1589 int LA5_0 = input.LA(1);
1568 1590
@@ -1580,10 +1602,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1580 } 1602 }
1581 switch (alt5) { 1603 switch (alt5) {
1582 case 1 : 1604 case 1 :
1583 // InternalAlloyLanguage.g:3036:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' 1605 // InternalAlloyLanguage.g:3129:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
1584 { 1606 {
1585 match('\"'); 1607 match('\"');
1586 // InternalAlloyLanguage.g:3036:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* 1608 // InternalAlloyLanguage.g:3129:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
1587 loop3: 1609 loop3:
1588 do { 1610 do {
1589 int alt3=3; 1611 int alt3=3;
@@ -1599,7 +1621,7 @@ public class InternalAlloyLanguageLexer extends Lexer {
1599 1621
1600 switch (alt3) { 1622 switch (alt3) {
1601 case 1 : 1623 case 1 :
1602 // InternalAlloyLanguage.g:3036:21: '\\\\' . 1624 // InternalAlloyLanguage.g:3129:21: '\\\\' .
1603 { 1625 {
1604 match('\\'); 1626 match('\\');
1605 matchAny(); 1627 matchAny();
@@ -1607,7 +1629,7 @@ public class InternalAlloyLanguageLexer extends Lexer {
1607 } 1629 }
1608 break; 1630 break;
1609 case 2 : 1631 case 2 :
1610 // InternalAlloyLanguage.g:3036:28: ~ ( ( '\\\\' | '\"' ) ) 1632 // InternalAlloyLanguage.g:3129:28: ~ ( ( '\\\\' | '\"' ) )
1611 { 1633 {
1612 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { 1634 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1613 input.consume(); 1635 input.consume();
@@ -1632,10 +1654,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1632 } 1654 }
1633 break; 1655 break;
1634 case 2 : 1656 case 2 :
1635 // InternalAlloyLanguage.g:3036:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' 1657 // InternalAlloyLanguage.g:3129:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
1636 { 1658 {
1637 match('\''); 1659 match('\'');
1638 // InternalAlloyLanguage.g:3036:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* 1660 // InternalAlloyLanguage.g:3129:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
1639 loop4: 1661 loop4:
1640 do { 1662 do {
1641 int alt4=3; 1663 int alt4=3;
@@ -1651,7 +1673,7 @@ public class InternalAlloyLanguageLexer extends Lexer {
1651 1673
1652 switch (alt4) { 1674 switch (alt4) {
1653 case 1 : 1675 case 1 :
1654 // InternalAlloyLanguage.g:3036:54: '\\\\' . 1676 // InternalAlloyLanguage.g:3129:54: '\\\\' .
1655 { 1677 {
1656 match('\\'); 1678 match('\\');
1657 matchAny(); 1679 matchAny();
@@ -1659,7 +1681,7 @@ public class InternalAlloyLanguageLexer extends Lexer {
1659 } 1681 }
1660 break; 1682 break;
1661 case 2 : 1683 case 2 :
1662 // InternalAlloyLanguage.g:3036:61: ~ ( ( '\\\\' | '\\'' ) ) 1684 // InternalAlloyLanguage.g:3129:61: ~ ( ( '\\\\' | '\\'' ) )
1663 { 1685 {
1664 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { 1686 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1665 input.consume(); 1687 input.consume();
@@ -1702,12 +1724,12 @@ public class InternalAlloyLanguageLexer extends Lexer {
1702 try { 1724 try {
1703 int _type = RULE_ML_COMMENT; 1725 int _type = RULE_ML_COMMENT;
1704 int _channel = DEFAULT_TOKEN_CHANNEL; 1726 int _channel = DEFAULT_TOKEN_CHANNEL;
1705 // InternalAlloyLanguage.g:3038:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) 1727 // InternalAlloyLanguage.g:3131:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
1706 // InternalAlloyLanguage.g:3038:19: '/*' ( options {greedy=false; } : . )* '*/' 1728 // InternalAlloyLanguage.g:3131:19: '/*' ( options {greedy=false; } : . )* '*/'
1707 { 1729 {
1708 match("/*"); 1730 match("/*");
1709 1731
1710 // InternalAlloyLanguage.g:3038:24: ( options {greedy=false; } : . )* 1732 // InternalAlloyLanguage.g:3131:24: ( options {greedy=false; } : . )*
1711 loop6: 1733 loop6:
1712 do { 1734 do {
1713 int alt6=2; 1735 int alt6=2;
@@ -1732,7 +1754,7 @@ public class InternalAlloyLanguageLexer extends Lexer {
1732 1754
1733 switch (alt6) { 1755 switch (alt6) {
1734 case 1 : 1756 case 1 :
1735 // InternalAlloyLanguage.g:3038:52: . 1757 // InternalAlloyLanguage.g:3131:52: .
1736 { 1758 {
1737 matchAny(); 1759 matchAny();
1738 1760
@@ -1762,12 +1784,12 @@ public class InternalAlloyLanguageLexer extends Lexer {
1762 try { 1784 try {
1763 int _type = RULE_SL_COMMENT; 1785 int _type = RULE_SL_COMMENT;
1764 int _channel = DEFAULT_TOKEN_CHANNEL; 1786 int _channel = DEFAULT_TOKEN_CHANNEL;
1765 // InternalAlloyLanguage.g:3040:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) 1787 // InternalAlloyLanguage.g:3133:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
1766 // InternalAlloyLanguage.g:3040:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? 1788 // InternalAlloyLanguage.g:3133:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
1767 { 1789 {
1768 match("//"); 1790 match("//");
1769 1791
1770 // InternalAlloyLanguage.g:3040:24: (~ ( ( '\\n' | '\\r' ) ) )* 1792 // InternalAlloyLanguage.g:3133:24: (~ ( ( '\\n' | '\\r' ) ) )*
1771 loop7: 1793 loop7:
1772 do { 1794 do {
1773 int alt7=2; 1795 int alt7=2;
@@ -1780,7 +1802,7 @@ public class InternalAlloyLanguageLexer extends Lexer {
1780 1802
1781 switch (alt7) { 1803 switch (alt7) {
1782 case 1 : 1804 case 1 :
1783 // InternalAlloyLanguage.g:3040:24: ~ ( ( '\\n' | '\\r' ) ) 1805 // InternalAlloyLanguage.g:3133:24: ~ ( ( '\\n' | '\\r' ) )
1784 { 1806 {
1785 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') ) { 1807 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') ) {
1786 input.consume(); 1808 input.consume();
@@ -1800,7 +1822,7 @@ public class InternalAlloyLanguageLexer extends Lexer {
1800 } 1822 }
1801 } while (true); 1823 } while (true);
1802 1824
1803 // InternalAlloyLanguage.g:3040:40: ( ( '\\r' )? '\\n' )? 1825 // InternalAlloyLanguage.g:3133:40: ( ( '\\r' )? '\\n' )?
1804 int alt9=2; 1826 int alt9=2;
1805 int LA9_0 = input.LA(1); 1827 int LA9_0 = input.LA(1);
1806 1828
@@ -1809,9 +1831,9 @@ public class InternalAlloyLanguageLexer extends Lexer {
1809 } 1831 }
1810 switch (alt9) { 1832 switch (alt9) {
1811 case 1 : 1833 case 1 :
1812 // InternalAlloyLanguage.g:3040:41: ( '\\r' )? '\\n' 1834 // InternalAlloyLanguage.g:3133:41: ( '\\r' )? '\\n'
1813 { 1835 {
1814 // InternalAlloyLanguage.g:3040:41: ( '\\r' )? 1836 // InternalAlloyLanguage.g:3133:41: ( '\\r' )?
1815 int alt8=2; 1837 int alt8=2;
1816 int LA8_0 = input.LA(1); 1838 int LA8_0 = input.LA(1);
1817 1839
@@ -1820,7 +1842,7 @@ public class InternalAlloyLanguageLexer extends Lexer {
1820 } 1842 }
1821 switch (alt8) { 1843 switch (alt8) {
1822 case 1 : 1844 case 1 :
1823 // InternalAlloyLanguage.g:3040:41: '\\r' 1845 // InternalAlloyLanguage.g:3133:41: '\\r'
1824 { 1846 {
1825 match('\r'); 1847 match('\r');
1826 1848
@@ -1852,10 +1874,10 @@ public class InternalAlloyLanguageLexer extends Lexer {
1852 try { 1874 try {
1853 int _type = RULE_WS; 1875 int _type = RULE_WS;
1854 int _channel = DEFAULT_TOKEN_CHANNEL; 1876 int _channel = DEFAULT_TOKEN_CHANNEL;
1855 // InternalAlloyLanguage.g:3042:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) 1877 // InternalAlloyLanguage.g:3135:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
1856 // InternalAlloyLanguage.g:3042:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1878 // InternalAlloyLanguage.g:3135:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1857 { 1879 {
1858 // InternalAlloyLanguage.g:3042:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1880 // InternalAlloyLanguage.g:3135:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1859 int cnt10=0; 1881 int cnt10=0;
1860 loop10: 1882 loop10:
1861 do { 1883 do {
@@ -1909,8 +1931,8 @@ public class InternalAlloyLanguageLexer extends Lexer {
1909 try { 1931 try {
1910 int _type = RULE_ANY_OTHER; 1932 int _type = RULE_ANY_OTHER;
1911 int _channel = DEFAULT_TOKEN_CHANNEL; 1933 int _channel = DEFAULT_TOKEN_CHANNEL;
1912 // InternalAlloyLanguage.g:3044:16: ( . ) 1934 // InternalAlloyLanguage.g:3137:16: ( . )
1913 // InternalAlloyLanguage.g:3044:18: . 1935 // InternalAlloyLanguage.g:3137:18: .
1914 { 1936 {
1915 matchAny(); 1937 matchAny();
1916 1938
@@ -1925,8 +1947,8 @@ public class InternalAlloyLanguageLexer extends Lexer {
1925 // $ANTLR end "RULE_ANY_OTHER" 1947 // $ANTLR end "RULE_ANY_OTHER"
1926 1948
1927 public void mTokens() throws RecognitionException { 1949 public void mTokens() throws RecognitionException {
1928 // InternalAlloyLanguage.g:1:8: ( T__11 | T__12 | 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 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) 1950 // InternalAlloyLanguage.g:1:8: ( T__11 | T__12 | 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 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
1929 int alt11=72; 1951 int alt11=73;
1930 alt11 = dfa11.predict(input); 1952 alt11 = dfa11.predict(input);
1931 switch (alt11) { 1953 switch (alt11) {
1932 case 1 : 1954 case 1 :
@@ -2385,49 +2407,56 @@ public class InternalAlloyLanguageLexer extends Lexer {
2385 } 2407 }
2386 break; 2408 break;
2387 case 66 : 2409 case 66 :
2388 // InternalAlloyLanguage.g:1:400: RULE_ID 2410 // InternalAlloyLanguage.g:1:400: T__76
2389 { 2411 {
2390 mRULE_ID(); 2412 mT__76();
2391 2413
2392 } 2414 }
2393 break; 2415 break;
2394 case 67 : 2416 case 67 :
2395 // InternalAlloyLanguage.g:1:408: RULE_INT 2417 // InternalAlloyLanguage.g:1:406: RULE_ID
2396 { 2418 {
2397 mRULE_INT(); 2419 mRULE_ID();
2398 2420
2399 } 2421 }
2400 break; 2422 break;
2401 case 68 : 2423 case 68 :
2402 // InternalAlloyLanguage.g:1:417: RULE_STRING 2424 // InternalAlloyLanguage.g:1:414: RULE_INT
2403 { 2425 {
2404 mRULE_STRING(); 2426 mRULE_INT();
2405 2427
2406 } 2428 }
2407 break; 2429 break;
2408 case 69 : 2430 case 69 :
2409 // InternalAlloyLanguage.g:1:429: RULE_ML_COMMENT 2431 // InternalAlloyLanguage.g:1:423: RULE_STRING
2410 { 2432 {
2411 mRULE_ML_COMMENT(); 2433 mRULE_STRING();
2412 2434
2413 } 2435 }
2414 break; 2436 break;
2415 case 70 : 2437 case 70 :
2416 // InternalAlloyLanguage.g:1:445: RULE_SL_COMMENT 2438 // InternalAlloyLanguage.g:1:435: RULE_ML_COMMENT
2417 { 2439 {
2418 mRULE_SL_COMMENT(); 2440 mRULE_ML_COMMENT();
2419 2441
2420 } 2442 }
2421 break; 2443 break;
2422 case 71 : 2444 case 71 :
2423 // InternalAlloyLanguage.g:1:461: RULE_WS 2445 // InternalAlloyLanguage.g:1:451: RULE_SL_COMMENT
2424 { 2446 {
2425 mRULE_WS(); 2447 mRULE_SL_COMMENT();
2426 2448
2427 } 2449 }
2428 break; 2450 break;
2429 case 72 : 2451 case 72 :
2430 // InternalAlloyLanguage.g:1:469: RULE_ANY_OTHER 2452 // InternalAlloyLanguage.g:1:467: RULE_WS
2453 {
2454 mRULE_WS();
2455
2456 }
2457 break;
2458 case 73 :
2459 // InternalAlloyLanguage.g:1:475: RULE_ANY_OTHER
2431 { 2460 {
2432 mRULE_ANY_OTHER(); 2461 mRULE_ANY_OTHER();
2433 2462
@@ -2441,97 +2470,96 @@ public class InternalAlloyLanguageLexer extends Lexer {
2441 2470
2442 protected DFA11 dfa11 = new DFA11(this); 2471 protected DFA11 dfa11 = new DFA11(this);
2443 static final String DFA11_eotS = 2472 static final String DFA11_eotS =
2444 "\1\uffff\1\56\3\uffff\3\56\1\76\1\100\1\56\2\uffff\2\56\1\52\1\56\1\116\1\120\1\122\1\124\1\126\1\uffff\1\131\1\56\4\uffff\2\56\2\uffff\3\56\2\uffff\3\52\2\uffff\3\56\4\uffff\7\56\1\170\3\56\4\uffff\3\56\2\uffff\3\56\1\uffff\1\u0083\1\56\1\u0086\15\uffff\1\u0089\4\uffff\2\56\2\uffff\4\56\5\uffff\5\56\1\u0095\1\u0096\1\u0097\1\u0098\1\u0099\1\56\1\u009b\1\uffff\1\u009c\2\56\1\u009f\1\56\1\u00a1\3\56\1\u00a5\1\uffff\1\u00a6\2\uffff\1\u00a7\1\56\1\uffff\1\56\1\u00aa\1\u00ab\1\u00ac\1\56\1\u00ae\1\u00af\2\56\1\u00b2\1\56\5\uffff\1\u00b4\2\uffff\1\56\1\u00b6\1\uffff\1\u00b7\1\uffff\1\u00b8\1\u00b9\1\u00ba\3\uffff\1\u00bb\1\u00bc\3\uffff\1\u00bd\2\uffff\2\56\1\uffff\1\56\1\uffff\1\56\10\uffff\4\56\1\u00c6\1\u00c7\1\56\1\u00c9\2\uffff\1\u00ca\2\uffff"; 2473 "\1\uffff\1\57\3\uffff\3\57\1\77\1\101\1\57\2\uffff\2\57\1\53\1\57\1\117\1\121\1\123\1\125\1\127\1\uffff\1\132\1\57\4\uffff\3\57\2\uffff\3\57\2\uffff\3\53\2\uffff\3\57\4\uffff\7\57\1\172\3\57\4\uffff\3\57\2\uffff\3\57\1\uffff\1\u0085\1\57\1\u0088\15\uffff\1\u008b\4\uffff\3\57\2\uffff\4\57\5\uffff\5\57\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\57\1\u009e\1\uffff\1\u009f\2\57\1\u00a2\1\57\1\u00a4\3\57\1\u00a8\1\uffff\1\u00a9\2\uffff\1\u00aa\1\57\1\uffff\1\57\1\u00ad\1\57\1\u00af\1\u00b0\1\57\1\u00b2\1\u00b3\2\57\1\u00b6\1\57\5\uffff\1\u00b8\2\uffff\1\57\1\u00ba\1\uffff\1\u00bb\1\uffff\1\u00bc\1\u00bd\1\u00be\3\uffff\1\u00bf\1\u00c0\1\uffff\1\57\2\uffff\1\u00c2\2\uffff\2\57\1\uffff\1\57\1\uffff\1\57\7\uffff\1\57\1\uffff\4\57\1\u00cc\1\u00cd\1\u00ce\1\57\1\u00d0\3\uffff\1\u00d1\2\uffff";
2445 static final String DFA11_eofS = 2474 static final String DFA11_eofS =
2446 "\u00cb\uffff"; 2475 "\u00d2\uffff";
2447 static final String DFA11_minS = 2476 static final String DFA11_minS =
2448 "\1\0\1\154\3\uffff\1\142\1\145\1\144\1\53\1\76\1\141\2\uffff\1\154\1\151\1\174\1\156\1\72\1\76\1\46\2\75\1\uffff\1\76\1\157\4\uffff\2\156\2\uffff\1\145\1\157\1\165\2\uffff\2\0\1\52\2\uffff\1\165\1\141\1\163\4\uffff\1\163\1\144\1\154\1\147\1\142\1\155\1\164\1\42\1\146\1\160\1\145\4\uffff\1\156\1\143\1\162\2\uffff\1\145\1\165\1\163\1\uffff\1\42\1\145\1\76\15\uffff\1\42\4\uffff\1\151\1\164\2\uffff\1\156\1\155\1\156\1\154\5\uffff\1\155\1\145\1\143\1\145\1\164\5\42\1\145\1\42\1\uffff\1\42\1\154\1\156\1\42\1\164\1\42\1\144\1\163\1\152\1\42\1\uffff\1\42\2\uffff\1\42\1\145\1\uffff\1\166\3\42\1\145\2\42\1\156\1\164\1\42\1\162\5\uffff\1\42\2\uffff\1\151\1\42\1\uffff\1\42\1\uffff\3\42\3\uffff\2\42\3\uffff\1\42\2\uffff\1\144\1\154\1\uffff\1\141\1\uffff\1\145\10\uffff\1\163\1\171\1\143\1\163\2\42\1\164\1\42\2\uffff\1\42\2\uffff"; 2477 "\1\0\1\154\3\uffff\1\142\1\145\1\144\1\53\1\76\1\141\2\uffff\1\154\1\151\1\174\1\156\1\72\1\76\1\46\2\75\1\uffff\1\76\1\157\4\uffff\2\156\1\164\2\uffff\1\145\1\157\1\165\2\uffff\2\0\1\52\2\uffff\1\165\1\141\1\163\4\uffff\1\163\1\144\1\154\1\147\1\142\1\155\1\164\1\42\1\146\1\160\1\145\4\uffff\1\156\1\143\1\162\2\uffff\1\145\1\165\1\163\1\uffff\1\42\1\145\1\76\15\uffff\1\42\4\uffff\1\151\1\164\1\162\2\uffff\1\156\1\155\1\156\1\154\5\uffff\1\155\1\145\1\143\1\145\1\164\5\42\1\145\1\42\1\uffff\1\42\1\154\1\156\1\42\1\164\1\42\1\144\1\163\1\152\1\42\1\uffff\1\42\2\uffff\1\42\1\145\1\uffff\1\166\1\42\1\151\2\42\1\145\2\42\1\156\1\164\1\42\1\162\5\uffff\1\42\2\uffff\1\151\1\42\1\uffff\1\42\1\uffff\3\42\3\uffff\2\42\1\uffff\1\156\2\uffff\1\42\2\uffff\1\144\1\154\1\uffff\1\141\1\uffff\1\145\7\uffff\1\147\1\uffff\1\163\1\171\1\143\1\163\3\42\1\164\1\42\3\uffff\1\42\2\uffff";
2449 static final String DFA11_maxS = 2478 static final String DFA11_maxS =
2450 "\1\uffff\1\170\3\uffff\1\156\1\165\1\156\1\53\1\76\1\165\2\uffff\1\162\1\151\1\174\1\162\1\75\1\76\1\46\2\75\1\uffff\1\76\1\157\4\uffff\2\156\2\uffff\1\165\1\157\1\165\2\uffff\2\uffff\1\57\2\uffff\1\165\1\164\1\163\4\uffff\1\163\1\144\1\154\1\147\2\155\1\164\1\172\1\146\1\160\1\145\4\uffff\1\156\1\143\1\162\2\uffff\1\145\1\165\1\166\1\uffff\1\172\1\145\1\76\15\uffff\1\172\4\uffff\1\151\1\164\2\uffff\1\156\1\155\1\156\1\154\5\uffff\1\155\1\145\1\143\1\145\1\164\5\172\1\145\1\172\1\uffff\1\172\1\154\1\156\1\172\1\164\1\172\1\144\1\163\1\152\1\172\1\uffff\1\172\2\uffff\1\172\1\145\1\uffff\1\166\3\172\1\145\2\172\1\156\1\164\1\172\1\162\5\uffff\1\172\2\uffff\1\151\1\172\1\uffff\1\172\1\uffff\3\172\3\uffff\2\172\3\uffff\1\172\2\uffff\1\144\1\154\1\uffff\1\141\1\uffff\1\145\10\uffff\1\163\1\171\1\143\1\163\2\172\1\164\1\172\2\uffff\1\172\2\uffff"; 2479 "\1\uffff\1\170\3\uffff\1\156\1\165\1\156\1\53\1\76\1\165\2\uffff\1\162\1\151\1\174\1\162\1\75\1\76\1\46\2\75\1\uffff\1\76\1\157\4\uffff\2\156\1\164\2\uffff\1\165\1\157\1\165\2\uffff\2\uffff\1\57\2\uffff\1\165\1\164\1\163\4\uffff\1\163\1\144\1\154\1\147\2\155\1\164\1\172\1\146\1\160\1\145\4\uffff\1\156\1\143\1\162\2\uffff\1\145\1\165\1\166\1\uffff\1\172\1\145\1\76\15\uffff\1\172\4\uffff\1\151\1\164\1\162\2\uffff\1\156\1\155\1\156\1\154\5\uffff\1\155\1\145\1\143\1\145\1\164\5\172\1\145\1\172\1\uffff\1\172\1\154\1\156\1\172\1\164\1\172\1\144\1\163\1\152\1\172\1\uffff\1\172\2\uffff\1\172\1\145\1\uffff\1\166\1\172\1\151\2\172\1\145\2\172\1\156\1\164\1\172\1\162\5\uffff\1\172\2\uffff\1\151\1\172\1\uffff\1\172\1\uffff\3\172\3\uffff\2\172\1\uffff\1\156\2\uffff\1\172\2\uffff\1\144\1\154\1\uffff\1\141\1\uffff\1\145\7\uffff\1\147\1\uffff\1\163\1\171\1\143\1\163\3\172\1\164\1\172\3\uffff\1\172\2\uffff";
2451 static final String DFA11_acceptS = 2480 static final String DFA11_acceptS =
2452 "\2\uffff\1\2\1\3\1\4\6\uffff\1\14\1\15\11\uffff\1\43\2\uffff\1\51\1\52\1\53\1\54\2\uffff\1\62\1\63\3\uffff\1\102\1\103\3\uffff\1\107\1\110\3\uffff\1\102\1\2\1\3\1\4\13\uffff\1\40\1\11\1\41\1\12\3\uffff\1\14\1\15\3\uffff\1\21\3\uffff\1\42\1\36\1\25\1\32\1\30\1\45\1\33\1\47\1\35\1\34\1\43\1\46\1\44\1\uffff\1\51\1\52\1\53\1\54\2\uffff\1\62\1\63\4\uffff\1\103\1\104\1\105\1\106\1\107\14\uffff\1\10\12\uffff\1\22\1\uffff\1\23\1\37\2\uffff\1\70\13\uffff\1\31\1\67\1\6\1\55\1\76\1\uffff\1\74\1\24\2\uffff\1\13\1\uffff\1\65\3\uffff\1\101\1\73\1\50\2\uffff\1\61\1\64\1\100\1\uffff\1\77\1\1\2\uffff\1\27\1\uffff\1\71\1\uffff\1\57\1\17\1\16\1\75\1\20\1\56\1\60\1\72\10\uffff\1\7\1\66\1\uffff\1\26\1\5"; 2481 "\2\uffff\1\2\1\3\1\4\6\uffff\1\14\1\15\11\uffff\1\43\2\uffff\1\51\1\52\1\53\1\54\3\uffff\1\63\1\64\3\uffff\1\103\1\104\3\uffff\1\110\1\111\3\uffff\1\103\1\2\1\3\1\4\13\uffff\1\40\1\11\1\41\1\12\3\uffff\1\14\1\15\3\uffff\1\21\3\uffff\1\42\1\36\1\25\1\32\1\30\1\45\1\33\1\47\1\35\1\34\1\43\1\46\1\44\1\uffff\1\51\1\52\1\53\1\54\3\uffff\1\63\1\64\4\uffff\1\104\1\105\1\106\1\107\1\110\14\uffff\1\10\12\uffff\1\22\1\uffff\1\23\1\37\2\uffff\1\71\14\uffff\1\31\1\70\1\6\1\55\1\77\1\uffff\1\75\1\24\2\uffff\1\13\1\uffff\1\66\3\uffff\1\102\1\74\1\50\2\uffff\1\61\1\uffff\1\65\1\101\1\uffff\1\100\1\1\2\uffff\1\27\1\uffff\1\72\1\uffff\1\57\1\17\1\16\1\76\1\20\1\56\1\60\1\uffff\1\73\11\uffff\1\62\1\7\1\67\1\uffff\1\26\1\5";
2453 static final String DFA11_specialS = 2482 static final String DFA11_specialS =
2454 "\1\0\45\uffff\1\1\1\2\u00a3\uffff}>"; 2483 "\1\1\46\uffff\1\2\1\0\u00a9\uffff}>";
2455 static final String[] DFA11_transitionS = { 2484 static final String[] DFA11_transitionS = {
2456 "\11\52\2\51\2\52\1\51\22\52\1\51\1\24\1\46\1\34\2\52\1\23\1\47\1\37\1\40\1\33\1\10\1\3\1\27\1\26\1\50\12\45\1\11\1\52\1\21\1\22\1\25\2\52\10\44\1\36\21\44\1\13\1\52\1\14\1\32\1\44\1\52\1\5\2\44\1\16\1\1\1\12\2\44\1\7\2\44\1\42\1\43\1\30\1\20\1\15\1\44\1\41\1\6\1\44\1\35\5\44\1\2\1\17\1\4\1\31\uff81\52", 2485 "\11\53\2\52\2\53\1\52\22\53\1\52\1\24\1\47\1\34\2\53\1\23\1\50\1\40\1\41\1\33\1\10\1\3\1\27\1\26\1\51\12\46\1\11\1\53\1\21\1\22\1\25\2\53\10\45\1\36\11\45\1\37\7\45\1\13\1\53\1\14\1\32\1\45\1\53\1\5\2\45\1\16\1\1\1\12\2\45\1\7\2\45\1\43\1\44\1\30\1\20\1\15\1\45\1\42\1\6\1\45\1\35\5\45\1\2\1\17\1\4\1\31\uff81\53",
2457 "\1\55\1\uffff\1\53\11\uffff\1\54", 2486 "\1\56\1\uffff\1\54\11\uffff\1\55",
2458 "", 2487 "",
2459 "", 2488 "",
2460 "", 2489 "",
2461 "\1\62\11\uffff\1\64\1\uffff\1\63", 2490 "\1\63\11\uffff\1\65\1\uffff\1\64",
2462 "\1\70\3\uffff\1\65\5\uffff\1\67\5\uffff\1\66", 2491 "\1\71\3\uffff\1\66\5\uffff\1\70\5\uffff\1\67",
2463 "\1\74\1\uffff\1\72\6\uffff\1\73\1\71", 2492 "\1\75\1\uffff\1\73\6\uffff\1\74\1\72",
2464 "\1\75", 2493 "\1\76",
2465 "\1\77", 2494 "\1\100",
2466 "\1\102\15\uffff\1\103\5\uffff\1\101", 2495 "\1\103\15\uffff\1\104\5\uffff\1\102",
2467 "", 2496 "",
2468 "", 2497 "",
2469 "\1\107\5\uffff\1\106", 2498 "\1\110\5\uffff\1\107",
2470 "\1\110",
2471 "\1\111", 2499 "\1\111",
2472 "\1\113\3\uffff\1\112", 2500 "\1\112",
2473 "\1\115\2\uffff\1\114", 2501 "\1\114\3\uffff\1\113",
2474 "\1\117", 2502 "\1\116\2\uffff\1\115",
2475 "\1\121", 2503 "\1\120",
2476 "\1\123", 2504 "\1\122",
2477 "\1\125", 2505 "\1\124",
2506 "\1\126",
2478 "", 2507 "",
2479 "\1\130", 2508 "\1\131",
2480 "\1\132", 2509 "\1\133",
2481 "", 2510 "",
2482 "", 2511 "",
2483 "", 2512 "",
2484 "", 2513 "",
2485 "\1\137",
2486 "\1\140", 2514 "\1\140",
2515 "\1\141",
2516 "\1\142",
2487 "", 2517 "",
2488 "", 2518 "",
2489 "\1\144\17\uffff\1\143", 2519 "\1\146\17\uffff\1\145",
2490 "\1\145", 2520 "\1\147",
2491 "\1\146", 2521 "\1\150",
2492 "", 2522 "",
2493 "", 2523 "",
2494 "\0\150", 2524 "\0\152",
2495 "\0\150", 2525 "\0\152",
2496 "\1\151\4\uffff\1\152", 2526 "\1\153\4\uffff\1\154",
2497 "", 2527 "",
2498 "", 2528 "",
2499 "\1\154", 2529 "\1\156",
2500 "\1\156\22\uffff\1\155", 2530 "\1\160\22\uffff\1\157",
2501 "\1\157", 2531 "\1\161",
2502 "", 2532 "",
2503 "", 2533 "",
2504 "", 2534 "",
2505 "", 2535 "",
2506 "\1\160",
2507 "\1\161",
2508 "\1\162", 2536 "\1\162",
2509 "\1\163", 2537 "\1\163",
2510 "\1\165\12\uffff\1\164", 2538 "\1\164",
2511 "\1\166", 2539 "\1\165",
2512 "\1\167", 2540 "\1\167\12\uffff\1\166",
2513 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2541 "\1\170",
2514 "\1\171", 2542 "\1\171",
2515 "\1\172", 2543 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2516 "\1\173", 2544 "\1\173",
2545 "\1\174",
2546 "\1\175",
2517 "", 2547 "",
2518 "", 2548 "",
2519 "", 2549 "",
2520 "", 2550 "",
2521 "\1\174",
2522 "\1\175",
2523 "\1\176", 2551 "\1\176",
2524 "",
2525 "",
2526 "\1\177", 2552 "\1\177",
2527 "\1\u0080", 2553 "\1\u0080",
2528 "\1\u0081\2\uffff\1\u0082",
2529 "", 2554 "",
2530 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2531 "\1\u0084",
2532 "\1\u0085",
2533 "", 2555 "",
2556 "\1\u0081",
2557 "\1\u0082",
2558 "\1\u0083\2\uffff\1\u0084",
2534 "", 2559 "",
2560 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2561 "\1\u0086",
2562 "\1\u0087",
2535 "", 2563 "",
2536 "", 2564 "",
2537 "", 2565 "",
@@ -2543,98 +2571,103 @@ public class InternalAlloyLanguageLexer extends Lexer {
2543 "", 2571 "",
2544 "", 2572 "",
2545 "", 2573 "",
2546 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\15\56\1\u0088\5\56\1\u0087\6\56",
2547 "", 2574 "",
2548 "", 2575 "",
2576 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\15\57\1\u008a\5\57\1\u0089\6\57",
2549 "", 2577 "",
2550 "", 2578 "",
2551 "\1\u008a",
2552 "\1\u008b",
2553 "", 2579 "",
2554 "", 2580 "",
2555 "\1\u008c", 2581 "\1\u008c",
2556 "\1\u008d", 2582 "\1\u008d",
2557 "\1\u008e", 2583 "\1\u008e",
2584 "",
2585 "",
2558 "\1\u008f", 2586 "\1\u008f",
2587 "\1\u0090",
2588 "\1\u0091",
2589 "\1\u0092",
2559 "", 2590 "",
2560 "", 2591 "",
2561 "", 2592 "",
2562 "", 2593 "",
2563 "", 2594 "",
2564 "\1\u0090",
2565 "\1\u0091",
2566 "\1\u0092",
2567 "\1\u0093", 2595 "\1\u0093",
2568 "\1\u0094", 2596 "\1\u0094",
2569 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2597 "\1\u0095",
2570 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2598 "\1\u0096",
2571 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2599 "\1\u0097",
2572 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2600 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2573 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2601 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2574 "\1\u009a", 2602 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2575 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2603 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2576 "", 2604 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2577 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2578 "\1\u009d", 2605 "\1\u009d",
2579 "\1\u009e", 2606 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2580 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2607 "",
2608 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2581 "\1\u00a0", 2609 "\1\u00a0",
2582 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2610 "\1\u00a1",
2583 "\1\u00a2", 2611 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2584 "\1\u00a3", 2612 "\1\u00a3",
2585 "\1\u00a4", 2613 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2586 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2614 "\1\u00a5",
2615 "\1\u00a6",
2616 "\1\u00a7",
2617 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2587 "", 2618 "",
2588 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2619 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2589 "", 2620 "",
2590 "", 2621 "",
2591 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2622 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2592 "\1\u00a8", 2623 "\1\u00ab",
2593 "", 2624 "",
2594 "\1\u00a9", 2625 "\1\u00ac",
2595 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2626 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2596 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2627 "\1\u00ae",
2597 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2628 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2598 "\1\u00ad", 2629 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2599 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2600 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2601 "\1\u00b0",
2602 "\1\u00b1", 2630 "\1\u00b1",
2603 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2631 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2604 "\1\u00b3", 2632 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2633 "\1\u00b4",
2634 "\1\u00b5",
2635 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2636 "\1\u00b7",
2605 "", 2637 "",
2606 "", 2638 "",
2607 "", 2639 "",
2608 "", 2640 "",
2609 "", 2641 "",
2610 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2642 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2611 "", 2643 "",
2612 "", 2644 "",
2613 "\1\u00b5", 2645 "\1\u00b9",
2614 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2646 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2615 "", 2647 "",
2616 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2648 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2617 "", 2649 "",
2618 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2650 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2619 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2651 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2620 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2652 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2621 "", 2653 "",
2622 "", 2654 "",
2623 "", 2655 "",
2624 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2656 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2625 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2657 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2626 "", 2658 "",
2659 "\1\u00c1",
2627 "", 2660 "",
2628 "", 2661 "",
2629 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2662 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2630 "", 2663 "",
2631 "", 2664 "",
2632 "\1\u00be", 2665 "\1\u00c3",
2633 "\1\u00bf", 2666 "\1\u00c4",
2634 "", 2667 "",
2635 "\1\u00c0", 2668 "\1\u00c5",
2636 "", 2669 "",
2637 "\1\u00c1", 2670 "\1\u00c6",
2638 "", 2671 "",
2639 "", 2672 "",
2640 "", 2673 "",
@@ -2642,18 +2675,21 @@ public class InternalAlloyLanguageLexer extends Lexer {
2642 "", 2675 "",
2643 "", 2676 "",
2644 "", 2677 "",
2678 "\1\u00c7",
2645 "", 2679 "",
2646 "\1\u00c2",
2647 "\1\u00c3",
2648 "\1\u00c4",
2649 "\1\u00c5",
2650 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2651 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
2652 "\1\u00c8", 2680 "\1\u00c8",
2653 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2681 "\1\u00c9",
2682 "\1\u00ca",
2683 "\1\u00cb",
2684 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2685 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2686 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2687 "\1\u00cf",
2688 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2689 "",
2654 "", 2690 "",
2655 "", 2691 "",
2656 "\1\56\4\uffff\1\56\10\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", 2692 "\1\57\4\uffff\1\57\10\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32\57",
2657 "", 2693 "",
2658 "" 2694 ""
2659 }; 2695 };
@@ -2688,13 +2724,23 @@ public class InternalAlloyLanguageLexer extends Lexer {
2688 this.transition = DFA11_transition; 2724 this.transition = DFA11_transition;
2689 } 2725 }
2690 public String getDescription() { 2726 public String getDescription() {
2691 return "1:1: Tokens : ( T__11 | T__12 | 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 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; 2727 return "1:1: Tokens : ( T__11 | T__12 | 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 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
2692 } 2728 }
2693 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { 2729 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
2694 IntStream input = _input; 2730 IntStream input = _input;
2695 int _s = s; 2731 int _s = s;
2696 switch ( s ) { 2732 switch ( s ) {
2697 case 0 : 2733 case 0 :
2734 int LA11_40 = input.LA(1);
2735
2736 s = -1;
2737 if ( ((LA11_40>='\u0000' && LA11_40<='\uFFFF')) ) {s = 106;}
2738
2739 else s = 43;
2740
2741 if ( s>=0 ) return s;
2742 break;
2743 case 1 :
2698 int LA11_0 = input.LA(1); 2744 int LA11_0 = input.LA(1);
2699 2745
2700 s = -1; 2746 s = -1;
@@ -2758,39 +2804,31 @@ public class InternalAlloyLanguageLexer extends Lexer {
2758 2804
2759 else if ( (LA11_0=='I') ) {s = 30;} 2805 else if ( (LA11_0=='I') ) {s = 30;}
2760 2806
2761 else if ( (LA11_0=='(') ) {s = 31;} 2807 else if ( (LA11_0=='S') ) {s = 31;}
2762 2808
2763 else if ( (LA11_0==')') ) {s = 32;} 2809 else if ( (LA11_0=='(') ) {s = 32;}
2764 2810
2765 else if ( (LA11_0=='r') ) {s = 33;} 2811 else if ( (LA11_0==')') ) {s = 33;}
2766 2812
2767 else if ( (LA11_0=='l') ) {s = 34;} 2813 else if ( (LA11_0=='r') ) {s = 34;}
2768 2814
2769 else if ( (LA11_0=='m') ) {s = 35;} 2815 else if ( (LA11_0=='l') ) {s = 35;}
2770 2816
2771 else if ( ((LA11_0>='A' && LA11_0<='H')||(LA11_0>='J' && LA11_0<='Z')||LA11_0=='_'||(LA11_0>='b' && LA11_0<='c')||(LA11_0>='g' && LA11_0<='h')||(LA11_0>='j' && LA11_0<='k')||LA11_0=='q'||LA11_0=='t'||(LA11_0>='v' && LA11_0<='z')) ) {s = 36;} 2817 else if ( (LA11_0=='m') ) {s = 36;}
2772 2818
2773 else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 37;} 2819 else if ( ((LA11_0>='A' && LA11_0<='H')||(LA11_0>='J' && LA11_0<='R')||(LA11_0>='T' && LA11_0<='Z')||LA11_0=='_'||(LA11_0>='b' && LA11_0<='c')||(LA11_0>='g' && LA11_0<='h')||(LA11_0>='j' && LA11_0<='k')||LA11_0=='q'||LA11_0=='t'||(LA11_0>='v' && LA11_0<='z')) ) {s = 37;}
2774 2820
2775 else if ( (LA11_0=='\"') ) {s = 38;} 2821 else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 38;}
2776 2822
2777 else if ( (LA11_0=='\'') ) {s = 39;} 2823 else if ( (LA11_0=='\"') ) {s = 39;}
2778 2824
2779 else if ( (LA11_0=='/') ) {s = 40;} 2825 else if ( (LA11_0=='\'') ) {s = 40;}
2780 2826
2781 else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 41;} 2827 else if ( (LA11_0=='/') ) {s = 41;}
2782 2828
2783 else if ( ((LA11_0>='\u0000' && LA11_0<='\b')||(LA11_0>='\u000B' && LA11_0<='\f')||(LA11_0>='\u000E' && LA11_0<='\u001F')||(LA11_0>='$' && LA11_0<='%')||LA11_0==';'||(LA11_0>='?' && LA11_0<='@')||LA11_0=='\\'||LA11_0=='`'||(LA11_0>='\u007F' && LA11_0<='\uFFFF')) ) {s = 42;} 2829 else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 42;}
2784
2785 if ( s>=0 ) return s;
2786 break;
2787 case 1 :
2788 int LA11_38 = input.LA(1);
2789
2790 s = -1;
2791 if ( ((LA11_38>='\u0000' && LA11_38<='\uFFFF')) ) {s = 104;}
2792 2830
2793 else s = 42; 2831 else if ( ((LA11_0>='\u0000' && LA11_0<='\b')||(LA11_0>='\u000B' && LA11_0<='\f')||(LA11_0>='\u000E' && LA11_0<='\u001F')||(LA11_0>='$' && LA11_0<='%')||LA11_0==';'||(LA11_0>='?' && LA11_0<='@')||LA11_0=='\\'||LA11_0=='`'||(LA11_0>='\u007F' && LA11_0<='\uFFFF')) ) {s = 43;}
2794 2832
2795 if ( s>=0 ) return s; 2833 if ( s>=0 ) return s;
2796 break; 2834 break;
@@ -2798,9 +2836,9 @@ public class InternalAlloyLanguageLexer extends Lexer {
2798 int LA11_39 = input.LA(1); 2836 int LA11_39 = input.LA(1);
2799 2837
2800 s = -1; 2838 s = -1;
2801 if ( ((LA11_39>='\u0000' && LA11_39<='\uFFFF')) ) {s = 104;} 2839 if ( ((LA11_39>='\u0000' && LA11_39<='\uFFFF')) ) {s = 106;}
2802 2840
2803 else s = 42; 2841 else s = 43;
2804 2842
2805 if ( s>=0 ) return s; 2843 if ( s>=0 ) return s;
2806 break; 2844 break;
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguageParser.java b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguageParser.java
index 1735afbd..bb317b9b 100644
--- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguageParser.java
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguageParser.java
@@ -23,7 +23,7 @@ import java.util.HashMap;
23@SuppressWarnings("all") 23@SuppressWarnings("all")
24public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser { 24public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
25 public static final String[] tokenNames = new String[] { 25 public static final String[] tokenNames = new String[] {
26 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'enum'", "'{'", "','", "'}'", "'abstract'", "'sig'", "'extends'", "'in'", "'+'", "':'", "'fun'", "'['", "']'", "'pred'", "'fact'", "'disj'", "'||'", "'or'", "'<=>'", "'iff'", "'=>'", "'implies'", "'else'", "'&&'", "'and'", "'='", "'!='", "'>'", "'>='", "'<'", "'<='", "'++'", "':>'", "'<:'", "'.'", "'-'", "'&'", "'->'", "'!'", "'not'", "'~'", "'^'", "'*'", "'#'", "'sum'", "'none'", "'iden'", "'univ'", "'Int'", "'('", "')'", "'run'", "'for'", "'exactly'", "'all'", "'no'", "'some'", "'lone'", "'one'", "'set'", "'plus'", "'sub'", "'mul'", "'rem'", "'div'" 26 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'enum'", "'{'", "','", "'}'", "'abstract'", "'sig'", "'extends'", "'in'", "'+'", "':'", "'fun'", "'['", "']'", "'pred'", "'fact'", "'disj'", "'||'", "'or'", "'<=>'", "'iff'", "'=>'", "'implies'", "'else'", "'&&'", "'and'", "'='", "'!='", "'>'", "'>='", "'<'", "'<='", "'++'", "':>'", "'<:'", "'.'", "'-'", "'&'", "'->'", "'!'", "'not'", "'~'", "'^'", "'*'", "'#'", "'sum'", "'none'", "'iden'", "'univ'", "'Int'", "'String'", "'('", "')'", "'run'", "'for'", "'exactly'", "'all'", "'no'", "'some'", "'lone'", "'one'", "'set'", "'plus'", "'sub'", "'mul'", "'rem'", "'div'"
27 }; 27 };
28 public static final int T__50=50; 28 public static final int T__50=50;
29 public static final int T__19=19; 29 public static final int T__19=19;
@@ -86,6 +86,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
86 public static final int T__31=31; 86 public static final int T__31=31;
87 public static final int T__75=75; 87 public static final int T__75=75;
88 public static final int T__32=32; 88 public static final int T__32=32;
89 public static final int T__76=76;
89 public static final int RULE_WS=9; 90 public static final int RULE_WS=9;
90 public static final int RULE_ANY_OTHER=10; 91 public static final int RULE_ANY_OTHER=10;
91 public static final int T__48=48; 92 public static final int T__48=48;
@@ -217,12 +218,12 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
217 break; 218 break;
218 case 15: 219 case 15:
219 case 16: 220 case 16:
220 case 65:
221 case 66: 221 case 66:
222 case 67: 222 case 67:
223 case 68: 223 case 68:
224 case 69: 224 case 69:
225 case 70: 225 case 70:
226 case 71:
226 { 227 {
227 alt1=2; 228 alt1=2;
228 } 229 }
@@ -1291,7 +1292,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
1291 int alt4=3; 1292 int alt4=3;
1292 int LA4_0 = input.LA(1); 1293 int LA4_0 = input.LA(1);
1293 1294
1294 if ( LA4_0 >= 65 && LA4_0 <= 70 && getUnorderedGroupHelper().canSelect(grammarAccess.getALSSignatureBodyAccess().getUnorderedGroup_0(), 0) ) { 1295 if ( LA4_0 >= 66 && LA4_0 <= 71 && getUnorderedGroupHelper().canSelect(grammarAccess.getALSSignatureBodyAccess().getUnorderedGroup_0(), 0) ) {
1295 alt4=1; 1296 alt4=1;
1296 } 1297 }
1297 else if ( LA4_0 == 15 && getUnorderedGroupHelper().canSelect(grammarAccess.getALSSignatureBodyAccess().getUnorderedGroup_0(), 1) ) { 1298 else if ( LA4_0 == 15 && getUnorderedGroupHelper().canSelect(grammarAccess.getALSSignatureBodyAccess().getUnorderedGroup_0(), 1) ) {
@@ -3040,10 +3041,10 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
3040 int alt16=2; 3041 int alt16=2;
3041 int LA16_0 = input.LA(1); 3042 int LA16_0 = input.LA(1);
3042 3043
3043 if ( ((LA16_0>=65 && LA16_0<=70)) ) { 3044 if ( ((LA16_0>=66 && LA16_0<=71)) ) {
3044 alt16=1; 3045 alt16=1;
3045 } 3046 }
3046 else if ( ((LA16_0>=RULE_ID && LA16_0<=RULE_INT)||LA16_0==46||(LA16_0>=49 && LA16_0<=60)||(LA16_0>=71 && LA16_0<=75)) ) { 3047 else if ( ((LA16_0>=RULE_ID && LA16_0<=RULE_STRING)||LA16_0==46||(LA16_0>=49 && LA16_0<=61)||(LA16_0>=72 && LA16_0<=76)) ) {
3047 alt16=2; 3048 alt16=2;
3048 } 3049 }
3049 else { 3050 else {
@@ -5957,7 +5958,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
5957 int alt37=2; 5958 int alt37=2;
5958 int LA37_0 = input.LA(1); 5959 int LA37_0 = input.LA(1);
5959 5960
5960 if ( (LA37_0==48||(LA37_0>=65 && LA37_0<=70)) ) { 5961 if ( (LA37_0==48||(LA37_0>=66 && LA37_0<=71)) ) {
5961 alt37=1; 5962 alt37=1;
5962 } 5963 }
5963 switch (alt37) { 5964 switch (alt37) {
@@ -5981,7 +5982,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
5981 int alt35=2; 5982 int alt35=2;
5982 int LA35_0 = input.LA(1); 5983 int LA35_0 = input.LA(1);
5983 5984
5984 if ( ((LA35_0>=65 && LA35_0<=70)) ) { 5985 if ( ((LA35_0>=66 && LA35_0<=71)) ) {
5985 alt35=1; 5986 alt35=1;
5986 } 5987 }
5987 switch (alt35) { 5988 switch (alt35) {
@@ -6033,7 +6034,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
6033 int alt36=2; 6034 int alt36=2;
6034 int LA36_0 = input.LA(1); 6035 int LA36_0 = input.LA(1);
6035 6036
6036 if ( ((LA36_0>=65 && LA36_0<=70)) ) { 6037 if ( ((LA36_0>=66 && LA36_0<=71)) ) {
6037 alt36=1; 6038 alt36=1;
6038 } 6039 }
6039 switch (alt36) { 6040 switch (alt36) {
@@ -6892,7 +6893,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
6892 if ( (LA40_0==RULE_ID) ) { 6893 if ( (LA40_0==RULE_ID) ) {
6893 alt40=1; 6894 alt40=1;
6894 } 6895 }
6895 else if ( ((LA40_0>=71 && LA40_0<=75)) ) { 6896 else if ( ((LA40_0>=72 && LA40_0<=76)) ) {
6896 alt40=2; 6897 alt40=2;
6897 } 6898 }
6898 else { 6899 else {
@@ -7339,7 +7340,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7339 7340
7340 7341
7341 // $ANTLR start "ruleALSBasicRelationTerm" 7342 // $ANTLR start "ruleALSBasicRelationTerm"
7342 // InternalAlloyLanguage.g:2602:1: ruleALSBasicRelationTerm returns [EObject current=null] : ( ( () otherlv_1= 'none' ) | ( () otherlv_3= 'iden' ) | ( () otherlv_5= 'univ' ) | ( () otherlv_7= 'Int' ) | ( () ( (otherlv_9= RULE_ID ) ) ) | ( () ( (lv_value_11_0= RULE_INT ) ) ) | (otherlv_12= '(' this_ALSTerm_13= ruleALSTerm otherlv_14= ')' ) ) ; 7343 // InternalAlloyLanguage.g:2602:1: ruleALSBasicRelationTerm returns [EObject current=null] : ( ( () otherlv_1= 'none' ) | ( () otherlv_3= 'iden' ) | ( () otherlv_5= 'univ' ) | ( () otherlv_7= 'Int' ) | ( () otherlv_9= 'String' ) | ( () ( (otherlv_11= RULE_ID ) ) ) | ( () ( (lv_value_13_0= RULE_INT ) ) ) | ( () ( (lv_value_15_0= RULE_STRING ) ) ) | (otherlv_16= '(' this_ALSTerm_17= ruleALSTerm otherlv_18= ')' ) ) ;
7343 public final EObject ruleALSBasicRelationTerm() throws RecognitionException { 7344 public final EObject ruleALSBasicRelationTerm() throws RecognitionException {
7344 EObject current = null; 7345 EObject current = null;
7345 7346
@@ -7348,20 +7349,22 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7348 Token otherlv_5=null; 7349 Token otherlv_5=null;
7349 Token otherlv_7=null; 7350 Token otherlv_7=null;
7350 Token otherlv_9=null; 7351 Token otherlv_9=null;
7351 Token lv_value_11_0=null; 7352 Token otherlv_11=null;
7352 Token otherlv_12=null; 7353 Token lv_value_13_0=null;
7353 Token otherlv_14=null; 7354 Token lv_value_15_0=null;
7354 EObject this_ALSTerm_13 = null; 7355 Token otherlv_16=null;
7356 Token otherlv_18=null;
7357 EObject this_ALSTerm_17 = null;
7355 7358
7356 7359
7357 enterRule(); 7360 enterRule();
7358 7361
7359 try { 7362 try {
7360 // InternalAlloyLanguage.g:2605:28: ( ( ( () otherlv_1= 'none' ) | ( () otherlv_3= 'iden' ) | ( () otherlv_5= 'univ' ) | ( () otherlv_7= 'Int' ) | ( () ( (otherlv_9= RULE_ID ) ) ) | ( () ( (lv_value_11_0= RULE_INT ) ) ) | (otherlv_12= '(' this_ALSTerm_13= ruleALSTerm otherlv_14= ')' ) ) ) 7363 // InternalAlloyLanguage.g:2605:28: ( ( ( () otherlv_1= 'none' ) | ( () otherlv_3= 'iden' ) | ( () otherlv_5= 'univ' ) | ( () otherlv_7= 'Int' ) | ( () otherlv_9= 'String' ) | ( () ( (otherlv_11= RULE_ID ) ) ) | ( () ( (lv_value_13_0= RULE_INT ) ) ) | ( () ( (lv_value_15_0= RULE_STRING ) ) ) | (otherlv_16= '(' this_ALSTerm_17= ruleALSTerm otherlv_18= ')' ) ) )
7361 // InternalAlloyLanguage.g:2606:1: ( ( () otherlv_1= 'none' ) | ( () otherlv_3= 'iden' ) | ( () otherlv_5= 'univ' ) | ( () otherlv_7= 'Int' ) | ( () ( (otherlv_9= RULE_ID ) ) ) | ( () ( (lv_value_11_0= RULE_INT ) ) ) | (otherlv_12= '(' this_ALSTerm_13= ruleALSTerm otherlv_14= ')' ) ) 7364 // InternalAlloyLanguage.g:2606:1: ( ( () otherlv_1= 'none' ) | ( () otherlv_3= 'iden' ) | ( () otherlv_5= 'univ' ) | ( () otherlv_7= 'Int' ) | ( () otherlv_9= 'String' ) | ( () ( (otherlv_11= RULE_ID ) ) ) | ( () ( (lv_value_13_0= RULE_INT ) ) ) | ( () ( (lv_value_15_0= RULE_STRING ) ) ) | (otherlv_16= '(' this_ALSTerm_17= ruleALSTerm otherlv_18= ')' ) )
7362 { 7365 {
7363 // InternalAlloyLanguage.g:2606:1: ( ( () otherlv_1= 'none' ) | ( () otherlv_3= 'iden' ) | ( () otherlv_5= 'univ' ) | ( () otherlv_7= 'Int' ) | ( () ( (otherlv_9= RULE_ID ) ) ) | ( () ( (lv_value_11_0= RULE_INT ) ) ) | (otherlv_12= '(' this_ALSTerm_13= ruleALSTerm otherlv_14= ')' ) ) 7366 // InternalAlloyLanguage.g:2606:1: ( ( () otherlv_1= 'none' ) | ( () otherlv_3= 'iden' ) | ( () otherlv_5= 'univ' ) | ( () otherlv_7= 'Int' ) | ( () otherlv_9= 'String' ) | ( () ( (otherlv_11= RULE_ID ) ) ) | ( () ( (lv_value_13_0= RULE_INT ) ) ) | ( () ( (lv_value_15_0= RULE_STRING ) ) ) | (otherlv_16= '(' this_ALSTerm_17= ruleALSTerm otherlv_18= ')' ) )
7364 int alt43=7; 7367 int alt43=9;
7365 switch ( input.LA(1) ) { 7368 switch ( input.LA(1) ) {
7366 case 56: 7369 case 56:
7367 { 7370 {
@@ -7383,21 +7386,31 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7383 alt43=4; 7386 alt43=4;
7384 } 7387 }
7385 break; 7388 break;
7386 case RULE_ID: 7389 case 60:
7387 { 7390 {
7388 alt43=5; 7391 alt43=5;
7389 } 7392 }
7390 break; 7393 break;
7391 case RULE_INT: 7394 case RULE_ID:
7392 { 7395 {
7393 alt43=6; 7396 alt43=6;
7394 } 7397 }
7395 break; 7398 break;
7396 case 60: 7399 case RULE_INT:
7397 { 7400 {
7398 alt43=7; 7401 alt43=7;
7399 } 7402 }
7400 break; 7403 break;
7404 case RULE_STRING:
7405 {
7406 alt43=8;
7407 }
7408 break;
7409 case 61:
7410 {
7411 alt43=9;
7412 }
7413 break;
7401 default: 7414 default:
7402 if (state.backtracking>0) {state.failed=true; return current;} 7415 if (state.backtracking>0) {state.failed=true; return current;}
7403 NoViableAltException nvae = 7416 NoViableAltException nvae =
@@ -7532,10 +7545,10 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7532 } 7545 }
7533 break; 7546 break;
7534 case 5 : 7547 case 5 :
7535 // InternalAlloyLanguage.g:2650:6: ( () ( (otherlv_9= RULE_ID ) ) ) 7548 // InternalAlloyLanguage.g:2650:6: ( () otherlv_9= 'String' )
7536 { 7549 {
7537 // InternalAlloyLanguage.g:2650:6: ( () ( (otherlv_9= RULE_ID ) ) ) 7550 // InternalAlloyLanguage.g:2650:6: ( () otherlv_9= 'String' )
7538 // InternalAlloyLanguage.g:2650:7: () ( (otherlv_9= RULE_ID ) ) 7551 // InternalAlloyLanguage.g:2650:7: () otherlv_9= 'String'
7539 { 7552 {
7540 // InternalAlloyLanguage.g:2650:7: () 7553 // InternalAlloyLanguage.g:2650:7: ()
7541 // InternalAlloyLanguage.g:2651:5: 7554 // InternalAlloyLanguage.g:2651:5:
@@ -7543,18 +7556,49 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7543 if ( state.backtracking==0 ) { 7556 if ( state.backtracking==0 ) {
7544 7557
7545 current = forceCreateModelElement( 7558 current = forceCreateModelElement(
7546 grammarAccess.getALSBasicRelationTermAccess().getALSReferenceAction_4_0(), 7559 grammarAccess.getALSBasicRelationTermAccess().getALSStringAction_4_0(),
7547 current); 7560 current);
7548 7561
7549 } 7562 }
7550 7563
7551 } 7564 }
7552 7565
7553 // InternalAlloyLanguage.g:2656:2: ( (otherlv_9= RULE_ID ) ) 7566 otherlv_9=(Token)match(input,60,FOLLOW_2); if (state.failed) return current;
7554 // InternalAlloyLanguage.g:2657:1: (otherlv_9= RULE_ID ) 7567 if ( state.backtracking==0 ) {
7568
7569 newLeafNode(otherlv_9, grammarAccess.getALSBasicRelationTermAccess().getStringKeyword_4_1());
7570
7571 }
7572
7573 }
7574
7575
7576 }
7577 break;
7578 case 6 :
7579 // InternalAlloyLanguage.g:2661:6: ( () ( (otherlv_11= RULE_ID ) ) )
7580 {
7581 // InternalAlloyLanguage.g:2661:6: ( () ( (otherlv_11= RULE_ID ) ) )
7582 // InternalAlloyLanguage.g:2661:7: () ( (otherlv_11= RULE_ID ) )
7555 { 7583 {
7556 // InternalAlloyLanguage.g:2657:1: (otherlv_9= RULE_ID ) 7584 // InternalAlloyLanguage.g:2661:7: ()
7557 // InternalAlloyLanguage.g:2658:3: otherlv_9= RULE_ID 7585 // InternalAlloyLanguage.g:2662:5:
7586 {
7587 if ( state.backtracking==0 ) {
7588
7589 current = forceCreateModelElement(
7590 grammarAccess.getALSBasicRelationTermAccess().getALSReferenceAction_5_0(),
7591 current);
7592
7593 }
7594
7595 }
7596
7597 // InternalAlloyLanguage.g:2667:2: ( (otherlv_11= RULE_ID ) )
7598 // InternalAlloyLanguage.g:2668:1: (otherlv_11= RULE_ID )
7599 {
7600 // InternalAlloyLanguage.g:2668:1: (otherlv_11= RULE_ID )
7601 // InternalAlloyLanguage.g:2669:3: otherlv_11= RULE_ID
7558 { 7602 {
7559 if ( state.backtracking==0 ) { 7603 if ( state.backtracking==0 ) {
7560 7604
@@ -7563,10 +7607,10 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7563 } 7607 }
7564 7608
7565 } 7609 }
7566 otherlv_9=(Token)match(input,RULE_ID,FOLLOW_2); if (state.failed) return current; 7610 otherlv_11=(Token)match(input,RULE_ID,FOLLOW_2); if (state.failed) return current;
7567 if ( state.backtracking==0 ) { 7611 if ( state.backtracking==0 ) {
7568 7612
7569 newLeafNode(otherlv_9, grammarAccess.getALSBasicRelationTermAccess().getReferredALSRelationDeclarationCrossReference_4_1_0()); 7613 newLeafNode(otherlv_11, grammarAccess.getALSBasicRelationTermAccess().getReferredALSRelationDeclarationCrossReference_5_1_0());
7570 7614
7571 } 7615 }
7572 7616
@@ -7581,35 +7625,35 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7581 7625
7582 } 7626 }
7583 break; 7627 break;
7584 case 6 : 7628 case 7 :
7585 // InternalAlloyLanguage.g:2670:6: ( () ( (lv_value_11_0= RULE_INT ) ) ) 7629 // InternalAlloyLanguage.g:2681:6: ( () ( (lv_value_13_0= RULE_INT ) ) )
7586 { 7630 {
7587 // InternalAlloyLanguage.g:2670:6: ( () ( (lv_value_11_0= RULE_INT ) ) ) 7631 // InternalAlloyLanguage.g:2681:6: ( () ( (lv_value_13_0= RULE_INT ) ) )
7588 // InternalAlloyLanguage.g:2670:7: () ( (lv_value_11_0= RULE_INT ) ) 7632 // InternalAlloyLanguage.g:2681:7: () ( (lv_value_13_0= RULE_INT ) )
7589 { 7633 {
7590 // InternalAlloyLanguage.g:2670:7: () 7634 // InternalAlloyLanguage.g:2681:7: ()
7591 // InternalAlloyLanguage.g:2671:5: 7635 // InternalAlloyLanguage.g:2682:5:
7592 { 7636 {
7593 if ( state.backtracking==0 ) { 7637 if ( state.backtracking==0 ) {
7594 7638
7595 current = forceCreateModelElement( 7639 current = forceCreateModelElement(
7596 grammarAccess.getALSBasicRelationTermAccess().getALSNumberLiteralAction_5_0(), 7640 grammarAccess.getALSBasicRelationTermAccess().getALSNumberLiteralAction_6_0(),
7597 current); 7641 current);
7598 7642
7599 } 7643 }
7600 7644
7601 } 7645 }
7602 7646
7603 // InternalAlloyLanguage.g:2676:2: ( (lv_value_11_0= RULE_INT ) ) 7647 // InternalAlloyLanguage.g:2687:2: ( (lv_value_13_0= RULE_INT ) )
7604 // InternalAlloyLanguage.g:2677:1: (lv_value_11_0= RULE_INT ) 7648 // InternalAlloyLanguage.g:2688:1: (lv_value_13_0= RULE_INT )
7605 { 7649 {
7606 // InternalAlloyLanguage.g:2677:1: (lv_value_11_0= RULE_INT ) 7650 // InternalAlloyLanguage.g:2688:1: (lv_value_13_0= RULE_INT )
7607 // InternalAlloyLanguage.g:2678:3: lv_value_11_0= RULE_INT 7651 // InternalAlloyLanguage.g:2689:3: lv_value_13_0= RULE_INT
7608 { 7652 {
7609 lv_value_11_0=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current; 7653 lv_value_13_0=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current;
7610 if ( state.backtracking==0 ) { 7654 if ( state.backtracking==0 ) {
7611 7655
7612 newLeafNode(lv_value_11_0, grammarAccess.getALSBasicRelationTermAccess().getValueINTTerminalRuleCall_5_1_0()); 7656 newLeafNode(lv_value_13_0, grammarAccess.getALSBasicRelationTermAccess().getValueINTTerminalRuleCall_6_1_0());
7613 7657
7614 } 7658 }
7615 if ( state.backtracking==0 ) { 7659 if ( state.backtracking==0 ) {
@@ -7620,7 +7664,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7620 setWithLastConsumed( 7664 setWithLastConsumed(
7621 current, 7665 current,
7622 "value", 7666 "value",
7623 lv_value_11_0, 7667 lv_value_13_0,
7624 "org.eclipse.xtext.common.Terminals.INT"); 7668 "org.eclipse.xtext.common.Terminals.INT");
7625 7669
7626 } 7670 }
@@ -7636,38 +7680,93 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7636 7680
7637 } 7681 }
7638 break; 7682 break;
7639 case 7 : 7683 case 8 :
7640 // InternalAlloyLanguage.g:2695:6: (otherlv_12= '(' this_ALSTerm_13= ruleALSTerm otherlv_14= ')' ) 7684 // InternalAlloyLanguage.g:2706:6: ( () ( (lv_value_15_0= RULE_STRING ) ) )
7641 { 7685 {
7642 // InternalAlloyLanguage.g:2695:6: (otherlv_12= '(' this_ALSTerm_13= ruleALSTerm otherlv_14= ')' ) 7686 // InternalAlloyLanguage.g:2706:6: ( () ( (lv_value_15_0= RULE_STRING ) ) )
7643 // InternalAlloyLanguage.g:2695:8: otherlv_12= '(' this_ALSTerm_13= ruleALSTerm otherlv_14= ')' 7687 // InternalAlloyLanguage.g:2706:7: () ( (lv_value_15_0= RULE_STRING ) )
7688 {
7689 // InternalAlloyLanguage.g:2706:7: ()
7690 // InternalAlloyLanguage.g:2707:5:
7644 { 7691 {
7645 otherlv_12=(Token)match(input,60,FOLLOW_12); if (state.failed) return current;
7646 if ( state.backtracking==0 ) { 7692 if ( state.backtracking==0 ) {
7647 7693
7648 newLeafNode(otherlv_12, grammarAccess.getALSBasicRelationTermAccess().getLeftParenthesisKeyword_6_0()); 7694 current = forceCreateModelElement(
7695 grammarAccess.getALSBasicRelationTermAccess().getALSStringLiteralAction_7_0(),
7696 current);
7697
7698 }
7699
7700 }
7701
7702 // InternalAlloyLanguage.g:2712:2: ( (lv_value_15_0= RULE_STRING ) )
7703 // InternalAlloyLanguage.g:2713:1: (lv_value_15_0= RULE_STRING )
7704 {
7705 // InternalAlloyLanguage.g:2713:1: (lv_value_15_0= RULE_STRING )
7706 // InternalAlloyLanguage.g:2714:3: lv_value_15_0= RULE_STRING
7707 {
7708 lv_value_15_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current;
7709 if ( state.backtracking==0 ) {
7710
7711 newLeafNode(lv_value_15_0, grammarAccess.getALSBasicRelationTermAccess().getValueSTRINGTerminalRuleCall_7_1_0());
7712
7713 }
7714 if ( state.backtracking==0 ) {
7715
7716 if (current==null) {
7717 current = createModelElement(grammarAccess.getALSBasicRelationTermRule());
7718 }
7719 setWithLastConsumed(
7720 current,
7721 "value",
7722 lv_value_15_0,
7723 "org.eclipse.xtext.common.Terminals.STRING");
7724
7725 }
7726
7727 }
7728
7729
7730 }
7731
7732
7733 }
7734
7735
7736 }
7737 break;
7738 case 9 :
7739 // InternalAlloyLanguage.g:2731:6: (otherlv_16= '(' this_ALSTerm_17= ruleALSTerm otherlv_18= ')' )
7740 {
7741 // InternalAlloyLanguage.g:2731:6: (otherlv_16= '(' this_ALSTerm_17= ruleALSTerm otherlv_18= ')' )
7742 // InternalAlloyLanguage.g:2731:8: otherlv_16= '(' this_ALSTerm_17= ruleALSTerm otherlv_18= ')'
7743 {
7744 otherlv_16=(Token)match(input,61,FOLLOW_12); if (state.failed) return current;
7745 if ( state.backtracking==0 ) {
7746
7747 newLeafNode(otherlv_16, grammarAccess.getALSBasicRelationTermAccess().getLeftParenthesisKeyword_8_0());
7649 7748
7650 } 7749 }
7651 if ( state.backtracking==0 ) { 7750 if ( state.backtracking==0 ) {
7652 7751
7653 newCompositeNode(grammarAccess.getALSBasicRelationTermAccess().getALSTermParserRuleCall_6_1()); 7752 newCompositeNode(grammarAccess.getALSBasicRelationTermAccess().getALSTermParserRuleCall_8_1());
7654 7753
7655 } 7754 }
7656 pushFollow(FOLLOW_34); 7755 pushFollow(FOLLOW_34);
7657 this_ALSTerm_13=ruleALSTerm(); 7756 this_ALSTerm_17=ruleALSTerm();
7658 7757
7659 state._fsp--; 7758 state._fsp--;
7660 if (state.failed) return current; 7759 if (state.failed) return current;
7661 if ( state.backtracking==0 ) { 7760 if ( state.backtracking==0 ) {
7662 7761
7663 current = this_ALSTerm_13; 7762 current = this_ALSTerm_17;
7664 afterParserOrEnumRuleCall(); 7763 afterParserOrEnumRuleCall();
7665 7764
7666 } 7765 }
7667 otherlv_14=(Token)match(input,61,FOLLOW_2); if (state.failed) return current; 7766 otherlv_18=(Token)match(input,62,FOLLOW_2); if (state.failed) return current;
7668 if ( state.backtracking==0 ) { 7767 if ( state.backtracking==0 ) {
7669 7768
7670 newLeafNode(otherlv_14, grammarAccess.getALSBasicRelationTermAccess().getRightParenthesisKeyword_6_2()); 7769 newLeafNode(otherlv_18, grammarAccess.getALSBasicRelationTermAccess().getRightParenthesisKeyword_8_2());
7671 7770
7672 } 7771 }
7673 7772
@@ -7699,7 +7798,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7699 7798
7700 7799
7701 // $ANTLR start "entryRuleALSRunCommand" 7800 // $ANTLR start "entryRuleALSRunCommand"
7702 // InternalAlloyLanguage.g:2720:1: entryRuleALSRunCommand returns [EObject current=null] : iv_ruleALSRunCommand= ruleALSRunCommand EOF ; 7801 // InternalAlloyLanguage.g:2756:1: entryRuleALSRunCommand returns [EObject current=null] : iv_ruleALSRunCommand= ruleALSRunCommand EOF ;
7703 public final EObject entryRuleALSRunCommand() throws RecognitionException { 7802 public final EObject entryRuleALSRunCommand() throws RecognitionException {
7704 EObject current = null; 7803 EObject current = null;
7705 7804
@@ -7707,8 +7806,8 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7707 7806
7708 7807
7709 try { 7808 try {
7710 // InternalAlloyLanguage.g:2721:2: (iv_ruleALSRunCommand= ruleALSRunCommand EOF ) 7809 // InternalAlloyLanguage.g:2757:2: (iv_ruleALSRunCommand= ruleALSRunCommand EOF )
7711 // InternalAlloyLanguage.g:2722:2: iv_ruleALSRunCommand= ruleALSRunCommand EOF 7810 // InternalAlloyLanguage.g:2758:2: iv_ruleALSRunCommand= ruleALSRunCommand EOF
7712 { 7811 {
7713 if ( state.backtracking==0 ) { 7812 if ( state.backtracking==0 ) {
7714 newCompositeNode(grammarAccess.getALSRunCommandRule()); 7813 newCompositeNode(grammarAccess.getALSRunCommandRule());
@@ -7739,7 +7838,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7739 7838
7740 7839
7741 // $ANTLR start "ruleALSRunCommand" 7840 // $ANTLR start "ruleALSRunCommand"
7742 // InternalAlloyLanguage.g:2729:1: ruleALSRunCommand returns [EObject current=null] : ( () otherlv_1= 'run' otherlv_2= '{' otherlv_3= '}' (otherlv_4= 'for' ( (lv_typeScopes_5_0= ruleALSTypeScope ) ) (otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) )* )? ) ; 7841 // InternalAlloyLanguage.g:2765:1: ruleALSRunCommand returns [EObject current=null] : ( () otherlv_1= 'run' otherlv_2= '{' otherlv_3= '}' (otherlv_4= 'for' ( (lv_typeScopes_5_0= ruleALSTypeScope ) ) (otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) )* )? ) ;
7743 public final EObject ruleALSRunCommand() throws RecognitionException { 7842 public final EObject ruleALSRunCommand() throws RecognitionException {
7744 EObject current = null; 7843 EObject current = null;
7745 7844
@@ -7756,14 +7855,14 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7756 enterRule(); 7855 enterRule();
7757 7856
7758 try { 7857 try {
7759 // InternalAlloyLanguage.g:2732:28: ( ( () otherlv_1= 'run' otherlv_2= '{' otherlv_3= '}' (otherlv_4= 'for' ( (lv_typeScopes_5_0= ruleALSTypeScope ) ) (otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) )* )? ) ) 7858 // InternalAlloyLanguage.g:2768:28: ( ( () otherlv_1= 'run' otherlv_2= '{' otherlv_3= '}' (otherlv_4= 'for' ( (lv_typeScopes_5_0= ruleALSTypeScope ) ) (otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) )* )? ) )
7760 // InternalAlloyLanguage.g:2733:1: ( () otherlv_1= 'run' otherlv_2= '{' otherlv_3= '}' (otherlv_4= 'for' ( (lv_typeScopes_5_0= ruleALSTypeScope ) ) (otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) )* )? ) 7859 // InternalAlloyLanguage.g:2769:1: ( () otherlv_1= 'run' otherlv_2= '{' otherlv_3= '}' (otherlv_4= 'for' ( (lv_typeScopes_5_0= ruleALSTypeScope ) ) (otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) )* )? )
7761 { 7860 {
7762 // InternalAlloyLanguage.g:2733:1: ( () otherlv_1= 'run' otherlv_2= '{' otherlv_3= '}' (otherlv_4= 'for' ( (lv_typeScopes_5_0= ruleALSTypeScope ) ) (otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) )* )? ) 7861 // InternalAlloyLanguage.g:2769:1: ( () otherlv_1= 'run' otherlv_2= '{' otherlv_3= '}' (otherlv_4= 'for' ( (lv_typeScopes_5_0= ruleALSTypeScope ) ) (otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) )* )? )
7763 // InternalAlloyLanguage.g:2733:2: () otherlv_1= 'run' otherlv_2= '{' otherlv_3= '}' (otherlv_4= 'for' ( (lv_typeScopes_5_0= ruleALSTypeScope ) ) (otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) )* )? 7862 // InternalAlloyLanguage.g:2769:2: () otherlv_1= 'run' otherlv_2= '{' otherlv_3= '}' (otherlv_4= 'for' ( (lv_typeScopes_5_0= ruleALSTypeScope ) ) (otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) )* )?
7764 { 7863 {
7765 // InternalAlloyLanguage.g:2733:2: () 7864 // InternalAlloyLanguage.g:2769:2: ()
7766 // InternalAlloyLanguage.g:2734:5: 7865 // InternalAlloyLanguage.g:2770:5:
7767 { 7866 {
7768 if ( state.backtracking==0 ) { 7867 if ( state.backtracking==0 ) {
7769 7868
@@ -7775,7 +7874,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7775 7874
7776 } 7875 }
7777 7876
7778 otherlv_1=(Token)match(input,62,FOLLOW_5); if (state.failed) return current; 7877 otherlv_1=(Token)match(input,63,FOLLOW_5); if (state.failed) return current;
7779 if ( state.backtracking==0 ) { 7878 if ( state.backtracking==0 ) {
7780 7879
7781 newLeafNode(otherlv_1, grammarAccess.getALSRunCommandAccess().getRunKeyword_1()); 7880 newLeafNode(otherlv_1, grammarAccess.getALSRunCommandAccess().getRunKeyword_1());
@@ -7793,28 +7892,28 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7793 newLeafNode(otherlv_3, grammarAccess.getALSRunCommandAccess().getRightCurlyBracketKeyword_3()); 7892 newLeafNode(otherlv_3, grammarAccess.getALSRunCommandAccess().getRightCurlyBracketKeyword_3());
7794 7893
7795 } 7894 }
7796 // InternalAlloyLanguage.g:2751:1: (otherlv_4= 'for' ( (lv_typeScopes_5_0= ruleALSTypeScope ) ) (otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) )* )? 7895 // InternalAlloyLanguage.g:2787:1: (otherlv_4= 'for' ( (lv_typeScopes_5_0= ruleALSTypeScope ) ) (otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) )* )?
7797 int alt45=2; 7896 int alt45=2;
7798 int LA45_0 = input.LA(1); 7897 int LA45_0 = input.LA(1);
7799 7898
7800 if ( (LA45_0==63) ) { 7899 if ( (LA45_0==64) ) {
7801 alt45=1; 7900 alt45=1;
7802 } 7901 }
7803 switch (alt45) { 7902 switch (alt45) {
7804 case 1 : 7903 case 1 :
7805 // InternalAlloyLanguage.g:2751:3: otherlv_4= 'for' ( (lv_typeScopes_5_0= ruleALSTypeScope ) ) (otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) )* 7904 // InternalAlloyLanguage.g:2787:3: otherlv_4= 'for' ( (lv_typeScopes_5_0= ruleALSTypeScope ) ) (otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) )*
7806 { 7905 {
7807 otherlv_4=(Token)match(input,63,FOLLOW_36); if (state.failed) return current; 7906 otherlv_4=(Token)match(input,64,FOLLOW_36); if (state.failed) return current;
7808 if ( state.backtracking==0 ) { 7907 if ( state.backtracking==0 ) {
7809 7908
7810 newLeafNode(otherlv_4, grammarAccess.getALSRunCommandAccess().getForKeyword_4_0()); 7909 newLeafNode(otherlv_4, grammarAccess.getALSRunCommandAccess().getForKeyword_4_0());
7811 7910
7812 } 7911 }
7813 // InternalAlloyLanguage.g:2755:1: ( (lv_typeScopes_5_0= ruleALSTypeScope ) ) 7912 // InternalAlloyLanguage.g:2791:1: ( (lv_typeScopes_5_0= ruleALSTypeScope ) )
7814 // InternalAlloyLanguage.g:2756:1: (lv_typeScopes_5_0= ruleALSTypeScope ) 7913 // InternalAlloyLanguage.g:2792:1: (lv_typeScopes_5_0= ruleALSTypeScope )
7815 { 7914 {
7816 // InternalAlloyLanguage.g:2756:1: (lv_typeScopes_5_0= ruleALSTypeScope ) 7915 // InternalAlloyLanguage.g:2792:1: (lv_typeScopes_5_0= ruleALSTypeScope )
7817 // InternalAlloyLanguage.g:2757:3: lv_typeScopes_5_0= ruleALSTypeScope 7916 // InternalAlloyLanguage.g:2793:3: lv_typeScopes_5_0= ruleALSTypeScope
7818 { 7917 {
7819 if ( state.backtracking==0 ) { 7918 if ( state.backtracking==0 ) {
7820 7919
@@ -7845,7 +7944,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7845 7944
7846 } 7945 }
7847 7946
7848 // InternalAlloyLanguage.g:2773:2: (otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) )* 7947 // InternalAlloyLanguage.g:2809:2: (otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) )*
7849 loop44: 7948 loop44:
7850 do { 7949 do {
7851 int alt44=2; 7950 int alt44=2;
@@ -7858,7 +7957,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7858 7957
7859 switch (alt44) { 7958 switch (alt44) {
7860 case 1 : 7959 case 1 :
7861 // InternalAlloyLanguage.g:2773:4: otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) 7960 // InternalAlloyLanguage.g:2809:4: otherlv_6= ',' ( (lv_typeScopes_7_0= ruleALSTypeScope ) )
7862 { 7961 {
7863 otherlv_6=(Token)match(input,13,FOLLOW_36); if (state.failed) return current; 7962 otherlv_6=(Token)match(input,13,FOLLOW_36); if (state.failed) return current;
7864 if ( state.backtracking==0 ) { 7963 if ( state.backtracking==0 ) {
@@ -7866,11 +7965,11 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7866 newLeafNode(otherlv_6, grammarAccess.getALSRunCommandAccess().getCommaKeyword_4_2_0()); 7965 newLeafNode(otherlv_6, grammarAccess.getALSRunCommandAccess().getCommaKeyword_4_2_0());
7867 7966
7868 } 7967 }
7869 // InternalAlloyLanguage.g:2777:1: ( (lv_typeScopes_7_0= ruleALSTypeScope ) ) 7968 // InternalAlloyLanguage.g:2813:1: ( (lv_typeScopes_7_0= ruleALSTypeScope ) )
7870 // InternalAlloyLanguage.g:2778:1: (lv_typeScopes_7_0= ruleALSTypeScope ) 7969 // InternalAlloyLanguage.g:2814:1: (lv_typeScopes_7_0= ruleALSTypeScope )
7871 { 7970 {
7872 // InternalAlloyLanguage.g:2778:1: (lv_typeScopes_7_0= ruleALSTypeScope ) 7971 // InternalAlloyLanguage.g:2814:1: (lv_typeScopes_7_0= ruleALSTypeScope )
7873 // InternalAlloyLanguage.g:2779:3: lv_typeScopes_7_0= ruleALSTypeScope 7972 // InternalAlloyLanguage.g:2815:3: lv_typeScopes_7_0= ruleALSTypeScope
7874 { 7973 {
7875 if ( state.backtracking==0 ) { 7974 if ( state.backtracking==0 ) {
7876 7975
@@ -7939,7 +8038,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7939 8038
7940 8039
7941 // $ANTLR start "entryRuleALSTypeScope" 8040 // $ANTLR start "entryRuleALSTypeScope"
7942 // InternalAlloyLanguage.g:2803:1: entryRuleALSTypeScope returns [EObject current=null] : iv_ruleALSTypeScope= ruleALSTypeScope EOF ; 8041 // InternalAlloyLanguage.g:2839:1: entryRuleALSTypeScope returns [EObject current=null] : iv_ruleALSTypeScope= ruleALSTypeScope EOF ;
7943 public final EObject entryRuleALSTypeScope() throws RecognitionException { 8042 public final EObject entryRuleALSTypeScope() throws RecognitionException {
7944 EObject current = null; 8043 EObject current = null;
7945 8044
@@ -7947,8 +8046,8 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7947 8046
7948 8047
7949 try { 8048 try {
7950 // InternalAlloyLanguage.g:2804:2: (iv_ruleALSTypeScope= ruleALSTypeScope EOF ) 8049 // InternalAlloyLanguage.g:2840:2: (iv_ruleALSTypeScope= ruleALSTypeScope EOF )
7951 // InternalAlloyLanguage.g:2805:2: iv_ruleALSTypeScope= ruleALSTypeScope EOF 8050 // InternalAlloyLanguage.g:2841:2: iv_ruleALSTypeScope= ruleALSTypeScope EOF
7952 { 8051 {
7953 if ( state.backtracking==0 ) { 8052 if ( state.backtracking==0 ) {
7954 newCompositeNode(grammarAccess.getALSTypeScopeRule()); 8053 newCompositeNode(grammarAccess.getALSTypeScopeRule());
@@ -7979,7 +8078,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7979 8078
7980 8079
7981 // $ANTLR start "ruleALSTypeScope" 8080 // $ANTLR start "ruleALSTypeScope"
7982 // InternalAlloyLanguage.g:2812:1: ruleALSTypeScope returns [EObject current=null] : (this_ALSSigScope_0= ruleALSSigScope | this_ALSIntScope_1= ruleALSIntScope ) ; 8081 // InternalAlloyLanguage.g:2848:1: ruleALSTypeScope returns [EObject current=null] : (this_ALSSigScope_0= ruleALSSigScope | this_ALSIntScope_1= ruleALSIntScope | this_ALSStringScope_2= ruleALSStringScope ) ;
7983 public final EObject ruleALSTypeScope() throws RecognitionException { 8082 public final EObject ruleALSTypeScope() throws RecognitionException {
7984 EObject current = null; 8083 EObject current = null;
7985 8084
@@ -7987,19 +8086,46 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
7987 8086
7988 EObject this_ALSIntScope_1 = null; 8087 EObject this_ALSIntScope_1 = null;
7989 8088
8089 EObject this_ALSStringScope_2 = null;
8090
7990 8091
7991 enterRule(); 8092 enterRule();
7992 8093
7993 try { 8094 try {
7994 // InternalAlloyLanguage.g:2815:28: ( (this_ALSSigScope_0= ruleALSSigScope | this_ALSIntScope_1= ruleALSIntScope ) ) 8095 // InternalAlloyLanguage.g:2851:28: ( (this_ALSSigScope_0= ruleALSSigScope | this_ALSIntScope_1= ruleALSIntScope | this_ALSStringScope_2= ruleALSStringScope ) )
7995 // InternalAlloyLanguage.g:2816:1: (this_ALSSigScope_0= ruleALSSigScope | this_ALSIntScope_1= ruleALSIntScope ) 8096 // InternalAlloyLanguage.g:2852:1: (this_ALSSigScope_0= ruleALSSigScope | this_ALSIntScope_1= ruleALSIntScope | this_ALSStringScope_2= ruleALSStringScope )
7996 { 8097 {
7997 // InternalAlloyLanguage.g:2816:1: (this_ALSSigScope_0= ruleALSSigScope | this_ALSIntScope_1= ruleALSIntScope ) 8098 // InternalAlloyLanguage.g:2852:1: (this_ALSSigScope_0= ruleALSSigScope | this_ALSIntScope_1= ruleALSIntScope | this_ALSStringScope_2= ruleALSStringScope )
7998 int alt46=2; 8099 int alt46=3;
7999 int LA46_0 = input.LA(1); 8100 int LA46_0 = input.LA(1);
8000 8101
8001 if ( (LA46_0==64) ) { 8102 if ( (LA46_0==65) ) {
8002 alt46=1; 8103 int LA46_1 = input.LA(2);
8104
8105 if ( (LA46_1==RULE_INT) ) {
8106 int LA46_3 = input.LA(3);
8107
8108 if ( (LA46_3==RULE_ID) ) {
8109 alt46=1;
8110 }
8111 else if ( (LA46_3==60) ) {
8112 alt46=3;
8113 }
8114 else {
8115 if (state.backtracking>0) {state.failed=true; return current;}
8116 NoViableAltException nvae =
8117 new NoViableAltException("", 46, 3, input);
8118
8119 throw nvae;
8120 }
8121 }
8122 else {
8123 if (state.backtracking>0) {state.failed=true; return current;}
8124 NoViableAltException nvae =
8125 new NoViableAltException("", 46, 1, input);
8126
8127 throw nvae;
8128 }
8003 } 8129 }
8004 else if ( (LA46_0==RULE_INT) ) { 8130 else if ( (LA46_0==RULE_INT) ) {
8005 int LA46_2 = input.LA(2); 8131 int LA46_2 = input.LA(2);
@@ -8027,7 +8153,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8027 } 8153 }
8028 switch (alt46) { 8154 switch (alt46) {
8029 case 1 : 8155 case 1 :
8030 // InternalAlloyLanguage.g:2817:5: this_ALSSigScope_0= ruleALSSigScope 8156 // InternalAlloyLanguage.g:2853:5: this_ALSSigScope_0= ruleALSSigScope
8031 { 8157 {
8032 if ( state.backtracking==0 ) { 8158 if ( state.backtracking==0 ) {
8033 8159
@@ -8049,7 +8175,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8049 } 8175 }
8050 break; 8176 break;
8051 case 2 : 8177 case 2 :
8052 // InternalAlloyLanguage.g:2827:5: this_ALSIntScope_1= ruleALSIntScope 8178 // InternalAlloyLanguage.g:2863:5: this_ALSIntScope_1= ruleALSIntScope
8053 { 8179 {
8054 if ( state.backtracking==0 ) { 8180 if ( state.backtracking==0 ) {
8055 8181
@@ -8070,6 +8196,28 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8070 8196
8071 } 8197 }
8072 break; 8198 break;
8199 case 3 :
8200 // InternalAlloyLanguage.g:2873:5: this_ALSStringScope_2= ruleALSStringScope
8201 {
8202 if ( state.backtracking==0 ) {
8203
8204 newCompositeNode(grammarAccess.getALSTypeScopeAccess().getALSStringScopeParserRuleCall_2());
8205
8206 }
8207 pushFollow(FOLLOW_2);
8208 this_ALSStringScope_2=ruleALSStringScope();
8209
8210 state._fsp--;
8211 if (state.failed) return current;
8212 if ( state.backtracking==0 ) {
8213
8214 current = this_ALSStringScope_2;
8215 afterParserOrEnumRuleCall();
8216
8217 }
8218
8219 }
8220 break;
8073 8221
8074 } 8222 }
8075 8223
@@ -8093,7 +8241,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8093 8241
8094 8242
8095 // $ANTLR start "entryRuleALSSigScope" 8243 // $ANTLR start "entryRuleALSSigScope"
8096 // InternalAlloyLanguage.g:2843:1: entryRuleALSSigScope returns [EObject current=null] : iv_ruleALSSigScope= ruleALSSigScope EOF ; 8244 // InternalAlloyLanguage.g:2889:1: entryRuleALSSigScope returns [EObject current=null] : iv_ruleALSSigScope= ruleALSSigScope EOF ;
8097 public final EObject entryRuleALSSigScope() throws RecognitionException { 8245 public final EObject entryRuleALSSigScope() throws RecognitionException {
8098 EObject current = null; 8246 EObject current = null;
8099 8247
@@ -8101,8 +8249,8 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8101 8249
8102 8250
8103 try { 8251 try {
8104 // InternalAlloyLanguage.g:2844:2: (iv_ruleALSSigScope= ruleALSSigScope EOF ) 8252 // InternalAlloyLanguage.g:2890:2: (iv_ruleALSSigScope= ruleALSSigScope EOF )
8105 // InternalAlloyLanguage.g:2845:2: iv_ruleALSSigScope= ruleALSSigScope EOF 8253 // InternalAlloyLanguage.g:2891:2: iv_ruleALSSigScope= ruleALSSigScope EOF
8106 { 8254 {
8107 if ( state.backtracking==0 ) { 8255 if ( state.backtracking==0 ) {
8108 newCompositeNode(grammarAccess.getALSSigScopeRule()); 8256 newCompositeNode(grammarAccess.getALSSigScopeRule());
@@ -8133,7 +8281,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8133 8281
8134 8282
8135 // $ANTLR start "ruleALSSigScope" 8283 // $ANTLR start "ruleALSSigScope"
8136 // InternalAlloyLanguage.g:2852:1: ruleALSSigScope returns [EObject current=null] : ( ( (lv_exactly_0_0= 'exactly' ) )? ( (lv_number_1_0= RULE_INT ) ) ( (otherlv_2= RULE_ID ) ) ) ; 8284 // InternalAlloyLanguage.g:2898:1: ruleALSSigScope returns [EObject current=null] : ( ( (lv_exactly_0_0= 'exactly' ) )? ( (lv_number_1_0= RULE_INT ) ) ( (otherlv_2= RULE_ID ) ) ) ;
8137 public final EObject ruleALSSigScope() throws RecognitionException { 8285 public final EObject ruleALSSigScope() throws RecognitionException {
8138 EObject current = null; 8286 EObject current = null;
8139 8287
@@ -8144,27 +8292,27 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8144 enterRule(); 8292 enterRule();
8145 8293
8146 try { 8294 try {
8147 // InternalAlloyLanguage.g:2855:28: ( ( ( (lv_exactly_0_0= 'exactly' ) )? ( (lv_number_1_0= RULE_INT ) ) ( (otherlv_2= RULE_ID ) ) ) ) 8295 // InternalAlloyLanguage.g:2901:28: ( ( ( (lv_exactly_0_0= 'exactly' ) )? ( (lv_number_1_0= RULE_INT ) ) ( (otherlv_2= RULE_ID ) ) ) )
8148 // InternalAlloyLanguage.g:2856:1: ( ( (lv_exactly_0_0= 'exactly' ) )? ( (lv_number_1_0= RULE_INT ) ) ( (otherlv_2= RULE_ID ) ) ) 8296 // InternalAlloyLanguage.g:2902:1: ( ( (lv_exactly_0_0= 'exactly' ) )? ( (lv_number_1_0= RULE_INT ) ) ( (otherlv_2= RULE_ID ) ) )
8149 { 8297 {
8150 // InternalAlloyLanguage.g:2856:1: ( ( (lv_exactly_0_0= 'exactly' ) )? ( (lv_number_1_0= RULE_INT ) ) ( (otherlv_2= RULE_ID ) ) ) 8298 // InternalAlloyLanguage.g:2902:1: ( ( (lv_exactly_0_0= 'exactly' ) )? ( (lv_number_1_0= RULE_INT ) ) ( (otherlv_2= RULE_ID ) ) )
8151 // InternalAlloyLanguage.g:2856:2: ( (lv_exactly_0_0= 'exactly' ) )? ( (lv_number_1_0= RULE_INT ) ) ( (otherlv_2= RULE_ID ) ) 8299 // InternalAlloyLanguage.g:2902:2: ( (lv_exactly_0_0= 'exactly' ) )? ( (lv_number_1_0= RULE_INT ) ) ( (otherlv_2= RULE_ID ) )
8152 { 8300 {
8153 // InternalAlloyLanguage.g:2856:2: ( (lv_exactly_0_0= 'exactly' ) )? 8301 // InternalAlloyLanguage.g:2902:2: ( (lv_exactly_0_0= 'exactly' ) )?
8154 int alt47=2; 8302 int alt47=2;
8155 int LA47_0 = input.LA(1); 8303 int LA47_0 = input.LA(1);
8156 8304
8157 if ( (LA47_0==64) ) { 8305 if ( (LA47_0==65) ) {
8158 alt47=1; 8306 alt47=1;
8159 } 8307 }
8160 switch (alt47) { 8308 switch (alt47) {
8161 case 1 : 8309 case 1 :
8162 // InternalAlloyLanguage.g:2857:1: (lv_exactly_0_0= 'exactly' ) 8310 // InternalAlloyLanguage.g:2903:1: (lv_exactly_0_0= 'exactly' )
8163 { 8311 {
8164 // InternalAlloyLanguage.g:2857:1: (lv_exactly_0_0= 'exactly' ) 8312 // InternalAlloyLanguage.g:2903:1: (lv_exactly_0_0= 'exactly' )
8165 // InternalAlloyLanguage.g:2858:3: lv_exactly_0_0= 'exactly' 8313 // InternalAlloyLanguage.g:2904:3: lv_exactly_0_0= 'exactly'
8166 { 8314 {
8167 lv_exactly_0_0=(Token)match(input,64,FOLLOW_38); if (state.failed) return current; 8315 lv_exactly_0_0=(Token)match(input,65,FOLLOW_38); if (state.failed) return current;
8168 if ( state.backtracking==0 ) { 8316 if ( state.backtracking==0 ) {
8169 8317
8170 newLeafNode(lv_exactly_0_0, grammarAccess.getALSSigScopeAccess().getExactlyExactlyKeyword_0_0()); 8318 newLeafNode(lv_exactly_0_0, grammarAccess.getALSSigScopeAccess().getExactlyExactlyKeyword_0_0());
@@ -8187,11 +8335,11 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8187 8335
8188 } 8336 }
8189 8337
8190 // InternalAlloyLanguage.g:2871:3: ( (lv_number_1_0= RULE_INT ) ) 8338 // InternalAlloyLanguage.g:2917:3: ( (lv_number_1_0= RULE_INT ) )
8191 // InternalAlloyLanguage.g:2872:1: (lv_number_1_0= RULE_INT ) 8339 // InternalAlloyLanguage.g:2918:1: (lv_number_1_0= RULE_INT )
8192 { 8340 {
8193 // InternalAlloyLanguage.g:2872:1: (lv_number_1_0= RULE_INT ) 8341 // InternalAlloyLanguage.g:2918:1: (lv_number_1_0= RULE_INT )
8194 // InternalAlloyLanguage.g:2873:3: lv_number_1_0= RULE_INT 8342 // InternalAlloyLanguage.g:2919:3: lv_number_1_0= RULE_INT
8195 { 8343 {
8196 lv_number_1_0=(Token)match(input,RULE_INT,FOLLOW_4); if (state.failed) return current; 8344 lv_number_1_0=(Token)match(input,RULE_INT,FOLLOW_4); if (state.failed) return current;
8197 if ( state.backtracking==0 ) { 8345 if ( state.backtracking==0 ) {
@@ -8217,11 +8365,11 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8217 8365
8218 } 8366 }
8219 8367
8220 // InternalAlloyLanguage.g:2889:2: ( (otherlv_2= RULE_ID ) ) 8368 // InternalAlloyLanguage.g:2935:2: ( (otherlv_2= RULE_ID ) )
8221 // InternalAlloyLanguage.g:2890:1: (otherlv_2= RULE_ID ) 8369 // InternalAlloyLanguage.g:2936:1: (otherlv_2= RULE_ID )
8222 { 8370 {
8223 // InternalAlloyLanguage.g:2890:1: (otherlv_2= RULE_ID ) 8371 // InternalAlloyLanguage.g:2936:1: (otherlv_2= RULE_ID )
8224 // InternalAlloyLanguage.g:2891:3: otherlv_2= RULE_ID 8372 // InternalAlloyLanguage.g:2937:3: otherlv_2= RULE_ID
8225 { 8373 {
8226 if ( state.backtracking==0 ) { 8374 if ( state.backtracking==0 ) {
8227 8375
@@ -8265,7 +8413,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8265 8413
8266 8414
8267 // $ANTLR start "entryRuleALSIntScope" 8415 // $ANTLR start "entryRuleALSIntScope"
8268 // InternalAlloyLanguage.g:2910:1: entryRuleALSIntScope returns [EObject current=null] : iv_ruleALSIntScope= ruleALSIntScope EOF ; 8416 // InternalAlloyLanguage.g:2956:1: entryRuleALSIntScope returns [EObject current=null] : iv_ruleALSIntScope= ruleALSIntScope EOF ;
8269 public final EObject entryRuleALSIntScope() throws RecognitionException { 8417 public final EObject entryRuleALSIntScope() throws RecognitionException {
8270 EObject current = null; 8418 EObject current = null;
8271 8419
@@ -8273,8 +8421,8 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8273 8421
8274 8422
8275 try { 8423 try {
8276 // InternalAlloyLanguage.g:2911:2: (iv_ruleALSIntScope= ruleALSIntScope EOF ) 8424 // InternalAlloyLanguage.g:2957:2: (iv_ruleALSIntScope= ruleALSIntScope EOF )
8277 // InternalAlloyLanguage.g:2912:2: iv_ruleALSIntScope= ruleALSIntScope EOF 8425 // InternalAlloyLanguage.g:2958:2: iv_ruleALSIntScope= ruleALSIntScope EOF
8278 { 8426 {
8279 if ( state.backtracking==0 ) { 8427 if ( state.backtracking==0 ) {
8280 newCompositeNode(grammarAccess.getALSIntScopeRule()); 8428 newCompositeNode(grammarAccess.getALSIntScopeRule());
@@ -8305,7 +8453,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8305 8453
8306 8454
8307 // $ANTLR start "ruleALSIntScope" 8455 // $ANTLR start "ruleALSIntScope"
8308 // InternalAlloyLanguage.g:2919:1: ruleALSIntScope returns [EObject current=null] : ( ( (lv_number_0_0= RULE_INT ) ) otherlv_1= 'Int' ) ; 8456 // InternalAlloyLanguage.g:2965:1: ruleALSIntScope returns [EObject current=null] : ( ( (lv_number_0_0= RULE_INT ) ) otherlv_1= 'Int' ) ;
8309 public final EObject ruleALSIntScope() throws RecognitionException { 8457 public final EObject ruleALSIntScope() throws RecognitionException {
8310 EObject current = null; 8458 EObject current = null;
8311 8459
@@ -8315,17 +8463,17 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8315 enterRule(); 8463 enterRule();
8316 8464
8317 try { 8465 try {
8318 // InternalAlloyLanguage.g:2922:28: ( ( ( (lv_number_0_0= RULE_INT ) ) otherlv_1= 'Int' ) ) 8466 // InternalAlloyLanguage.g:2968:28: ( ( ( (lv_number_0_0= RULE_INT ) ) otherlv_1= 'Int' ) )
8319 // InternalAlloyLanguage.g:2923:1: ( ( (lv_number_0_0= RULE_INT ) ) otherlv_1= 'Int' ) 8467 // InternalAlloyLanguage.g:2969:1: ( ( (lv_number_0_0= RULE_INT ) ) otherlv_1= 'Int' )
8320 { 8468 {
8321 // InternalAlloyLanguage.g:2923:1: ( ( (lv_number_0_0= RULE_INT ) ) otherlv_1= 'Int' ) 8469 // InternalAlloyLanguage.g:2969:1: ( ( (lv_number_0_0= RULE_INT ) ) otherlv_1= 'Int' )
8322 // InternalAlloyLanguage.g:2923:2: ( (lv_number_0_0= RULE_INT ) ) otherlv_1= 'Int' 8470 // InternalAlloyLanguage.g:2969:2: ( (lv_number_0_0= RULE_INT ) ) otherlv_1= 'Int'
8323 { 8471 {
8324 // InternalAlloyLanguage.g:2923:2: ( (lv_number_0_0= RULE_INT ) ) 8472 // InternalAlloyLanguage.g:2969:2: ( (lv_number_0_0= RULE_INT ) )
8325 // InternalAlloyLanguage.g:2924:1: (lv_number_0_0= RULE_INT ) 8473 // InternalAlloyLanguage.g:2970:1: (lv_number_0_0= RULE_INT )
8326 { 8474 {
8327 // InternalAlloyLanguage.g:2924:1: (lv_number_0_0= RULE_INT ) 8475 // InternalAlloyLanguage.g:2970:1: (lv_number_0_0= RULE_INT )
8328 // InternalAlloyLanguage.g:2925:3: lv_number_0_0= RULE_INT 8476 // InternalAlloyLanguage.g:2971:3: lv_number_0_0= RULE_INT
8329 { 8477 {
8330 lv_number_0_0=(Token)match(input,RULE_INT,FOLLOW_39); if (state.failed) return current; 8478 lv_number_0_0=(Token)match(input,RULE_INT,FOLLOW_39); if (state.failed) return current;
8331 if ( state.backtracking==0 ) { 8479 if ( state.backtracking==0 ) {
@@ -8379,8 +8527,130 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8379 // $ANTLR end "ruleALSIntScope" 8527 // $ANTLR end "ruleALSIntScope"
8380 8528
8381 8529
8530 // $ANTLR start "entryRuleALSStringScope"
8531 // InternalAlloyLanguage.g:2999:1: entryRuleALSStringScope returns [EObject current=null] : iv_ruleALSStringScope= ruleALSStringScope EOF ;
8532 public final EObject entryRuleALSStringScope() throws RecognitionException {
8533 EObject current = null;
8534
8535 EObject iv_ruleALSStringScope = null;
8536
8537
8538 try {
8539 // InternalAlloyLanguage.g:3000:2: (iv_ruleALSStringScope= ruleALSStringScope EOF )
8540 // InternalAlloyLanguage.g:3001:2: iv_ruleALSStringScope= ruleALSStringScope EOF
8541 {
8542 if ( state.backtracking==0 ) {
8543 newCompositeNode(grammarAccess.getALSStringScopeRule());
8544 }
8545 pushFollow(FOLLOW_1);
8546 iv_ruleALSStringScope=ruleALSStringScope();
8547
8548 state._fsp--;
8549 if (state.failed) return current;
8550 if ( state.backtracking==0 ) {
8551 current =iv_ruleALSStringScope;
8552 }
8553 match(input,EOF,FOLLOW_2); if (state.failed) return current;
8554
8555 }
8556
8557 }
8558
8559 catch (RecognitionException re) {
8560 recover(input,re);
8561 appendSkippedTokens();
8562 }
8563 finally {
8564 }
8565 return current;
8566 }
8567 // $ANTLR end "entryRuleALSStringScope"
8568
8569
8570 // $ANTLR start "ruleALSStringScope"
8571 // InternalAlloyLanguage.g:3008:1: ruleALSStringScope returns [EObject current=null] : (otherlv_0= 'exactly' ( (lv_number_1_0= RULE_INT ) ) otherlv_2= 'String' ) ;
8572 public final EObject ruleALSStringScope() throws RecognitionException {
8573 EObject current = null;
8574
8575 Token otherlv_0=null;
8576 Token lv_number_1_0=null;
8577 Token otherlv_2=null;
8578
8579 enterRule();
8580
8581 try {
8582 // InternalAlloyLanguage.g:3011:28: ( (otherlv_0= 'exactly' ( (lv_number_1_0= RULE_INT ) ) otherlv_2= 'String' ) )
8583 // InternalAlloyLanguage.g:3012:1: (otherlv_0= 'exactly' ( (lv_number_1_0= RULE_INT ) ) otherlv_2= 'String' )
8584 {
8585 // InternalAlloyLanguage.g:3012:1: (otherlv_0= 'exactly' ( (lv_number_1_0= RULE_INT ) ) otherlv_2= 'String' )
8586 // InternalAlloyLanguage.g:3012:3: otherlv_0= 'exactly' ( (lv_number_1_0= RULE_INT ) ) otherlv_2= 'String'
8587 {
8588 otherlv_0=(Token)match(input,65,FOLLOW_38); if (state.failed) return current;
8589 if ( state.backtracking==0 ) {
8590
8591 newLeafNode(otherlv_0, grammarAccess.getALSStringScopeAccess().getExactlyKeyword_0());
8592
8593 }
8594 // InternalAlloyLanguage.g:3016:1: ( (lv_number_1_0= RULE_INT ) )
8595 // InternalAlloyLanguage.g:3017:1: (lv_number_1_0= RULE_INT )
8596 {
8597 // InternalAlloyLanguage.g:3017:1: (lv_number_1_0= RULE_INT )
8598 // InternalAlloyLanguage.g:3018:3: lv_number_1_0= RULE_INT
8599 {
8600 lv_number_1_0=(Token)match(input,RULE_INT,FOLLOW_40); if (state.failed) return current;
8601 if ( state.backtracking==0 ) {
8602
8603 newLeafNode(lv_number_1_0, grammarAccess.getALSStringScopeAccess().getNumberINTTerminalRuleCall_1_0());
8604
8605 }
8606 if ( state.backtracking==0 ) {
8607
8608 if (current==null) {
8609 current = createModelElement(grammarAccess.getALSStringScopeRule());
8610 }
8611 setWithLastConsumed(
8612 current,
8613 "number",
8614 lv_number_1_0,
8615 "org.eclipse.xtext.common.Terminals.INT");
8616
8617 }
8618
8619 }
8620
8621
8622 }
8623
8624 otherlv_2=(Token)match(input,60,FOLLOW_2); if (state.failed) return current;
8625 if ( state.backtracking==0 ) {
8626
8627 newLeafNode(otherlv_2, grammarAccess.getALSStringScopeAccess().getStringKeyword_2());
8628
8629 }
8630
8631 }
8632
8633
8634 }
8635
8636 if ( state.backtracking==0 ) {
8637 leaveRule();
8638 }
8639 }
8640
8641 catch (RecognitionException re) {
8642 recover(input,re);
8643 appendSkippedTokens();
8644 }
8645 finally {
8646 }
8647 return current;
8648 }
8649 // $ANTLR end "ruleALSStringScope"
8650
8651
8382 // $ANTLR start "ruleALSMultiplicity" 8652 // $ANTLR start "ruleALSMultiplicity"
8383 // InternalAlloyLanguage.g:2953:1: ruleALSMultiplicity returns [Enumerator current=null] : ( (enumLiteral_0= 'all' ) | (enumLiteral_1= 'no' ) | (enumLiteral_2= 'some' ) | (enumLiteral_3= 'lone' ) | (enumLiteral_4= 'one' ) | (enumLiteral_5= 'set' ) ) ; 8653 // InternalAlloyLanguage.g:3046:1: ruleALSMultiplicity returns [Enumerator current=null] : ( (enumLiteral_0= 'all' ) | (enumLiteral_1= 'no' ) | (enumLiteral_2= 'some' ) | (enumLiteral_3= 'lone' ) | (enumLiteral_4= 'one' ) | (enumLiteral_5= 'set' ) ) ;
8384 public final Enumerator ruleALSMultiplicity() throws RecognitionException { 8654 public final Enumerator ruleALSMultiplicity() throws RecognitionException {
8385 Enumerator current = null; 8655 Enumerator current = null;
8386 8656
@@ -8393,38 +8663,38 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8393 8663
8394 enterRule(); 8664 enterRule();
8395 try { 8665 try {
8396 // InternalAlloyLanguage.g:2955:28: ( ( (enumLiteral_0= 'all' ) | (enumLiteral_1= 'no' ) | (enumLiteral_2= 'some' ) | (enumLiteral_3= 'lone' ) | (enumLiteral_4= 'one' ) | (enumLiteral_5= 'set' ) ) ) 8666 // InternalAlloyLanguage.g:3048:28: ( ( (enumLiteral_0= 'all' ) | (enumLiteral_1= 'no' ) | (enumLiteral_2= 'some' ) | (enumLiteral_3= 'lone' ) | (enumLiteral_4= 'one' ) | (enumLiteral_5= 'set' ) ) )
8397 // InternalAlloyLanguage.g:2956:1: ( (enumLiteral_0= 'all' ) | (enumLiteral_1= 'no' ) | (enumLiteral_2= 'some' ) | (enumLiteral_3= 'lone' ) | (enumLiteral_4= 'one' ) | (enumLiteral_5= 'set' ) ) 8667 // InternalAlloyLanguage.g:3049:1: ( (enumLiteral_0= 'all' ) | (enumLiteral_1= 'no' ) | (enumLiteral_2= 'some' ) | (enumLiteral_3= 'lone' ) | (enumLiteral_4= 'one' ) | (enumLiteral_5= 'set' ) )
8398 { 8668 {
8399 // InternalAlloyLanguage.g:2956:1: ( (enumLiteral_0= 'all' ) | (enumLiteral_1= 'no' ) | (enumLiteral_2= 'some' ) | (enumLiteral_3= 'lone' ) | (enumLiteral_4= 'one' ) | (enumLiteral_5= 'set' ) ) 8669 // InternalAlloyLanguage.g:3049:1: ( (enumLiteral_0= 'all' ) | (enumLiteral_1= 'no' ) | (enumLiteral_2= 'some' ) | (enumLiteral_3= 'lone' ) | (enumLiteral_4= 'one' ) | (enumLiteral_5= 'set' ) )
8400 int alt48=6; 8670 int alt48=6;
8401 switch ( input.LA(1) ) { 8671 switch ( input.LA(1) ) {
8402 case 65: 8672 case 66:
8403 { 8673 {
8404 alt48=1; 8674 alt48=1;
8405 } 8675 }
8406 break; 8676 break;
8407 case 66: 8677 case 67:
8408 { 8678 {
8409 alt48=2; 8679 alt48=2;
8410 } 8680 }
8411 break; 8681 break;
8412 case 67: 8682 case 68:
8413 { 8683 {
8414 alt48=3; 8684 alt48=3;
8415 } 8685 }
8416 break; 8686 break;
8417 case 68: 8687 case 69:
8418 { 8688 {
8419 alt48=4; 8689 alt48=4;
8420 } 8690 }
8421 break; 8691 break;
8422 case 69: 8692 case 70:
8423 { 8693 {
8424 alt48=5; 8694 alt48=5;
8425 } 8695 }
8426 break; 8696 break;
8427 case 70: 8697 case 71:
8428 { 8698 {
8429 alt48=6; 8699 alt48=6;
8430 } 8700 }
@@ -8439,12 +8709,12 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8439 8709
8440 switch (alt48) { 8710 switch (alt48) {
8441 case 1 : 8711 case 1 :
8442 // InternalAlloyLanguage.g:2956:2: (enumLiteral_0= 'all' ) 8712 // InternalAlloyLanguage.g:3049:2: (enumLiteral_0= 'all' )
8443 { 8713 {
8444 // InternalAlloyLanguage.g:2956:2: (enumLiteral_0= 'all' ) 8714 // InternalAlloyLanguage.g:3049:2: (enumLiteral_0= 'all' )
8445 // InternalAlloyLanguage.g:2956:4: enumLiteral_0= 'all' 8715 // InternalAlloyLanguage.g:3049:4: enumLiteral_0= 'all'
8446 { 8716 {
8447 enumLiteral_0=(Token)match(input,65,FOLLOW_2); if (state.failed) return current; 8717 enumLiteral_0=(Token)match(input,66,FOLLOW_2); if (state.failed) return current;
8448 if ( state.backtracking==0 ) { 8718 if ( state.backtracking==0 ) {
8449 8719
8450 current = grammarAccess.getALSMultiplicityAccess().getAllEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 8720 current = grammarAccess.getALSMultiplicityAccess().getAllEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -8458,12 +8728,12 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8458 } 8728 }
8459 break; 8729 break;
8460 case 2 : 8730 case 2 :
8461 // InternalAlloyLanguage.g:2962:6: (enumLiteral_1= 'no' ) 8731 // InternalAlloyLanguage.g:3055:6: (enumLiteral_1= 'no' )
8462 { 8732 {
8463 // InternalAlloyLanguage.g:2962:6: (enumLiteral_1= 'no' ) 8733 // InternalAlloyLanguage.g:3055:6: (enumLiteral_1= 'no' )
8464 // InternalAlloyLanguage.g:2962:8: enumLiteral_1= 'no' 8734 // InternalAlloyLanguage.g:3055:8: enumLiteral_1= 'no'
8465 { 8735 {
8466 enumLiteral_1=(Token)match(input,66,FOLLOW_2); if (state.failed) return current; 8736 enumLiteral_1=(Token)match(input,67,FOLLOW_2); if (state.failed) return current;
8467 if ( state.backtracking==0 ) { 8737 if ( state.backtracking==0 ) {
8468 8738
8469 current = grammarAccess.getALSMultiplicityAccess().getNoEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 8739 current = grammarAccess.getALSMultiplicityAccess().getNoEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -8477,12 +8747,12 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8477 } 8747 }
8478 break; 8748 break;
8479 case 3 : 8749 case 3 :
8480 // InternalAlloyLanguage.g:2968:6: (enumLiteral_2= 'some' ) 8750 // InternalAlloyLanguage.g:3061:6: (enumLiteral_2= 'some' )
8481 { 8751 {
8482 // InternalAlloyLanguage.g:2968:6: (enumLiteral_2= 'some' ) 8752 // InternalAlloyLanguage.g:3061:6: (enumLiteral_2= 'some' )
8483 // InternalAlloyLanguage.g:2968:8: enumLiteral_2= 'some' 8753 // InternalAlloyLanguage.g:3061:8: enumLiteral_2= 'some'
8484 { 8754 {
8485 enumLiteral_2=(Token)match(input,67,FOLLOW_2); if (state.failed) return current; 8755 enumLiteral_2=(Token)match(input,68,FOLLOW_2); if (state.failed) return current;
8486 if ( state.backtracking==0 ) { 8756 if ( state.backtracking==0 ) {
8487 8757
8488 current = grammarAccess.getALSMultiplicityAccess().getSomeEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); 8758 current = grammarAccess.getALSMultiplicityAccess().getSomeEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
@@ -8496,12 +8766,12 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8496 } 8766 }
8497 break; 8767 break;
8498 case 4 : 8768 case 4 :
8499 // InternalAlloyLanguage.g:2974:6: (enumLiteral_3= 'lone' ) 8769 // InternalAlloyLanguage.g:3067:6: (enumLiteral_3= 'lone' )
8500 { 8770 {
8501 // InternalAlloyLanguage.g:2974:6: (enumLiteral_3= 'lone' ) 8771 // InternalAlloyLanguage.g:3067:6: (enumLiteral_3= 'lone' )
8502 // InternalAlloyLanguage.g:2974:8: enumLiteral_3= 'lone' 8772 // InternalAlloyLanguage.g:3067:8: enumLiteral_3= 'lone'
8503 { 8773 {
8504 enumLiteral_3=(Token)match(input,68,FOLLOW_2); if (state.failed) return current; 8774 enumLiteral_3=(Token)match(input,69,FOLLOW_2); if (state.failed) return current;
8505 if ( state.backtracking==0 ) { 8775 if ( state.backtracking==0 ) {
8506 8776
8507 current = grammarAccess.getALSMultiplicityAccess().getLoneEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); 8777 current = grammarAccess.getALSMultiplicityAccess().getLoneEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
@@ -8515,12 +8785,12 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8515 } 8785 }
8516 break; 8786 break;
8517 case 5 : 8787 case 5 :
8518 // InternalAlloyLanguage.g:2980:6: (enumLiteral_4= 'one' ) 8788 // InternalAlloyLanguage.g:3073:6: (enumLiteral_4= 'one' )
8519 { 8789 {
8520 // InternalAlloyLanguage.g:2980:6: (enumLiteral_4= 'one' ) 8790 // InternalAlloyLanguage.g:3073:6: (enumLiteral_4= 'one' )
8521 // InternalAlloyLanguage.g:2980:8: enumLiteral_4= 'one' 8791 // InternalAlloyLanguage.g:3073:8: enumLiteral_4= 'one'
8522 { 8792 {
8523 enumLiteral_4=(Token)match(input,69,FOLLOW_2); if (state.failed) return current; 8793 enumLiteral_4=(Token)match(input,70,FOLLOW_2); if (state.failed) return current;
8524 if ( state.backtracking==0 ) { 8794 if ( state.backtracking==0 ) {
8525 8795
8526 current = grammarAccess.getALSMultiplicityAccess().getOneEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); 8796 current = grammarAccess.getALSMultiplicityAccess().getOneEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
@@ -8534,12 +8804,12 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8534 } 8804 }
8535 break; 8805 break;
8536 case 6 : 8806 case 6 :
8537 // InternalAlloyLanguage.g:2986:6: (enumLiteral_5= 'set' ) 8807 // InternalAlloyLanguage.g:3079:6: (enumLiteral_5= 'set' )
8538 { 8808 {
8539 // InternalAlloyLanguage.g:2986:6: (enumLiteral_5= 'set' ) 8809 // InternalAlloyLanguage.g:3079:6: (enumLiteral_5= 'set' )
8540 // InternalAlloyLanguage.g:2986:8: enumLiteral_5= 'set' 8810 // InternalAlloyLanguage.g:3079:8: enumLiteral_5= 'set'
8541 { 8811 {
8542 enumLiteral_5=(Token)match(input,70,FOLLOW_2); if (state.failed) return current; 8812 enumLiteral_5=(Token)match(input,71,FOLLOW_2); if (state.failed) return current;
8543 if ( state.backtracking==0 ) { 8813 if ( state.backtracking==0 ) {
8544 8814
8545 current = grammarAccess.getALSMultiplicityAccess().getSetEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); 8815 current = grammarAccess.getALSMultiplicityAccess().getSetEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
@@ -8575,7 +8845,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8575 8845
8576 8846
8577 // $ANTLR start "ruleALSNumericOperator" 8847 // $ANTLR start "ruleALSNumericOperator"
8578 // InternalAlloyLanguage.g:2996:1: ruleALSNumericOperator returns [Enumerator current=null] : ( (enumLiteral_0= 'plus' ) | (enumLiteral_1= 'sub' ) | (enumLiteral_2= 'mul' ) | (enumLiteral_3= 'rem' ) | (enumLiteral_4= 'div' ) ) ; 8848 // InternalAlloyLanguage.g:3089:1: ruleALSNumericOperator returns [Enumerator current=null] : ( (enumLiteral_0= 'plus' ) | (enumLiteral_1= 'sub' ) | (enumLiteral_2= 'mul' ) | (enumLiteral_3= 'rem' ) | (enumLiteral_4= 'div' ) ) ;
8579 public final Enumerator ruleALSNumericOperator() throws RecognitionException { 8849 public final Enumerator ruleALSNumericOperator() throws RecognitionException {
8580 Enumerator current = null; 8850 Enumerator current = null;
8581 8851
@@ -8587,33 +8857,33 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8587 8857
8588 enterRule(); 8858 enterRule();
8589 try { 8859 try {
8590 // InternalAlloyLanguage.g:2998:28: ( ( (enumLiteral_0= 'plus' ) | (enumLiteral_1= 'sub' ) | (enumLiteral_2= 'mul' ) | (enumLiteral_3= 'rem' ) | (enumLiteral_4= 'div' ) ) ) 8860 // InternalAlloyLanguage.g:3091:28: ( ( (enumLiteral_0= 'plus' ) | (enumLiteral_1= 'sub' ) | (enumLiteral_2= 'mul' ) | (enumLiteral_3= 'rem' ) | (enumLiteral_4= 'div' ) ) )
8591 // InternalAlloyLanguage.g:2999:1: ( (enumLiteral_0= 'plus' ) | (enumLiteral_1= 'sub' ) | (enumLiteral_2= 'mul' ) | (enumLiteral_3= 'rem' ) | (enumLiteral_4= 'div' ) ) 8861 // InternalAlloyLanguage.g:3092:1: ( (enumLiteral_0= 'plus' ) | (enumLiteral_1= 'sub' ) | (enumLiteral_2= 'mul' ) | (enumLiteral_3= 'rem' ) | (enumLiteral_4= 'div' ) )
8592 { 8862 {
8593 // InternalAlloyLanguage.g:2999:1: ( (enumLiteral_0= 'plus' ) | (enumLiteral_1= 'sub' ) | (enumLiteral_2= 'mul' ) | (enumLiteral_3= 'rem' ) | (enumLiteral_4= 'div' ) ) 8863 // InternalAlloyLanguage.g:3092:1: ( (enumLiteral_0= 'plus' ) | (enumLiteral_1= 'sub' ) | (enumLiteral_2= 'mul' ) | (enumLiteral_3= 'rem' ) | (enumLiteral_4= 'div' ) )
8594 int alt49=5; 8864 int alt49=5;
8595 switch ( input.LA(1) ) { 8865 switch ( input.LA(1) ) {
8596 case 71: 8866 case 72:
8597 { 8867 {
8598 alt49=1; 8868 alt49=1;
8599 } 8869 }
8600 break; 8870 break;
8601 case 72: 8871 case 73:
8602 { 8872 {
8603 alt49=2; 8873 alt49=2;
8604 } 8874 }
8605 break; 8875 break;
8606 case 73: 8876 case 74:
8607 { 8877 {
8608 alt49=3; 8878 alt49=3;
8609 } 8879 }
8610 break; 8880 break;
8611 case 74: 8881 case 75:
8612 { 8882 {
8613 alt49=4; 8883 alt49=4;
8614 } 8884 }
8615 break; 8885 break;
8616 case 75: 8886 case 76:
8617 { 8887 {
8618 alt49=5; 8888 alt49=5;
8619 } 8889 }
@@ -8628,12 +8898,12 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8628 8898
8629 switch (alt49) { 8899 switch (alt49) {
8630 case 1 : 8900 case 1 :
8631 // InternalAlloyLanguage.g:2999:2: (enumLiteral_0= 'plus' ) 8901 // InternalAlloyLanguage.g:3092:2: (enumLiteral_0= 'plus' )
8632 { 8902 {
8633 // InternalAlloyLanguage.g:2999:2: (enumLiteral_0= 'plus' ) 8903 // InternalAlloyLanguage.g:3092:2: (enumLiteral_0= 'plus' )
8634 // InternalAlloyLanguage.g:2999:4: enumLiteral_0= 'plus' 8904 // InternalAlloyLanguage.g:3092:4: enumLiteral_0= 'plus'
8635 { 8905 {
8636 enumLiteral_0=(Token)match(input,71,FOLLOW_2); if (state.failed) return current; 8906 enumLiteral_0=(Token)match(input,72,FOLLOW_2); if (state.failed) return current;
8637 if ( state.backtracking==0 ) { 8907 if ( state.backtracking==0 ) {
8638 8908
8639 current = grammarAccess.getALSNumericOperatorAccess().getPlusEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 8909 current = grammarAccess.getALSNumericOperatorAccess().getPlusEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
@@ -8647,12 +8917,12 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8647 } 8917 }
8648 break; 8918 break;
8649 case 2 : 8919 case 2 :
8650 // InternalAlloyLanguage.g:3005:6: (enumLiteral_1= 'sub' ) 8920 // InternalAlloyLanguage.g:3098:6: (enumLiteral_1= 'sub' )
8651 { 8921 {
8652 // InternalAlloyLanguage.g:3005:6: (enumLiteral_1= 'sub' ) 8922 // InternalAlloyLanguage.g:3098:6: (enumLiteral_1= 'sub' )
8653 // InternalAlloyLanguage.g:3005:8: enumLiteral_1= 'sub' 8923 // InternalAlloyLanguage.g:3098:8: enumLiteral_1= 'sub'
8654 { 8924 {
8655 enumLiteral_1=(Token)match(input,72,FOLLOW_2); if (state.failed) return current; 8925 enumLiteral_1=(Token)match(input,73,FOLLOW_2); if (state.failed) return current;
8656 if ( state.backtracking==0 ) { 8926 if ( state.backtracking==0 ) {
8657 8927
8658 current = grammarAccess.getALSNumericOperatorAccess().getSubEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 8928 current = grammarAccess.getALSNumericOperatorAccess().getSubEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
@@ -8666,12 +8936,12 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8666 } 8936 }
8667 break; 8937 break;
8668 case 3 : 8938 case 3 :
8669 // InternalAlloyLanguage.g:3011:6: (enumLiteral_2= 'mul' ) 8939 // InternalAlloyLanguage.g:3104:6: (enumLiteral_2= 'mul' )
8670 { 8940 {
8671 // InternalAlloyLanguage.g:3011:6: (enumLiteral_2= 'mul' ) 8941 // InternalAlloyLanguage.g:3104:6: (enumLiteral_2= 'mul' )
8672 // InternalAlloyLanguage.g:3011:8: enumLiteral_2= 'mul' 8942 // InternalAlloyLanguage.g:3104:8: enumLiteral_2= 'mul'
8673 { 8943 {
8674 enumLiteral_2=(Token)match(input,73,FOLLOW_2); if (state.failed) return current; 8944 enumLiteral_2=(Token)match(input,74,FOLLOW_2); if (state.failed) return current;
8675 if ( state.backtracking==0 ) { 8945 if ( state.backtracking==0 ) {
8676 8946
8677 current = grammarAccess.getALSNumericOperatorAccess().getMulEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); 8947 current = grammarAccess.getALSNumericOperatorAccess().getMulEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
@@ -8685,12 +8955,12 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8685 } 8955 }
8686 break; 8956 break;
8687 case 4 : 8957 case 4 :
8688 // InternalAlloyLanguage.g:3017:6: (enumLiteral_3= 'rem' ) 8958 // InternalAlloyLanguage.g:3110:6: (enumLiteral_3= 'rem' )
8689 { 8959 {
8690 // InternalAlloyLanguage.g:3017:6: (enumLiteral_3= 'rem' ) 8960 // InternalAlloyLanguage.g:3110:6: (enumLiteral_3= 'rem' )
8691 // InternalAlloyLanguage.g:3017:8: enumLiteral_3= 'rem' 8961 // InternalAlloyLanguage.g:3110:8: enumLiteral_3= 'rem'
8692 { 8962 {
8693 enumLiteral_3=(Token)match(input,74,FOLLOW_2); if (state.failed) return current; 8963 enumLiteral_3=(Token)match(input,75,FOLLOW_2); if (state.failed) return current;
8694 if ( state.backtracking==0 ) { 8964 if ( state.backtracking==0 ) {
8695 8965
8696 current = grammarAccess.getALSNumericOperatorAccess().getRemEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); 8966 current = grammarAccess.getALSNumericOperatorAccess().getRemEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
@@ -8704,12 +8974,12 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8704 } 8974 }
8705 break; 8975 break;
8706 case 5 : 8976 case 5 :
8707 // InternalAlloyLanguage.g:3023:6: (enumLiteral_4= 'div' ) 8977 // InternalAlloyLanguage.g:3116:6: (enumLiteral_4= 'div' )
8708 { 8978 {
8709 // InternalAlloyLanguage.g:3023:6: (enumLiteral_4= 'div' ) 8979 // InternalAlloyLanguage.g:3116:6: (enumLiteral_4= 'div' )
8710 // InternalAlloyLanguage.g:3023:8: enumLiteral_4= 'div' 8980 // InternalAlloyLanguage.g:3116:8: enumLiteral_4= 'div'
8711 { 8981 {
8712 enumLiteral_4=(Token)match(input,75,FOLLOW_2); if (state.failed) return current; 8982 enumLiteral_4=(Token)match(input,76,FOLLOW_2); if (state.failed) return current;
8713 if ( state.backtracking==0 ) { 8983 if ( state.backtracking==0 ) {
8714 8984
8715 current = grammarAccess.getALSNumericOperatorAccess().getDivEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); 8985 current = grammarAccess.getALSNumericOperatorAccess().getDivEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
@@ -8749,22 +9019,22 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8749 protected DFA10 dfa10 = new DFA10(this); 9019 protected DFA10 dfa10 = new DFA10(this);
8750 protected DFA42 dfa42 = new DFA42(this); 9020 protected DFA42 dfa42 = new DFA42(this);
8751 static final String dfa_1s = "\12\uffff"; 9021 static final String dfa_1s = "\12\uffff";
8752 static final String dfa_2s = "\10\uffff\1\11\1\uffff"; 9022 static final String dfa_2s = "\11\uffff\1\10";
8753 static final String dfa_3s = "\7\4\1\uffff\1\15\1\uffff"; 9023 static final String dfa_3s = "\7\4\2\uffff\1\15";
8754 static final String dfa_4s = "\7\113\1\uffff\1\106\1\uffff"; 9024 static final String dfa_4s = "\7\114\2\uffff\1\107";
8755 static final String dfa_5s = "\7\uffff\1\2\1\uffff\1\1"; 9025 static final String dfa_5s = "\7\uffff\1\2\1\1\1\uffff";
8756 static final String dfa_6s = "\12\uffff}>"; 9026 static final String dfa_6s = "\12\uffff}>";
8757 static final String[] dfa_7s = { 9027 static final String[] dfa_7s = {
8758 "\2\7\50\uffff\1\7\2\uffff\14\7\4\uffff\1\1\1\2\1\3\1\4\1\5\1\6\5\7", 9028 "\3\7\47\uffff\1\7\2\uffff\15\7\4\uffff\1\1\1\2\1\3\1\4\1\5\1\6\5\7",
8759 "\1\10\1\11\24\uffff\1\7\23\uffff\1\11\2\uffff\14\11\4\uffff\13\11", 9029 "\1\11\2\10\23\uffff\1\7\23\uffff\1\10\2\uffff\15\10\4\uffff\13\10",
8760 "\1\10\1\11\24\uffff\1\7\23\uffff\1\11\2\uffff\14\11\4\uffff\13\11", 9030 "\1\11\2\10\23\uffff\1\7\23\uffff\1\10\2\uffff\15\10\4\uffff\13\10",
8761 "\1\10\1\11\24\uffff\1\7\23\uffff\1\11\2\uffff\14\11\4\uffff\13\11", 9031 "\1\11\2\10\23\uffff\1\7\23\uffff\1\10\2\uffff\15\10\4\uffff\13\10",
8762 "\1\10\1\11\24\uffff\1\7\23\uffff\1\11\2\uffff\14\11\4\uffff\13\11", 9032 "\1\11\2\10\23\uffff\1\7\23\uffff\1\10\2\uffff\15\10\4\uffff\13\10",
8763 "\1\10\1\11\24\uffff\1\7\23\uffff\1\11\2\uffff\14\11\4\uffff\13\11", 9033 "\1\11\2\10\23\uffff\1\7\23\uffff\1\10\2\uffff\15\10\4\uffff\13\10",
8764 "\1\10\1\11\24\uffff\1\7\23\uffff\1\11\2\uffff\14\11\4\uffff\13\11", 9034 "\1\11\2\10\23\uffff\1\7\23\uffff\1\10\2\uffff\15\10\4\uffff\13\10",
8765 "", 9035 "",
8766 "\2\11\3\uffff\2\11\1\7\1\uffff\1\11\4\uffff\6\11\1\uffff\17\11\20\uffff\6\11", 9036 "",
8767 "" 9037 "\2\10\3\uffff\2\10\1\7\1\uffff\1\10\4\uffff\6\10\1\uffff\17\10\21\uffff\6\10"
8768 }; 9038 };
8769 9039
8770 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); 9040 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
@@ -8795,11 +9065,11 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8795 static final String dfa_8s = "\13\uffff"; 9065 static final String dfa_8s = "\13\uffff";
8796 static final String dfa_9s = "\10\uffff\1\12\2\uffff"; 9066 static final String dfa_9s = "\10\uffff\1\12\2\uffff";
8797 static final String dfa_10s = "\1\4\7\uffff\1\14\2\uffff"; 9067 static final String dfa_10s = "\1\4\7\uffff\1\14\2\uffff";
8798 static final String dfa_11s = "\1\113\7\uffff\1\106\2\uffff"; 9068 static final String dfa_11s = "\1\114\7\uffff\1\107\2\uffff";
8799 static final String dfa_12s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\uffff\1\10\1\11"; 9069 static final String dfa_12s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\uffff\1\10\1\11";
8800 static final String dfa_13s = "\13\uffff}>"; 9070 static final String dfa_13s = "\13\uffff}>";
8801 static final String[] dfa_14s = { 9071 static final String[] dfa_14s = {
8802 "\1\10\1\12\50\uffff\1\6\2\uffff\2\1\1\2\1\3\1\4\1\5\1\7\5\12\12\uffff\5\11", 9072 "\1\10\2\12\47\uffff\1\6\2\uffff\2\1\1\2\1\3\1\4\1\5\1\7\6\12\12\uffff\5\11",
8803 "", 9073 "",
8804 "", 9074 "",
8805 "", 9075 "",
@@ -8807,7 +9077,7 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8807 "", 9077 "",
8808 "", 9078 "",
8809 "", 9079 "",
8810 "\3\12\3\uffff\2\12\2\uffff\1\11\1\12\3\uffff\26\12\14\uffff\1\12\3\uffff\6\12", 9080 "\3\12\3\uffff\2\12\2\uffff\1\11\1\12\3\uffff\26\12\15\uffff\1\12\3\uffff\6\12",
8811 "", 9081 "",
8812 "" 9082 ""
8813 }; 9083 };
@@ -8841,16 +9111,16 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8841 9111
8842 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); 9112 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
8843 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); 9113 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
8844 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x4000000003218800L,0x000000000000007EL}); 9114 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x8000000003218800L,0x00000000000000FCL});
8845 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L}); 9115 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L});
8846 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000001000L}); 9116 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000001000L});
8847 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000006000L}); 9117 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000006000L});
8848 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000018000L,0x000000000000007EL}); 9118 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000018000L,0x00000000000000FCL});
8849 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000063000L}); 9119 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000063000L});
8850 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000081000L}); 9120 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000081000L});
8851 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000004010L}); 9121 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000004010L});
8852 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000100000L}); 9122 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000100000L});
8853 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x1FFE400000000030L,0x0000000000000FFEL}); 9123 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x3FFE400000000070L,0x0000000000001FFCL});
8854 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000400000L}); 9124 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000400000L});
8855 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000802000L}); 9125 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000802000L});
8856 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000004000L}); 9126 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000004000L});
@@ -8870,13 +9140,14 @@ public class InternalAlloyLanguageParser extends AbstractInternalAntlrParser {
8870 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000400000000002L}); 9140 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000400000000002L});
8871 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000000080002L}); 9141 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000000080002L});
8872 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000800000000002L}); 9142 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000800000000002L});
8873 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0001000000000002L,0x000000000000007EL}); 9143 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0001000000000002L,0x00000000000000FCL});
8874 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0001000000000000L}); 9144 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0001000000000000L});
8875 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x2000000000000000L}); 9145 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x4000000000000000L});
8876 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x8000000000000002L}); 9146 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000001L});
8877 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000000020L,0x0000000000000001L}); 9147 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000000020L,0x0000000000000002L});
8878 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000002002L}); 9148 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000002002L});
8879 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000020L}); 9149 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000020L});
8880 public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0800000000000000L}); 9150 public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0800000000000000L});
9151 public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x1000000000000000L});
8881 9152
8882} 9153}