diff options
author | Aleksey Kladov <[email protected]> | 2018-02-17 22:06:48 +0000 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2018-02-17 22:06:48 +0000 |
commit | c6f4a06b4297f498da4bc2cd747aa38effb855b0 (patch) | |
tree | a383a2e71da6029bbd6a5669b5f9d2b99a1b0a92 /tests/data/parser/inline | |
parent | 8c4c5b5b802a204bfeef52e215358ae838900f1f (diff) |
G: value_parameters, patterns & let statement
Diffstat (limited to 'tests/data/parser/inline')
-rw-r--r-- | tests/data/parser/inline/0001_const_unsafe_fn.txt | 9 | ||||
-rw-r--r-- | tests/data/parser/inline/0002_const_fn.txt | 9 | ||||
-rw-r--r-- | tests/data/parser/inline/0004_extern_fn.txt | 9 | ||||
-rw-r--r-- | tests/data/parser/inline/0011_unsafe_fn.txt | 9 | ||||
-rw-r--r-- | tests/data/parser/inline/0012_unsafe_extern_fn.txt | 9 | ||||
-rw-r--r-- | tests/data/parser/inline/0013_unsafe_block_in_mod.txt | 14 | ||||
-rw-r--r-- | tests/data/parser/inline/0033_fn_value_parameters.rs | 4 | ||||
-rw-r--r-- | tests/data/parser/inline/0033_fn_value_parameters.txt | 95 | ||||
-rw-r--r-- | tests/data/parser/inline/0034_bind_pat.rs | 6 | ||||
-rw-r--r-- | tests/data/parser/inline/0034_bind_pat.txt | 81 | ||||
-rw-r--r-- | tests/data/parser/inline/0035_ref_pat.rs | 4 | ||||
-rw-r--r-- | tests/data/parser/inline/0035_ref_pat.txt | 48 | ||||
-rw-r--r-- | tests/data/parser/inline/0036_placeholder_pat.rs | 1 | ||||
-rw-r--r-- | tests/data/parser/inline/0036_placeholder_pat.txt | 27 |
14 files changed, 299 insertions, 26 deletions
diff --git a/tests/data/parser/inline/0001_const_unsafe_fn.txt b/tests/data/parser/inline/0001_const_unsafe_fn.txt index 59bf89ddb..48de02284 100644 --- a/tests/data/parser/inline/0001_const_unsafe_fn.txt +++ b/tests/data/parser/inline/0001_const_unsafe_fn.txt | |||
@@ -10,7 +10,8 @@ FILE@[0; 25) | |||
10 | IDENT@[16; 19) "foo" | 10 | IDENT@[16; 19) "foo" |
11 | L_PAREN@[19; 20) | 11 | L_PAREN@[19; 20) |
12 | R_PAREN@[20; 21) | 12 | R_PAREN@[20; 21) |
13 | WHITESPACE@[21; 22) | 13 | BLOCK@[21; 25) |
14 | L_CURLY@[22; 23) | 14 | WHITESPACE@[21; 22) |
15 | R_CURLY@[23; 24) | 15 | L_CURLY@[22; 23) |
16 | WHITESPACE@[24; 25) | 16 | R_CURLY@[23; 24) |
17 | WHITESPACE@[24; 25) | ||
diff --git a/tests/data/parser/inline/0002_const_fn.txt b/tests/data/parser/inline/0002_const_fn.txt index 2e9d18f7f..733e47656 100644 --- a/tests/data/parser/inline/0002_const_fn.txt +++ b/tests/data/parser/inline/0002_const_fn.txt | |||
@@ -8,7 +8,8 @@ FILE@[0; 18) | |||
8 | IDENT@[9; 12) "foo" | 8 | IDENT@[9; 12) "foo" |
9 | L_PAREN@[12; 13) | 9 | L_PAREN@[12; 13) |
10 | R_PAREN@[13; 14) | 10 | R_PAREN@[13; 14) |
11 | WHITESPACE@[14; 15) | 11 | BLOCK@[14; 18) |
12 | L_CURLY@[15; 16) | 12 | WHITESPACE@[14; 15) |
13 | R_CURLY@[16; 17) | 13 | L_CURLY@[15; 16) |
14 | WHITESPACE@[17; 18) | 14 | R_CURLY@[16; 17) |
15 | WHITESPACE@[17; 18) | ||
diff --git a/tests/data/parser/inline/0004_extern_fn.txt b/tests/data/parser/inline/0004_extern_fn.txt index 70a909ccf..1caeffe3b 100644 --- a/tests/data/parser/inline/0004_extern_fn.txt +++ b/tests/data/parser/inline/0004_extern_fn.txt | |||
@@ -9,7 +9,8 @@ FILE@[0; 19) | |||
9 | IDENT@[10; 13) "foo" | 9 | IDENT@[10; 13) "foo" |
10 | L_PAREN@[13; 14) | 10 | L_PAREN@[13; 14) |
11 | R_PAREN@[14; 15) | 11 | R_PAREN@[14; 15) |
12 | WHITESPACE@[15; 16) | 12 | BLOCK@[15; 19) |
13 | L_CURLY@[16; 17) | 13 | WHITESPACE@[15; 16) |
14 | R_CURLY@[17; 18) | 14 | L_CURLY@[16; 17) |
15 | WHITESPACE@[18; 19) | 15 | R_CURLY@[17; 18) |
16 | WHITESPACE@[18; 19) | ||
diff --git a/tests/data/parser/inline/0011_unsafe_fn.txt b/tests/data/parser/inline/0011_unsafe_fn.txt index ed790fe22..d89ad451f 100644 --- a/tests/data/parser/inline/0011_unsafe_fn.txt +++ b/tests/data/parser/inline/0011_unsafe_fn.txt | |||
@@ -8,7 +8,8 @@ FILE@[0; 19) | |||
8 | IDENT@[10; 13) "foo" | 8 | IDENT@[10; 13) "foo" |
9 | L_PAREN@[13; 14) | 9 | L_PAREN@[13; 14) |
10 | R_PAREN@[14; 15) | 10 | R_PAREN@[14; 15) |
11 | WHITESPACE@[15; 16) | 11 | BLOCK@[15; 19) |
12 | L_CURLY@[16; 17) | 12 | WHITESPACE@[15; 16) |
13 | R_CURLY@[17; 18) | 13 | L_CURLY@[16; 17) |
14 | WHITESPACE@[18; 19) | 14 | R_CURLY@[17; 18) |
15 | WHITESPACE@[18; 19) | ||
diff --git a/tests/data/parser/inline/0012_unsafe_extern_fn.txt b/tests/data/parser/inline/0012_unsafe_extern_fn.txt index 3c8a15d12..b4c602380 100644 --- a/tests/data/parser/inline/0012_unsafe_extern_fn.txt +++ b/tests/data/parser/inline/0012_unsafe_extern_fn.txt | |||
@@ -13,7 +13,8 @@ FILE@[0; 30) | |||
13 | IDENT@[21; 24) "foo" | 13 | IDENT@[21; 24) "foo" |
14 | L_PAREN@[24; 25) | 14 | L_PAREN@[24; 25) |
15 | R_PAREN@[25; 26) | 15 | R_PAREN@[25; 26) |
16 | WHITESPACE@[26; 27) | 16 | BLOCK@[26; 30) |
17 | L_CURLY@[27; 28) | 17 | WHITESPACE@[26; 27) |
18 | R_CURLY@[28; 29) | 18 | L_CURLY@[27; 28) |
19 | WHITESPACE@[29; 30) | 19 | R_CURLY@[28; 29) |
20 | WHITESPACE@[29; 30) | ||
diff --git a/tests/data/parser/inline/0013_unsafe_block_in_mod.txt b/tests/data/parser/inline/0013_unsafe_block_in_mod.txt index 305e3058d..5ddc1736c 100644 --- a/tests/data/parser/inline/0013_unsafe_block_in_mod.txt +++ b/tests/data/parser/inline/0013_unsafe_block_in_mod.txt | |||
@@ -6,9 +6,10 @@ FILE@[0; 33) | |||
6 | IDENT@[3; 6) "foo" | 6 | IDENT@[3; 6) "foo" |
7 | L_PAREN@[6; 7) | 7 | L_PAREN@[6; 7) |
8 | R_PAREN@[7; 8) | 8 | R_PAREN@[7; 8) |
9 | L_CURLY@[8; 9) | 9 | BLOCK@[8; 11) |
10 | R_CURLY@[9; 10) | 10 | L_CURLY@[8; 9) |
11 | WHITESPACE@[10; 11) | 11 | R_CURLY@[9; 10) |
12 | WHITESPACE@[10; 11) | ||
12 | UNSAFE_KW@[11; 17) | 13 | UNSAFE_KW@[11; 17) |
13 | ERROR@[17; 22) | 14 | ERROR@[17; 22) |
14 | err: `expected `trait`, `impl` or `fn`` | 15 | err: `expected `trait`, `impl` or `fn`` |
@@ -24,6 +25,7 @@ FILE@[0; 33) | |||
24 | IDENT@[25; 28) "bar" | 25 | IDENT@[25; 28) "bar" |
25 | L_PAREN@[28; 29) | 26 | L_PAREN@[28; 29) |
26 | R_PAREN@[29; 30) | 27 | R_PAREN@[29; 30) |
27 | L_CURLY@[30; 31) | 28 | BLOCK@[30; 33) |
28 | R_CURLY@[31; 32) | 29 | L_CURLY@[30; 31) |
29 | WHITESPACE@[32; 33) | 30 | R_CURLY@[31; 32) |
31 | WHITESPACE@[32; 33) | ||
diff --git a/tests/data/parser/inline/0033_fn_value_parameters.rs b/tests/data/parser/inline/0033_fn_value_parameters.rs new file mode 100644 index 000000000..9d55bedbb --- /dev/null +++ b/tests/data/parser/inline/0033_fn_value_parameters.rs | |||
@@ -0,0 +1,4 @@ | |||
1 | fn a() {} | ||
2 | fn b(x: i32) {} | ||
3 | fn c(x: i32, ) {} | ||
4 | fn d(x: i32, y: ()) {} | ||
diff --git a/tests/data/parser/inline/0033_fn_value_parameters.txt b/tests/data/parser/inline/0033_fn_value_parameters.txt new file mode 100644 index 000000000..b0a5ff6b4 --- /dev/null +++ b/tests/data/parser/inline/0033_fn_value_parameters.txt | |||
@@ -0,0 +1,95 @@ | |||
1 | FILE@[0; 67) | ||
2 | FN_ITEM@[0; 10) | ||
3 | FN_KW@[0; 2) | ||
4 | NAME@[2; 4) | ||
5 | WHITESPACE@[2; 3) | ||
6 | IDENT@[3; 4) "a" | ||
7 | L_PAREN@[4; 5) | ||
8 | R_PAREN@[5; 6) | ||
9 | BLOCK@[6; 10) | ||
10 | WHITESPACE@[6; 7) | ||
11 | L_CURLY@[7; 8) | ||
12 | R_CURLY@[8; 9) | ||
13 | WHITESPACE@[9; 10) | ||
14 | FN_ITEM@[10; 26) | ||
15 | FN_KW@[10; 12) | ||
16 | NAME@[12; 14) | ||
17 | WHITESPACE@[12; 13) | ||
18 | IDENT@[13; 14) "b" | ||
19 | L_PAREN@[14; 15) | ||
20 | VALUE_PARAMETER@[15; 21) | ||
21 | BIND_PAT@[15; 16) | ||
22 | NAME@[15; 16) | ||
23 | IDENT@[15; 16) "x" | ||
24 | COLON@[16; 17) | ||
25 | PATH_TYPE@[17; 21) | ||
26 | PATH@[17; 21) | ||
27 | PATH_SEGMENT@[17; 21) | ||
28 | NAME_REF@[17; 21) | ||
29 | WHITESPACE@[17; 18) | ||
30 | IDENT@[18; 21) "i32" | ||
31 | R_PAREN@[21; 22) | ||
32 | BLOCK@[22; 26) | ||
33 | WHITESPACE@[22; 23) | ||
34 | L_CURLY@[23; 24) | ||
35 | R_CURLY@[24; 25) | ||
36 | WHITESPACE@[25; 26) | ||
37 | FN_ITEM@[26; 44) | ||
38 | FN_KW@[26; 28) | ||
39 | NAME@[28; 30) | ||
40 | WHITESPACE@[28; 29) | ||
41 | IDENT@[29; 30) "c" | ||
42 | L_PAREN@[30; 31) | ||
43 | VALUE_PARAMETER@[31; 37) | ||
44 | BIND_PAT@[31; 32) | ||
45 | NAME@[31; 32) | ||
46 | IDENT@[31; 32) "x" | ||
47 | COLON@[32; 33) | ||
48 | PATH_TYPE@[33; 37) | ||
49 | PATH@[33; 37) | ||
50 | PATH_SEGMENT@[33; 37) | ||
51 | NAME_REF@[33; 37) | ||
52 | WHITESPACE@[33; 34) | ||
53 | IDENT@[34; 37) "i32" | ||
54 | COMMA@[37; 38) | ||
55 | WHITESPACE@[38; 39) | ||
56 | R_PAREN@[39; 40) | ||
57 | BLOCK@[40; 44) | ||
58 | WHITESPACE@[40; 41) | ||
59 | L_CURLY@[41; 42) | ||
60 | R_CURLY@[42; 43) | ||
61 | WHITESPACE@[43; 44) | ||
62 | FN_ITEM@[44; 67) | ||
63 | FN_KW@[44; 46) | ||
64 | NAME@[46; 48) | ||
65 | WHITESPACE@[46; 47) | ||
66 | IDENT@[47; 48) "d" | ||
67 | L_PAREN@[48; 49) | ||
68 | VALUE_PARAMETER@[49; 55) | ||
69 | BIND_PAT@[49; 50) | ||
70 | NAME@[49; 50) | ||
71 | IDENT@[49; 50) "x" | ||
72 | COLON@[50; 51) | ||
73 | PATH_TYPE@[51; 55) | ||
74 | PATH@[51; 55) | ||
75 | PATH_SEGMENT@[51; 55) | ||
76 | NAME_REF@[51; 55) | ||
77 | WHITESPACE@[51; 52) | ||
78 | IDENT@[52; 55) "i32" | ||
79 | COMMA@[55; 56) | ||
80 | VALUE_PARAMETER@[56; 62) | ||
81 | BIND_PAT@[56; 58) | ||
82 | NAME@[56; 58) | ||
83 | WHITESPACE@[56; 57) | ||
84 | IDENT@[57; 58) "y" | ||
85 | COLON@[58; 59) | ||
86 | TUPLE_TYPE@[59; 62) | ||
87 | WHITESPACE@[59; 60) | ||
88 | L_PAREN@[60; 61) | ||
89 | R_PAREN@[61; 62) | ||
90 | R_PAREN@[62; 63) | ||
91 | BLOCK@[63; 67) | ||
92 | WHITESPACE@[63; 64) | ||
93 | L_CURLY@[64; 65) | ||
94 | R_CURLY@[65; 66) | ||
95 | WHITESPACE@[66; 67) | ||
diff --git a/tests/data/parser/inline/0034_bind_pat.rs b/tests/data/parser/inline/0034_bind_pat.rs new file mode 100644 index 000000000..604db2407 --- /dev/null +++ b/tests/data/parser/inline/0034_bind_pat.rs | |||
@@ -0,0 +1,6 @@ | |||
1 | fn main() { | ||
2 | let a = (); | ||
3 | let ref b = (); | ||
4 | let ref mut c = (); | ||
5 | let d @ _ = (); | ||
6 | } | ||
diff --git a/tests/data/parser/inline/0034_bind_pat.txt b/tests/data/parser/inline/0034_bind_pat.txt new file mode 100644 index 000000000..426e37e97 --- /dev/null +++ b/tests/data/parser/inline/0034_bind_pat.txt | |||
@@ -0,0 +1,81 @@ | |||
1 | FILE@[0; 94) | ||
2 | FN_ITEM@[0; 94) | ||
3 | FN_KW@[0; 2) | ||
4 | NAME@[2; 7) | ||
5 | WHITESPACE@[2; 3) | ||
6 | IDENT@[3; 7) "main" | ||
7 | L_PAREN@[7; 8) | ||
8 | R_PAREN@[8; 9) | ||
9 | BLOCK@[9; 94) | ||
10 | WHITESPACE@[9; 10) | ||
11 | L_CURLY@[10; 11) | ||
12 | LET_STMT@[11; 32) | ||
13 | WHITESPACE@[11; 16) | ||
14 | LET_KW@[16; 19) | ||
15 | BIND_PAT@[19; 22) | ||
16 | NAME@[19; 22) | ||
17 | WHITESPACE@[19; 20) | ||
18 | IDENT@[20; 21) "a" | ||
19 | WHITESPACE@[21; 22) | ||
20 | EQ@[22; 23) | ||
21 | TUPLE_EXPR@[23; 26) | ||
22 | WHITESPACE@[23; 24) | ||
23 | L_PAREN@[24; 25) | ||
24 | R_PAREN@[25; 26) | ||
25 | SEMI@[26; 27) | ||
26 | WHITESPACE@[27; 32) | ||
27 | LET_STMT@[32; 52) | ||
28 | LET_KW@[32; 35) | ||
29 | BIND_PAT@[35; 42) | ||
30 | WHITESPACE@[35; 36) | ||
31 | REF_KW@[36; 39) | ||
32 | NAME@[39; 42) | ||
33 | WHITESPACE@[39; 40) | ||
34 | IDENT@[40; 41) "b" | ||
35 | WHITESPACE@[41; 42) | ||
36 | EQ@[42; 43) | ||
37 | TUPLE_EXPR@[43; 46) | ||
38 | WHITESPACE@[43; 44) | ||
39 | L_PAREN@[44; 45) | ||
40 | R_PAREN@[45; 46) | ||
41 | SEMI@[46; 47) | ||
42 | WHITESPACE@[47; 52) | ||
43 | LET_STMT@[52; 76) | ||
44 | LET_KW@[52; 55) | ||
45 | BIND_PAT@[55; 66) | ||
46 | WHITESPACE@[55; 56) | ||
47 | REF_KW@[56; 59) | ||
48 | WHITESPACE@[59; 60) | ||
49 | MUT_KW@[60; 63) | ||
50 | NAME@[63; 66) | ||
51 | WHITESPACE@[63; 64) | ||
52 | IDENT@[64; 65) "c" | ||
53 | WHITESPACE@[65; 66) | ||
54 | EQ@[66; 67) | ||
55 | TUPLE_EXPR@[67; 70) | ||
56 | WHITESPACE@[67; 68) | ||
57 | L_PAREN@[68; 69) | ||
58 | R_PAREN@[69; 70) | ||
59 | SEMI@[70; 71) | ||
60 | WHITESPACE@[71; 76) | ||
61 | LET_STMT@[76; 92) | ||
62 | LET_KW@[76; 79) | ||
63 | BIND_PAT@[79; 86) | ||
64 | NAME@[79; 82) | ||
65 | WHITESPACE@[79; 80) | ||
66 | IDENT@[80; 81) "d" | ||
67 | WHITESPACE@[81; 82) | ||
68 | AT@[82; 83) | ||
69 | PLACEHOLDER_PAT@[83; 86) | ||
70 | WHITESPACE@[83; 84) | ||
71 | UNDERSCORE@[84; 85) | ||
72 | WHITESPACE@[85; 86) | ||
73 | EQ@[86; 87) | ||
74 | TUPLE_EXPR@[87; 90) | ||
75 | WHITESPACE@[87; 88) | ||
76 | L_PAREN@[88; 89) | ||
77 | R_PAREN@[89; 90) | ||
78 | SEMI@[90; 91) | ||
79 | WHITESPACE@[91; 92) | ||
80 | R_CURLY@[92; 93) | ||
81 | WHITESPACE@[93; 94) | ||
diff --git a/tests/data/parser/inline/0035_ref_pat.rs b/tests/data/parser/inline/0035_ref_pat.rs new file mode 100644 index 000000000..de41f5cae --- /dev/null +++ b/tests/data/parser/inline/0035_ref_pat.rs | |||
@@ -0,0 +1,4 @@ | |||
1 | fn main() { | ||
2 | let &a = (); | ||
3 | let &mut b = (); | ||
4 | } | ||
diff --git a/tests/data/parser/inline/0035_ref_pat.txt b/tests/data/parser/inline/0035_ref_pat.txt new file mode 100644 index 000000000..57623f31c --- /dev/null +++ b/tests/data/parser/inline/0035_ref_pat.txt | |||
@@ -0,0 +1,48 @@ | |||
1 | FILE@[0; 52) | ||
2 | FN_ITEM@[0; 52) | ||
3 | FN_KW@[0; 2) | ||
4 | NAME@[2; 7) | ||
5 | WHITESPACE@[2; 3) | ||
6 | IDENT@[3; 7) "main" | ||
7 | L_PAREN@[7; 8) | ||
8 | R_PAREN@[8; 9) | ||
9 | BLOCK@[9; 52) | ||
10 | WHITESPACE@[9; 10) | ||
11 | L_CURLY@[10; 11) | ||
12 | LET_STMT@[11; 33) | ||
13 | WHITESPACE@[11; 16) | ||
14 | LET_KW@[16; 19) | ||
15 | REF_PAT@[19; 23) | ||
16 | WHITESPACE@[19; 20) | ||
17 | AMPERSAND@[20; 21) | ||
18 | BIND_PAT@[21; 23) | ||
19 | NAME@[21; 23) | ||
20 | IDENT@[21; 22) "a" | ||
21 | WHITESPACE@[22; 23) | ||
22 | EQ@[23; 24) | ||
23 | TUPLE_EXPR@[24; 27) | ||
24 | WHITESPACE@[24; 25) | ||
25 | L_PAREN@[25; 26) | ||
26 | R_PAREN@[26; 27) | ||
27 | SEMI@[27; 28) | ||
28 | WHITESPACE@[28; 33) | ||
29 | LET_STMT@[33; 50) | ||
30 | LET_KW@[33; 36) | ||
31 | REF_PAT@[36; 44) | ||
32 | WHITESPACE@[36; 37) | ||
33 | AMPERSAND@[37; 38) | ||
34 | MUT_KW@[38; 41) | ||
35 | BIND_PAT@[41; 44) | ||
36 | NAME@[41; 44) | ||
37 | WHITESPACE@[41; 42) | ||
38 | IDENT@[42; 43) "b" | ||
39 | WHITESPACE@[43; 44) | ||
40 | EQ@[44; 45) | ||
41 | TUPLE_EXPR@[45; 48) | ||
42 | WHITESPACE@[45; 46) | ||
43 | L_PAREN@[46; 47) | ||
44 | R_PAREN@[47; 48) | ||
45 | SEMI@[48; 49) | ||
46 | WHITESPACE@[49; 50) | ||
47 | R_CURLY@[50; 51) | ||
48 | WHITESPACE@[51; 52) | ||
diff --git a/tests/data/parser/inline/0036_placeholder_pat.rs b/tests/data/parser/inline/0036_placeholder_pat.rs new file mode 100644 index 000000000..4d719c433 --- /dev/null +++ b/tests/data/parser/inline/0036_placeholder_pat.rs | |||
@@ -0,0 +1 @@ | |||
fn main() { let _ = (); } | |||
diff --git a/tests/data/parser/inline/0036_placeholder_pat.txt b/tests/data/parser/inline/0036_placeholder_pat.txt new file mode 100644 index 000000000..06b84c2b5 --- /dev/null +++ b/tests/data/parser/inline/0036_placeholder_pat.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | FILE@[0; 26) | ||
2 | FN_ITEM@[0; 26) | ||
3 | FN_KW@[0; 2) | ||
4 | NAME@[2; 7) | ||
5 | WHITESPACE@[2; 3) | ||
6 | IDENT@[3; 7) "main" | ||
7 | L_PAREN@[7; 8) | ||
8 | R_PAREN@[8; 9) | ||
9 | BLOCK@[9; 26) | ||
10 | WHITESPACE@[9; 10) | ||
11 | L_CURLY@[10; 11) | ||
12 | LET_STMT@[11; 24) | ||
13 | WHITESPACE@[11; 12) | ||
14 | LET_KW@[12; 15) | ||
15 | PLACEHOLDER_PAT@[15; 18) | ||
16 | WHITESPACE@[15; 16) | ||
17 | UNDERSCORE@[16; 17) | ||
18 | WHITESPACE@[17; 18) | ||
19 | EQ@[18; 19) | ||
20 | TUPLE_EXPR@[19; 22) | ||
21 | WHITESPACE@[19; 20) | ||
22 | L_PAREN@[20; 21) | ||
23 | R_PAREN@[21; 22) | ||
24 | SEMI@[22; 23) | ||
25 | WHITESPACE@[23; 24) | ||
26 | R_CURLY@[24; 25) | ||
27 | WHITESPACE@[25; 26) | ||