sfp 0.3.22 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
|