sfp 0.3.22 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/sfp/SfpLangLexer.rb +51 -51
- data/lib/sfp/SfpLangParser.rb +394 -390
- data/src/SfpLang.g +13 -9
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5aaa593d3387a397e9ec0ca4a44adfa88016ff00
|
4
|
+
data.tar.gz: 443fa1844bef24bb4c1ded0822d0519d600d481c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 721a5319c5ede930324912678407614473f1fdcf2014c00f3622069f1c04e9ec3881e63bcd6a1fb4a8351924d67475c9a0e0d258217d9915572c517e5b7cb2d8
|
7
|
+
data.tar.gz: eb70b081e1d8618e7de550ab06001b77c6beb5cbc89e90a9c87d84b08dac57c8b194cf4c31c15ff8cc3684537650fbd9fd62bd1cb69687f65f8ec004df9e8a3a
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.1
|
data/lib/sfp/SfpLangLexer.rb
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
# Generated using ANTLR version: 3.5
|
6
6
|
# Ruby runtime library version: 1.10.0
|
7
7
|
# Input grammar file: SfpLang.g
|
8
|
-
# Generated at: 2013-
|
8
|
+
# Generated at: 2013-12-19 16:23:36
|
9
9
|
#
|
10
10
|
|
11
11
|
# ~~~> start load path setup
|
@@ -2041,7 +2041,7 @@ module SfpLang
|
|
2041
2041
|
|
2042
2042
|
|
2043
2043
|
# - - - - main rule block - - - -
|
2044
|
-
# at line
|
2044
|
+
# at line 1000:2: ( 'null' | 'nil' )
|
2045
2045
|
alt_1 = 2
|
2046
2046
|
look_1_0 = @input.peek( 1 )
|
2047
2047
|
|
@@ -2062,12 +2062,12 @@ module SfpLang
|
|
2062
2062
|
end
|
2063
2063
|
case alt_1
|
2064
2064
|
when 1
|
2065
|
-
# at line
|
2065
|
+
# at line 1000:4: 'null'
|
2066
2066
|
match( "null" )
|
2067
2067
|
|
2068
2068
|
|
2069
2069
|
when 2
|
2070
|
-
# at line
|
2070
|
+
# at line 1001:4: 'nil'
|
2071
2071
|
match( "nil" )
|
2072
2072
|
|
2073
2073
|
|
@@ -2096,7 +2096,7 @@ module SfpLang
|
|
2096
2096
|
|
2097
2097
|
|
2098
2098
|
# - - - - main rule block - - - -
|
2099
|
-
# at line
|
2099
|
+
# at line 1005:2: ( 'true' | 'false' | 'off' | 'on' | 'yes' | 'no' )
|
2100
2100
|
alt_2 = 6
|
2101
2101
|
case look_2 = @input.peek( 1 )
|
2102
2102
|
when 0x74 then alt_2 = 1
|
@@ -2119,32 +2119,32 @@ module SfpLang
|
|
2119
2119
|
end
|
2120
2120
|
case alt_2
|
2121
2121
|
when 1
|
2122
|
-
# at line
|
2122
|
+
# at line 1005:4: 'true'
|
2123
2123
|
match( "true" )
|
2124
2124
|
|
2125
2125
|
|
2126
2126
|
when 2
|
2127
|
-
# at line
|
2127
|
+
# at line 1006:4: 'false'
|
2128
2128
|
match( "false" )
|
2129
2129
|
|
2130
2130
|
|
2131
2131
|
when 3
|
2132
|
-
# at line
|
2132
|
+
# at line 1007:4: 'off'
|
2133
2133
|
match( "off" )
|
2134
2134
|
|
2135
2135
|
|
2136
2136
|
when 4
|
2137
|
-
# at line
|
2137
|
+
# at line 1008:4: 'on'
|
2138
2138
|
match( "on" )
|
2139
2139
|
|
2140
2140
|
|
2141
2141
|
when 5
|
2142
|
-
# at line
|
2142
|
+
# at line 1009:4: 'yes'
|
2143
2143
|
match( "yes" )
|
2144
2144
|
|
2145
2145
|
|
2146
2146
|
when 6
|
2147
|
-
# at line
|
2147
|
+
# at line 1010:4: 'no'
|
2148
2148
|
match( "no" )
|
2149
2149
|
|
2150
2150
|
|
@@ -2173,7 +2173,7 @@ module SfpLang
|
|
2173
2173
|
|
2174
2174
|
|
2175
2175
|
# - - - - main rule block - - - -
|
2176
|
-
# at line
|
2176
|
+
# at line 1013:6: ( 'a' .. 'z' | 'A' .. 'Z' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )*
|
2177
2177
|
if @input.peek( 1 ).between?( 0x41, 0x5a ) || @input.peek( 1 ).between?( 0x61, 0x7a )
|
2178
2178
|
@input.consume
|
2179
2179
|
else
|
@@ -2184,7 +2184,7 @@ module SfpLang
|
|
2184
2184
|
end
|
2185
2185
|
|
2186
2186
|
|
2187
|
-
# at line
|
2187
|
+
# at line 1013:25: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )*
|
2188
2188
|
while true # decision 3
|
2189
2189
|
alt_3 = 2
|
2190
2190
|
look_3_0 = @input.peek( 1 )
|
@@ -2237,8 +2237,8 @@ module SfpLang
|
|
2237
2237
|
|
2238
2238
|
|
2239
2239
|
# - - - - main rule block - - - -
|
2240
|
-
# at line
|
2241
|
-
# at line
|
2240
|
+
# at line 1017:4: ( '-' )? ( '0' .. '9' )+
|
2241
|
+
# at line 1017:4: ( '-' )?
|
2242
2242
|
alt_4 = 2
|
2243
2243
|
look_4_0 = @input.peek( 1 )
|
2244
2244
|
|
@@ -2247,11 +2247,11 @@ module SfpLang
|
|
2247
2247
|
end
|
2248
2248
|
case alt_4
|
2249
2249
|
when 1
|
2250
|
-
# at line
|
2250
|
+
# at line 1017:4: '-'
|
2251
2251
|
match( 0x2d )
|
2252
2252
|
|
2253
2253
|
end
|
2254
|
-
# at file
|
2254
|
+
# at file 1017:8: ( '0' .. '9' )+
|
2255
2255
|
match_count_5 = 0
|
2256
2256
|
while true
|
2257
2257
|
alt_5 = 2
|
@@ -2311,7 +2311,7 @@ module SfpLang
|
|
2311
2311
|
|
2312
2312
|
|
2313
2313
|
# - - - - main rule block - - - -
|
2314
|
-
# at line
|
2314
|
+
# at line 1028:2: ( '//' (~ ( '\\n' | '\\r' ) )* | '#' (~ ( '\\n' | '\\r' ) )* | '/*' ( options {greedy=false; } : . )* '*/' )
|
2315
2315
|
alt_9 = 3
|
2316
2316
|
look_9_0 = @input.peek( 1 )
|
2317
2317
|
|
@@ -2334,10 +2334,10 @@ module SfpLang
|
|
2334
2334
|
end
|
2335
2335
|
case alt_9
|
2336
2336
|
when 1
|
2337
|
-
# at line
|
2337
|
+
# at line 1028:4: '//' (~ ( '\\n' | '\\r' ) )*
|
2338
2338
|
match( "//" )
|
2339
2339
|
|
2340
|
-
# at line
|
2340
|
+
# at line 1028:9: (~ ( '\\n' | '\\r' ) )*
|
2341
2341
|
while true # decision 6
|
2342
2342
|
alt_6 = 2
|
2343
2343
|
look_6_0 = @input.peek( 1 )
|
@@ -2372,9 +2372,9 @@ module SfpLang
|
|
2372
2372
|
|
2373
2373
|
|
2374
2374
|
when 2
|
2375
|
-
# at line
|
2375
|
+
# at line 1029:4: '#' (~ ( '\\n' | '\\r' ) )*
|
2376
2376
|
match( 0x23 )
|
2377
|
-
# at line
|
2377
|
+
# at line 1029:8: (~ ( '\\n' | '\\r' ) )*
|
2378
2378
|
while true # decision 7
|
2379
2379
|
alt_7 = 2
|
2380
2380
|
look_7_0 = @input.peek( 1 )
|
@@ -2409,10 +2409,10 @@ module SfpLang
|
|
2409
2409
|
|
2410
2410
|
|
2411
2411
|
when 3
|
2412
|
-
# at line
|
2412
|
+
# at line 1030:4: '/*' ( options {greedy=false; } : . )* '*/'
|
2413
2413
|
match( "/*" )
|
2414
2414
|
|
2415
|
-
# at line
|
2415
|
+
# at line 1030:9: ( options {greedy=false; } : . )*
|
2416
2416
|
while true # decision 8
|
2417
2417
|
alt_8 = 2
|
2418
2418
|
look_8_0 = @input.peek( 1 )
|
@@ -2432,7 +2432,7 @@ module SfpLang
|
|
2432
2432
|
end
|
2433
2433
|
case alt_8
|
2434
2434
|
when 1
|
2435
|
-
# at line
|
2435
|
+
# at line 1030:37: .
|
2436
2436
|
match_any
|
2437
2437
|
|
2438
2438
|
else
|
@@ -2474,10 +2474,10 @@ module SfpLang
|
|
2474
2474
|
|
2475
2475
|
|
2476
2476
|
# - - - - main rule block - - - -
|
2477
|
-
# at line
|
2477
|
+
# at line 1034:4: 'r\"' ( options {greedy=false; } : . )* '\"'
|
2478
2478
|
match( "r\"" )
|
2479
2479
|
|
2480
|
-
# at line
|
2480
|
+
# at line 1034:9: ( options {greedy=false; } : . )*
|
2481
2481
|
while true # decision 10
|
2482
2482
|
alt_10 = 2
|
2483
2483
|
look_10_0 = @input.peek( 1 )
|
@@ -2490,7 +2490,7 @@ module SfpLang
|
|
2490
2490
|
end
|
2491
2491
|
case alt_10
|
2492
2492
|
when 1
|
2493
|
-
# at line
|
2493
|
+
# at line 1034:37: .
|
2494
2494
|
match_any
|
2495
2495
|
|
2496
2496
|
else
|
@@ -2524,8 +2524,8 @@ module SfpLang
|
|
2524
2524
|
|
2525
2525
|
|
2526
2526
|
# - - - - main rule block - - - -
|
2527
|
-
# at line
|
2528
|
-
# at line
|
2527
|
+
# at line 1037:6: ( ( '\\r' )? '\\n' | ';' )
|
2528
|
+
# at line 1037:6: ( ( '\\r' )? '\\n' | ';' )
|
2529
2529
|
alt_12 = 2
|
2530
2530
|
look_12_0 = @input.peek( 1 )
|
2531
2531
|
|
@@ -2539,8 +2539,8 @@ module SfpLang
|
|
2539
2539
|
end
|
2540
2540
|
case alt_12
|
2541
2541
|
when 1
|
2542
|
-
# at line
|
2543
|
-
# at line
|
2542
|
+
# at line 1037:7: ( '\\r' )? '\\n'
|
2543
|
+
# at line 1037:7: ( '\\r' )?
|
2544
2544
|
alt_11 = 2
|
2545
2545
|
look_11_0 = @input.peek( 1 )
|
2546
2546
|
|
@@ -2549,14 +2549,14 @@ module SfpLang
|
|
2549
2549
|
end
|
2550
2550
|
case alt_11
|
2551
2551
|
when 1
|
2552
|
-
# at line
|
2552
|
+
# at line 1037:7: '\\r'
|
2553
2553
|
match( 0xd )
|
2554
2554
|
|
2555
2555
|
end
|
2556
2556
|
match( 0xa )
|
2557
2557
|
|
2558
2558
|
when 2
|
2559
|
-
# at line
|
2559
|
+
# at line 1037:18: ';'
|
2560
2560
|
match( 0x3b )
|
2561
2561
|
|
2562
2562
|
end
|
@@ -2585,7 +2585,7 @@ module SfpLang
|
|
2585
2585
|
|
2586
2586
|
|
2587
2587
|
# - - - - main rule block - - - -
|
2588
|
-
# at line
|
2588
|
+
# at line 1040:8: ( ' ' | '\\t' )
|
2589
2589
|
if @input.peek(1) == 0x9 || @input.peek(1) == 0x20
|
2590
2590
|
@input.consume
|
2591
2591
|
else
|
@@ -2626,9 +2626,9 @@ module SfpLang
|
|
2626
2626
|
|
2627
2627
|
|
2628
2628
|
# - - - - main rule block - - - -
|
2629
|
-
# at line
|
2629
|
+
# at line 1044:5: '\"' ( ESC_SEQ |~ ( '\\\\' | '\"' ) )* '\"'
|
2630
2630
|
match( 0x22 )
|
2631
|
-
# at line
|
2631
|
+
# at line 1044:9: ( ESC_SEQ |~ ( '\\\\' | '\"' ) )*
|
2632
2632
|
while true # decision 13
|
2633
2633
|
alt_13 = 3
|
2634
2634
|
look_13_0 = @input.peek( 1 )
|
@@ -2641,12 +2641,12 @@ module SfpLang
|
|
2641
2641
|
end
|
2642
2642
|
case alt_13
|
2643
2643
|
when 1
|
2644
|
-
# at line
|
2644
|
+
# at line 1044:11: ESC_SEQ
|
2645
2645
|
esc_seq!
|
2646
2646
|
|
2647
2647
|
|
2648
2648
|
when 2
|
2649
|
-
# at line
|
2649
|
+
# at line 1044:21: ~ ( '\\\\' | '\"' )
|
2650
2650
|
if @input.peek( 1 ).between?( 0x0, 0x21 ) || @input.peek( 1 ).between?( 0x23, 0x5b ) || @input.peek( 1 ).between?( 0x5d, 0xff )
|
2651
2651
|
@input.consume
|
2652
2652
|
else
|
@@ -2686,7 +2686,7 @@ module SfpLang
|
|
2686
2686
|
|
2687
2687
|
|
2688
2688
|
# - - - - main rule block - - - -
|
2689
|
-
# at line
|
2689
|
+
# at line 1049:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
|
2690
2690
|
if @input.peek(1) == 0x45 || @input.peek(1) == 0x65
|
2691
2691
|
@input.consume
|
2692
2692
|
else
|
@@ -2697,7 +2697,7 @@ module SfpLang
|
|
2697
2697
|
end
|
2698
2698
|
|
2699
2699
|
|
2700
|
-
# at line
|
2700
|
+
# at line 1049:22: ( '+' | '-' )?
|
2701
2701
|
alt_14 = 2
|
2702
2702
|
look_14_0 = @input.peek( 1 )
|
2703
2703
|
|
@@ -2719,7 +2719,7 @@ module SfpLang
|
|
2719
2719
|
|
2720
2720
|
|
2721
2721
|
end
|
2722
|
-
# at file
|
2722
|
+
# at file 1049:33: ( '0' .. '9' )+
|
2723
2723
|
match_count_15 = 0
|
2724
2724
|
while true
|
2725
2725
|
alt_15 = 2
|
@@ -2803,7 +2803,7 @@ module SfpLang
|
|
2803
2803
|
|
2804
2804
|
|
2805
2805
|
# - - - - main rule block - - - -
|
2806
|
-
# at line
|
2806
|
+
# at line 1056:2: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UNICODE_ESC | OCTAL_ESC )
|
2807
2807
|
alt_16 = 3
|
2808
2808
|
look_16_0 = @input.peek( 1 )
|
2809
2809
|
|
@@ -2822,7 +2822,7 @@ module SfpLang
|
|
2822
2822
|
end
|
2823
2823
|
case alt_16
|
2824
2824
|
when 1
|
2825
|
-
# at line
|
2825
|
+
# at line 1056:6: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' )
|
2826
2826
|
match( 0x5c )
|
2827
2827
|
if @input.peek(1) == 0x22 || @input.peek(1) == 0x27 || @input.peek(1) == 0x5c || @input.peek(1) == 0x62 || @input.peek(1) == 0x66 || @input.peek(1) == 0x6e || @input.peek(1) == 0x72 || @input.peek(1) == 0x74
|
2828
2828
|
@input.consume
|
@@ -2836,12 +2836,12 @@ module SfpLang
|
|
2836
2836
|
|
2837
2837
|
|
2838
2838
|
when 2
|
2839
|
-
# at line
|
2839
|
+
# at line 1057:6: UNICODE_ESC
|
2840
2840
|
unicode_esc!
|
2841
2841
|
|
2842
2842
|
|
2843
2843
|
when 3
|
2844
|
-
# at line
|
2844
|
+
# at line 1058:6: OCTAL_ESC
|
2845
2845
|
octal_esc!
|
2846
2846
|
|
2847
2847
|
|
@@ -2864,7 +2864,7 @@ module SfpLang
|
|
2864
2864
|
|
2865
2865
|
|
2866
2866
|
# - - - - main rule block - - - -
|
2867
|
-
# at line
|
2867
|
+
# at line 1063:2: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
|
2868
2868
|
alt_17 = 3
|
2869
2869
|
look_17_0 = @input.peek( 1 )
|
2870
2870
|
|
@@ -2906,7 +2906,7 @@ module SfpLang
|
|
2906
2906
|
end
|
2907
2907
|
case alt_17
|
2908
2908
|
when 1
|
2909
|
-
# at line
|
2909
|
+
# at line 1063:6: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
|
2910
2910
|
match( 0x5c )
|
2911
2911
|
if @input.peek( 1 ).between?( 0x30, 0x33 )
|
2912
2912
|
@input.consume
|
@@ -2940,7 +2940,7 @@ module SfpLang
|
|
2940
2940
|
|
2941
2941
|
|
2942
2942
|
when 2
|
2943
|
-
# at line
|
2943
|
+
# at line 1064:6: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
|
2944
2944
|
match( 0x5c )
|
2945
2945
|
if @input.peek( 1 ).between?( 0x30, 0x37 )
|
2946
2946
|
@input.consume
|
@@ -2964,7 +2964,7 @@ module SfpLang
|
|
2964
2964
|
|
2965
2965
|
|
2966
2966
|
when 3
|
2967
|
-
# at line
|
2967
|
+
# at line 1065:6: '\\\\' ( '0' .. '7' )
|
2968
2968
|
match( 0x5c )
|
2969
2969
|
if @input.peek( 1 ).between?( 0x30, 0x37 )
|
2970
2970
|
@input.consume
|
@@ -2996,7 +2996,7 @@ module SfpLang
|
|
2996
2996
|
|
2997
2997
|
|
2998
2998
|
# - - - - main rule block - - - -
|
2999
|
-
# at line
|
2999
|
+
# at line 1070:6: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
|
3000
3000
|
match( 0x5c )
|
3001
3001
|
match( 0x75 )
|
3002
3002
|
|
data/lib/sfp/SfpLangParser.rb
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
# Generated using ANTLR version: 3.5
|
6
6
|
# Ruby runtime library version: 1.10.0
|
7
7
|
# Input grammar file: SfpLang.g
|
8
|
-
# Generated at: 2013-
|
8
|
+
# Generated at: 2013-12-19 16:23:34
|
9
9
|
#
|
10
10
|
|
11
11
|
# ~~~> start load path setup
|
@@ -2064,15 +2064,19 @@ module SfpLang
|
|
2064
2064
|
# --> action
|
2065
2065
|
|
2066
2066
|
template = @root.at?(( path68 && @input.to_s( path68.start, path68.stop ) ))
|
2067
|
-
|
2068
|
-
template.
|
2069
|
-
|
2070
|
-
|
2071
|
-
|
2072
|
-
|
2073
|
-
|
2074
|
-
@now[__ID66__.text]
|
2075
|
-
|
2067
|
+
if template.is_a?(Sfp::Unknown) or template.is_a?(Sfp::Undefined)
|
2068
|
+
raise Exception, "Object template #{( path68 && @input.to_s( path68.start, path68.stop ) )} is not found!"
|
2069
|
+
end
|
2070
|
+
if !template.is_a?(Hash) or (template['_context'] != 'object' and template['_context'] != 'abstract')
|
2071
|
+
puts template['_context']
|
2072
|
+
raise Exception, "#{( path68 && @input.to_s( path68.start, path68.stop ) )}:[#{template['_context']}] is not an object or an abstract object!"
|
2073
|
+
end
|
2074
|
+
object = @now[__ID66__.text] = Sfp::Helper.deep_clone(template)
|
2075
|
+
object.accept(Sfp::Visitor::ParentEliminator.new)
|
2076
|
+
object['_parent'] = @now
|
2077
|
+
object['_self'] = __ID66__.text
|
2078
|
+
object['_context'] = 'object'
|
2079
|
+
object.accept(Sfp::Visitor::SfpGenerator.new(@root))
|
2076
2080
|
@use_template = true
|
2077
2081
|
|
2078
2082
|
# <-- action
|
@@ -2092,7 +2096,7 @@ module SfpLang
|
|
2092
2096
|
|
2093
2097
|
# <-- action
|
2094
2098
|
|
2095
|
-
# at line
|
2099
|
+
# at line 230:3: ( 'isa' object_schema ( object_schemata )* )?
|
2096
2100
|
alt_28 = 2
|
2097
2101
|
look_28_0 = @input.peek( 1 )
|
2098
2102
|
|
@@ -2101,7 +2105,7 @@ module SfpLang
|
|
2101
2105
|
end
|
2102
2106
|
case alt_28
|
2103
2107
|
when 1
|
2104
|
-
# at line
|
2108
|
+
# at line 230:4: 'isa' object_schema ( object_schemata )*
|
2105
2109
|
string_literal69 = match( T__66, TOKENS_FOLLOWING_T__66_IN_object_def_506 )
|
2106
2110
|
tree_for_string_literal69 = @adaptor.create_with_payload( string_literal69 )
|
2107
2111
|
@adaptor.add_child( root_0, tree_for_string_literal69 )
|
@@ -2112,7 +2116,7 @@ module SfpLang
|
|
2112
2116
|
@state.following.pop
|
2113
2117
|
@adaptor.add_child( root_0, object_schema70.tree )
|
2114
2118
|
|
2115
|
-
# at line
|
2119
|
+
# at line 230:24: ( object_schemata )*
|
2116
2120
|
while true # decision 27
|
2117
2121
|
alt_27 = 2
|
2118
2122
|
look_27_0 = @input.peek( 1 )
|
@@ -2123,7 +2127,7 @@ module SfpLang
|
|
2123
2127
|
end
|
2124
2128
|
case alt_27
|
2125
2129
|
when 1
|
2126
|
-
# at line
|
2130
|
+
# at line 230:25: object_schemata
|
2127
2131
|
@state.following.push( TOKENS_FOLLOWING_object_schemata_IN_object_def_511 )
|
2128
2132
|
object_schemata71 = object_schemata
|
2129
2133
|
@state.following.pop
|
@@ -2137,7 +2141,7 @@ module SfpLang
|
|
2137
2141
|
|
2138
2142
|
|
2139
2143
|
end
|
2140
|
-
# at line
|
2144
|
+
# at line 231:3: ( object_body )?
|
2141
2145
|
alt_29 = 2
|
2142
2146
|
look_29_0 = @input.peek( 1 )
|
2143
2147
|
|
@@ -2146,7 +2150,7 @@ module SfpLang
|
|
2146
2150
|
end
|
2147
2151
|
case alt_29
|
2148
2152
|
when 1
|
2149
|
-
# at line
|
2153
|
+
# at line 231:3: object_body
|
2150
2154
|
@state.following.push( TOKENS_FOLLOWING_object_body_IN_object_def_520 )
|
2151
2155
|
object_body72 = object_body
|
2152
2156
|
@state.following.pop
|
@@ -2206,7 +2210,7 @@ module SfpLang
|
|
2206
2210
|
# parser rule object_body
|
2207
2211
|
#
|
2208
2212
|
# (in SfpLang.g)
|
2209
|
-
#
|
2213
|
+
# 251:1: object_body : '{' ( NL )* ( object_attribute | procedure ( NL )* )* '}' ;
|
2210
2214
|
#
|
2211
2215
|
def object_body
|
2212
2216
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -2238,13 +2242,13 @@ module SfpLang
|
|
2238
2242
|
root_0 = @adaptor.create_flat_list
|
2239
2243
|
|
2240
2244
|
|
2241
|
-
# at line
|
2245
|
+
# at line 252:4: '{' ( NL )* ( object_attribute | procedure ( NL )* )* '}'
|
2242
2246
|
char_literal73 = match( T__84, TOKENS_FOLLOWING_T__84_IN_object_body_536 )
|
2243
2247
|
tree_for_char_literal73 = @adaptor.create_with_payload( char_literal73 )
|
2244
2248
|
@adaptor.add_child( root_0, tree_for_char_literal73 )
|
2245
2249
|
|
2246
2250
|
|
2247
|
-
# at line
|
2251
|
+
# at line 252:8: ( NL )*
|
2248
2252
|
while true # decision 30
|
2249
2253
|
alt_30 = 2
|
2250
2254
|
look_30_0 = @input.peek( 1 )
|
@@ -2255,7 +2259,7 @@ module SfpLang
|
|
2255
2259
|
end
|
2256
2260
|
case alt_30
|
2257
2261
|
when 1
|
2258
|
-
# at line
|
2262
|
+
# at line 252:8: NL
|
2259
2263
|
__NL74__ = match( NL, TOKENS_FOLLOWING_NL_IN_object_body_538 )
|
2260
2264
|
tree_for_NL74 = @adaptor.create_with_payload( __NL74__ )
|
2261
2265
|
@adaptor.add_child( root_0, tree_for_NL74 )
|
@@ -2267,7 +2271,7 @@ module SfpLang
|
|
2267
2271
|
end
|
2268
2272
|
end # loop for decision 30
|
2269
2273
|
|
2270
|
-
# at line
|
2274
|
+
# at line 252:12: ( object_attribute | procedure ( NL )* )*
|
2271
2275
|
while true # decision 32
|
2272
2276
|
alt_32 = 3
|
2273
2277
|
look_32_0 = @input.peek( 1 )
|
@@ -2280,7 +2284,7 @@ module SfpLang
|
|
2280
2284
|
end
|
2281
2285
|
case alt_32
|
2282
2286
|
when 1
|
2283
|
-
# at line
|
2287
|
+
# at line 252:14: object_attribute
|
2284
2288
|
@state.following.push( TOKENS_FOLLOWING_object_attribute_IN_object_body_543 )
|
2285
2289
|
object_attribute75 = object_attribute
|
2286
2290
|
@state.following.pop
|
@@ -2288,13 +2292,13 @@ module SfpLang
|
|
2288
2292
|
|
2289
2293
|
|
2290
2294
|
when 2
|
2291
|
-
# at line
|
2295
|
+
# at line 252:33: procedure ( NL )*
|
2292
2296
|
@state.following.push( TOKENS_FOLLOWING_procedure_IN_object_body_547 )
|
2293
2297
|
procedure76 = procedure
|
2294
2298
|
@state.following.pop
|
2295
2299
|
@adaptor.add_child( root_0, procedure76.tree )
|
2296
2300
|
|
2297
|
-
# at line
|
2301
|
+
# at line 252:43: ( NL )*
|
2298
2302
|
while true # decision 31
|
2299
2303
|
alt_31 = 2
|
2300
2304
|
look_31_0 = @input.peek( 1 )
|
@@ -2305,7 +2309,7 @@ module SfpLang
|
|
2305
2309
|
end
|
2306
2310
|
case alt_31
|
2307
2311
|
when 1
|
2308
|
-
# at line
|
2312
|
+
# at line 252:43: NL
|
2309
2313
|
__NL77__ = match( NL, TOKENS_FOLLOWING_NL_IN_object_body_549 )
|
2310
2314
|
tree_for_NL77 = @adaptor.create_with_payload( __NL77__ )
|
2311
2315
|
@adaptor.add_child( root_0, tree_for_NL77 )
|
@@ -2359,7 +2363,7 @@ module SfpLang
|
|
2359
2363
|
# parser rule object_attribute
|
2360
2364
|
#
|
2361
2365
|
# (in SfpLang.g)
|
2362
|
-
#
|
2366
|
+
# 255:1: object_attribute : ( attribute | ID equals_op NULL ( NL )+ );
|
2363
2367
|
#
|
2364
2368
|
def object_attribute
|
2365
2369
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -2386,7 +2390,7 @@ module SfpLang
|
|
2386
2390
|
tree_for_NL83 = nil
|
2387
2391
|
|
2388
2392
|
begin
|
2389
|
-
# at line
|
2393
|
+
# at line 256:2: ( attribute | ID equals_op NULL ( NL )+ )
|
2390
2394
|
alt_34 = 2
|
2391
2395
|
look_34_0 = @input.peek( 1 )
|
2392
2396
|
|
@@ -2421,7 +2425,7 @@ module SfpLang
|
|
2421
2425
|
root_0 = @adaptor.create_flat_list
|
2422
2426
|
|
2423
2427
|
|
2424
|
-
# at line
|
2428
|
+
# at line 256:4: attribute
|
2425
2429
|
@state.following.push( TOKENS_FOLLOWING_attribute_IN_object_attribute_566 )
|
2426
2430
|
attribute79 = attribute
|
2427
2431
|
@state.following.pop
|
@@ -2432,7 +2436,7 @@ module SfpLang
|
|
2432
2436
|
root_0 = @adaptor.create_flat_list
|
2433
2437
|
|
2434
2438
|
|
2435
|
-
# at line
|
2439
|
+
# at line 257:4: ID equals_op NULL ( NL )+
|
2436
2440
|
__ID80__ = match( ID, TOKENS_FOLLOWING_ID_IN_object_attribute_571 )
|
2437
2441
|
tree_for_ID80 = @adaptor.create_with_payload( __ID80__ )
|
2438
2442
|
@adaptor.add_child( root_0, tree_for_ID80 )
|
@@ -2448,7 +2452,7 @@ module SfpLang
|
|
2448
2452
|
@adaptor.add_child( root_0, tree_for_NULL82 )
|
2449
2453
|
|
2450
2454
|
|
2451
|
-
# at file
|
2455
|
+
# at file 257:22: ( NL )+
|
2452
2456
|
match_count_33 = 0
|
2453
2457
|
while true
|
2454
2458
|
alt_33 = 2
|
@@ -2460,7 +2464,7 @@ module SfpLang
|
|
2460
2464
|
end
|
2461
2465
|
case alt_33
|
2462
2466
|
when 1
|
2463
|
-
# at line
|
2467
|
+
# at line 257:22: NL
|
2464
2468
|
__NL83__ = match( NL, TOKENS_FOLLOWING_NL_IN_object_attribute_577 )
|
2465
2469
|
tree_for_NL83 = @adaptor.create_with_payload( __NL83__ )
|
2466
2470
|
@adaptor.add_child( root_0, tree_for_NL83 )
|
@@ -2515,7 +2519,7 @@ module SfpLang
|
|
2515
2519
|
# parser rule state_dependency
|
2516
2520
|
#
|
2517
2521
|
# (in SfpLang.g)
|
2518
|
-
#
|
2522
|
+
# 261:1: state_dependency : 'if' dep_effect ( NL )* 'then' ( NL )* '{' ( NL )* constraint_body '}' ( ( NL )* 'or' ( NL )* '{' ( NL )* constraint_body '}' )* ( NL )+ ;
|
2519
2523
|
#
|
2520
2524
|
def state_dependency
|
2521
2525
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -2568,7 +2572,7 @@ module SfpLang
|
|
2568
2572
|
root_0 = @adaptor.create_flat_list
|
2569
2573
|
|
2570
2574
|
|
2571
|
-
# at line
|
2575
|
+
# at line 262:4: 'if' dep_effect ( NL )* 'then' ( NL )* '{' ( NL )* constraint_body '}' ( ( NL )* 'or' ( NL )* '{' ( NL )* constraint_body '}' )* ( NL )+
|
2572
2576
|
string_literal84 = match( T__62, TOKENS_FOLLOWING_T__62_IN_state_dependency_593 )
|
2573
2577
|
tree_for_string_literal84 = @adaptor.create_with_payload( string_literal84 )
|
2574
2578
|
@adaptor.add_child( root_0, tree_for_string_literal84 )
|
@@ -2579,7 +2583,7 @@ module SfpLang
|
|
2579
2583
|
@state.following.pop
|
2580
2584
|
@adaptor.add_child( root_0, dep_effect85.tree )
|
2581
2585
|
|
2582
|
-
# at line
|
2586
|
+
# at line 263:14: ( NL )*
|
2583
2587
|
while true # decision 35
|
2584
2588
|
alt_35 = 2
|
2585
2589
|
look_35_0 = @input.peek( 1 )
|
@@ -2590,7 +2594,7 @@ module SfpLang
|
|
2590
2594
|
end
|
2591
2595
|
case alt_35
|
2592
2596
|
when 1
|
2593
|
-
# at line
|
2597
|
+
# at line 263:14: NL
|
2594
2598
|
__NL86__ = match( NL, TOKENS_FOLLOWING_NL_IN_state_dependency_599 )
|
2595
2599
|
tree_for_NL86 = @adaptor.create_with_payload( __NL86__ )
|
2596
2600
|
@adaptor.add_child( root_0, tree_for_NL86 )
|
@@ -2607,7 +2611,7 @@ module SfpLang
|
|
2607
2611
|
@adaptor.add_child( root_0, tree_for_string_literal87 )
|
2608
2612
|
|
2609
2613
|
|
2610
|
-
# at line
|
2614
|
+
# at line 263:25: ( NL )*
|
2611
2615
|
while true # decision 36
|
2612
2616
|
alt_36 = 2
|
2613
2617
|
look_36_0 = @input.peek( 1 )
|
@@ -2618,7 +2622,7 @@ module SfpLang
|
|
2618
2622
|
end
|
2619
2623
|
case alt_36
|
2620
2624
|
when 1
|
2621
|
-
# at line
|
2625
|
+
# at line 263:25: NL
|
2622
2626
|
__NL88__ = match( NL, TOKENS_FOLLOWING_NL_IN_state_dependency_604 )
|
2623
2627
|
tree_for_NL88 = @adaptor.create_with_payload( __NL88__ )
|
2624
2628
|
@adaptor.add_child( root_0, tree_for_NL88 )
|
@@ -2635,7 +2639,7 @@ module SfpLang
|
|
2635
2639
|
@adaptor.add_child( root_0, tree_for_char_literal89 )
|
2636
2640
|
|
2637
2641
|
|
2638
|
-
# at line
|
2642
|
+
# at line 264:3: ( NL )*
|
2639
2643
|
while true # decision 37
|
2640
2644
|
alt_37 = 2
|
2641
2645
|
look_37_0 = @input.peek( 1 )
|
@@ -2646,7 +2650,7 @@ module SfpLang
|
|
2646
2650
|
end
|
2647
2651
|
case alt_37
|
2648
2652
|
when 1
|
2649
|
-
# at line
|
2653
|
+
# at line 264:3: NL
|
2650
2654
|
__NL90__ = match( NL, TOKENS_FOLLOWING_NL_IN_state_dependency_611 )
|
2651
2655
|
tree_for_NL90 = @adaptor.create_with_payload( __NL90__ )
|
2652
2656
|
@adaptor.add_child( root_0, tree_for_NL90 )
|
@@ -2668,14 +2672,14 @@ module SfpLang
|
|
2668
2672
|
@adaptor.add_child( root_0, tree_for_char_literal92 )
|
2669
2673
|
|
2670
2674
|
|
2671
|
-
# at line
|
2675
|
+
# at line 266:3: ( ( NL )* 'or' ( NL )* '{' ( NL )* constraint_body '}' )*
|
2672
2676
|
while true # decision 41
|
2673
2677
|
alt_41 = 2
|
2674
2678
|
alt_41 = @dfa41.predict( @input )
|
2675
2679
|
case alt_41
|
2676
2680
|
when 1
|
2677
|
-
# at line
|
2678
|
-
# at line
|
2681
|
+
# at line 266:5: ( NL )* 'or' ( NL )* '{' ( NL )* constraint_body '}'
|
2682
|
+
# at line 266:5: ( NL )*
|
2679
2683
|
while true # decision 38
|
2680
2684
|
alt_38 = 2
|
2681
2685
|
look_38_0 = @input.peek( 1 )
|
@@ -2686,7 +2690,7 @@ module SfpLang
|
|
2686
2690
|
end
|
2687
2691
|
case alt_38
|
2688
2692
|
when 1
|
2689
|
-
# at line
|
2693
|
+
# at line 266:5: NL
|
2690
2694
|
__NL93__ = match( NL, TOKENS_FOLLOWING_NL_IN_state_dependency_625 )
|
2691
2695
|
tree_for_NL93 = @adaptor.create_with_payload( __NL93__ )
|
2692
2696
|
@adaptor.add_child( root_0, tree_for_NL93 )
|
@@ -2703,7 +2707,7 @@ module SfpLang
|
|
2703
2707
|
@adaptor.add_child( root_0, tree_for_string_literal94 )
|
2704
2708
|
|
2705
2709
|
|
2706
|
-
# at line
|
2710
|
+
# at line 266:14: ( NL )*
|
2707
2711
|
while true # decision 39
|
2708
2712
|
alt_39 = 2
|
2709
2713
|
look_39_0 = @input.peek( 1 )
|
@@ -2714,7 +2718,7 @@ module SfpLang
|
|
2714
2718
|
end
|
2715
2719
|
case alt_39
|
2716
2720
|
when 1
|
2717
|
-
# at line
|
2721
|
+
# at line 266:14: NL
|
2718
2722
|
__NL95__ = match( NL, TOKENS_FOLLOWING_NL_IN_state_dependency_630 )
|
2719
2723
|
tree_for_NL95 = @adaptor.create_with_payload( __NL95__ )
|
2720
2724
|
@adaptor.add_child( root_0, tree_for_NL95 )
|
@@ -2731,7 +2735,7 @@ module SfpLang
|
|
2731
2735
|
@adaptor.add_child( root_0, tree_for_char_literal96 )
|
2732
2736
|
|
2733
2737
|
|
2734
|
-
# at line
|
2738
|
+
# at line 267:3: ( NL )*
|
2735
2739
|
while true # decision 40
|
2736
2740
|
alt_40 = 2
|
2737
2741
|
look_40_0 = @input.peek( 1 )
|
@@ -2742,7 +2746,7 @@ module SfpLang
|
|
2742
2746
|
end
|
2743
2747
|
case alt_40
|
2744
2748
|
when 1
|
2745
|
-
# at line
|
2749
|
+
# at line 267:3: NL
|
2746
2750
|
__NL97__ = match( NL, TOKENS_FOLLOWING_NL_IN_state_dependency_637 )
|
2747
2751
|
tree_for_NL97 = @adaptor.create_with_payload( __NL97__ )
|
2748
2752
|
@adaptor.add_child( root_0, tree_for_NL97 )
|
@@ -2770,7 +2774,7 @@ module SfpLang
|
|
2770
2774
|
end
|
2771
2775
|
end # loop for decision 41
|
2772
2776
|
|
2773
|
-
# at file
|
2777
|
+
# at file 269:3: ( NL )+
|
2774
2778
|
match_count_42 = 0
|
2775
2779
|
while true
|
2776
2780
|
alt_42 = 2
|
@@ -2782,7 +2786,7 @@ module SfpLang
|
|
2782
2786
|
end
|
2783
2787
|
case alt_42
|
2784
2788
|
when 1
|
2785
|
-
# at line
|
2789
|
+
# at line 269:3: NL
|
2786
2790
|
__NL100__ = match( NL, TOKENS_FOLLOWING_NL_IN_state_dependency_650 )
|
2787
2791
|
tree_for_NL100 = @adaptor.create_with_payload( __NL100__ )
|
2788
2792
|
@adaptor.add_child( root_0, tree_for_NL100 )
|
@@ -2831,7 +2835,7 @@ module SfpLang
|
|
2831
2835
|
# parser rule dep_effect
|
2832
2836
|
#
|
2833
2837
|
# (in SfpLang.g)
|
2834
|
-
#
|
2838
|
+
# 272:1: dep_effect : reference equals_op ( value | NULL ) ;
|
2835
2839
|
#
|
2836
2840
|
def dep_effect
|
2837
2841
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -2858,7 +2862,7 @@ module SfpLang
|
|
2858
2862
|
root_0 = @adaptor.create_flat_list
|
2859
2863
|
|
2860
2864
|
|
2861
|
-
# at line
|
2865
|
+
# at line 273:4: reference equals_op ( value | NULL )
|
2862
2866
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_dep_effect_662 )
|
2863
2867
|
reference101 = reference
|
2864
2868
|
@state.following.pop
|
@@ -2869,7 +2873,7 @@ module SfpLang
|
|
2869
2873
|
@state.following.pop
|
2870
2874
|
@adaptor.add_child( root_0, equals_op102.tree )
|
2871
2875
|
|
2872
|
-
# at line
|
2876
|
+
# at line 274:3: ( value | NULL )
|
2873
2877
|
alt_43 = 2
|
2874
2878
|
look_43_0 = @input.peek( 1 )
|
2875
2879
|
|
@@ -2883,7 +2887,7 @@ module SfpLang
|
|
2883
2887
|
end
|
2884
2888
|
case alt_43
|
2885
2889
|
when 1
|
2886
|
-
# at line
|
2890
|
+
# at line 274:5: value
|
2887
2891
|
@state.following.push( TOKENS_FOLLOWING_value_IN_dep_effect_671 )
|
2888
2892
|
value103 = value
|
2889
2893
|
@state.following.pop
|
@@ -2891,7 +2895,7 @@ module SfpLang
|
|
2891
2895
|
|
2892
2896
|
|
2893
2897
|
when 2
|
2894
|
-
# at line
|
2898
|
+
# at line 275:5: NULL
|
2895
2899
|
__NULL104__ = match( NULL, TOKENS_FOLLOWING_NULL_IN_dep_effect_677 )
|
2896
2900
|
tree_for_NULL104 = @adaptor.create_with_payload( __NULL104__ )
|
2897
2901
|
@adaptor.add_child( root_0, tree_for_NULL104 )
|
@@ -2930,7 +2934,7 @@ module SfpLang
|
|
2930
2934
|
# parser rule op_param
|
2931
2935
|
#
|
2932
2936
|
# (in SfpLang.g)
|
2933
|
-
#
|
2937
|
+
# 279:1: op_param : ID equals_op reference ( NL )+ ;
|
2934
2938
|
#
|
2935
2939
|
def op_param
|
2936
2940
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -2958,7 +2962,7 @@ module SfpLang
|
|
2958
2962
|
root_0 = @adaptor.create_flat_list
|
2959
2963
|
|
2960
2964
|
|
2961
|
-
# at line
|
2965
|
+
# at line 280:4: ID equals_op reference ( NL )+
|
2962
2966
|
__ID105__ = match( ID, TOKENS_FOLLOWING_ID_IN_op_param_693 )
|
2963
2967
|
tree_for_ID105 = @adaptor.create_with_payload( __ID105__ )
|
2964
2968
|
@adaptor.add_child( root_0, tree_for_ID105 )
|
@@ -2974,7 +2978,7 @@ module SfpLang
|
|
2974
2978
|
@state.following.pop
|
2975
2979
|
@adaptor.add_child( root_0, reference107.tree )
|
2976
2980
|
|
2977
|
-
# at file
|
2981
|
+
# at file 280:27: ( NL )+
|
2978
2982
|
match_count_44 = 0
|
2979
2983
|
while true
|
2980
2984
|
alt_44 = 2
|
@@ -2986,7 +2990,7 @@ module SfpLang
|
|
2986
2990
|
end
|
2987
2991
|
case alt_44
|
2988
2992
|
when 1
|
2989
|
-
# at line
|
2993
|
+
# at line 280:27: NL
|
2990
2994
|
__NL108__ = match( NL, TOKENS_FOLLOWING_NL_IN_op_param_699 )
|
2991
2995
|
tree_for_NL108 = @adaptor.create_with_payload( __NL108__ )
|
2992
2996
|
@adaptor.add_child( root_0, tree_for_NL108 )
|
@@ -3040,7 +3044,7 @@ module SfpLang
|
|
3040
3044
|
# parser rule op_conditions
|
3041
3045
|
#
|
3042
3046
|
# (in SfpLang.g)
|
3043
|
-
#
|
3047
|
+
# 284:1: op_conditions : ( 'conditions' | 'condition' ) '{' ( NL )* ( op_statement )* '}' ( NL )+ ;
|
3044
3048
|
#
|
3045
3049
|
def op_conditions
|
3046
3050
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -3073,7 +3077,7 @@ module SfpLang
|
|
3073
3077
|
root_0 = @adaptor.create_flat_list
|
3074
3078
|
|
3075
3079
|
|
3076
|
-
# at line
|
3080
|
+
# at line 285:4: ( 'conditions' | 'condition' ) '{' ( NL )* ( op_statement )* '}' ( NL )+
|
3077
3081
|
set109 = @input.look
|
3078
3082
|
|
3079
3083
|
if @input.peek( 1 ).between?( T__45, T__46 )
|
@@ -3094,7 +3098,7 @@ module SfpLang
|
|
3094
3098
|
@adaptor.add_child( root_0, tree_for_char_literal110 )
|
3095
3099
|
|
3096
3100
|
|
3097
|
-
# at line
|
3101
|
+
# at line 285:37: ( NL )*
|
3098
3102
|
while true # decision 45
|
3099
3103
|
alt_45 = 2
|
3100
3104
|
look_45_0 = @input.peek( 1 )
|
@@ -3105,7 +3109,7 @@ module SfpLang
|
|
3105
3109
|
end
|
3106
3110
|
case alt_45
|
3107
3111
|
when 1
|
3108
|
-
# at line
|
3112
|
+
# at line 285:37: NL
|
3109
3113
|
__NL111__ = match( NL, TOKENS_FOLLOWING_NL_IN_op_conditions_725 )
|
3110
3114
|
tree_for_NL111 = @adaptor.create_with_payload( __NL111__ )
|
3111
3115
|
@adaptor.add_child( root_0, tree_for_NL111 )
|
@@ -3125,7 +3129,7 @@ module SfpLang
|
|
3125
3129
|
|
3126
3130
|
# <-- action
|
3127
3131
|
|
3128
|
-
# at line
|
3132
|
+
# at line 290:3: ( op_statement )*
|
3129
3133
|
while true # decision 46
|
3130
3134
|
alt_46 = 2
|
3131
3135
|
look_46_0 = @input.peek( 1 )
|
@@ -3136,7 +3140,7 @@ module SfpLang
|
|
3136
3140
|
end
|
3137
3141
|
case alt_46
|
3138
3142
|
when 1
|
3139
|
-
# at line
|
3143
|
+
# at line 290:3: op_statement
|
3140
3144
|
@state.following.push( TOKENS_FOLLOWING_op_statement_IN_op_conditions_734 )
|
3141
3145
|
op_statement112 = op_statement
|
3142
3146
|
@state.following.pop
|
@@ -3153,7 +3157,7 @@ module SfpLang
|
|
3153
3157
|
@adaptor.add_child( root_0, tree_for_char_literal113 )
|
3154
3158
|
|
3155
3159
|
|
3156
|
-
# at file
|
3160
|
+
# at file 291:7: ( NL )+
|
3157
3161
|
match_count_47 = 0
|
3158
3162
|
while true
|
3159
3163
|
alt_47 = 2
|
@@ -3165,7 +3169,7 @@ module SfpLang
|
|
3165
3169
|
end
|
3166
3170
|
case alt_47
|
3167
3171
|
when 1
|
3168
|
-
# at line
|
3172
|
+
# at line 291:7: NL
|
3169
3173
|
__NL114__ = match( NL, TOKENS_FOLLOWING_NL_IN_op_conditions_741 )
|
3170
3174
|
tree_for_NL114 = @adaptor.create_with_payload( __NL114__ )
|
3171
3175
|
@adaptor.add_child( root_0, tree_for_NL114 )
|
@@ -3219,7 +3223,7 @@ module SfpLang
|
|
3219
3223
|
# parser rule op_effects
|
3220
3224
|
#
|
3221
3225
|
# (in SfpLang.g)
|
3222
|
-
#
|
3226
|
+
# 295:1: op_effects : 'effects' '{' ( NL )* ( op_statement )* '}' ( NL )+ ;
|
3223
3227
|
#
|
3224
3228
|
def op_effects
|
3225
3229
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -3252,7 +3256,7 @@ module SfpLang
|
|
3252
3256
|
root_0 = @adaptor.create_flat_list
|
3253
3257
|
|
3254
3258
|
|
3255
|
-
# at line
|
3259
|
+
# at line 296:4: 'effects' '{' ( NL )* ( op_statement )* '}' ( NL )+
|
3256
3260
|
string_literal115 = match( T__51, TOKENS_FOLLOWING_T__51_IN_op_effects_757 )
|
3257
3261
|
tree_for_string_literal115 = @adaptor.create_with_payload( string_literal115 )
|
3258
3262
|
@adaptor.add_child( root_0, tree_for_string_literal115 )
|
@@ -3263,7 +3267,7 @@ module SfpLang
|
|
3263
3267
|
@adaptor.add_child( root_0, tree_for_char_literal116 )
|
3264
3268
|
|
3265
3269
|
|
3266
|
-
# at line
|
3270
|
+
# at line 296:18: ( NL )*
|
3267
3271
|
while true # decision 48
|
3268
3272
|
alt_48 = 2
|
3269
3273
|
look_48_0 = @input.peek( 1 )
|
@@ -3274,7 +3278,7 @@ module SfpLang
|
|
3274
3278
|
end
|
3275
3279
|
case alt_48
|
3276
3280
|
when 1
|
3277
|
-
# at line
|
3281
|
+
# at line 296:18: NL
|
3278
3282
|
__NL117__ = match( NL, TOKENS_FOLLOWING_NL_IN_op_effects_761 )
|
3279
3283
|
tree_for_NL117 = @adaptor.create_with_payload( __NL117__ )
|
3280
3284
|
@adaptor.add_child( root_0, tree_for_NL117 )
|
@@ -3294,7 +3298,7 @@ module SfpLang
|
|
3294
3298
|
|
3295
3299
|
# <-- action
|
3296
3300
|
|
3297
|
-
# at line
|
3301
|
+
# at line 301:3: ( op_statement )*
|
3298
3302
|
while true # decision 49
|
3299
3303
|
alt_49 = 2
|
3300
3304
|
look_49_0 = @input.peek( 1 )
|
@@ -3305,7 +3309,7 @@ module SfpLang
|
|
3305
3309
|
end
|
3306
3310
|
case alt_49
|
3307
3311
|
when 1
|
3308
|
-
# at line
|
3312
|
+
# at line 301:3: op_statement
|
3309
3313
|
@state.following.push( TOKENS_FOLLOWING_op_statement_IN_op_effects_770 )
|
3310
3314
|
op_statement118 = op_statement
|
3311
3315
|
@state.following.pop
|
@@ -3322,7 +3326,7 @@ module SfpLang
|
|
3322
3326
|
@adaptor.add_child( root_0, tree_for_char_literal119 )
|
3323
3327
|
|
3324
3328
|
|
3325
|
-
# at file
|
3329
|
+
# at file 302:7: ( NL )+
|
3326
3330
|
match_count_50 = 0
|
3327
3331
|
while true
|
3328
3332
|
alt_50 = 2
|
@@ -3334,7 +3338,7 @@ module SfpLang
|
|
3334
3338
|
end
|
3335
3339
|
case alt_50
|
3336
3340
|
when 1
|
3337
|
-
# at line
|
3341
|
+
# at line 302:7: NL
|
3338
3342
|
__NL120__ = match( NL, TOKENS_FOLLOWING_NL_IN_op_effects_777 )
|
3339
3343
|
tree_for_NL120 = @adaptor.create_with_payload( __NL120__ )
|
3340
3344
|
@adaptor.add_child( root_0, tree_for_NL120 )
|
@@ -3388,7 +3392,7 @@ module SfpLang
|
|
3388
3392
|
# parser rule op_statement
|
3389
3393
|
#
|
3390
3394
|
# (in SfpLang.g)
|
3391
|
-
#
|
3395
|
+
# 306:1: op_statement : reference equals_op value ( NL )+ ;
|
3392
3396
|
#
|
3393
3397
|
def op_statement
|
3394
3398
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -3415,7 +3419,7 @@ module SfpLang
|
|
3415
3419
|
root_0 = @adaptor.create_flat_list
|
3416
3420
|
|
3417
3421
|
|
3418
|
-
# at line
|
3422
|
+
# at line 307:4: reference equals_op value ( NL )+
|
3419
3423
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_op_statement_793 )
|
3420
3424
|
reference121 = reference
|
3421
3425
|
@state.following.pop
|
@@ -3431,7 +3435,7 @@ module SfpLang
|
|
3431
3435
|
@state.following.pop
|
3432
3436
|
@adaptor.add_child( root_0, value123.tree )
|
3433
3437
|
|
3434
|
-
# at file
|
3438
|
+
# at file 307:30: ( NL )+
|
3435
3439
|
match_count_51 = 0
|
3436
3440
|
while true
|
3437
3441
|
alt_51 = 2
|
@@ -3443,7 +3447,7 @@ module SfpLang
|
|
3443
3447
|
end
|
3444
3448
|
case alt_51
|
3445
3449
|
when 1
|
3446
|
-
# at line
|
3450
|
+
# at line 307:30: NL
|
3447
3451
|
__NL124__ = match( NL, TOKENS_FOLLOWING_NL_IN_op_statement_799 )
|
3448
3452
|
tree_for_NL124 = @adaptor.create_with_payload( __NL124__ )
|
3449
3453
|
@adaptor.add_child( root_0, tree_for_NL124 )
|
@@ -3497,7 +3501,7 @@ module SfpLang
|
|
3497
3501
|
# parser rule procedure
|
3498
3502
|
#
|
3499
3503
|
# (in SfpLang.g)
|
3500
|
-
#
|
3504
|
+
# 311:1: procedure : ( 'synchronized' )? ( 'procedure' | 'sub' ) ID ( parameters )? '{' ( NL )* ( 'cost' equals_op NUMBER ( NL )+ )? ( conditions )? effects '}' ;
|
3501
3505
|
#
|
3502
3506
|
def procedure
|
3503
3507
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -3541,12 +3545,12 @@ module SfpLang
|
|
3541
3545
|
root_0 = @adaptor.create_flat_list
|
3542
3546
|
|
3543
3547
|
|
3544
|
-
# at line
|
3548
|
+
# at line 312:4: ( 'synchronized' )? ( 'procedure' | 'sub' ) ID ( parameters )? '{' ( NL )* ( 'cost' equals_op NUMBER ( NL )+ )? ( conditions )? effects '}'
|
3545
3549
|
# --> action
|
3546
3550
|
@synchronized = false
|
3547
3551
|
# <-- action
|
3548
3552
|
|
3549
|
-
# at line
|
3553
|
+
# at line 313:3: ( 'synchronized' )?
|
3550
3554
|
alt_52 = 2
|
3551
3555
|
look_52_0 = @input.peek( 1 )
|
3552
3556
|
|
@@ -3555,7 +3559,7 @@ module SfpLang
|
|
3555
3559
|
end
|
3556
3560
|
case alt_52
|
3557
3561
|
when 1
|
3558
|
-
# at line
|
3562
|
+
# at line 313:4: 'synchronized'
|
3559
3563
|
string_literal125 = match( T__80, TOKENS_FOLLOWING_T__80_IN_procedure_820 )
|
3560
3564
|
tree_for_string_literal125 = @adaptor.create_with_payload( string_literal125 )
|
3561
3565
|
@adaptor.add_child( root_0, tree_for_string_literal125 )
|
@@ -3604,7 +3608,7 @@ module SfpLang
|
|
3604
3608
|
|
3605
3609
|
# <-- action
|
3606
3610
|
|
3607
|
-
# at line
|
3611
|
+
# at line 326:3: ( parameters )?
|
3608
3612
|
alt_53 = 2
|
3609
3613
|
look_53_0 = @input.peek( 1 )
|
3610
3614
|
|
@@ -3613,7 +3617,7 @@ module SfpLang
|
|
3613
3617
|
end
|
3614
3618
|
case alt_53
|
3615
3619
|
when 1
|
3616
|
-
# at line
|
3620
|
+
# at line 326:3: parameters
|
3617
3621
|
@state.following.push( TOKENS_FOLLOWING_parameters_IN_procedure_842 )
|
3618
3622
|
parameters128 = parameters
|
3619
3623
|
@state.following.pop
|
@@ -3626,7 +3630,7 @@ module SfpLang
|
|
3626
3630
|
@adaptor.add_child( root_0, tree_for_char_literal129 )
|
3627
3631
|
|
3628
3632
|
|
3629
|
-
# at line
|
3633
|
+
# at line 326:19: ( NL )*
|
3630
3634
|
while true # decision 54
|
3631
3635
|
alt_54 = 2
|
3632
3636
|
look_54_0 = @input.peek( 1 )
|
@@ -3637,7 +3641,7 @@ module SfpLang
|
|
3637
3641
|
end
|
3638
3642
|
case alt_54
|
3639
3643
|
when 1
|
3640
|
-
# at line
|
3644
|
+
# at line 326:19: NL
|
3641
3645
|
__NL130__ = match( NL, TOKENS_FOLLOWING_NL_IN_procedure_847 )
|
3642
3646
|
tree_for_NL130 = @adaptor.create_with_payload( __NL130__ )
|
3643
3647
|
@adaptor.add_child( root_0, tree_for_NL130 )
|
@@ -3649,7 +3653,7 @@ module SfpLang
|
|
3649
3653
|
end
|
3650
3654
|
end # loop for decision 54
|
3651
3655
|
|
3652
|
-
# at line
|
3656
|
+
# at line 327:3: ( 'cost' equals_op NUMBER ( NL )+ )?
|
3653
3657
|
alt_56 = 2
|
3654
3658
|
look_56_0 = @input.peek( 1 )
|
3655
3659
|
|
@@ -3658,7 +3662,7 @@ module SfpLang
|
|
3658
3662
|
end
|
3659
3663
|
case alt_56
|
3660
3664
|
when 1
|
3661
|
-
# at line
|
3665
|
+
# at line 327:5: 'cost' equals_op NUMBER ( NL )+
|
3662
3666
|
string_literal131 = match( T__48, TOKENS_FOLLOWING_T__48_IN_procedure_855 )
|
3663
3667
|
tree_for_string_literal131 = @adaptor.create_with_payload( string_literal131 )
|
3664
3668
|
@adaptor.add_child( root_0, tree_for_string_literal131 )
|
@@ -3679,7 +3683,7 @@ module SfpLang
|
|
3679
3683
|
@now['_cost'] = __NUMBER133__.text.to_i
|
3680
3684
|
# <-- action
|
3681
3685
|
|
3682
|
-
# at file
|
3686
|
+
# at file 329:4: ( NL )+
|
3683
3687
|
match_count_55 = 0
|
3684
3688
|
while true
|
3685
3689
|
alt_55 = 2
|
@@ -3691,7 +3695,7 @@ module SfpLang
|
|
3691
3695
|
end
|
3692
3696
|
case alt_55
|
3693
3697
|
when 1
|
3694
|
-
# at line
|
3698
|
+
# at line 329:4: NL
|
3695
3699
|
__NL134__ = match( NL, TOKENS_FOLLOWING_NL_IN_procedure_869 )
|
3696
3700
|
tree_for_NL134 = @adaptor.create_with_payload( __NL134__ )
|
3697
3701
|
@adaptor.add_child( root_0, tree_for_NL134 )
|
@@ -3711,7 +3715,7 @@ module SfpLang
|
|
3711
3715
|
|
3712
3716
|
|
3713
3717
|
end
|
3714
|
-
# at line
|
3718
|
+
# at line 331:3: ( conditions )?
|
3715
3719
|
alt_57 = 2
|
3716
3720
|
look_57_0 = @input.peek( 1 )
|
3717
3721
|
|
@@ -3720,7 +3724,7 @@ module SfpLang
|
|
3720
3724
|
end
|
3721
3725
|
case alt_57
|
3722
3726
|
when 1
|
3723
|
-
# at line
|
3727
|
+
# at line 331:3: conditions
|
3724
3728
|
@state.following.push( TOKENS_FOLLOWING_conditions_IN_procedure_879 )
|
3725
3729
|
conditions135 = conditions
|
3726
3730
|
@state.following.pop
|
@@ -3774,7 +3778,7 @@ module SfpLang
|
|
3774
3778
|
# parser rule parameters
|
3775
3779
|
#
|
3776
3780
|
# (in SfpLang.g)
|
3777
|
-
#
|
3781
|
+
# 335:1: parameters : '(' parameter ( ',' ( NL )* parameter )* ')' ;
|
3778
3782
|
#
|
3779
3783
|
def parameters
|
3780
3784
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -3806,7 +3810,7 @@ module SfpLang
|
|
3806
3810
|
root_0 = @adaptor.create_flat_list
|
3807
3811
|
|
3808
3812
|
|
3809
|
-
# at line
|
3813
|
+
# at line 336:4: '(' parameter ( ',' ( NL )* parameter )* ')'
|
3810
3814
|
char_literal138 = match( T__19, TOKENS_FOLLOWING_T__19_IN_parameters_899 )
|
3811
3815
|
tree_for_char_literal138 = @adaptor.create_with_payload( char_literal138 )
|
3812
3816
|
@adaptor.add_child( root_0, tree_for_char_literal138 )
|
@@ -3817,7 +3821,7 @@ module SfpLang
|
|
3817
3821
|
@state.following.pop
|
3818
3822
|
@adaptor.add_child( root_0, parameter139.tree )
|
3819
3823
|
|
3820
|
-
# at line
|
3824
|
+
# at line 336:18: ( ',' ( NL )* parameter )*
|
3821
3825
|
while true # decision 59
|
3822
3826
|
alt_59 = 2
|
3823
3827
|
look_59_0 = @input.peek( 1 )
|
@@ -3828,13 +3832,13 @@ module SfpLang
|
|
3828
3832
|
end
|
3829
3833
|
case alt_59
|
3830
3834
|
when 1
|
3831
|
-
# at line
|
3835
|
+
# at line 336:19: ',' ( NL )* parameter
|
3832
3836
|
char_literal140 = match( T__23, TOKENS_FOLLOWING_T__23_IN_parameters_904 )
|
3833
3837
|
tree_for_char_literal140 = @adaptor.create_with_payload( char_literal140 )
|
3834
3838
|
@adaptor.add_child( root_0, tree_for_char_literal140 )
|
3835
3839
|
|
3836
3840
|
|
3837
|
-
# at line
|
3841
|
+
# at line 336:23: ( NL )*
|
3838
3842
|
while true # decision 58
|
3839
3843
|
alt_58 = 2
|
3840
3844
|
look_58_0 = @input.peek( 1 )
|
@@ -3845,7 +3849,7 @@ module SfpLang
|
|
3845
3849
|
end
|
3846
3850
|
case alt_58
|
3847
3851
|
when 1
|
3848
|
-
# at line
|
3852
|
+
# at line 336:23: NL
|
3849
3853
|
__NL141__ = match( NL, TOKENS_FOLLOWING_NL_IN_parameters_906 )
|
3850
3854
|
tree_for_NL141 = @adaptor.create_with_payload( __NL141__ )
|
3851
3855
|
@adaptor.add_child( root_0, tree_for_NL141 )
|
@@ -3904,7 +3908,7 @@ module SfpLang
|
|
3904
3908
|
# parser rule parameter
|
3905
3909
|
#
|
3906
3910
|
# (in SfpLang.g)
|
3907
|
-
#
|
3911
|
+
# 339:1: parameter : ( ID ':' path | ID reference_type | ID 'areall' path | ID 'isset' path );
|
3908
3912
|
#
|
3909
3913
|
def parameter
|
3910
3914
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -3941,7 +3945,7 @@ module SfpLang
|
|
3941
3945
|
tree_for_string_literal153 = nil
|
3942
3946
|
|
3943
3947
|
begin
|
3944
|
-
# at line
|
3948
|
+
# at line 340:2: ( ID ':' path | ID reference_type | ID 'areall' path | ID 'isset' path )
|
3945
3949
|
alt_60 = 4
|
3946
3950
|
look_60_0 = @input.peek( 1 )
|
3947
3951
|
|
@@ -3964,7 +3968,7 @@ module SfpLang
|
|
3964
3968
|
root_0 = @adaptor.create_flat_list
|
3965
3969
|
|
3966
3970
|
|
3967
|
-
# at line
|
3971
|
+
# at line 340:4: ID ':' path
|
3968
3972
|
__ID144__ = match( ID, TOKENS_FOLLOWING_ID_IN_parameter_925 )
|
3969
3973
|
tree_for_ID144 = @adaptor.create_with_payload( __ID144__ )
|
3970
3974
|
@adaptor.add_child( root_0, tree_for_ID144 )
|
@@ -3994,7 +3998,7 @@ module SfpLang
|
|
3994
3998
|
root_0 = @adaptor.create_flat_list
|
3995
3999
|
|
3996
4000
|
|
3997
|
-
# at line
|
4001
|
+
# at line 346:4: ID reference_type
|
3998
4002
|
__ID147__ = match( ID, TOKENS_FOLLOWING_ID_IN_parameter_938 )
|
3999
4003
|
tree_for_ID147 = @adaptor.create_with_payload( __ID147__ )
|
4000
4004
|
@adaptor.add_child( root_0, tree_for_ID147 )
|
@@ -4015,7 +4019,7 @@ module SfpLang
|
|
4015
4019
|
root_0 = @adaptor.create_flat_list
|
4016
4020
|
|
4017
4021
|
|
4018
|
-
# at line
|
4022
|
+
# at line 348:4: ID 'areall' path
|
4019
4023
|
__ID149__ = match( ID, TOKENS_FOLLOWING_ID_IN_parameter_949 )
|
4020
4024
|
tree_for_ID149 = @adaptor.create_with_payload( __ID149__ )
|
4021
4025
|
@adaptor.add_child( root_0, tree_for_ID149 )
|
@@ -4046,7 +4050,7 @@ module SfpLang
|
|
4046
4050
|
root_0 = @adaptor.create_flat_list
|
4047
4051
|
|
4048
4052
|
|
4049
|
-
# at line
|
4053
|
+
# at line 355:4: ID 'isset' path
|
4050
4054
|
__ID152__ = match( ID, TOKENS_FOLLOWING_ID_IN_parameter_962 )
|
4051
4055
|
tree_for_ID152 = @adaptor.create_with_payload( __ID152__ )
|
4052
4056
|
@adaptor.add_child( root_0, tree_for_ID152 )
|
@@ -4104,7 +4108,7 @@ module SfpLang
|
|
4104
4108
|
# parser rule conditions
|
4105
4109
|
#
|
4106
4110
|
# (in SfpLang.g)
|
4107
|
-
#
|
4111
|
+
# 364:1: conditions : ( 'conditions' | 'condition' ) '{' ( NL )* constraint_body '}' ( NL )+ ;
|
4108
4112
|
#
|
4109
4113
|
def conditions
|
4110
4114
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -4137,7 +4141,7 @@ module SfpLang
|
|
4137
4141
|
root_0 = @adaptor.create_flat_list
|
4138
4142
|
|
4139
4143
|
|
4140
|
-
# at line
|
4144
|
+
# at line 365:4: ( 'conditions' | 'condition' ) '{' ( NL )* constraint_body '}' ( NL )+
|
4141
4145
|
set155 = @input.look
|
4142
4146
|
|
4143
4147
|
if @input.peek( 1 ).between?( T__45, T__46 )
|
@@ -4166,7 +4170,7 @@ module SfpLang
|
|
4166
4170
|
@adaptor.add_child( root_0, tree_for_char_literal156 )
|
4167
4171
|
|
4168
4172
|
|
4169
|
-
# at line
|
4173
|
+
# at line 370:7: ( NL )*
|
4170
4174
|
while true # decision 61
|
4171
4175
|
alt_61 = 2
|
4172
4176
|
look_61_0 = @input.peek( 1 )
|
@@ -4177,7 +4181,7 @@ module SfpLang
|
|
4177
4181
|
end
|
4178
4182
|
case alt_61
|
4179
4183
|
when 1
|
4180
|
-
# at line
|
4184
|
+
# at line 370:7: NL
|
4181
4185
|
__NL157__ = match( NL, TOKENS_FOLLOWING_NL_IN_conditions_997 )
|
4182
4186
|
tree_for_NL157 = @adaptor.create_with_payload( __NL157__ )
|
4183
4187
|
@adaptor.add_child( root_0, tree_for_NL157 )
|
@@ -4199,7 +4203,7 @@ module SfpLang
|
|
4199
4203
|
@adaptor.add_child( root_0, tree_for_char_literal159 )
|
4200
4204
|
|
4201
4205
|
|
4202
|
-
# at file
|
4206
|
+
# at file 370:31: ( NL )+
|
4203
4207
|
match_count_62 = 0
|
4204
4208
|
while true
|
4205
4209
|
alt_62 = 2
|
@@ -4211,7 +4215,7 @@ module SfpLang
|
|
4211
4215
|
end
|
4212
4216
|
case alt_62
|
4213
4217
|
when 1
|
4214
|
-
# at line
|
4218
|
+
# at line 370:31: NL
|
4215
4219
|
__NL160__ = match( NL, TOKENS_FOLLOWING_NL_IN_conditions_1004 )
|
4216
4220
|
tree_for_NL160 = @adaptor.create_with_payload( __NL160__ )
|
4217
4221
|
@adaptor.add_child( root_0, tree_for_NL160 )
|
@@ -4265,7 +4269,7 @@ module SfpLang
|
|
4265
4269
|
# parser rule effects
|
4266
4270
|
#
|
4267
4271
|
# (in SfpLang.g)
|
4268
|
-
#
|
4272
|
+
# 375:1: effects : ( 'effects' | 'effect' ) '{' ( NL )* effect_body '}' ( NL )+ ;
|
4269
4273
|
#
|
4270
4274
|
def effects
|
4271
4275
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -4298,7 +4302,7 @@ module SfpLang
|
|
4298
4302
|
root_0 = @adaptor.create_flat_list
|
4299
4303
|
|
4300
4304
|
|
4301
|
-
# at line
|
4305
|
+
# at line 376:4: ( 'effects' | 'effect' ) '{' ( NL )* effect_body '}' ( NL )+
|
4302
4306
|
set161 = @input.look
|
4303
4307
|
|
4304
4308
|
if @input.peek( 1 ).between?( T__50, T__51 )
|
@@ -4328,7 +4332,7 @@ module SfpLang
|
|
4328
4332
|
@adaptor.add_child( root_0, tree_for_char_literal162 )
|
4329
4333
|
|
4330
4334
|
|
4331
|
-
# at line
|
4335
|
+
# at line 382:7: ( NL )*
|
4332
4336
|
while true # decision 63
|
4333
4337
|
alt_63 = 2
|
4334
4338
|
look_63_0 = @input.peek( 1 )
|
@@ -4339,7 +4343,7 @@ module SfpLang
|
|
4339
4343
|
end
|
4340
4344
|
case alt_63
|
4341
4345
|
when 1
|
4342
|
-
# at line
|
4346
|
+
# at line 382:7: NL
|
4343
4347
|
__NL163__ = match( NL, TOKENS_FOLLOWING_NL_IN_effects_1037 )
|
4344
4348
|
tree_for_NL163 = @adaptor.create_with_payload( __NL163__ )
|
4345
4349
|
@adaptor.add_child( root_0, tree_for_NL163 )
|
@@ -4361,7 +4365,7 @@ module SfpLang
|
|
4361
4365
|
@adaptor.add_child( root_0, tree_for_char_literal165 )
|
4362
4366
|
|
4363
4367
|
|
4364
|
-
# at file
|
4368
|
+
# at file 384:7: ( NL )+
|
4365
4369
|
match_count_64 = 0
|
4366
4370
|
while true
|
4367
4371
|
alt_64 = 2
|
@@ -4373,7 +4377,7 @@ module SfpLang
|
|
4373
4377
|
end
|
4374
4378
|
case alt_64
|
4375
4379
|
when 1
|
4376
|
-
# at line
|
4380
|
+
# at line 384:7: NL
|
4377
4381
|
__NL166__ = match( NL, TOKENS_FOLLOWING_NL_IN_effects_1050 )
|
4378
4382
|
tree_for_NL166 = @adaptor.create_with_payload( __NL166__ )
|
4379
4383
|
@adaptor.add_child( root_0, tree_for_NL166 )
|
@@ -4430,7 +4434,7 @@ module SfpLang
|
|
4430
4434
|
# parser rule goal_constraint
|
4431
4435
|
#
|
4432
4436
|
# (in SfpLang.g)
|
4433
|
-
#
|
4437
|
+
# 391:1: goal_constraint : 'goal' ( 'constraint' )? ( NL )* '{' ( NL )* ( goal_body )* '}' ;
|
4434
4438
|
#
|
4435
4439
|
def goal_constraint
|
4436
4440
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -4465,13 +4469,13 @@ module SfpLang
|
|
4465
4469
|
root_0 = @adaptor.create_flat_list
|
4466
4470
|
|
4467
4471
|
|
4468
|
-
# at line
|
4472
|
+
# at line 392:4: 'goal' ( 'constraint' )? ( NL )* '{' ( NL )* ( goal_body )* '}'
|
4469
4473
|
string_literal167 = match( T__60, TOKENS_FOLLOWING_T__60_IN_goal_constraint_1066 )
|
4470
4474
|
tree_for_string_literal167 = @adaptor.create_with_payload( string_literal167 )
|
4471
4475
|
@adaptor.add_child( root_0, tree_for_string_literal167 )
|
4472
4476
|
|
4473
4477
|
|
4474
|
-
# at line
|
4478
|
+
# at line 392:11: ( 'constraint' )?
|
4475
4479
|
alt_65 = 2
|
4476
4480
|
look_65_0 = @input.peek( 1 )
|
4477
4481
|
|
@@ -4480,7 +4484,7 @@ module SfpLang
|
|
4480
4484
|
end
|
4481
4485
|
case alt_65
|
4482
4486
|
when 1
|
4483
|
-
# at line
|
4487
|
+
# at line 392:11: 'constraint'
|
4484
4488
|
string_literal168 = match( T__47, TOKENS_FOLLOWING_T__47_IN_goal_constraint_1068 )
|
4485
4489
|
tree_for_string_literal168 = @adaptor.create_with_payload( string_literal168 )
|
4486
4490
|
@adaptor.add_child( root_0, tree_for_string_literal168 )
|
@@ -4488,7 +4492,7 @@ module SfpLang
|
|
4488
4492
|
|
4489
4493
|
|
4490
4494
|
end
|
4491
|
-
# at line
|
4495
|
+
# at line 392:25: ( NL )*
|
4492
4496
|
while true # decision 66
|
4493
4497
|
alt_66 = 2
|
4494
4498
|
look_66_0 = @input.peek( 1 )
|
@@ -4499,7 +4503,7 @@ module SfpLang
|
|
4499
4503
|
end
|
4500
4504
|
case alt_66
|
4501
4505
|
when 1
|
4502
|
-
# at line
|
4506
|
+
# at line 392:25: NL
|
4503
4507
|
__NL169__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_constraint_1071 )
|
4504
4508
|
tree_for_NL169 = @adaptor.create_with_payload( __NL169__ )
|
4505
4509
|
@adaptor.add_child( root_0, tree_for_NL169 )
|
@@ -4528,7 +4532,7 @@ module SfpLang
|
|
4528
4532
|
@adaptor.add_child( root_0, tree_for_char_literal170 )
|
4529
4533
|
|
4530
4534
|
|
4531
|
-
# at line
|
4535
|
+
# at line 401:7: ( NL )*
|
4532
4536
|
while true # decision 67
|
4533
4537
|
alt_67 = 2
|
4534
4538
|
look_67_0 = @input.peek( 1 )
|
@@ -4539,7 +4543,7 @@ module SfpLang
|
|
4539
4543
|
end
|
4540
4544
|
case alt_67
|
4541
4545
|
when 1
|
4542
|
-
# at line
|
4546
|
+
# at line 401:7: NL
|
4543
4547
|
__NL171__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_constraint_1082 )
|
4544
4548
|
tree_for_NL171 = @adaptor.create_with_payload( __NL171__ )
|
4545
4549
|
@adaptor.add_child( root_0, tree_for_NL171 )
|
@@ -4551,7 +4555,7 @@ module SfpLang
|
|
4551
4555
|
end
|
4552
4556
|
end # loop for decision 67
|
4553
4557
|
|
4554
|
-
# at line
|
4558
|
+
# at line 401:11: ( goal_body )*
|
4555
4559
|
while true # decision 68
|
4556
4560
|
alt_68 = 2
|
4557
4561
|
look_68_0 = @input.peek( 1 )
|
@@ -4562,7 +4566,7 @@ module SfpLang
|
|
4562
4566
|
end
|
4563
4567
|
case alt_68
|
4564
4568
|
when 1
|
4565
|
-
# at line
|
4569
|
+
# at line 401:11: goal_body
|
4566
4570
|
@state.following.push( TOKENS_FOLLOWING_goal_body_IN_goal_constraint_1085 )
|
4567
4571
|
goal_body172 = goal_body
|
4568
4572
|
@state.following.pop
|
@@ -4615,7 +4619,7 @@ module SfpLang
|
|
4615
4619
|
# parser rule global_constraint
|
4616
4620
|
#
|
4617
4621
|
# (in SfpLang.g)
|
4618
|
-
#
|
4622
|
+
# 405:1: global_constraint : ( 'global' | 'always' ) ( 'constraint' )? ( NL )* '{' ( NL )* constraint_body '}' ;
|
4619
4623
|
#
|
4620
4624
|
def global_constraint
|
4621
4625
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -4650,7 +4654,7 @@ module SfpLang
|
|
4650
4654
|
root_0 = @adaptor.create_flat_list
|
4651
4655
|
|
4652
4656
|
|
4653
|
-
# at line
|
4657
|
+
# at line 406:4: ( 'global' | 'always' ) ( 'constraint' )? ( NL )* '{' ( NL )* constraint_body '}'
|
4654
4658
|
set174 = @input.look
|
4655
4659
|
|
4656
4660
|
if @input.peek(1) == T__39 || @input.peek(1) == T__59
|
@@ -4666,7 +4670,7 @@ module SfpLang
|
|
4666
4670
|
end
|
4667
4671
|
|
4668
4672
|
|
4669
|
-
# at line
|
4673
|
+
# at line 406:24: ( 'constraint' )?
|
4670
4674
|
alt_69 = 2
|
4671
4675
|
look_69_0 = @input.peek( 1 )
|
4672
4676
|
|
@@ -4675,7 +4679,7 @@ module SfpLang
|
|
4675
4679
|
end
|
4676
4680
|
case alt_69
|
4677
4681
|
when 1
|
4678
|
-
# at line
|
4682
|
+
# at line 406:24: 'constraint'
|
4679
4683
|
string_literal175 = match( T__47, TOKENS_FOLLOWING_T__47_IN_global_constraint_1109 )
|
4680
4684
|
tree_for_string_literal175 = @adaptor.create_with_payload( string_literal175 )
|
4681
4685
|
@adaptor.add_child( root_0, tree_for_string_literal175 )
|
@@ -4683,7 +4687,7 @@ module SfpLang
|
|
4683
4687
|
|
4684
4688
|
|
4685
4689
|
end
|
4686
|
-
# at line
|
4690
|
+
# at line 406:38: ( NL )*
|
4687
4691
|
while true # decision 70
|
4688
4692
|
alt_70 = 2
|
4689
4693
|
look_70_0 = @input.peek( 1 )
|
@@ -4694,7 +4698,7 @@ module SfpLang
|
|
4694
4698
|
end
|
4695
4699
|
case alt_70
|
4696
4700
|
when 1
|
4697
|
-
# at line
|
4701
|
+
# at line 406:38: NL
|
4698
4702
|
__NL176__ = match( NL, TOKENS_FOLLOWING_NL_IN_global_constraint_1112 )
|
4699
4703
|
tree_for_NL176 = @adaptor.create_with_payload( __NL176__ )
|
4700
4704
|
@adaptor.add_child( root_0, tree_for_NL176 )
|
@@ -4719,7 +4723,7 @@ module SfpLang
|
|
4719
4723
|
@adaptor.add_child( root_0, tree_for_char_literal177 )
|
4720
4724
|
|
4721
4725
|
|
4722
|
-
# at line
|
4726
|
+
# at line 411:7: ( NL )*
|
4723
4727
|
while true # decision 71
|
4724
4728
|
alt_71 = 2
|
4725
4729
|
look_71_0 = @input.peek( 1 )
|
@@ -4730,7 +4734,7 @@ module SfpLang
|
|
4730
4734
|
end
|
4731
4735
|
case alt_71
|
4732
4736
|
when 1
|
4733
|
-
# at line
|
4737
|
+
# at line 411:7: NL
|
4734
4738
|
__NL178__ = match( NL, TOKENS_FOLLOWING_NL_IN_global_constraint_1123 )
|
4735
4739
|
tree_for_NL178 = @adaptor.create_with_payload( __NL178__ )
|
4736
4740
|
@adaptor.add_child( root_0, tree_for_NL178 )
|
@@ -4788,7 +4792,7 @@ module SfpLang
|
|
4788
4792
|
# parser rule sometime_constraint
|
4789
4793
|
#
|
4790
4794
|
# (in SfpLang.g)
|
4791
|
-
#
|
4795
|
+
# 415:1: sometime_constraint : 'sometime' ( 'constraint' )? ( NL )* '{' ( NL )* constraint_body '}' ;
|
4792
4796
|
#
|
4793
4797
|
def sometime_constraint
|
4794
4798
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -4823,13 +4827,13 @@ module SfpLang
|
|
4823
4827
|
root_0 = @adaptor.create_flat_list
|
4824
4828
|
|
4825
4829
|
|
4826
|
-
# at line
|
4830
|
+
# at line 416:4: 'sometime' ( 'constraint' )? ( NL )* '{' ( NL )* constraint_body '}'
|
4827
4831
|
string_literal181 = match( T__77, TOKENS_FOLLOWING_T__77_IN_sometime_constraint_1143 )
|
4828
4832
|
tree_for_string_literal181 = @adaptor.create_with_payload( string_literal181 )
|
4829
4833
|
@adaptor.add_child( root_0, tree_for_string_literal181 )
|
4830
4834
|
|
4831
4835
|
|
4832
|
-
# at line
|
4836
|
+
# at line 416:15: ( 'constraint' )?
|
4833
4837
|
alt_72 = 2
|
4834
4838
|
look_72_0 = @input.peek( 1 )
|
4835
4839
|
|
@@ -4838,7 +4842,7 @@ module SfpLang
|
|
4838
4842
|
end
|
4839
4843
|
case alt_72
|
4840
4844
|
when 1
|
4841
|
-
# at line
|
4845
|
+
# at line 416:15: 'constraint'
|
4842
4846
|
string_literal182 = match( T__47, TOKENS_FOLLOWING_T__47_IN_sometime_constraint_1145 )
|
4843
4847
|
tree_for_string_literal182 = @adaptor.create_with_payload( string_literal182 )
|
4844
4848
|
@adaptor.add_child( root_0, tree_for_string_literal182 )
|
@@ -4846,7 +4850,7 @@ module SfpLang
|
|
4846
4850
|
|
4847
4851
|
|
4848
4852
|
end
|
4849
|
-
# at line
|
4853
|
+
# at line 416:29: ( NL )*
|
4850
4854
|
while true # decision 73
|
4851
4855
|
alt_73 = 2
|
4852
4856
|
look_73_0 = @input.peek( 1 )
|
@@ -4857,7 +4861,7 @@ module SfpLang
|
|
4857
4861
|
end
|
4858
4862
|
case alt_73
|
4859
4863
|
when 1
|
4860
|
-
# at line
|
4864
|
+
# at line 416:29: NL
|
4861
4865
|
__NL183__ = match( NL, TOKENS_FOLLOWING_NL_IN_sometime_constraint_1148 )
|
4862
4866
|
tree_for_NL183 = @adaptor.create_with_payload( __NL183__ )
|
4863
4867
|
@adaptor.add_child( root_0, tree_for_NL183 )
|
@@ -4882,7 +4886,7 @@ module SfpLang
|
|
4882
4886
|
@adaptor.add_child( root_0, tree_for_char_literal184 )
|
4883
4887
|
|
4884
4888
|
|
4885
|
-
# at line
|
4889
|
+
# at line 421:7: ( NL )*
|
4886
4890
|
while true # decision 74
|
4887
4891
|
alt_74 = 2
|
4888
4892
|
look_74_0 = @input.peek( 1 )
|
@@ -4893,7 +4897,7 @@ module SfpLang
|
|
4893
4897
|
end
|
4894
4898
|
case alt_74
|
4895
4899
|
when 1
|
4896
|
-
# at line
|
4900
|
+
# at line 421:7: NL
|
4897
4901
|
__NL185__ = match( NL, TOKENS_FOLLOWING_NL_IN_sometime_constraint_1159 )
|
4898
4902
|
tree_for_NL185 = @adaptor.create_with_payload( __NL185__ )
|
4899
4903
|
@adaptor.add_child( root_0, tree_for_NL185 )
|
@@ -4951,7 +4955,7 @@ module SfpLang
|
|
4951
4955
|
# parser rule goal_body
|
4952
4956
|
#
|
4953
4957
|
# (in SfpLang.g)
|
4954
|
-
#
|
4958
|
+
# 426:1: goal_body : ( ( ( constraint_statement | constraint_namespace | constraint_iterator | constraint_class_quantification ) ( NL )+ ) | ( 'always' | 'global' ) ( NL )* '{' ( NL )* constraint_body '}' ( NL )+ | 'sometime' ( NL )* '{' ( NL )* constraint_body '}' ( NL )+ | 'within' NUMBER ( NL )* '{' ( NL )* constraint_body '}' ( NL )+ | 'after' ( NL )* '{' ( NL )* constraint_body '}' ( NL )* ( 'then' | 'within' NUMBER ) ( NL )* '{' ( NL )* constraint_body '}' ( NL )+ | 'before' ( NL )* '{' ( NL )* constraint_body '}' ( NL )* 'then' ( NL )* '{' ( NL )* constraint_body '}' ( NL )+ );
|
4955
4959
|
#
|
4956
4960
|
def goal_body
|
4957
4961
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -5073,7 +5077,7 @@ module SfpLang
|
|
5073
5077
|
tree_for_NL244 = nil
|
5074
5078
|
|
5075
5079
|
begin
|
5076
|
-
# at line
|
5080
|
+
# at line 427:2: ( ( ( constraint_statement | constraint_namespace | constraint_iterator | constraint_class_quantification ) ( NL )+ ) | ( 'always' | 'global' ) ( NL )* '{' ( NL )* constraint_body '}' ( NL )+ | 'sometime' ( NL )* '{' ( NL )* constraint_body '}' ( NL )+ | 'within' NUMBER ( NL )* '{' ( NL )* constraint_body '}' ( NL )+ | 'after' ( NL )* '{' ( NL )* constraint_body '}' ( NL )* ( 'then' | 'within' NUMBER ) ( NL )* '{' ( NL )* constraint_body '}' ( NL )+ | 'before' ( NL )* '{' ( NL )* constraint_body '}' ( NL )* 'then' ( NL )* '{' ( NL )* constraint_body '}' ( NL )+ )
|
5077
5081
|
alt_99 = 6
|
5078
5082
|
case look_99 = @input.peek( 1 )
|
5079
5083
|
when ID, T__53, T__56, T__57, T__58, T__62, T__72, T__82 then alt_99 = 1
|
@@ -5091,15 +5095,15 @@ module SfpLang
|
|
5091
5095
|
root_0 = @adaptor.create_flat_list
|
5092
5096
|
|
5093
5097
|
|
5094
|
-
# at line
|
5095
|
-
# at line
|
5096
|
-
# at line
|
5097
|
-
# at line
|
5098
|
+
# at line 427:4: ( ( constraint_statement | constraint_namespace | constraint_iterator | constraint_class_quantification ) ( NL )+ )
|
5099
|
+
# at line 427:4: ( ( constraint_statement | constraint_namespace | constraint_iterator | constraint_class_quantification ) ( NL )+ )
|
5100
|
+
# at line 428:4: ( constraint_statement | constraint_namespace | constraint_iterator | constraint_class_quantification ) ( NL )+
|
5101
|
+
# at line 428:4: ( constraint_statement | constraint_namespace | constraint_iterator | constraint_class_quantification )
|
5098
5102
|
alt_75 = 4
|
5099
5103
|
alt_75 = @dfa75.predict( @input )
|
5100
5104
|
case alt_75
|
5101
5105
|
when 1
|
5102
|
-
# at line
|
5106
|
+
# at line 428:6: constraint_statement
|
5103
5107
|
@state.following.push( TOKENS_FOLLOWING_constraint_statement_IN_goal_body_1187 )
|
5104
5108
|
constraint_statement188 = constraint_statement
|
5105
5109
|
@state.following.pop
|
@@ -5114,7 +5118,7 @@ module SfpLang
|
|
5114
5118
|
|
5115
5119
|
|
5116
5120
|
when 2
|
5117
|
-
# at line
|
5121
|
+
# at line 432:6: constraint_namespace
|
5118
5122
|
@state.following.push( TOKENS_FOLLOWING_constraint_namespace_IN_goal_body_1200 )
|
5119
5123
|
constraint_namespace189 = constraint_namespace
|
5120
5124
|
@state.following.pop
|
@@ -5122,7 +5126,7 @@ module SfpLang
|
|
5122
5126
|
|
5123
5127
|
|
5124
5128
|
when 3
|
5125
|
-
# at line
|
5129
|
+
# at line 433:6: constraint_iterator
|
5126
5130
|
@state.following.push( TOKENS_FOLLOWING_constraint_iterator_IN_goal_body_1207 )
|
5127
5131
|
constraint_iterator190 = constraint_iterator
|
5128
5132
|
@state.following.pop
|
@@ -5130,7 +5134,7 @@ module SfpLang
|
|
5130
5134
|
|
5131
5135
|
|
5132
5136
|
when 4
|
5133
|
-
# at line
|
5137
|
+
# at line 434:6: constraint_class_quantification
|
5134
5138
|
@state.following.push( TOKENS_FOLLOWING_constraint_class_quantification_IN_goal_body_1214 )
|
5135
5139
|
constraint_class_quantification191 = constraint_class_quantification
|
5136
5140
|
@state.following.pop
|
@@ -5138,7 +5142,7 @@ module SfpLang
|
|
5138
5142
|
|
5139
5143
|
|
5140
5144
|
end
|
5141
|
-
# at file
|
5145
|
+
# at file 436:3: ( NL )+
|
5142
5146
|
match_count_76 = 0
|
5143
5147
|
while true
|
5144
5148
|
alt_76 = 2
|
@@ -5150,7 +5154,7 @@ module SfpLang
|
|
5150
5154
|
end
|
5151
5155
|
case alt_76
|
5152
5156
|
when 1
|
5153
|
-
# at line
|
5157
|
+
# at line 436:3: NL
|
5154
5158
|
__NL192__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1223 )
|
5155
5159
|
tree_for_NL192 = @adaptor.create_with_payload( __NL192__ )
|
5156
5160
|
@adaptor.add_child( root_0, tree_for_NL192 )
|
@@ -5174,7 +5178,7 @@ module SfpLang
|
|
5174
5178
|
root_0 = @adaptor.create_flat_list
|
5175
5179
|
|
5176
5180
|
|
5177
|
-
# at line
|
5181
|
+
# at line 437:4: ( 'always' | 'global' ) ( NL )* '{' ( NL )* constraint_body '}' ( NL )+
|
5178
5182
|
set193 = @input.look
|
5179
5183
|
|
5180
5184
|
if @input.peek(1) == T__39 || @input.peek(1) == T__59
|
@@ -5190,7 +5194,7 @@ module SfpLang
|
|
5190
5194
|
end
|
5191
5195
|
|
5192
5196
|
|
5193
|
-
# at line
|
5197
|
+
# at line 437:24: ( NL )*
|
5194
5198
|
while true # decision 77
|
5195
5199
|
alt_77 = 2
|
5196
5200
|
look_77_0 = @input.peek( 1 )
|
@@ -5201,7 +5205,7 @@ module SfpLang
|
|
5201
5205
|
end
|
5202
5206
|
case alt_77
|
5203
5207
|
when 1
|
5204
|
-
# at line
|
5208
|
+
# at line 437:24: NL
|
5205
5209
|
__NL194__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1236 )
|
5206
5210
|
tree_for_NL194 = @adaptor.create_with_payload( __NL194__ )
|
5207
5211
|
@adaptor.add_child( root_0, tree_for_NL194 )
|
@@ -5227,7 +5231,7 @@ module SfpLang
|
|
5227
5231
|
@adaptor.add_child( root_0, tree_for_char_literal195 )
|
5228
5232
|
|
5229
5233
|
|
5230
|
-
# at line
|
5234
|
+
# at line 443:7: ( NL )*
|
5231
5235
|
while true # decision 78
|
5232
5236
|
alt_78 = 2
|
5233
5237
|
look_78_0 = @input.peek( 1 )
|
@@ -5238,7 +5242,7 @@ module SfpLang
|
|
5238
5242
|
end
|
5239
5243
|
case alt_78
|
5240
5244
|
when 1
|
5241
|
-
# at line
|
5245
|
+
# at line 443:7: NL
|
5242
5246
|
__NL196__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1247 )
|
5243
5247
|
tree_for_NL196 = @adaptor.create_with_payload( __NL196__ )
|
5244
5248
|
@adaptor.add_child( root_0, tree_for_NL196 )
|
@@ -5260,7 +5264,7 @@ module SfpLang
|
|
5260
5264
|
@adaptor.add_child( root_0, tree_for_char_literal198 )
|
5261
5265
|
|
5262
5266
|
|
5263
|
-
# at file
|
5267
|
+
# at file 443:31: ( NL )+
|
5264
5268
|
match_count_79 = 0
|
5265
5269
|
while true
|
5266
5270
|
alt_79 = 2
|
@@ -5272,7 +5276,7 @@ module SfpLang
|
|
5272
5276
|
end
|
5273
5277
|
case alt_79
|
5274
5278
|
when 1
|
5275
|
-
# at line
|
5279
|
+
# at line 443:31: NL
|
5276
5280
|
__NL199__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1254 )
|
5277
5281
|
tree_for_NL199 = @adaptor.create_with_payload( __NL199__ )
|
5278
5282
|
@adaptor.add_child( root_0, tree_for_NL199 )
|
@@ -5300,13 +5304,13 @@ module SfpLang
|
|
5300
5304
|
root_0 = @adaptor.create_flat_list
|
5301
5305
|
|
5302
5306
|
|
5303
|
-
# at line
|
5307
|
+
# at line 445:4: 'sometime' ( NL )* '{' ( NL )* constraint_body '}' ( NL )+
|
5304
5308
|
string_literal200 = match( T__77, TOKENS_FOLLOWING_T__77_IN_goal_body_1264 )
|
5305
5309
|
tree_for_string_literal200 = @adaptor.create_with_payload( string_literal200 )
|
5306
5310
|
@adaptor.add_child( root_0, tree_for_string_literal200 )
|
5307
5311
|
|
5308
5312
|
|
5309
|
-
# at line
|
5313
|
+
# at line 445:15: ( NL )*
|
5310
5314
|
while true # decision 80
|
5311
5315
|
alt_80 = 2
|
5312
5316
|
look_80_0 = @input.peek( 1 )
|
@@ -5317,7 +5321,7 @@ module SfpLang
|
|
5317
5321
|
end
|
5318
5322
|
case alt_80
|
5319
5323
|
when 1
|
5320
|
-
# at line
|
5324
|
+
# at line 445:15: NL
|
5321
5325
|
__NL201__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1266 )
|
5322
5326
|
tree_for_NL201 = @adaptor.create_with_payload( __NL201__ )
|
5323
5327
|
@adaptor.add_child( root_0, tree_for_NL201 )
|
@@ -5346,7 +5350,7 @@ module SfpLang
|
|
5346
5350
|
@adaptor.add_child( root_0, tree_for_char_literal202 )
|
5347
5351
|
|
5348
5352
|
|
5349
|
-
# at line
|
5353
|
+
# at line 454:7: ( NL )*
|
5350
5354
|
while true # decision 81
|
5351
5355
|
alt_81 = 2
|
5352
5356
|
look_81_0 = @input.peek( 1 )
|
@@ -5357,7 +5361,7 @@ module SfpLang
|
|
5357
5361
|
end
|
5358
5362
|
case alt_81
|
5359
5363
|
when 1
|
5360
|
-
# at line
|
5364
|
+
# at line 454:7: NL
|
5361
5365
|
__NL203__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1277 )
|
5362
5366
|
tree_for_NL203 = @adaptor.create_with_payload( __NL203__ )
|
5363
5367
|
@adaptor.add_child( root_0, tree_for_NL203 )
|
@@ -5379,7 +5383,7 @@ module SfpLang
|
|
5379
5383
|
@adaptor.add_child( root_0, tree_for_char_literal205 )
|
5380
5384
|
|
5381
5385
|
|
5382
|
-
# at file
|
5386
|
+
# at file 454:31: ( NL )+
|
5383
5387
|
match_count_82 = 0
|
5384
5388
|
while true
|
5385
5389
|
alt_82 = 2
|
@@ -5391,7 +5395,7 @@ module SfpLang
|
|
5391
5395
|
end
|
5392
5396
|
case alt_82
|
5393
5397
|
when 1
|
5394
|
-
# at line
|
5398
|
+
# at line 454:31: NL
|
5395
5399
|
__NL206__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1284 )
|
5396
5400
|
tree_for_NL206 = @adaptor.create_with_payload( __NL206__ )
|
5397
5401
|
@adaptor.add_child( root_0, tree_for_NL206 )
|
@@ -5424,7 +5428,7 @@ module SfpLang
|
|
5424
5428
|
root_0 = @adaptor.create_flat_list
|
5425
5429
|
|
5426
5430
|
|
5427
|
-
# at line
|
5431
|
+
# at line 457:4: 'within' NUMBER ( NL )* '{' ( NL )* constraint_body '}' ( NL )+
|
5428
5432
|
string_literal207 = match( T__83, TOKENS_FOLLOWING_T__83_IN_goal_body_1298 )
|
5429
5433
|
tree_for_string_literal207 = @adaptor.create_with_payload( string_literal207 )
|
5430
5434
|
@adaptor.add_child( root_0, tree_for_string_literal207 )
|
@@ -5435,7 +5439,7 @@ module SfpLang
|
|
5435
5439
|
@adaptor.add_child( root_0, tree_for_NUMBER208 )
|
5436
5440
|
|
5437
5441
|
|
5438
|
-
# at line
|
5442
|
+
# at line 457:20: ( NL )*
|
5439
5443
|
while true # decision 83
|
5440
5444
|
alt_83 = 2
|
5441
5445
|
look_83_0 = @input.peek( 1 )
|
@@ -5446,7 +5450,7 @@ module SfpLang
|
|
5446
5450
|
end
|
5447
5451
|
case alt_83
|
5448
5452
|
when 1
|
5449
|
-
# at line
|
5453
|
+
# at line 457:20: NL
|
5450
5454
|
__NL209__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1302 )
|
5451
5455
|
tree_for_NL209 = @adaptor.create_with_payload( __NL209__ )
|
5452
5456
|
@adaptor.add_child( root_0, tree_for_NL209 )
|
@@ -5473,7 +5477,7 @@ module SfpLang
|
|
5473
5477
|
@adaptor.add_child( root_0, tree_for_char_literal210 )
|
5474
5478
|
|
5475
5479
|
|
5476
|
-
# at line
|
5480
|
+
# at line 464:7: ( NL )*
|
5477
5481
|
while true # decision 84
|
5478
5482
|
alt_84 = 2
|
5479
5483
|
look_84_0 = @input.peek( 1 )
|
@@ -5484,7 +5488,7 @@ module SfpLang
|
|
5484
5488
|
end
|
5485
5489
|
case alt_84
|
5486
5490
|
when 1
|
5487
|
-
# at line
|
5491
|
+
# at line 464:7: NL
|
5488
5492
|
__NL211__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1313 )
|
5489
5493
|
tree_for_NL211 = @adaptor.create_with_payload( __NL211__ )
|
5490
5494
|
@adaptor.add_child( root_0, tree_for_NL211 )
|
@@ -5506,7 +5510,7 @@ module SfpLang
|
|
5506
5510
|
@adaptor.add_child( root_0, tree_for_char_literal213 )
|
5507
5511
|
|
5508
5512
|
|
5509
|
-
# at file
|
5513
|
+
# at file 464:31: ( NL )+
|
5510
5514
|
match_count_85 = 0
|
5511
5515
|
while true
|
5512
5516
|
alt_85 = 2
|
@@ -5518,7 +5522,7 @@ module SfpLang
|
|
5518
5522
|
end
|
5519
5523
|
case alt_85
|
5520
5524
|
when 1
|
5521
|
-
# at line
|
5525
|
+
# at line 464:31: NL
|
5522
5526
|
__NL214__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1320 )
|
5523
5527
|
tree_for_NL214 = @adaptor.create_with_payload( __NL214__ )
|
5524
5528
|
@adaptor.add_child( root_0, tree_for_NL214 )
|
@@ -5546,13 +5550,13 @@ module SfpLang
|
|
5546
5550
|
root_0 = @adaptor.create_flat_list
|
5547
5551
|
|
5548
5552
|
|
5549
|
-
# at line
|
5553
|
+
# at line 466:4: 'after' ( NL )* '{' ( NL )* constraint_body '}' ( NL )* ( 'then' | 'within' NUMBER ) ( NL )* '{' ( NL )* constraint_body '}' ( NL )+
|
5550
5554
|
string_literal215 = match( T__38, TOKENS_FOLLOWING_T__38_IN_goal_body_1330 )
|
5551
5555
|
tree_for_string_literal215 = @adaptor.create_with_payload( string_literal215 )
|
5552
5556
|
@adaptor.add_child( root_0, tree_for_string_literal215 )
|
5553
5557
|
|
5554
5558
|
|
5555
|
-
# at line
|
5559
|
+
# at line 466:12: ( NL )*
|
5556
5560
|
while true # decision 86
|
5557
5561
|
alt_86 = 2
|
5558
5562
|
look_86_0 = @input.peek( 1 )
|
@@ -5563,7 +5567,7 @@ module SfpLang
|
|
5563
5567
|
end
|
5564
5568
|
case alt_86
|
5565
5569
|
when 1
|
5566
|
-
# at line
|
5570
|
+
# at line 466:12: NL
|
5567
5571
|
__NL216__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1332 )
|
5568
5572
|
tree_for_NL216 = @adaptor.create_with_payload( __NL216__ )
|
5569
5573
|
@adaptor.add_child( root_0, tree_for_NL216 )
|
@@ -5596,7 +5600,7 @@ module SfpLang
|
|
5596
5600
|
@adaptor.add_child( root_0, tree_for_char_literal217 )
|
5597
5601
|
|
5598
5602
|
|
5599
|
-
# at line
|
5603
|
+
# at line 479:7: ( NL )*
|
5600
5604
|
while true # decision 87
|
5601
5605
|
alt_87 = 2
|
5602
5606
|
look_87_0 = @input.peek( 1 )
|
@@ -5607,7 +5611,7 @@ module SfpLang
|
|
5607
5611
|
end
|
5608
5612
|
case alt_87
|
5609
5613
|
when 1
|
5610
|
-
# at line
|
5614
|
+
# at line 479:7: NL
|
5611
5615
|
__NL218__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1343 )
|
5612
5616
|
tree_for_NL218 = @adaptor.create_with_payload( __NL218__ )
|
5613
5617
|
@adaptor.add_child( root_0, tree_for_NL218 )
|
@@ -5629,7 +5633,7 @@ module SfpLang
|
|
5629
5633
|
@adaptor.add_child( root_0, tree_for_char_literal220 )
|
5630
5634
|
|
5631
5635
|
|
5632
|
-
# at line
|
5636
|
+
# at line 479:31: ( NL )*
|
5633
5637
|
while true # decision 88
|
5634
5638
|
alt_88 = 2
|
5635
5639
|
look_88_0 = @input.peek( 1 )
|
@@ -5640,7 +5644,7 @@ module SfpLang
|
|
5640
5644
|
end
|
5641
5645
|
case alt_88
|
5642
5646
|
when 1
|
5643
|
-
# at line
|
5647
|
+
# at line 479:31: NL
|
5644
5648
|
__NL221__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1350 )
|
5645
5649
|
tree_for_NL221 = @adaptor.create_with_payload( __NL221__ )
|
5646
5650
|
@adaptor.add_child( root_0, tree_for_NL221 )
|
@@ -5657,7 +5661,7 @@ module SfpLang
|
|
5657
5661
|
self.goto_parent()
|
5658
5662
|
# <-- action
|
5659
5663
|
|
5660
|
-
# at line
|
5664
|
+
# at line 481:3: ( 'then' | 'within' NUMBER )
|
5661
5665
|
alt_89 = 2
|
5662
5666
|
look_89_0 = @input.peek( 1 )
|
5663
5667
|
|
@@ -5671,7 +5675,7 @@ module SfpLang
|
|
5671
5675
|
end
|
5672
5676
|
case alt_89
|
5673
5677
|
when 1
|
5674
|
-
# at line
|
5678
|
+
# at line 481:5: 'then'
|
5675
5679
|
string_literal222 = match( T__81, TOKENS_FOLLOWING_T__81_IN_goal_body_1361 )
|
5676
5680
|
tree_for_string_literal222 = @adaptor.create_with_payload( string_literal222 )
|
5677
5681
|
@adaptor.add_child( root_0, tree_for_string_literal222 )
|
@@ -5679,7 +5683,7 @@ module SfpLang
|
|
5679
5683
|
|
5680
5684
|
|
5681
5685
|
when 2
|
5682
|
-
# at line
|
5686
|
+
# at line 482:6: 'within' NUMBER
|
5683
5687
|
string_literal223 = match( T__83, TOKENS_FOLLOWING_T__83_IN_goal_body_1368 )
|
5684
5688
|
tree_for_string_literal223 = @adaptor.create_with_payload( string_literal223 )
|
5685
5689
|
@adaptor.add_child( root_0, tree_for_string_literal223 )
|
@@ -5697,7 +5701,7 @@ module SfpLang
|
|
5697
5701
|
|
5698
5702
|
|
5699
5703
|
end
|
5700
|
-
# at line
|
5704
|
+
# at line 484:5: ( NL )*
|
5701
5705
|
while true # decision 90
|
5702
5706
|
alt_90 = 2
|
5703
5707
|
look_90_0 = @input.peek( 1 )
|
@@ -5708,7 +5712,7 @@ module SfpLang
|
|
5708
5712
|
end
|
5709
5713
|
case alt_90
|
5710
5714
|
when 1
|
5711
|
-
# at line
|
5715
|
+
# at line 484:5: NL
|
5712
5716
|
__NL225__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1382 )
|
5713
5717
|
tree_for_NL225 = @adaptor.create_with_payload( __NL225__ )
|
5714
5718
|
@adaptor.add_child( root_0, tree_for_NL225 )
|
@@ -5733,7 +5737,7 @@ module SfpLang
|
|
5733
5737
|
@adaptor.add_child( root_0, tree_for_char_literal226 )
|
5734
5738
|
|
5735
5739
|
|
5736
|
-
# at line
|
5740
|
+
# at line 489:7: ( NL )*
|
5737
5741
|
while true # decision 91
|
5738
5742
|
alt_91 = 2
|
5739
5743
|
look_91_0 = @input.peek( 1 )
|
@@ -5744,7 +5748,7 @@ module SfpLang
|
|
5744
5748
|
end
|
5745
5749
|
case alt_91
|
5746
5750
|
when 1
|
5747
|
-
# at line
|
5751
|
+
# at line 489:7: NL
|
5748
5752
|
__NL227__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1393 )
|
5749
5753
|
tree_for_NL227 = @adaptor.create_with_payload( __NL227__ )
|
5750
5754
|
@adaptor.add_child( root_0, tree_for_NL227 )
|
@@ -5766,7 +5770,7 @@ module SfpLang
|
|
5766
5770
|
@adaptor.add_child( root_0, tree_for_char_literal229 )
|
5767
5771
|
|
5768
5772
|
|
5769
|
-
# at file
|
5773
|
+
# at file 489:31: ( NL )+
|
5770
5774
|
match_count_92 = 0
|
5771
5775
|
while true
|
5772
5776
|
alt_92 = 2
|
@@ -5778,7 +5782,7 @@ module SfpLang
|
|
5778
5782
|
end
|
5779
5783
|
case alt_92
|
5780
5784
|
when 1
|
5781
|
-
# at line
|
5785
|
+
# at line 489:31: NL
|
5782
5786
|
__NL230__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1400 )
|
5783
5787
|
tree_for_NL230 = @adaptor.create_with_payload( __NL230__ )
|
5784
5788
|
@adaptor.add_child( root_0, tree_for_NL230 )
|
@@ -5816,13 +5820,13 @@ module SfpLang
|
|
5816
5820
|
root_0 = @adaptor.create_flat_list
|
5817
5821
|
|
5818
5822
|
|
5819
|
-
# at line
|
5823
|
+
# at line 493:4: 'before' ( NL )* '{' ( NL )* constraint_body '}' ( NL )* 'then' ( NL )* '{' ( NL )* constraint_body '}' ( NL )+
|
5820
5824
|
string_literal231 = match( T__43, TOKENS_FOLLOWING_T__43_IN_goal_body_1418 )
|
5821
5825
|
tree_for_string_literal231 = @adaptor.create_with_payload( string_literal231 )
|
5822
5826
|
@adaptor.add_child( root_0, tree_for_string_literal231 )
|
5823
5827
|
|
5824
5828
|
|
5825
|
-
# at line
|
5829
|
+
# at line 493:13: ( NL )*
|
5826
5830
|
while true # decision 93
|
5827
5831
|
alt_93 = 2
|
5828
5832
|
look_93_0 = @input.peek( 1 )
|
@@ -5833,7 +5837,7 @@ module SfpLang
|
|
5833
5837
|
end
|
5834
5838
|
case alt_93
|
5835
5839
|
when 1
|
5836
|
-
# at line
|
5840
|
+
# at line 493:13: NL
|
5837
5841
|
__NL232__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1420 )
|
5838
5842
|
tree_for_NL232 = @adaptor.create_with_payload( __NL232__ )
|
5839
5843
|
@adaptor.add_child( root_0, tree_for_NL232 )
|
@@ -5861,7 +5865,7 @@ module SfpLang
|
|
5861
5865
|
@adaptor.add_child( root_0, tree_for_char_literal233 )
|
5862
5866
|
|
5863
5867
|
|
5864
|
-
# at line
|
5868
|
+
# at line 501:7: ( NL )*
|
5865
5869
|
while true # decision 94
|
5866
5870
|
alt_94 = 2
|
5867
5871
|
look_94_0 = @input.peek( 1 )
|
@@ -5872,7 +5876,7 @@ module SfpLang
|
|
5872
5876
|
end
|
5873
5877
|
case alt_94
|
5874
5878
|
when 1
|
5875
|
-
# at line
|
5879
|
+
# at line 501:7: NL
|
5876
5880
|
__NL234__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1431 )
|
5877
5881
|
tree_for_NL234 = @adaptor.create_with_payload( __NL234__ )
|
5878
5882
|
@adaptor.add_child( root_0, tree_for_NL234 )
|
@@ -5894,7 +5898,7 @@ module SfpLang
|
|
5894
5898
|
@adaptor.add_child( root_0, tree_for_char_literal236 )
|
5895
5899
|
|
5896
5900
|
|
5897
|
-
# at line
|
5901
|
+
# at line 501:31: ( NL )*
|
5898
5902
|
while true # decision 95
|
5899
5903
|
alt_95 = 2
|
5900
5904
|
look_95_0 = @input.peek( 1 )
|
@@ -5905,7 +5909,7 @@ module SfpLang
|
|
5905
5909
|
end
|
5906
5910
|
case alt_95
|
5907
5911
|
when 1
|
5908
|
-
# at line
|
5912
|
+
# at line 501:31: NL
|
5909
5913
|
__NL237__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1438 )
|
5910
5914
|
tree_for_NL237 = @adaptor.create_with_payload( __NL237__ )
|
5911
5915
|
@adaptor.add_child( root_0, tree_for_NL237 )
|
@@ -5927,7 +5931,7 @@ module SfpLang
|
|
5927
5931
|
@adaptor.add_child( root_0, tree_for_string_literal238 )
|
5928
5932
|
|
5929
5933
|
|
5930
|
-
# at line
|
5934
|
+
# at line 503:10: ( NL )*
|
5931
5935
|
while true # decision 96
|
5932
5936
|
alt_96 = 2
|
5933
5937
|
look_96_0 = @input.peek( 1 )
|
@@ -5938,7 +5942,7 @@ module SfpLang
|
|
5938
5942
|
end
|
5939
5943
|
case alt_96
|
5940
5944
|
when 1
|
5941
|
-
# at line
|
5945
|
+
# at line 503:10: NL
|
5942
5946
|
__NL239__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1449 )
|
5943
5947
|
tree_for_NL239 = @adaptor.create_with_payload( __NL239__ )
|
5944
5948
|
@adaptor.add_child( root_0, tree_for_NL239 )
|
@@ -5963,7 +5967,7 @@ module SfpLang
|
|
5963
5967
|
@adaptor.add_child( root_0, tree_for_char_literal240 )
|
5964
5968
|
|
5965
5969
|
|
5966
|
-
# at line
|
5970
|
+
# at line 508:7: ( NL )*
|
5967
5971
|
while true # decision 97
|
5968
5972
|
alt_97 = 2
|
5969
5973
|
look_97_0 = @input.peek( 1 )
|
@@ -5974,7 +5978,7 @@ module SfpLang
|
|
5974
5978
|
end
|
5975
5979
|
case alt_97
|
5976
5980
|
when 1
|
5977
|
-
# at line
|
5981
|
+
# at line 508:7: NL
|
5978
5982
|
__NL241__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1460 )
|
5979
5983
|
tree_for_NL241 = @adaptor.create_with_payload( __NL241__ )
|
5980
5984
|
@adaptor.add_child( root_0, tree_for_NL241 )
|
@@ -5996,7 +6000,7 @@ module SfpLang
|
|
5996
6000
|
@adaptor.add_child( root_0, tree_for_char_literal243 )
|
5997
6001
|
|
5998
6002
|
|
5999
|
-
# at file
|
6003
|
+
# at file 508:31: ( NL )+
|
6000
6004
|
match_count_98 = 0
|
6001
6005
|
while true
|
6002
6006
|
alt_98 = 2
|
@@ -6008,7 +6012,7 @@ module SfpLang
|
|
6008
6012
|
end
|
6009
6013
|
case alt_98
|
6010
6014
|
when 1
|
6011
|
-
# at line
|
6015
|
+
# at line 508:31: NL
|
6012
6016
|
__NL244__ = match( NL, TOKENS_FOLLOWING_NL_IN_goal_body_1467 )
|
6013
6017
|
tree_for_NL244 = @adaptor.create_with_payload( __NL244__ )
|
6014
6018
|
@adaptor.add_child( root_0, tree_for_NL244 )
|
@@ -6068,7 +6072,7 @@ module SfpLang
|
|
6068
6072
|
# parser rule nested_constraint
|
6069
6073
|
#
|
6070
6074
|
# (in SfpLang.g)
|
6071
|
-
#
|
6075
|
+
# 513:1: nested_constraint : '{' ( NL )* constraint_body '}' ;
|
6072
6076
|
#
|
6073
6077
|
def nested_constraint
|
6074
6078
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -6097,13 +6101,13 @@ module SfpLang
|
|
6097
6101
|
root_0 = @adaptor.create_flat_list
|
6098
6102
|
|
6099
6103
|
|
6100
|
-
# at line
|
6104
|
+
# at line 514:4: '{' ( NL )* constraint_body '}'
|
6101
6105
|
char_literal245 = match( T__84, TOKENS_FOLLOWING_T__84_IN_nested_constraint_1487 )
|
6102
6106
|
tree_for_char_literal245 = @adaptor.create_with_payload( char_literal245 )
|
6103
6107
|
@adaptor.add_child( root_0, tree_for_char_literal245 )
|
6104
6108
|
|
6105
6109
|
|
6106
|
-
# at line
|
6110
|
+
# at line 514:8: ( NL )*
|
6107
6111
|
while true # decision 100
|
6108
6112
|
alt_100 = 2
|
6109
6113
|
look_100_0 = @input.peek( 1 )
|
@@ -6114,7 +6118,7 @@ module SfpLang
|
|
6114
6118
|
end
|
6115
6119
|
case alt_100
|
6116
6120
|
when 1
|
6117
|
-
# at line
|
6121
|
+
# at line 514:8: NL
|
6118
6122
|
__NL246__ = match( NL, TOKENS_FOLLOWING_NL_IN_nested_constraint_1489 )
|
6119
6123
|
tree_for_NL246 = @adaptor.create_with_payload( __NL246__ )
|
6120
6124
|
@adaptor.add_child( root_0, tree_for_NL246 )
|
@@ -6167,7 +6171,7 @@ module SfpLang
|
|
6167
6171
|
# parser rule constraint
|
6168
6172
|
#
|
6169
6173
|
# (in SfpLang.g)
|
6170
|
-
#
|
6174
|
+
# 517:1: constraint : 'constraint' ID '{' ( NL )* constraint_body '}' ;
|
6171
6175
|
#
|
6172
6176
|
def constraint
|
6173
6177
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -6200,7 +6204,7 @@ module SfpLang
|
|
6200
6204
|
root_0 = @adaptor.create_flat_list
|
6201
6205
|
|
6202
6206
|
|
6203
|
-
# at line
|
6207
|
+
# at line 518:4: 'constraint' ID '{' ( NL )* constraint_body '}'
|
6204
6208
|
string_literal249 = match( T__47, TOKENS_FOLLOWING_T__47_IN_constraint_1505 )
|
6205
6209
|
tree_for_string_literal249 = @adaptor.create_with_payload( string_literal249 )
|
6206
6210
|
@adaptor.add_child( root_0, tree_for_string_literal249 )
|
@@ -6224,7 +6228,7 @@ module SfpLang
|
|
6224
6228
|
@adaptor.add_child( root_0, tree_for_char_literal251 )
|
6225
6229
|
|
6226
6230
|
|
6227
|
-
# at line
|
6231
|
+
# at line 523:7: ( NL )*
|
6228
6232
|
while true # decision 101
|
6229
6233
|
alt_101 = 2
|
6230
6234
|
look_101_0 = @input.peek( 1 )
|
@@ -6235,7 +6239,7 @@ module SfpLang
|
|
6235
6239
|
end
|
6236
6240
|
case alt_101
|
6237
6241
|
when 1
|
6238
|
-
# at line
|
6242
|
+
# at line 523:7: NL
|
6239
6243
|
__NL252__ = match( NL, TOKENS_FOLLOWING_NL_IN_constraint_1517 )
|
6240
6244
|
tree_for_NL252 = @adaptor.create_with_payload( __NL252__ )
|
6241
6245
|
@adaptor.add_child( root_0, tree_for_NL252 )
|
@@ -6293,7 +6297,7 @@ module SfpLang
|
|
6293
6297
|
# parser rule constraint_body
|
6294
6298
|
#
|
6295
6299
|
# (in SfpLang.g)
|
6296
|
-
#
|
6300
|
+
# 527:1: constraint_body : ( ( constraint_statement | constraint_namespace | constraint_iterator | constraint_class_quantification ) ( NL )+ )* ;
|
6297
6301
|
#
|
6298
6302
|
def constraint_body
|
6299
6303
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -6321,8 +6325,8 @@ module SfpLang
|
|
6321
6325
|
root_0 = @adaptor.create_flat_list
|
6322
6326
|
|
6323
6327
|
|
6324
|
-
# at line
|
6325
|
-
# at line
|
6328
|
+
# at line 528:4: ( ( constraint_statement | constraint_namespace | constraint_iterator | constraint_class_quantification ) ( NL )+ )*
|
6329
|
+
# at line 528:4: ( ( constraint_statement | constraint_namespace | constraint_iterator | constraint_class_quantification ) ( NL )+ )*
|
6326
6330
|
while true # decision 104
|
6327
6331
|
alt_104 = 2
|
6328
6332
|
look_104_0 = @input.peek( 1 )
|
@@ -6333,13 +6337,13 @@ module SfpLang
|
|
6333
6337
|
end
|
6334
6338
|
case alt_104
|
6335
6339
|
when 1
|
6336
|
-
# at line
|
6337
|
-
# at line
|
6340
|
+
# at line 529:4: ( constraint_statement | constraint_namespace | constraint_iterator | constraint_class_quantification ) ( NL )+
|
6341
|
+
# at line 529:4: ( constraint_statement | constraint_namespace | constraint_iterator | constraint_class_quantification )
|
6338
6342
|
alt_102 = 4
|
6339
6343
|
alt_102 = @dfa102.predict( @input )
|
6340
6344
|
case alt_102
|
6341
6345
|
when 1
|
6342
|
-
# at line
|
6346
|
+
# at line 529:6: constraint_statement
|
6343
6347
|
@state.following.push( TOKENS_FOLLOWING_constraint_statement_IN_constraint_body_1544 )
|
6344
6348
|
constraint_statement255 = constraint_statement
|
6345
6349
|
@state.following.pop
|
@@ -6354,7 +6358,7 @@ module SfpLang
|
|
6354
6358
|
|
6355
6359
|
|
6356
6360
|
when 2
|
6357
|
-
# at line
|
6361
|
+
# at line 533:6: constraint_namespace
|
6358
6362
|
@state.following.push( TOKENS_FOLLOWING_constraint_namespace_IN_constraint_body_1557 )
|
6359
6363
|
constraint_namespace256 = constraint_namespace
|
6360
6364
|
@state.following.pop
|
@@ -6362,7 +6366,7 @@ module SfpLang
|
|
6362
6366
|
|
6363
6367
|
|
6364
6368
|
when 3
|
6365
|
-
# at line
|
6369
|
+
# at line 534:6: constraint_iterator
|
6366
6370
|
@state.following.push( TOKENS_FOLLOWING_constraint_iterator_IN_constraint_body_1564 )
|
6367
6371
|
constraint_iterator257 = constraint_iterator
|
6368
6372
|
@state.following.pop
|
@@ -6370,7 +6374,7 @@ module SfpLang
|
|
6370
6374
|
|
6371
6375
|
|
6372
6376
|
when 4
|
6373
|
-
# at line
|
6377
|
+
# at line 535:6: constraint_class_quantification
|
6374
6378
|
@state.following.push( TOKENS_FOLLOWING_constraint_class_quantification_IN_constraint_body_1571 )
|
6375
6379
|
constraint_class_quantification258 = constraint_class_quantification
|
6376
6380
|
@state.following.pop
|
@@ -6378,7 +6382,7 @@ module SfpLang
|
|
6378
6382
|
|
6379
6383
|
|
6380
6384
|
end
|
6381
|
-
# at file
|
6385
|
+
# at file 537:3: ( NL )+
|
6382
6386
|
match_count_103 = 0
|
6383
6387
|
while true
|
6384
6388
|
alt_103 = 2
|
@@ -6390,7 +6394,7 @@ module SfpLang
|
|
6390
6394
|
end
|
6391
6395
|
case alt_103
|
6392
6396
|
when 1
|
6393
|
-
# at line
|
6397
|
+
# at line 537:3: NL
|
6394
6398
|
__NL259__ = match( NL, TOKENS_FOLLOWING_NL_IN_constraint_body_1580 )
|
6395
6399
|
tree_for_NL259 = @adaptor.create_with_payload( __NL259__ )
|
6396
6400
|
@adaptor.add_child( root_0, tree_for_NL259 )
|
@@ -6445,7 +6449,7 @@ module SfpLang
|
|
6445
6449
|
# parser rule constraint_namespace
|
6446
6450
|
#
|
6447
6451
|
# (in SfpLang.g)
|
6448
|
-
#
|
6452
|
+
# 540:1: constraint_namespace : path ( NL )* '{' ( NL )* ( constraint_statement ( NL )+ )* '}' ;
|
6449
6453
|
#
|
6450
6454
|
def constraint_namespace
|
6451
6455
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -6479,13 +6483,13 @@ module SfpLang
|
|
6479
6483
|
root_0 = @adaptor.create_flat_list
|
6480
6484
|
|
6481
6485
|
|
6482
|
-
# at line
|
6486
|
+
# at line 541:4: path ( NL )* '{' ( NL )* ( constraint_statement ( NL )+ )* '}'
|
6483
6487
|
@state.following.push( TOKENS_FOLLOWING_path_IN_constraint_namespace_1594 )
|
6484
6488
|
path260 = path
|
6485
6489
|
@state.following.pop
|
6486
6490
|
@adaptor.add_child( root_0, path260.tree )
|
6487
6491
|
|
6488
|
-
# at line
|
6492
|
+
# at line 541:9: ( NL )*
|
6489
6493
|
while true # decision 105
|
6490
6494
|
alt_105 = 2
|
6491
6495
|
look_105_0 = @input.peek( 1 )
|
@@ -6496,7 +6500,7 @@ module SfpLang
|
|
6496
6500
|
end
|
6497
6501
|
case alt_105
|
6498
6502
|
when 1
|
6499
|
-
# at line
|
6503
|
+
# at line 541:9: NL
|
6500
6504
|
__NL261__ = match( NL, TOKENS_FOLLOWING_NL_IN_constraint_namespace_1596 )
|
6501
6505
|
tree_for_NL261 = @adaptor.create_with_payload( __NL261__ )
|
6502
6506
|
@adaptor.add_child( root_0, tree_for_NL261 )
|
@@ -6513,7 +6517,7 @@ module SfpLang
|
|
6513
6517
|
@adaptor.add_child( root_0, tree_for_char_literal262 )
|
6514
6518
|
|
6515
6519
|
|
6516
|
-
# at line
|
6520
|
+
# at line 541:17: ( NL )*
|
6517
6521
|
while true # decision 106
|
6518
6522
|
alt_106 = 2
|
6519
6523
|
look_106_0 = @input.peek( 1 )
|
@@ -6524,7 +6528,7 @@ module SfpLang
|
|
6524
6528
|
end
|
6525
6529
|
case alt_106
|
6526
6530
|
when 1
|
6527
|
-
# at line
|
6531
|
+
# at line 541:17: NL
|
6528
6532
|
__NL263__ = match( NL, TOKENS_FOLLOWING_NL_IN_constraint_namespace_1601 )
|
6529
6533
|
tree_for_NL263 = @adaptor.create_with_payload( __NL263__ )
|
6530
6534
|
@adaptor.add_child( root_0, tree_for_NL263 )
|
@@ -6536,7 +6540,7 @@ module SfpLang
|
|
6536
6540
|
end
|
6537
6541
|
end # loop for decision 106
|
6538
6542
|
|
6539
|
-
# at line
|
6543
|
+
# at line 541:21: ( constraint_statement ( NL )+ )*
|
6540
6544
|
while true # decision 108
|
6541
6545
|
alt_108 = 2
|
6542
6546
|
look_108_0 = @input.peek( 1 )
|
@@ -6547,7 +6551,7 @@ module SfpLang
|
|
6547
6551
|
end
|
6548
6552
|
case alt_108
|
6549
6553
|
when 1
|
6550
|
-
# at line
|
6554
|
+
# at line 541:22: constraint_statement ( NL )+
|
6551
6555
|
@state.following.push( TOKENS_FOLLOWING_constraint_statement_IN_constraint_namespace_1605 )
|
6552
6556
|
constraint_statement264 = constraint_statement
|
6553
6557
|
@state.following.pop
|
@@ -6561,7 +6565,7 @@ module SfpLang
|
|
6561
6565
|
|
6562
6566
|
# <-- action
|
6563
6567
|
|
6564
|
-
# at file
|
6568
|
+
# at file 546:3: ( NL )+
|
6565
6569
|
match_count_107 = 0
|
6566
6570
|
while true
|
6567
6571
|
alt_107 = 2
|
@@ -6573,7 +6577,7 @@ module SfpLang
|
|
6573
6577
|
end
|
6574
6578
|
case alt_107
|
6575
6579
|
when 1
|
6576
|
-
# at line
|
6580
|
+
# at line 546:3: NL
|
6577
6581
|
__NL265__ = match( NL, TOKENS_FOLLOWING_NL_IN_constraint_namespace_1613 )
|
6578
6582
|
tree_for_NL265 = @adaptor.create_with_payload( __NL265__ )
|
6579
6583
|
@adaptor.add_child( root_0, tree_for_NL265 )
|
@@ -6633,7 +6637,7 @@ module SfpLang
|
|
6633
6637
|
# parser rule constraint_iterator
|
6634
6638
|
#
|
6635
6639
|
# (in SfpLang.g)
|
6636
|
-
#
|
6640
|
+
# 549:1: constraint_iterator : 'foreach' '(' path 'as' ID ')' ( NL )* '{' ( NL )+ ( constraint_statement ( NL )+ )* '}' ;
|
6637
6641
|
#
|
6638
6642
|
def constraint_iterator
|
6639
6643
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -6677,7 +6681,7 @@ module SfpLang
|
|
6677
6681
|
root_0 = @adaptor.create_flat_list
|
6678
6682
|
|
6679
6683
|
|
6680
|
-
# at line
|
6684
|
+
# at line 550:4: 'foreach' '(' path 'as' ID ')' ( NL )* '{' ( NL )+ ( constraint_statement ( NL )+ )* '}'
|
6681
6685
|
string_literal267 = match( T__57, TOKENS_FOLLOWING_T__57_IN_constraint_iterator_1629 )
|
6682
6686
|
tree_for_string_literal267 = @adaptor.create_with_payload( string_literal267 )
|
6683
6687
|
@adaptor.add_child( root_0, tree_for_string_literal267 )
|
@@ -6708,7 +6712,7 @@ module SfpLang
|
|
6708
6712
|
@adaptor.add_child( root_0, tree_for_char_literal272 )
|
6709
6713
|
|
6710
6714
|
|
6711
|
-
# at line
|
6715
|
+
# at line 550:35: ( NL )*
|
6712
6716
|
while true # decision 109
|
6713
6717
|
alt_109 = 2
|
6714
6718
|
look_109_0 = @input.peek( 1 )
|
@@ -6719,7 +6723,7 @@ module SfpLang
|
|
6719
6723
|
end
|
6720
6724
|
case alt_109
|
6721
6725
|
when 1
|
6722
|
-
# at line
|
6726
|
+
# at line 550:35: NL
|
6723
6727
|
__NL273__ = match( NL, TOKENS_FOLLOWING_NL_IN_constraint_iterator_1641 )
|
6724
6728
|
tree_for_NL273 = @adaptor.create_with_payload( __NL273__ )
|
6725
6729
|
@adaptor.add_child( root_0, tree_for_NL273 )
|
@@ -6736,7 +6740,7 @@ module SfpLang
|
|
6736
6740
|
@adaptor.add_child( root_0, tree_for_char_literal274 )
|
6737
6741
|
|
6738
6742
|
|
6739
|
-
# at file
|
6743
|
+
# at file 550:43: ( NL )+
|
6740
6744
|
match_count_110 = 0
|
6741
6745
|
while true
|
6742
6746
|
alt_110 = 2
|
@@ -6748,7 +6752,7 @@ module SfpLang
|
|
6748
6752
|
end
|
6749
6753
|
case alt_110
|
6750
6754
|
when 1
|
6751
|
-
# at line
|
6755
|
+
# at line 550:43: NL
|
6752
6756
|
__NL275__ = match( NL, TOKENS_FOLLOWING_NL_IN_constraint_iterator_1646 )
|
6753
6757
|
tree_for_NL275 = @adaptor.create_with_payload( __NL275__ )
|
6754
6758
|
@adaptor.add_child( root_0, tree_for_NL275 )
|
@@ -6781,7 +6785,7 @@ module SfpLang
|
|
6781
6785
|
|
6782
6786
|
# <-- action
|
6783
6787
|
|
6784
|
-
# at line
|
6788
|
+
# at line 562:3: ( constraint_statement ( NL )+ )*
|
6785
6789
|
while true # decision 112
|
6786
6790
|
alt_112 = 2
|
6787
6791
|
look_112_0 = @input.peek( 1 )
|
@@ -6792,7 +6796,7 @@ module SfpLang
|
|
6792
6796
|
end
|
6793
6797
|
case alt_112
|
6794
6798
|
when 1
|
6795
|
-
# at line
|
6799
|
+
# at line 562:4: constraint_statement ( NL )+
|
6796
6800
|
@state.following.push( TOKENS_FOLLOWING_constraint_statement_IN_constraint_iterator_1656 )
|
6797
6801
|
constraint_statement276 = constraint_statement
|
6798
6802
|
@state.following.pop
|
@@ -6805,7 +6809,7 @@ module SfpLang
|
|
6805
6809
|
|
6806
6810
|
# <-- action
|
6807
6811
|
|
6808
|
-
# at file
|
6812
|
+
# at file 566:3: ( NL )+
|
6809
6813
|
match_count_111 = 0
|
6810
6814
|
while true
|
6811
6815
|
alt_111 = 2
|
@@ -6817,7 +6821,7 @@ module SfpLang
|
|
6817
6821
|
end
|
6818
6822
|
case alt_111
|
6819
6823
|
when 1
|
6820
|
-
# at line
|
6824
|
+
# at line 566:3: NL
|
6821
6825
|
__NL277__ = match( NL, TOKENS_FOLLOWING_NL_IN_constraint_iterator_1664 )
|
6822
6826
|
tree_for_NL277 = @adaptor.create_with_payload( __NL277__ )
|
6823
6827
|
@adaptor.add_child( root_0, tree_for_NL277 )
|
@@ -6885,7 +6889,7 @@ module SfpLang
|
|
6885
6889
|
# parser rule quantification_keyword
|
6886
6890
|
#
|
6887
6891
|
# (in SfpLang.g)
|
6888
|
-
#
|
6892
|
+
# 574:1: quantification_keyword : ( 'forall' | 'exist' | 'forsome' );
|
6889
6893
|
#
|
6890
6894
|
def quantification_keyword
|
6891
6895
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -6956,7 +6960,7 @@ module SfpLang
|
|
6956
6960
|
# parser rule constraint_class_quantification
|
6957
6961
|
#
|
6958
6962
|
# (in SfpLang.g)
|
6959
|
-
#
|
6963
|
+
# 580:1: constraint_class_quantification : quantification_keyword '(' path 'as' ID ')' ( ( binary_comp | '=' ) NUMBER )? ( NL )* '{' ( NL )+ ( constraint_statement ( NL )+ | constraint_different ( NL )+ | constraint_iterator ( NL )+ )* '}' ;
|
6960
6964
|
#
|
6961
6965
|
def constraint_class_quantification
|
6962
6966
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -7010,7 +7014,7 @@ module SfpLang
|
|
7010
7014
|
root_0 = @adaptor.create_flat_list
|
7011
7015
|
|
7012
7016
|
|
7013
|
-
# at line
|
7017
|
+
# at line 581:4: quantification_keyword '(' path 'as' ID ')' ( ( binary_comp | '=' ) NUMBER )? ( NL )* '{' ( NL )+ ( constraint_statement ( NL )+ | constraint_different ( NL )+ | constraint_iterator ( NL )+ )* '}'
|
7014
7018
|
@state.following.push( TOKENS_FOLLOWING_quantification_keyword_IN_constraint_class_quantification_1707 )
|
7015
7019
|
quantification_keyword280 = quantification_keyword
|
7016
7020
|
@state.following.pop
|
@@ -7060,7 +7064,7 @@ module SfpLang
|
|
7060
7064
|
|
7061
7065
|
# <-- action
|
7062
7066
|
|
7063
|
-
# at line
|
7067
|
+
# at line 597:3: ( ( binary_comp | '=' ) NUMBER )?
|
7064
7068
|
alt_114 = 2
|
7065
7069
|
look_114_0 = @input.peek( 1 )
|
7066
7070
|
|
@@ -7069,8 +7073,8 @@ module SfpLang
|
|
7069
7073
|
end
|
7070
7074
|
case alt_114
|
7071
7075
|
when 1
|
7072
|
-
# at line
|
7073
|
-
# at line
|
7076
|
+
# at line 597:5: ( binary_comp | '=' ) NUMBER
|
7077
|
+
# at line 597:5: ( binary_comp | '=' )
|
7074
7078
|
alt_113 = 2
|
7075
7079
|
look_113_0 = @input.peek( 1 )
|
7076
7080
|
|
@@ -7084,7 +7088,7 @@ module SfpLang
|
|
7084
7088
|
end
|
7085
7089
|
case alt_113
|
7086
7090
|
when 1
|
7087
|
-
# at line
|
7091
|
+
# at line 597:7: binary_comp
|
7088
7092
|
@state.following.push( TOKENS_FOLLOWING_binary_comp_IN_constraint_class_quantification_1729 )
|
7089
7093
|
binary_comp286 = binary_comp
|
7090
7094
|
@state.following.pop
|
@@ -7097,7 +7101,7 @@ module SfpLang
|
|
7097
7101
|
|
7098
7102
|
|
7099
7103
|
when 2
|
7100
|
-
# at line
|
7104
|
+
# at line 599:6: '='
|
7101
7105
|
char_literal287 = match( T__31, TOKENS_FOLLOWING_T__31_IN_constraint_class_quantification_1742 )
|
7102
7106
|
tree_for_char_literal287 = @adaptor.create_with_payload( char_literal287 )
|
7103
7107
|
@adaptor.add_child( root_0, tree_for_char_literal287 )
|
@@ -7122,7 +7126,7 @@ module SfpLang
|
|
7122
7126
|
|
7123
7127
|
|
7124
7128
|
end
|
7125
|
-
# at line
|
7129
|
+
# at line 605:3: ( NL )*
|
7126
7130
|
while true # decision 115
|
7127
7131
|
alt_115 = 2
|
7128
7132
|
look_115_0 = @input.peek( 1 )
|
@@ -7133,7 +7137,7 @@ module SfpLang
|
|
7133
7137
|
end
|
7134
7138
|
case alt_115
|
7135
7139
|
when 1
|
7136
|
-
# at line
|
7140
|
+
# at line 605:3: NL
|
7137
7141
|
__NL289__ = match( NL, TOKENS_FOLLOWING_NL_IN_constraint_class_quantification_1772 )
|
7138
7142
|
tree_for_NL289 = @adaptor.create_with_payload( __NL289__ )
|
7139
7143
|
@adaptor.add_child( root_0, tree_for_NL289 )
|
@@ -7150,7 +7154,7 @@ module SfpLang
|
|
7150
7154
|
@adaptor.add_child( root_0, tree_for_char_literal290 )
|
7151
7155
|
|
7152
7156
|
|
7153
|
-
# at file
|
7157
|
+
# at file 605:11: ( NL )+
|
7154
7158
|
match_count_116 = 0
|
7155
7159
|
while true
|
7156
7160
|
alt_116 = 2
|
@@ -7162,7 +7166,7 @@ module SfpLang
|
|
7162
7166
|
end
|
7163
7167
|
case alt_116
|
7164
7168
|
when 1
|
7165
|
-
# at line
|
7169
|
+
# at line 605:11: NL
|
7166
7170
|
__NL291__ = match( NL, TOKENS_FOLLOWING_NL_IN_constraint_class_quantification_1777 )
|
7167
7171
|
tree_for_NL291 = @adaptor.create_with_payload( __NL291__ )
|
7168
7172
|
@adaptor.add_child( root_0, tree_for_NL291 )
|
@@ -7180,7 +7184,7 @@ module SfpLang
|
|
7180
7184
|
end
|
7181
7185
|
|
7182
7186
|
|
7183
|
-
# at line
|
7187
|
+
# at line 606:3: ( constraint_statement ( NL )+ | constraint_different ( NL )+ | constraint_iterator ( NL )+ )*
|
7184
7188
|
while true # decision 120
|
7185
7189
|
alt_120 = 4
|
7186
7190
|
case look_120 = @input.peek( 1 )
|
@@ -7190,7 +7194,7 @@ module SfpLang
|
|
7190
7194
|
end
|
7191
7195
|
case alt_120
|
7192
7196
|
when 1
|
7193
|
-
# at line
|
7197
|
+
# at line 606:5: constraint_statement ( NL )+
|
7194
7198
|
@state.following.push( TOKENS_FOLLOWING_constraint_statement_IN_constraint_class_quantification_1784 )
|
7195
7199
|
constraint_statement292 = constraint_statement
|
7196
7200
|
@state.following.pop
|
@@ -7201,7 +7205,7 @@ module SfpLang
|
|
7201
7205
|
@now[( constraint_statement292.nil? ? nil : constraint_statement292.key )] = ( constraint_statement292.nil? ? nil : constraint_statement292.val )
|
7202
7206
|
# <-- action
|
7203
7207
|
|
7204
|
-
# at file
|
7208
|
+
# at file 608:4: ( NL )+
|
7205
7209
|
match_count_117 = 0
|
7206
7210
|
while true
|
7207
7211
|
alt_117 = 2
|
@@ -7213,7 +7217,7 @@ module SfpLang
|
|
7213
7217
|
end
|
7214
7218
|
case alt_117
|
7215
7219
|
when 1
|
7216
|
-
# at line
|
7220
|
+
# at line 608:4: NL
|
7217
7221
|
__NL293__ = match( NL, TOKENS_FOLLOWING_NL_IN_constraint_class_quantification_1794 )
|
7218
7222
|
tree_for_NL293 = @adaptor.create_with_payload( __NL293__ )
|
7219
7223
|
@adaptor.add_child( root_0, tree_for_NL293 )
|
@@ -7233,13 +7237,13 @@ module SfpLang
|
|
7233
7237
|
|
7234
7238
|
|
7235
7239
|
when 2
|
7236
|
-
# at line
|
7240
|
+
# at line 609:5: constraint_different ( NL )+
|
7237
7241
|
@state.following.push( TOKENS_FOLLOWING_constraint_different_IN_constraint_class_quantification_1801 )
|
7238
7242
|
constraint_different294 = constraint_different
|
7239
7243
|
@state.following.pop
|
7240
7244
|
@adaptor.add_child( root_0, constraint_different294.tree )
|
7241
7245
|
|
7242
|
-
# at file
|
7246
|
+
# at file 609:26: ( NL )+
|
7243
7247
|
match_count_118 = 0
|
7244
7248
|
while true
|
7245
7249
|
alt_118 = 2
|
@@ -7251,7 +7255,7 @@ module SfpLang
|
|
7251
7255
|
end
|
7252
7256
|
case alt_118
|
7253
7257
|
when 1
|
7254
|
-
# at line
|
7258
|
+
# at line 609:26: NL
|
7255
7259
|
__NL295__ = match( NL, TOKENS_FOLLOWING_NL_IN_constraint_class_quantification_1803 )
|
7256
7260
|
tree_for_NL295 = @adaptor.create_with_payload( __NL295__ )
|
7257
7261
|
@adaptor.add_child( root_0, tree_for_NL295 )
|
@@ -7271,13 +7275,13 @@ module SfpLang
|
|
7271
7275
|
|
7272
7276
|
|
7273
7277
|
when 3
|
7274
|
-
# at line
|
7278
|
+
# at line 610:5: constraint_iterator ( NL )+
|
7275
7279
|
@state.following.push( TOKENS_FOLLOWING_constraint_iterator_IN_constraint_class_quantification_1810 )
|
7276
7280
|
constraint_iterator296 = constraint_iterator
|
7277
7281
|
@state.following.pop
|
7278
7282
|
@adaptor.add_child( root_0, constraint_iterator296.tree )
|
7279
7283
|
|
7280
|
-
# at file
|
7284
|
+
# at file 610:25: ( NL )+
|
7281
7285
|
match_count_119 = 0
|
7282
7286
|
while true
|
7283
7287
|
alt_119 = 2
|
@@ -7289,7 +7293,7 @@ module SfpLang
|
|
7289
7293
|
end
|
7290
7294
|
case alt_119
|
7291
7295
|
when 1
|
7292
|
-
# at line
|
7296
|
+
# at line 610:25: NL
|
7293
7297
|
__NL297__ = match( NL, TOKENS_FOLLOWING_NL_IN_constraint_class_quantification_1812 )
|
7294
7298
|
tree_for_NL297 = @adaptor.create_with_payload( __NL297__ )
|
7295
7299
|
@adaptor.add_child( root_0, tree_for_NL297 )
|
@@ -7359,7 +7363,7 @@ module SfpLang
|
|
7359
7363
|
# parser rule constraint_different
|
7360
7364
|
#
|
7361
7365
|
# (in SfpLang.g)
|
7362
|
-
#
|
7366
|
+
# 616:1: constraint_different : ':different' '(' path ')' ;
|
7363
7367
|
#
|
7364
7368
|
def constraint_different
|
7365
7369
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -7388,7 +7392,7 @@ module SfpLang
|
|
7388
7392
|
root_0 = @adaptor.create_flat_list
|
7389
7393
|
|
7390
7394
|
|
7391
|
-
# at line
|
7395
|
+
# at line 617:4: ':different' '(' path ')'
|
7392
7396
|
string_literal299 = match( T__28, TOKENS_FOLLOWING_T__28_IN_constraint_different_1839 )
|
7393
7397
|
tree_for_string_literal299 = @adaptor.create_with_payload( string_literal299 )
|
7394
7398
|
@adaptor.add_child( root_0, tree_for_string_literal299 )
|
@@ -7453,7 +7457,7 @@ module SfpLang
|
|
7453
7457
|
# parser rule constraint_statement
|
7454
7458
|
#
|
7455
7459
|
# (in SfpLang.g)
|
7456
|
-
#
|
7460
|
+
# 629:1: constraint_statement returns [key, val] : ( reference | 'not' reference | reference equals_op value | reference equals_op NULL | reference not_equals_op value | reference not_equals_op NULL | conditional_constraint | reference ( 'is' )? 'in' set_value | reference ( 'isnot' | 'isnt' | 'not' ) 'in' set_value | reference 'has' value | reference binary_comp comp_value | total_constraint );
|
7457
7461
|
#
|
7458
7462
|
def constraint_statement
|
7459
7463
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -7511,7 +7515,7 @@ module SfpLang
|
|
7511
7515
|
tree_for_string_literal328 = nil
|
7512
7516
|
|
7513
7517
|
begin
|
7514
|
-
# at line
|
7518
|
+
# at line 630:2: ( reference | 'not' reference | reference equals_op value | reference equals_op NULL | reference not_equals_op value | reference not_equals_op NULL | conditional_constraint | reference ( 'is' )? 'in' set_value | reference ( 'isnot' | 'isnt' | 'not' ) 'in' set_value | reference 'has' value | reference binary_comp comp_value | total_constraint )
|
7515
7519
|
alt_122 = 12
|
7516
7520
|
alt_122 = @dfa122.predict( @input )
|
7517
7521
|
case alt_122
|
@@ -7519,7 +7523,7 @@ module SfpLang
|
|
7519
7523
|
root_0 = @adaptor.create_flat_list
|
7520
7524
|
|
7521
7525
|
|
7522
|
-
# at line
|
7526
|
+
# at line 630:4: reference
|
7523
7527
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_constraint_statement_1864 )
|
7524
7528
|
reference303 = reference
|
7525
7529
|
@state.following.pop
|
@@ -7538,7 +7542,7 @@ module SfpLang
|
|
7538
7542
|
root_0 = @adaptor.create_flat_list
|
7539
7543
|
|
7540
7544
|
|
7541
|
-
# at line
|
7545
|
+
# at line 635:4: 'not' reference
|
7542
7546
|
string_literal304 = match( T__72, TOKENS_FOLLOWING_T__72_IN_constraint_statement_1873 )
|
7543
7547
|
tree_for_string_literal304 = @adaptor.create_with_payload( string_literal304 )
|
7544
7548
|
@adaptor.add_child( root_0, tree_for_string_literal304 )
|
@@ -7562,7 +7566,7 @@ module SfpLang
|
|
7562
7566
|
root_0 = @adaptor.create_flat_list
|
7563
7567
|
|
7564
7568
|
|
7565
|
-
# at line
|
7569
|
+
# at line 640:4: reference equals_op value
|
7566
7570
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_constraint_statement_1884 )
|
7567
7571
|
reference306 = reference
|
7568
7572
|
@state.following.pop
|
@@ -7591,7 +7595,7 @@ module SfpLang
|
|
7591
7595
|
root_0 = @adaptor.create_flat_list
|
7592
7596
|
|
7593
7597
|
|
7594
|
-
# at line
|
7598
|
+
# at line 645:4: reference equals_op NULL
|
7595
7599
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_constraint_statement_1897 )
|
7596
7600
|
reference309 = reference
|
7597
7601
|
@state.following.pop
|
@@ -7620,7 +7624,7 @@ module SfpLang
|
|
7620
7624
|
root_0 = @adaptor.create_flat_list
|
7621
7625
|
|
7622
7626
|
|
7623
|
-
# at line
|
7627
|
+
# at line 650:4: reference not_equals_op value
|
7624
7628
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_constraint_statement_1910 )
|
7625
7629
|
reference312 = reference
|
7626
7630
|
@state.following.pop
|
@@ -7649,7 +7653,7 @@ module SfpLang
|
|
7649
7653
|
root_0 = @adaptor.create_flat_list
|
7650
7654
|
|
7651
7655
|
|
7652
|
-
# at line
|
7656
|
+
# at line 655:4: reference not_equals_op NULL
|
7653
7657
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_constraint_statement_1923 )
|
7654
7658
|
reference315 = reference
|
7655
7659
|
@state.following.pop
|
@@ -7678,7 +7682,7 @@ module SfpLang
|
|
7678
7682
|
root_0 = @adaptor.create_flat_list
|
7679
7683
|
|
7680
7684
|
|
7681
|
-
# at line
|
7685
|
+
# at line 660:4: conditional_constraint
|
7682
7686
|
@state.following.push( TOKENS_FOLLOWING_conditional_constraint_IN_constraint_statement_1936 )
|
7683
7687
|
conditional_constraint318 = conditional_constraint
|
7684
7688
|
@state.following.pop
|
@@ -7697,13 +7701,13 @@ module SfpLang
|
|
7697
7701
|
root_0 = @adaptor.create_flat_list
|
7698
7702
|
|
7699
7703
|
|
7700
|
-
# at line
|
7704
|
+
# at line 665:4: reference ( 'is' )? 'in' set_value
|
7701
7705
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_constraint_statement_1945 )
|
7702
7706
|
reference319 = reference
|
7703
7707
|
@state.following.pop
|
7704
7708
|
@adaptor.add_child( root_0, reference319.tree )
|
7705
7709
|
|
7706
|
-
# at line
|
7710
|
+
# at line 665:14: ( 'is' )?
|
7707
7711
|
alt_121 = 2
|
7708
7712
|
look_121_0 = @input.peek( 1 )
|
7709
7713
|
|
@@ -7712,7 +7716,7 @@ module SfpLang
|
|
7712
7716
|
end
|
7713
7717
|
case alt_121
|
7714
7718
|
when 1
|
7715
|
-
# at line
|
7719
|
+
# at line 665:14: 'is'
|
7716
7720
|
string_literal320 = match( T__65, TOKENS_FOLLOWING_T__65_IN_constraint_statement_1947 )
|
7717
7721
|
tree_for_string_literal320 = @adaptor.create_with_payload( string_literal320 )
|
7718
7722
|
@adaptor.add_child( root_0, tree_for_string_literal320 )
|
@@ -7750,7 +7754,7 @@ module SfpLang
|
|
7750
7754
|
root_0 = @adaptor.create_flat_list
|
7751
7755
|
|
7752
7756
|
|
7753
|
-
# at line
|
7757
|
+
# at line 677:4: reference ( 'isnot' | 'isnt' | 'not' ) 'in' set_value
|
7754
7758
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_constraint_statement_1961 )
|
7755
7759
|
reference323 = reference
|
7756
7760
|
@state.following.pop
|
@@ -7805,7 +7809,7 @@ module SfpLang
|
|
7805
7809
|
root_0 = @adaptor.create_flat_list
|
7806
7810
|
|
7807
7811
|
|
7808
|
-
# at line
|
7812
|
+
# at line 692:4: reference 'has' value
|
7809
7813
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_constraint_statement_1982 )
|
7810
7814
|
reference327 = reference
|
7811
7815
|
@state.following.pop
|
@@ -7838,7 +7842,7 @@ module SfpLang
|
|
7838
7842
|
root_0 = @adaptor.create_flat_list
|
7839
7843
|
|
7840
7844
|
|
7841
|
-
# at line
|
7845
|
+
# at line 701:4: reference binary_comp comp_value
|
7842
7846
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_constraint_statement_1995 )
|
7843
7847
|
reference330 = reference
|
7844
7848
|
@state.following.pop
|
@@ -7867,7 +7871,7 @@ module SfpLang
|
|
7867
7871
|
root_0 = @adaptor.create_flat_list
|
7868
7872
|
|
7869
7873
|
|
7870
|
-
# at line
|
7874
|
+
# at line 706:4: total_constraint
|
7871
7875
|
@state.following.push( TOKENS_FOLLOWING_total_constraint_IN_constraint_statement_2008 )
|
7872
7876
|
total_constraint333 = total_constraint
|
7873
7877
|
@state.following.pop
|
@@ -7905,7 +7909,7 @@ module SfpLang
|
|
7905
7909
|
# parser rule total_constraint
|
7906
7910
|
#
|
7907
7911
|
# (in SfpLang.g)
|
7908
|
-
#
|
7912
|
+
# 709:1: total_constraint : 'total(' total_statement ')' binary_comp NUMBER ;
|
7909
7913
|
#
|
7910
7914
|
def total_constraint
|
7911
7915
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -7935,7 +7939,7 @@ module SfpLang
|
|
7935
7939
|
root_0 = @adaptor.create_flat_list
|
7936
7940
|
|
7937
7941
|
|
7938
|
-
# at line
|
7942
|
+
# at line 710:4: 'total(' total_statement ')' binary_comp NUMBER
|
7939
7943
|
string_literal334 = match( T__82, TOKENS_FOLLOWING_T__82_IN_total_constraint_2019 )
|
7940
7944
|
tree_for_string_literal334 = @adaptor.create_with_payload( string_literal334 )
|
7941
7945
|
@adaptor.add_child( root_0, tree_for_string_literal334 )
|
@@ -7992,7 +7996,7 @@ module SfpLang
|
|
7992
7996
|
# parser rule total_statement
|
7993
7997
|
#
|
7994
7998
|
# (in SfpLang.g)
|
7995
|
-
#
|
7999
|
+
# 713:1: total_statement : reference equals_op value ;
|
7996
8000
|
#
|
7997
8001
|
def total_statement
|
7998
8002
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -8017,7 +8021,7 @@ module SfpLang
|
|
8017
8021
|
root_0 = @adaptor.create_flat_list
|
8018
8022
|
|
8019
8023
|
|
8020
|
-
# at line
|
8024
|
+
# at line 714:4: reference equals_op value
|
8021
8025
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_total_statement_2038 )
|
8022
8026
|
reference339 = reference
|
8023
8027
|
@state.following.pop
|
@@ -8064,7 +8068,7 @@ module SfpLang
|
|
8064
8068
|
# parser rule comp_value
|
8065
8069
|
#
|
8066
8070
|
# (in SfpLang.g)
|
8067
|
-
#
|
8071
|
+
# 717:1: comp_value returns [val] : ( NUMBER | reference );
|
8068
8072
|
#
|
8069
8073
|
def comp_value
|
8070
8074
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -8086,7 +8090,7 @@ module SfpLang
|
|
8086
8090
|
tree_for_NUMBER342 = nil
|
8087
8091
|
|
8088
8092
|
begin
|
8089
|
-
# at line
|
8093
|
+
# at line 718:2: ( NUMBER | reference )
|
8090
8094
|
alt_123 = 2
|
8091
8095
|
look_123_0 = @input.peek( 1 )
|
8092
8096
|
|
@@ -8103,7 +8107,7 @@ module SfpLang
|
|
8103
8107
|
root_0 = @adaptor.create_flat_list
|
8104
8108
|
|
8105
8109
|
|
8106
|
-
# at line
|
8110
|
+
# at line 718:4: NUMBER
|
8107
8111
|
__NUMBER342__ = match( NUMBER, TOKENS_FOLLOWING_NUMBER_IN_comp_value_2057 )
|
8108
8112
|
tree_for_NUMBER342 = @adaptor.create_with_payload( __NUMBER342__ )
|
8109
8113
|
@adaptor.add_child( root_0, tree_for_NUMBER342 )
|
@@ -8119,7 +8123,7 @@ module SfpLang
|
|
8119
8123
|
root_0 = @adaptor.create_flat_list
|
8120
8124
|
|
8121
8125
|
|
8122
|
-
# at line
|
8126
|
+
# at line 720:4: reference
|
8123
8127
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_comp_value_2066 )
|
8124
8128
|
reference343 = reference
|
8125
8129
|
@state.following.pop
|
@@ -8162,7 +8166,7 @@ module SfpLang
|
|
8162
8166
|
# parser rule conditional_constraint
|
8163
8167
|
#
|
8164
8168
|
# (in SfpLang.g)
|
8165
|
-
#
|
8169
|
+
# 724:1: conditional_constraint returns [key, val] : 'if' conditional_constraint_if_part conditional_constraint_then_part ;
|
8166
8170
|
#
|
8167
8171
|
def conditional_constraint
|
8168
8172
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -8188,7 +8192,7 @@ module SfpLang
|
|
8188
8192
|
root_0 = @adaptor.create_flat_list
|
8189
8193
|
|
8190
8194
|
|
8191
|
-
# at line
|
8195
|
+
# at line 725:4: 'if' conditional_constraint_if_part conditional_constraint_then_part
|
8192
8196
|
string_literal344 = match( T__62, TOKENS_FOLLOWING_T__62_IN_conditional_constraint_2085 )
|
8193
8197
|
tree_for_string_literal344 = @adaptor.create_with_payload( string_literal344 )
|
8194
8198
|
@adaptor.add_child( root_0, tree_for_string_literal344 )
|
@@ -8249,7 +8253,7 @@ module SfpLang
|
|
8249
8253
|
# parser rule conditional_constraint_if_part
|
8250
8254
|
#
|
8251
8255
|
# (in SfpLang.g)
|
8252
|
-
#
|
8256
|
+
# 736:1: conditional_constraint_if_part : ( constraint_statement ( NL )* | '{' ( NL )+ constraint_body '}' ( NL )* );
|
8253
8257
|
#
|
8254
8258
|
def conditional_constraint_if_part
|
8255
8259
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -8280,7 +8284,7 @@ module SfpLang
|
|
8280
8284
|
tree_for_NL353 = nil
|
8281
8285
|
|
8282
8286
|
begin
|
8283
|
-
# at line
|
8287
|
+
# at line 737:2: ( constraint_statement ( NL )* | '{' ( NL )+ constraint_body '}' ( NL )* )
|
8284
8288
|
alt_127 = 2
|
8285
8289
|
look_127_0 = @input.peek( 1 )
|
8286
8290
|
|
@@ -8297,13 +8301,13 @@ module SfpLang
|
|
8297
8301
|
root_0 = @adaptor.create_flat_list
|
8298
8302
|
|
8299
8303
|
|
8300
|
-
# at line
|
8304
|
+
# at line 737:4: constraint_statement ( NL )*
|
8301
8305
|
@state.following.push( TOKENS_FOLLOWING_constraint_statement_IN_conditional_constraint_if_part_2112 )
|
8302
8306
|
constraint_statement347 = constraint_statement
|
8303
8307
|
@state.following.pop
|
8304
8308
|
@adaptor.add_child( root_0, constraint_statement347.tree )
|
8305
8309
|
|
8306
|
-
# at line
|
8310
|
+
# at line 737:25: ( NL )*
|
8307
8311
|
while true # decision 124
|
8308
8312
|
alt_124 = 2
|
8309
8313
|
look_124_0 = @input.peek( 1 )
|
@@ -8314,7 +8318,7 @@ module SfpLang
|
|
8314
8318
|
end
|
8315
8319
|
case alt_124
|
8316
8320
|
when 1
|
8317
|
-
# at line
|
8321
|
+
# at line 737:25: NL
|
8318
8322
|
__NL348__ = match( NL, TOKENS_FOLLOWING_NL_IN_conditional_constraint_if_part_2114 )
|
8319
8323
|
tree_for_NL348 = @adaptor.create_with_payload( __NL348__ )
|
8320
8324
|
@adaptor.add_child( root_0, tree_for_NL348 )
|
@@ -8341,7 +8345,7 @@ module SfpLang
|
|
8341
8345
|
root_0 = @adaptor.create_flat_list
|
8342
8346
|
|
8343
8347
|
|
8344
|
-
# at line
|
8348
|
+
# at line 744:4: '{' ( NL )+ constraint_body '}' ( NL )*
|
8345
8349
|
char_literal349 = match( T__84, TOKENS_FOLLOWING_T__84_IN_conditional_constraint_if_part_2124 )
|
8346
8350
|
tree_for_char_literal349 = @adaptor.create_with_payload( char_literal349 )
|
8347
8351
|
@adaptor.add_child( root_0, tree_for_char_literal349 )
|
@@ -8357,7 +8361,7 @@ module SfpLang
|
|
8357
8361
|
|
8358
8362
|
# <-- action
|
8359
8363
|
|
8360
|
-
# at file
|
8364
|
+
# at file 751:3: ( NL )+
|
8361
8365
|
match_count_125 = 0
|
8362
8366
|
while true
|
8363
8367
|
alt_125 = 2
|
@@ -8369,7 +8373,7 @@ module SfpLang
|
|
8369
8373
|
end
|
8370
8374
|
case alt_125
|
8371
8375
|
when 1
|
8372
|
-
# at line
|
8376
|
+
# at line 751:3: NL
|
8373
8377
|
__NL350__ = match( NL, TOKENS_FOLLOWING_NL_IN_conditional_constraint_if_part_2132 )
|
8374
8378
|
tree_for_NL350 = @adaptor.create_with_payload( __NL350__ )
|
8375
8379
|
@adaptor.add_child( root_0, tree_for_NL350 )
|
@@ -8397,7 +8401,7 @@ module SfpLang
|
|
8397
8401
|
@adaptor.add_child( root_0, tree_for_char_literal352 )
|
8398
8402
|
|
8399
8403
|
|
8400
|
-
# at line
|
8404
|
+
# at line 752:7: ( NL )*
|
8401
8405
|
while true # decision 126
|
8402
8406
|
alt_126 = 2
|
8403
8407
|
look_126_0 = @input.peek( 1 )
|
@@ -8408,7 +8412,7 @@ module SfpLang
|
|
8408
8412
|
end
|
8409
8413
|
case alt_126
|
8410
8414
|
when 1
|
8411
|
-
# at line
|
8415
|
+
# at line 752:7: NL
|
8412
8416
|
__NL353__ = match( NL, TOKENS_FOLLOWING_NL_IN_conditional_constraint_if_part_2141 )
|
8413
8417
|
tree_for_NL353 = @adaptor.create_with_payload( __NL353__ )
|
8414
8418
|
@adaptor.add_child( root_0, tree_for_NL353 )
|
@@ -8457,7 +8461,7 @@ module SfpLang
|
|
8457
8461
|
# parser rule conditional_constraint_then_part
|
8458
8462
|
#
|
8459
8463
|
# (in SfpLang.g)
|
8460
|
-
#
|
8464
|
+
# 756:1: conditional_constraint_then_part : ( 'then' constraint_statement | 'then' '{' ( NL )+ constraint_body '}' );
|
8461
8465
|
#
|
8462
8466
|
def conditional_constraint_then_part
|
8463
8467
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -8488,7 +8492,7 @@ module SfpLang
|
|
8488
8492
|
tree_for_char_literal360 = nil
|
8489
8493
|
|
8490
8494
|
begin
|
8491
|
-
# at line
|
8495
|
+
# at line 757:2: ( 'then' constraint_statement | 'then' '{' ( NL )+ constraint_body '}' )
|
8492
8496
|
alt_129 = 2
|
8493
8497
|
look_129_0 = @input.peek( 1 )
|
8494
8498
|
|
@@ -8512,7 +8516,7 @@ module SfpLang
|
|
8512
8516
|
root_0 = @adaptor.create_flat_list
|
8513
8517
|
|
8514
8518
|
|
8515
|
-
# at line
|
8519
|
+
# at line 757:4: 'then' constraint_statement
|
8516
8520
|
string_literal354 = match( T__81, TOKENS_FOLLOWING_T__81_IN_conditional_constraint_then_part_2157 )
|
8517
8521
|
tree_for_string_literal354 = @adaptor.create_with_payload( string_literal354 )
|
8518
8522
|
@adaptor.add_child( root_0, tree_for_string_literal354 )
|
@@ -8538,7 +8542,7 @@ module SfpLang
|
|
8538
8542
|
root_0 = @adaptor.create_flat_list
|
8539
8543
|
|
8540
8544
|
|
8541
|
-
# at line
|
8545
|
+
# at line 764:4: 'then' '{' ( NL )+ constraint_body '}'
|
8542
8546
|
string_literal356 = match( T__81, TOKENS_FOLLOWING_T__81_IN_conditional_constraint_then_part_2168 )
|
8543
8547
|
tree_for_string_literal356 = @adaptor.create_with_payload( string_literal356 )
|
8544
8548
|
@adaptor.add_child( root_0, tree_for_string_literal356 )
|
@@ -8559,7 +8563,7 @@ module SfpLang
|
|
8559
8563
|
@adaptor.add_child( root_0, tree_for_char_literal357 )
|
8560
8564
|
|
8561
8565
|
|
8562
|
-
# at file
|
8566
|
+
# at file 771:7: ( NL )+
|
8563
8567
|
match_count_128 = 0
|
8564
8568
|
while true
|
8565
8569
|
alt_128 = 2
|
@@ -8571,7 +8575,7 @@ module SfpLang
|
|
8571
8575
|
end
|
8572
8576
|
case alt_128
|
8573
8577
|
when 1
|
8574
|
-
# at line
|
8578
|
+
# at line 771:7: NL
|
8575
8579
|
__NL358__ = match( NL, TOKENS_FOLLOWING_NL_IN_conditional_constraint_then_part_2178 )
|
8576
8580
|
tree_for_NL358 = @adaptor.create_with_payload( __NL358__ )
|
8577
8581
|
@adaptor.add_child( root_0, tree_for_NL358 )
|
@@ -8636,7 +8640,7 @@ module SfpLang
|
|
8636
8640
|
# parser rule effect_body
|
8637
8641
|
#
|
8638
8642
|
# (in SfpLang.g)
|
8639
|
-
#
|
8643
|
+
# 775:1: effect_body : ( ( mutation | mutation_iterator ) ( NL )+ )* ;
|
8640
8644
|
#
|
8641
8645
|
def effect_body
|
8642
8646
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -8662,8 +8666,8 @@ module SfpLang
|
|
8662
8666
|
root_0 = @adaptor.create_flat_list
|
8663
8667
|
|
8664
8668
|
|
8665
|
-
# at line
|
8666
|
-
# at line
|
8669
|
+
# at line 776:4: ( ( mutation | mutation_iterator ) ( NL )+ )*
|
8670
|
+
# at line 776:4: ( ( mutation | mutation_iterator ) ( NL )+ )*
|
8667
8671
|
while true # decision 132
|
8668
8672
|
alt_132 = 2
|
8669
8673
|
look_132_0 = @input.peek( 1 )
|
@@ -8674,8 +8678,8 @@ module SfpLang
|
|
8674
8678
|
end
|
8675
8679
|
case alt_132
|
8676
8680
|
when 1
|
8677
|
-
# at line
|
8678
|
-
# at line
|
8681
|
+
# at line 777:4: ( mutation | mutation_iterator ) ( NL )+
|
8682
|
+
# at line 777:4: ( mutation | mutation_iterator )
|
8679
8683
|
alt_130 = 2
|
8680
8684
|
look_130_0 = @input.peek( 1 )
|
8681
8685
|
|
@@ -8689,7 +8693,7 @@ module SfpLang
|
|
8689
8693
|
end
|
8690
8694
|
case alt_130
|
8691
8695
|
when 1
|
8692
|
-
# at line
|
8696
|
+
# at line 777:6: mutation
|
8693
8697
|
@state.following.push( TOKENS_FOLLOWING_mutation_IN_effect_body_2205 )
|
8694
8698
|
mutation361 = mutation
|
8695
8699
|
@state.following.pop
|
@@ -8702,7 +8706,7 @@ module SfpLang
|
|
8702
8706
|
|
8703
8707
|
|
8704
8708
|
when 2
|
8705
|
-
# at line
|
8709
|
+
# at line 779:6: mutation_iterator
|
8706
8710
|
@state.following.push( TOKENS_FOLLOWING_mutation_iterator_IN_effect_body_2218 )
|
8707
8711
|
mutation_iterator362 = mutation_iterator
|
8708
8712
|
@state.following.pop
|
@@ -8710,7 +8714,7 @@ module SfpLang
|
|
8710
8714
|
|
8711
8715
|
|
8712
8716
|
end
|
8713
|
-
# at file
|
8717
|
+
# at file 781:3: ( NL )+
|
8714
8718
|
match_count_131 = 0
|
8715
8719
|
while true
|
8716
8720
|
alt_131 = 2
|
@@ -8722,7 +8726,7 @@ module SfpLang
|
|
8722
8726
|
end
|
8723
8727
|
case alt_131
|
8724
8728
|
when 1
|
8725
|
-
# at line
|
8729
|
+
# at line 781:3: NL
|
8726
8730
|
__NL363__ = match( NL, TOKENS_FOLLOWING_NL_IN_effect_body_2227 )
|
8727
8731
|
tree_for_NL363 = @adaptor.create_with_payload( __NL363__ )
|
8728
8732
|
@adaptor.add_child( root_0, tree_for_NL363 )
|
@@ -8777,7 +8781,7 @@ module SfpLang
|
|
8777
8781
|
# parser rule mutation_iterator
|
8778
8782
|
#
|
8779
8783
|
# (in SfpLang.g)
|
8780
|
-
#
|
8784
|
+
# 784:1: mutation_iterator : 'foreach' path 'as' ID ( NL )* '{' ( NL )+ ( mutation ( NL )+ )* '}' ;
|
8781
8785
|
#
|
8782
8786
|
def mutation_iterator
|
8783
8787
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -8817,7 +8821,7 @@ module SfpLang
|
|
8817
8821
|
root_0 = @adaptor.create_flat_list
|
8818
8822
|
|
8819
8823
|
|
8820
|
-
# at line
|
8824
|
+
# at line 785:4: 'foreach' path 'as' ID ( NL )* '{' ( NL )+ ( mutation ( NL )+ )* '}'
|
8821
8825
|
string_literal364 = match( T__57, TOKENS_FOLLOWING_T__57_IN_mutation_iterator_2242 )
|
8822
8826
|
tree_for_string_literal364 = @adaptor.create_with_payload( string_literal364 )
|
8823
8827
|
@adaptor.add_child( root_0, tree_for_string_literal364 )
|
@@ -8838,7 +8842,7 @@ module SfpLang
|
|
8838
8842
|
@adaptor.add_child( root_0, tree_for_ID367 )
|
8839
8843
|
|
8840
8844
|
|
8841
|
-
# at line
|
8845
|
+
# at line 785:27: ( NL )*
|
8842
8846
|
while true # decision 133
|
8843
8847
|
alt_133 = 2
|
8844
8848
|
look_133_0 = @input.peek( 1 )
|
@@ -8849,7 +8853,7 @@ module SfpLang
|
|
8849
8853
|
end
|
8850
8854
|
case alt_133
|
8851
8855
|
when 1
|
8852
|
-
# at line
|
8856
|
+
# at line 785:27: NL
|
8853
8857
|
__NL368__ = match( NL, TOKENS_FOLLOWING_NL_IN_mutation_iterator_2250 )
|
8854
8858
|
tree_for_NL368 = @adaptor.create_with_payload( __NL368__ )
|
8855
8859
|
@adaptor.add_child( root_0, tree_for_NL368 )
|
@@ -8866,7 +8870,7 @@ module SfpLang
|
|
8866
8870
|
@adaptor.add_child( root_0, tree_for_char_literal369 )
|
8867
8871
|
|
8868
8872
|
|
8869
|
-
# at file
|
8873
|
+
# at file 785:35: ( NL )+
|
8870
8874
|
match_count_134 = 0
|
8871
8875
|
while true
|
8872
8876
|
alt_134 = 2
|
@@ -8878,7 +8882,7 @@ module SfpLang
|
|
8878
8882
|
end
|
8879
8883
|
case alt_134
|
8880
8884
|
when 1
|
8881
|
-
# at line
|
8885
|
+
# at line 785:35: NL
|
8882
8886
|
__NL370__ = match( NL, TOKENS_FOLLOWING_NL_IN_mutation_iterator_2255 )
|
8883
8887
|
tree_for_NL370 = @adaptor.create_with_payload( __NL370__ )
|
8884
8888
|
@adaptor.add_child( root_0, tree_for_NL370 )
|
@@ -8909,7 +8913,7 @@ module SfpLang
|
|
8909
8913
|
|
8910
8914
|
# <-- action
|
8911
8915
|
|
8912
|
-
# at line
|
8916
|
+
# at line 795:3: ( mutation ( NL )+ )*
|
8913
8917
|
while true # decision 136
|
8914
8918
|
alt_136 = 2
|
8915
8919
|
look_136_0 = @input.peek( 1 )
|
@@ -8920,7 +8924,7 @@ module SfpLang
|
|
8920
8924
|
end
|
8921
8925
|
case alt_136
|
8922
8926
|
when 1
|
8923
|
-
# at line
|
8927
|
+
# at line 795:4: mutation ( NL )+
|
8924
8928
|
@state.following.push( TOKENS_FOLLOWING_mutation_IN_mutation_iterator_2265 )
|
8925
8929
|
mutation371 = mutation
|
8926
8930
|
@state.following.pop
|
@@ -8931,7 +8935,7 @@ module SfpLang
|
|
8931
8935
|
@now[( mutation371.nil? ? nil : mutation371.key )] = ( mutation371.nil? ? nil : mutation371.val )
|
8932
8936
|
# <-- action
|
8933
8937
|
|
8934
|
-
# at file
|
8938
|
+
# at file 797:3: ( NL )+
|
8935
8939
|
match_count_135 = 0
|
8936
8940
|
while true
|
8937
8941
|
alt_135 = 2
|
@@ -8943,7 +8947,7 @@ module SfpLang
|
|
8943
8947
|
end
|
8944
8948
|
case alt_135
|
8945
8949
|
when 1
|
8946
|
-
# at line
|
8950
|
+
# at line 797:3: NL
|
8947
8951
|
__NL372__ = match( NL, TOKENS_FOLLOWING_NL_IN_mutation_iterator_2273 )
|
8948
8952
|
tree_for_NL372 = @adaptor.create_with_payload( __NL372__ )
|
8949
8953
|
@adaptor.add_child( root_0, tree_for_NL372 )
|
@@ -9008,7 +9012,7 @@ module SfpLang
|
|
9008
9012
|
# parser rule mutation
|
9009
9013
|
#
|
9010
9014
|
# (in SfpLang.g)
|
9011
|
-
#
|
9015
|
+
# 802:1: mutation returns [key, val] : ( reference equals_op value | reference equals_op NULL | reference binary_op NUMBER | reference 'is' 'new' path ( object_body )? | 'delete' path | reference 'add(' value ')' | reference 'remove(' value ')' );
|
9012
9016
|
#
|
9013
9017
|
def mutation
|
9014
9018
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -9060,7 +9064,7 @@ module SfpLang
|
|
9060
9064
|
tree_for_char_literal397 = nil
|
9061
9065
|
|
9062
9066
|
begin
|
9063
|
-
# at line
|
9067
|
+
# at line 803:2: ( reference equals_op value | reference equals_op NULL | reference binary_op NUMBER | reference 'is' 'new' path ( object_body )? | 'delete' path | reference 'add(' value ')' | reference 'remove(' value ')' )
|
9064
9068
|
alt_138 = 7
|
9065
9069
|
alt_138 = @dfa138.predict( @input )
|
9066
9070
|
case alt_138
|
@@ -9068,7 +9072,7 @@ module SfpLang
|
|
9068
9072
|
root_0 = @adaptor.create_flat_list
|
9069
9073
|
|
9070
9074
|
|
9071
|
-
# at line
|
9075
|
+
# at line 803:4: reference equals_op value
|
9072
9076
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_mutation_2299 )
|
9073
9077
|
reference374 = reference
|
9074
9078
|
@state.following.pop
|
@@ -9100,7 +9104,7 @@ module SfpLang
|
|
9100
9104
|
root_0 = @adaptor.create_flat_list
|
9101
9105
|
|
9102
9106
|
|
9103
|
-
# at line
|
9107
|
+
# at line 811:4: reference equals_op NULL
|
9104
9108
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_mutation_2312 )
|
9105
9109
|
reference377 = reference
|
9106
9110
|
@state.following.pop
|
@@ -9132,7 +9136,7 @@ module SfpLang
|
|
9132
9136
|
root_0 = @adaptor.create_flat_list
|
9133
9137
|
|
9134
9138
|
|
9135
|
-
# at line
|
9139
|
+
# at line 819:4: reference binary_op NUMBER
|
9136
9140
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_mutation_2325 )
|
9137
9141
|
reference380 = reference
|
9138
9142
|
@state.following.pop
|
@@ -9164,7 +9168,7 @@ module SfpLang
|
|
9164
9168
|
root_0 = @adaptor.create_flat_list
|
9165
9169
|
|
9166
9170
|
|
9167
|
-
# at line
|
9171
|
+
# at line 827:4: reference 'is' 'new' path ( object_body )?
|
9168
9172
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_mutation_2338 )
|
9169
9173
|
reference383 = reference
|
9170
9174
|
@state.following.pop
|
@@ -9198,7 +9202,7 @@ module SfpLang
|
|
9198
9202
|
|
9199
9203
|
# <-- action
|
9200
9204
|
|
9201
|
-
# at line
|
9205
|
+
# at line 837:3: ( object_body )?
|
9202
9206
|
alt_137 = 2
|
9203
9207
|
look_137_0 = @input.peek( 1 )
|
9204
9208
|
|
@@ -9207,7 +9211,7 @@ module SfpLang
|
|
9207
9211
|
end
|
9208
9212
|
case alt_137
|
9209
9213
|
when 1
|
9210
|
-
# at line
|
9214
|
+
# at line 837:3: object_body
|
9211
9215
|
@state.following.push( TOKENS_FOLLOWING_object_body_IN_mutation_2352 )
|
9212
9216
|
object_body387 = object_body
|
9213
9217
|
@state.following.pop
|
@@ -9230,7 +9234,7 @@ module SfpLang
|
|
9230
9234
|
root_0 = @adaptor.create_flat_list
|
9231
9235
|
|
9232
9236
|
|
9233
|
-
# at line
|
9237
|
+
# at line 844:4: 'delete' path
|
9234
9238
|
string_literal388 = match( T__49, TOKENS_FOLLOWING_T__49_IN_mutation_2362 )
|
9235
9239
|
tree_for_string_literal388 = @adaptor.create_with_payload( string_literal388 )
|
9236
9240
|
@adaptor.add_child( root_0, tree_for_string_literal388 )
|
@@ -9258,7 +9262,7 @@ module SfpLang
|
|
9258
9262
|
root_0 = @adaptor.create_flat_list
|
9259
9263
|
|
9260
9264
|
|
9261
|
-
# at line
|
9265
|
+
# at line 853:4: reference 'add(' value ')'
|
9262
9266
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_mutation_2373 )
|
9263
9267
|
reference390 = reference
|
9264
9268
|
@state.following.pop
|
@@ -9295,7 +9299,7 @@ module SfpLang
|
|
9295
9299
|
root_0 = @adaptor.create_flat_list
|
9296
9300
|
|
9297
9301
|
|
9298
|
-
# at line
|
9302
|
+
# at line 861:4: reference 'remove(' value ')'
|
9299
9303
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_mutation_2388 )
|
9300
9304
|
reference394 = reference
|
9301
9305
|
@state.following.pop
|
@@ -9359,7 +9363,7 @@ module SfpLang
|
|
9359
9363
|
# parser rule set_value
|
9360
9364
|
#
|
9361
9365
|
# (in SfpLang.g)
|
9362
|
-
#
|
9366
|
+
# 871:1: set_value returns [val] : '(' ( set_item ( ',' ( NL )* set_item )* )? ')' ;
|
9363
9367
|
#
|
9364
9368
|
def set_value
|
9365
9369
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -9391,7 +9395,7 @@ module SfpLang
|
|
9391
9395
|
root_0 = @adaptor.create_flat_list
|
9392
9396
|
|
9393
9397
|
|
9394
|
-
# at line
|
9398
|
+
# at line 872:4: '(' ( set_item ( ',' ( NL )* set_item )* )? ')'
|
9395
9399
|
char_literal398 = match( T__19, TOKENS_FOLLOWING_T__19_IN_set_value_2413 )
|
9396
9400
|
tree_for_char_literal398 = @adaptor.create_with_payload( char_literal398 )
|
9397
9401
|
@adaptor.add_child( root_0, tree_for_char_literal398 )
|
@@ -9402,7 +9406,7 @@ module SfpLang
|
|
9402
9406
|
@set = Array.new
|
9403
9407
|
# <-- action
|
9404
9408
|
|
9405
|
-
# at line
|
9409
|
+
# at line 874:3: ( set_item ( ',' ( NL )* set_item )* )?
|
9406
9410
|
alt_141 = 2
|
9407
9411
|
look_141_0 = @input.peek( 1 )
|
9408
9412
|
|
@@ -9411,13 +9415,13 @@ module SfpLang
|
|
9411
9415
|
end
|
9412
9416
|
case alt_141
|
9413
9417
|
when 1
|
9414
|
-
# at line
|
9418
|
+
# at line 874:4: set_item ( ',' ( NL )* set_item )*
|
9415
9419
|
@state.following.push( TOKENS_FOLLOWING_set_item_IN_set_value_2422 )
|
9416
9420
|
set_item399 = set_item
|
9417
9421
|
@state.following.pop
|
9418
9422
|
@adaptor.add_child( root_0, set_item399.tree )
|
9419
9423
|
|
9420
|
-
# at line
|
9424
|
+
# at line 874:13: ( ',' ( NL )* set_item )*
|
9421
9425
|
while true # decision 140
|
9422
9426
|
alt_140 = 2
|
9423
9427
|
look_140_0 = @input.peek( 1 )
|
@@ -9428,13 +9432,13 @@ module SfpLang
|
|
9428
9432
|
end
|
9429
9433
|
case alt_140
|
9430
9434
|
when 1
|
9431
|
-
# at line
|
9435
|
+
# at line 874:14: ',' ( NL )* set_item
|
9432
9436
|
char_literal400 = match( T__23, TOKENS_FOLLOWING_T__23_IN_set_value_2425 )
|
9433
9437
|
tree_for_char_literal400 = @adaptor.create_with_payload( char_literal400 )
|
9434
9438
|
@adaptor.add_child( root_0, tree_for_char_literal400 )
|
9435
9439
|
|
9436
9440
|
|
9437
|
-
# at line
|
9441
|
+
# at line 874:18: ( NL )*
|
9438
9442
|
while true # decision 139
|
9439
9443
|
alt_139 = 2
|
9440
9444
|
look_139_0 = @input.peek( 1 )
|
@@ -9445,7 +9449,7 @@ module SfpLang
|
|
9445
9449
|
end
|
9446
9450
|
case alt_139
|
9447
9451
|
when 1
|
9448
|
-
# at line
|
9452
|
+
# at line 874:18: NL
|
9449
9453
|
__NL401__ = match( NL, TOKENS_FOLLOWING_NL_IN_set_value_2427 )
|
9450
9454
|
tree_for_NL401 = @adaptor.create_with_payload( __NL401__ )
|
9451
9455
|
@adaptor.add_child( root_0, tree_for_NL401 )
|
@@ -9511,7 +9515,7 @@ module SfpLang
|
|
9511
9515
|
# parser rule set_item
|
9512
9516
|
#
|
9513
9517
|
# (in SfpLang.g)
|
9514
|
-
#
|
9518
|
+
# 879:1: set_item : value ;
|
9515
9519
|
#
|
9516
9520
|
def set_item
|
9517
9521
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -9534,7 +9538,7 @@ module SfpLang
|
|
9534
9538
|
root_0 = @adaptor.create_flat_list
|
9535
9539
|
|
9536
9540
|
|
9537
|
-
# at line
|
9541
|
+
# at line 880:4: value
|
9538
9542
|
@state.following.push( TOKENS_FOLLOWING_value_IN_set_item_2453 )
|
9539
9543
|
value404 = value
|
9540
9544
|
@state.following.pop
|
@@ -9576,7 +9580,7 @@ module SfpLang
|
|
9576
9580
|
# parser rule value
|
9577
9581
|
#
|
9578
9582
|
# (in SfpLang.g)
|
9579
|
-
#
|
9583
|
+
# 884:1: value returns [val, type] : ( primitive_value | reference | set_value | 'any' );
|
9580
9584
|
#
|
9581
9585
|
def value
|
9582
9586
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -9600,7 +9604,7 @@ module SfpLang
|
|
9600
9604
|
tree_for_string_literal408 = nil
|
9601
9605
|
|
9602
9606
|
begin
|
9603
|
-
# at line
|
9607
|
+
# at line 885:2: ( primitive_value | reference | set_value | 'any' )
|
9604
9608
|
alt_142 = 4
|
9605
9609
|
case look_142 = @input.peek( 1 )
|
9606
9610
|
when BOOLEAN, MULTILINE_STRING, NUMBER, STRING then alt_142 = 1
|
@@ -9616,7 +9620,7 @@ module SfpLang
|
|
9616
9620
|
root_0 = @adaptor.create_flat_list
|
9617
9621
|
|
9618
9622
|
|
9619
|
-
# at line
|
9623
|
+
# at line 885:4: primitive_value
|
9620
9624
|
@state.following.push( TOKENS_FOLLOWING_primitive_value_IN_value_2472 )
|
9621
9625
|
primitive_value405 = primitive_value
|
9622
9626
|
@state.following.pop
|
@@ -9635,7 +9639,7 @@ module SfpLang
|
|
9635
9639
|
root_0 = @adaptor.create_flat_list
|
9636
9640
|
|
9637
9641
|
|
9638
|
-
# at line
|
9642
|
+
# at line 890:4: reference
|
9639
9643
|
@state.following.push( TOKENS_FOLLOWING_reference_IN_value_2481 )
|
9640
9644
|
reference406 = reference
|
9641
9645
|
@state.following.pop
|
@@ -9654,7 +9658,7 @@ module SfpLang
|
|
9654
9658
|
root_0 = @adaptor.create_flat_list
|
9655
9659
|
|
9656
9660
|
|
9657
|
-
# at line
|
9661
|
+
# at line 895:4: set_value
|
9658
9662
|
@state.following.push( TOKENS_FOLLOWING_set_value_IN_value_2490 )
|
9659
9663
|
set_value407 = set_value
|
9660
9664
|
@state.following.pop
|
@@ -9673,7 +9677,7 @@ module SfpLang
|
|
9673
9677
|
root_0 = @adaptor.create_flat_list
|
9674
9678
|
|
9675
9679
|
|
9676
|
-
# at line
|
9680
|
+
# at line 900:4: 'any'
|
9677
9681
|
string_literal408 = match( T__40, TOKENS_FOLLOWING_T__40_IN_value_2499 )
|
9678
9682
|
tree_for_string_literal408 = @adaptor.create_with_payload( string_literal408 )
|
9679
9683
|
@adaptor.add_child( root_0, tree_for_string_literal408 )
|
@@ -9719,7 +9723,7 @@ module SfpLang
|
|
9719
9723
|
# parser rule primitive_value
|
9720
9724
|
#
|
9721
9725
|
# (in SfpLang.g)
|
9722
|
-
#
|
9726
|
+
# 907:1: primitive_value returns [val, type] : ( BOOLEAN | NUMBER | STRING | MULTILINE_STRING );
|
9723
9727
|
#
|
9724
9728
|
def primitive_value
|
9725
9729
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -9746,7 +9750,7 @@ module SfpLang
|
|
9746
9750
|
tree_for_MULTILINE_STRING412 = nil
|
9747
9751
|
|
9748
9752
|
begin
|
9749
|
-
# at line
|
9753
|
+
# at line 908:2: ( BOOLEAN | NUMBER | STRING | MULTILINE_STRING )
|
9750
9754
|
alt_143 = 4
|
9751
9755
|
case look_143 = @input.peek( 1 )
|
9752
9756
|
when BOOLEAN then alt_143 = 1
|
@@ -9762,7 +9766,7 @@ module SfpLang
|
|
9762
9766
|
root_0 = @adaptor.create_flat_list
|
9763
9767
|
|
9764
9768
|
|
9765
|
-
# at line
|
9769
|
+
# at line 908:4: BOOLEAN
|
9766
9770
|
__BOOLEAN409__ = match( BOOLEAN, TOKENS_FOLLOWING_BOOLEAN_IN_primitive_value_2518 )
|
9767
9771
|
tree_for_BOOLEAN409 = @adaptor.create_with_payload( __BOOLEAN409__ )
|
9768
9772
|
@adaptor.add_child( root_0, tree_for_BOOLEAN409 )
|
@@ -9785,7 +9789,7 @@ module SfpLang
|
|
9785
9789
|
root_0 = @adaptor.create_flat_list
|
9786
9790
|
|
9787
9791
|
|
9788
|
-
# at line
|
9792
|
+
# at line 917:4: NUMBER
|
9789
9793
|
__NUMBER410__ = match( NUMBER, TOKENS_FOLLOWING_NUMBER_IN_primitive_value_2527 )
|
9790
9794
|
tree_for_NUMBER410 = @adaptor.create_with_payload( __NUMBER410__ )
|
9791
9795
|
@adaptor.add_child( root_0, tree_for_NUMBER410 )
|
@@ -9804,7 +9808,7 @@ module SfpLang
|
|
9804
9808
|
root_0 = @adaptor.create_flat_list
|
9805
9809
|
|
9806
9810
|
|
9807
|
-
# at line
|
9811
|
+
# at line 922:4: STRING
|
9808
9812
|
__STRING411__ = match( STRING, TOKENS_FOLLOWING_STRING_IN_primitive_value_2536 )
|
9809
9813
|
tree_for_STRING411 = @adaptor.create_with_payload( __STRING411__ )
|
9810
9814
|
@adaptor.add_child( root_0, tree_for_STRING411 )
|
@@ -9823,7 +9827,7 @@ module SfpLang
|
|
9823
9827
|
root_0 = @adaptor.create_flat_list
|
9824
9828
|
|
9825
9829
|
|
9826
|
-
# at line
|
9830
|
+
# at line 927:4: MULTILINE_STRING
|
9827
9831
|
__MULTILINE_STRING412__ = match( MULTILINE_STRING, TOKENS_FOLLOWING_MULTILINE_STRING_IN_primitive_value_2545 )
|
9828
9832
|
tree_for_MULTILINE_STRING412 = @adaptor.create_with_payload( __MULTILINE_STRING412__ )
|
9829
9833
|
@adaptor.add_child( root_0, tree_for_MULTILINE_STRING412 )
|
@@ -9869,7 +9873,7 @@ module SfpLang
|
|
9869
9873
|
# parser rule path
|
9870
9874
|
#
|
9871
9875
|
# (in SfpLang.g)
|
9872
|
-
#
|
9876
|
+
# 934:1: path : ID ( '.' ID )* ;
|
9873
9877
|
#
|
9874
9878
|
def path
|
9875
9879
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -9897,13 +9901,13 @@ module SfpLang
|
|
9897
9901
|
root_0 = @adaptor.create_flat_list
|
9898
9902
|
|
9899
9903
|
|
9900
|
-
# at line
|
9904
|
+
# at line 935:4: ID ( '.' ID )*
|
9901
9905
|
__ID413__ = match( ID, TOKENS_FOLLOWING_ID_IN_path_2560 )
|
9902
9906
|
tree_for_ID413 = @adaptor.create_with_payload( __ID413__ )
|
9903
9907
|
@adaptor.add_child( root_0, tree_for_ID413 )
|
9904
9908
|
|
9905
9909
|
|
9906
|
-
# at line
|
9910
|
+
# at line 935:6: ( '.' ID )*
|
9907
9911
|
while true # decision 144
|
9908
9912
|
alt_144 = 2
|
9909
9913
|
look_144_0 = @input.peek( 1 )
|
@@ -9914,7 +9918,7 @@ module SfpLang
|
|
9914
9918
|
end
|
9915
9919
|
case alt_144
|
9916
9920
|
when 1
|
9917
|
-
# at line
|
9921
|
+
# at line 935:7: '.' ID
|
9918
9922
|
char_literal414 = match( T__25, TOKENS_FOLLOWING_T__25_IN_path_2562 )
|
9919
9923
|
tree_for_char_literal414 = @adaptor.create_with_payload( char_literal414 )
|
9920
9924
|
@adaptor.add_child( root_0, tree_for_char_literal414 )
|
@@ -9962,7 +9966,7 @@ module SfpLang
|
|
9962
9966
|
# parser rule path_with_index
|
9963
9967
|
#
|
9964
9968
|
# (in SfpLang.g)
|
9965
|
-
#
|
9969
|
+
# 938:1: path_with_index : id_ref ( '.' id_ref )* ;
|
9966
9970
|
#
|
9967
9971
|
def path_with_index
|
9968
9972
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -9988,13 +9992,13 @@ module SfpLang
|
|
9988
9992
|
root_0 = @adaptor.create_flat_list
|
9989
9993
|
|
9990
9994
|
|
9991
|
-
# at line
|
9995
|
+
# at line 939:4: id_ref ( '.' id_ref )*
|
9992
9996
|
@state.following.push( TOKENS_FOLLOWING_id_ref_IN_path_with_index_2576 )
|
9993
9997
|
id_ref416 = id_ref
|
9994
9998
|
@state.following.pop
|
9995
9999
|
@adaptor.add_child( root_0, id_ref416.tree )
|
9996
10000
|
|
9997
|
-
# at line
|
10001
|
+
# at line 939:10: ( '.' id_ref )*
|
9998
10002
|
while true # decision 145
|
9999
10003
|
alt_145 = 2
|
10000
10004
|
look_145_0 = @input.peek( 1 )
|
@@ -10005,7 +10009,7 @@ module SfpLang
|
|
10005
10009
|
end
|
10006
10010
|
case alt_145
|
10007
10011
|
when 1
|
10008
|
-
# at line
|
10012
|
+
# at line 939:11: '.' id_ref
|
10009
10013
|
char_literal417 = match( T__25, TOKENS_FOLLOWING_T__25_IN_path_with_index_2578 )
|
10010
10014
|
tree_for_char_literal417 = @adaptor.create_with_payload( char_literal417 )
|
10011
10015
|
@adaptor.add_child( root_0, tree_for_char_literal417 )
|
@@ -10053,7 +10057,7 @@ module SfpLang
|
|
10053
10057
|
# parser rule id_ref
|
10054
10058
|
#
|
10055
10059
|
# (in SfpLang.g)
|
10056
|
-
#
|
10060
|
+
# 942:1: id_ref : ID ( '[' NUMBER ']' )? ;
|
10057
10061
|
#
|
10058
10062
|
def id_ref
|
10059
10063
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -10083,13 +10087,13 @@ module SfpLang
|
|
10083
10087
|
root_0 = @adaptor.create_flat_list
|
10084
10088
|
|
10085
10089
|
|
10086
|
-
# at line
|
10090
|
+
# at line 943:4: ID ( '[' NUMBER ']' )?
|
10087
10091
|
__ID419__ = match( ID, TOKENS_FOLLOWING_ID_IN_id_ref_2592 )
|
10088
10092
|
tree_for_ID419 = @adaptor.create_with_payload( __ID419__ )
|
10089
10093
|
@adaptor.add_child( root_0, tree_for_ID419 )
|
10090
10094
|
|
10091
10095
|
|
10092
|
-
# at line
|
10096
|
+
# at line 943:6: ( '[' NUMBER ']' )?
|
10093
10097
|
alt_146 = 2
|
10094
10098
|
look_146_0 = @input.peek( 1 )
|
10095
10099
|
|
@@ -10098,7 +10102,7 @@ module SfpLang
|
|
10098
10102
|
end
|
10099
10103
|
case alt_146
|
10100
10104
|
when 1
|
10101
|
-
# at line
|
10105
|
+
# at line 943:7: '[' NUMBER ']'
|
10102
10106
|
char_literal420 = match( T__34, TOKENS_FOLLOWING_T__34_IN_id_ref_2594 )
|
10103
10107
|
tree_for_char_literal420 = @adaptor.create_with_payload( char_literal420 )
|
10104
10108
|
@adaptor.add_child( root_0, tree_for_char_literal420 )
|
@@ -10147,7 +10151,7 @@ module SfpLang
|
|
10147
10151
|
# parser rule reference
|
10148
10152
|
#
|
10149
10153
|
# (in SfpLang.g)
|
10150
|
-
#
|
10154
|
+
# 946:1: reference returns [val] : path_with_index ;
|
10151
10155
|
#
|
10152
10156
|
def reference
|
10153
10157
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -10170,7 +10174,7 @@ module SfpLang
|
|
10170
10174
|
root_0 = @adaptor.create_flat_list
|
10171
10175
|
|
10172
10176
|
|
10173
|
-
# at line
|
10177
|
+
# at line 947:4: path_with_index
|
10174
10178
|
@state.following.push( TOKENS_FOLLOWING_path_with_index_IN_reference_2615 )
|
10175
10179
|
path_with_index423 = path_with_index
|
10176
10180
|
@state.following.pop
|
@@ -10212,7 +10216,7 @@ module SfpLang
|
|
10212
10216
|
# parser rule reference_type
|
10213
10217
|
#
|
10214
10218
|
# (in SfpLang.g)
|
10215
|
-
#
|
10219
|
+
# 951:1: reference_type returns [val] : 'isref' path ;
|
10216
10220
|
#
|
10217
10221
|
def reference_type
|
10218
10222
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -10237,7 +10241,7 @@ module SfpLang
|
|
10237
10241
|
root_0 = @adaptor.create_flat_list
|
10238
10242
|
|
10239
10243
|
|
10240
|
-
# at line
|
10244
|
+
# at line 952:4: 'isref' path
|
10241
10245
|
string_literal424 = match( T__69, TOKENS_FOLLOWING_T__69_IN_reference_type_2634 )
|
10242
10246
|
tree_for_string_literal424 = @adaptor.create_with_payload( string_literal424 )
|
10243
10247
|
@adaptor.add_child( root_0, tree_for_string_literal424 )
|
@@ -10288,7 +10292,7 @@ module SfpLang
|
|
10288
10292
|
# parser rule set_type
|
10289
10293
|
#
|
10290
10294
|
# (in SfpLang.g)
|
10291
|
-
#
|
10295
|
+
# 960:1: set_type returns [val] : 'isset' path ;
|
10292
10296
|
#
|
10293
10297
|
def set_type
|
10294
10298
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -10313,7 +10317,7 @@ module SfpLang
|
|
10313
10317
|
root_0 = @adaptor.create_flat_list
|
10314
10318
|
|
10315
10319
|
|
10316
|
-
# at line
|
10320
|
+
# at line 961:4: 'isset' path
|
10317
10321
|
string_literal426 = match( T__70, TOKENS_FOLLOWING_T__70_IN_set_type_2655 )
|
10318
10322
|
tree_for_string_literal426 = @adaptor.create_with_payload( string_literal426 )
|
10319
10323
|
@adaptor.add_child( root_0, tree_for_string_literal426 )
|
@@ -10365,7 +10369,7 @@ module SfpLang
|
|
10365
10369
|
# parser rule probability_op
|
10366
10370
|
#
|
10367
10371
|
# (in SfpLang.g)
|
10368
|
-
#
|
10372
|
+
# 970:1: probability_op : 'either' ;
|
10369
10373
|
#
|
10370
10374
|
def probability_op
|
10371
10375
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -10389,7 +10393,7 @@ module SfpLang
|
|
10389
10393
|
root_0 = @adaptor.create_flat_list
|
10390
10394
|
|
10391
10395
|
|
10392
|
-
# at line
|
10396
|
+
# at line 971:4: 'either'
|
10393
10397
|
string_literal428 = match( T__52, TOKENS_FOLLOWING_T__52_IN_probability_op_2672 )
|
10394
10398
|
tree_for_string_literal428 = @adaptor.create_with_payload( string_literal428 )
|
10395
10399
|
@adaptor.add_child( root_0, tree_for_string_literal428 )
|
@@ -10426,7 +10430,7 @@ module SfpLang
|
|
10426
10430
|
# parser rule equals_op
|
10427
10431
|
#
|
10428
10432
|
# (in SfpLang.g)
|
10429
|
-
#
|
10433
|
+
# 974:1: equals_op : ( '=' | 'is' );
|
10430
10434
|
#
|
10431
10435
|
def equals_op
|
10432
10436
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -10497,7 +10501,7 @@ module SfpLang
|
|
10497
10501
|
# parser rule not_equals_op
|
10498
10502
|
#
|
10499
10503
|
# (in SfpLang.g)
|
10500
|
-
#
|
10504
|
+
# 979:1: not_equals_op : ( '!=' | 'isnt' | 'isnot' );
|
10501
10505
|
#
|
10502
10506
|
def not_equals_op
|
10503
10507
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -10568,7 +10572,7 @@ module SfpLang
|
|
10568
10572
|
# parser rule binary_op
|
10569
10573
|
#
|
10570
10574
|
# (in SfpLang.g)
|
10571
|
-
#
|
10575
|
+
# 985:1: binary_op : ( '+=' | '-=' | '*=' | '/=' );
|
10572
10576
|
#
|
10573
10577
|
def binary_op
|
10574
10578
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -10639,7 +10643,7 @@ module SfpLang
|
|
10639
10643
|
# parser rule binary_comp
|
10640
10644
|
#
|
10641
10645
|
# (in SfpLang.g)
|
10642
|
-
#
|
10646
|
+
# 992:1: binary_comp : ( '>' | '>=' | '<' | '<=' );
|
10643
10647
|
#
|
10644
10648
|
def binary_comp
|
10645
10649
|
# -> uncomment the next line to manually enable rule tracing
|
@@ -10732,7 +10736,7 @@ module SfpLang
|
|
10732
10736
|
|
10733
10737
|
def description
|
10734
10738
|
<<-'__dfa_description__'.strip!
|
10735
|
-
()* loopback of
|
10739
|
+
()* loopback of 266:3: ( ( NL )* 'or' ( NL )* '{' ( NL )* constraint_body '}' )*
|
10736
10740
|
__dfa_description__
|
10737
10741
|
end
|
10738
10742
|
|
@@ -10774,7 +10778,7 @@ module SfpLang
|
|
10774
10778
|
|
10775
10779
|
def description
|
10776
10780
|
<<-'__dfa_description__'.strip!
|
10777
|
-
|
10781
|
+
428:4: ( constraint_statement | constraint_namespace | constraint_iterator | constraint_class_quantification )
|
10778
10782
|
__dfa_description__
|
10779
10783
|
end
|
10780
10784
|
|
@@ -10815,7 +10819,7 @@ module SfpLang
|
|
10815
10819
|
|
10816
10820
|
def description
|
10817
10821
|
<<-'__dfa_description__'.strip!
|
10818
|
-
|
10822
|
+
529:4: ( constraint_statement | constraint_namespace | constraint_iterator | constraint_class_quantification )
|
10819
10823
|
__dfa_description__
|
10820
10824
|
end
|
10821
10825
|
|
@@ -10885,7 +10889,7 @@ module SfpLang
|
|
10885
10889
|
|
10886
10890
|
def description
|
10887
10891
|
<<-'__dfa_description__'.strip!
|
10888
|
-
|
10892
|
+
629:1: constraint_statement returns [key, val] : ( reference | 'not' reference | reference equals_op value | reference equals_op NULL | reference not_equals_op value | reference not_equals_op NULL | conditional_constraint | reference ( 'is' )? 'in' set_value | reference ( 'isnot' | 'isnt' | 'not' ) 'in' set_value | reference 'has' value | reference binary_comp comp_value | total_constraint );
|
10889
10893
|
__dfa_description__
|
10890
10894
|
end
|
10891
10895
|
|
@@ -10941,7 +10945,7 @@ module SfpLang
|
|
10941
10945
|
|
10942
10946
|
def description
|
10943
10947
|
<<-'__dfa_description__'.strip!
|
10944
|
-
|
10948
|
+
802:1: mutation returns [key, val] : ( reference equals_op value | reference equals_op NULL | reference binary_op NUMBER | reference 'is' 'new' path ( object_body )? | 'delete' path | reference 'add(' value ')' | reference 'remove(' value ')' );
|
10945
10949
|
__dfa_description__
|
10946
10950
|
end
|
10947
10951
|
|