Skip to content

Commit 6890d74

Browse files
committed
Split elseif_clause
1 parent fddec9e commit 6890d74

File tree

7 files changed

+663152
-664293
lines changed

7 files changed

+663152
-664293
lines changed

grammar.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ module.exports = grammar({
9090
[$.data_statement, $.identifier],
9191
[$.data_value, $._expression],
9292
[$.else_clause],
93-
[$.elseif_clause],
9493
[$.elsewhere_clause],
9594
[$.intrinsic_type],
9695
[$._intrinsic_type, $.identifier],
@@ -104,6 +103,7 @@ module.exports = grammar({
104103
[$._preproc_expression, $._expression],
105104
[$.coarray_critical_statement, $.identifier],
106105
[$.block_if_clause],
106+
[$.block_elseif_clause],
107107
],
108108

109109
rules: {
@@ -1339,7 +1339,7 @@ module.exports = grammar({
13391339

13401340
block_if_statement: $ => seq(
13411341
$.block_if_clause,
1342-
repeat($.elseif_clause),
1342+
repeat($.block_elseif_clause),
13431343
optional($.else_clause),
13441344
optional($.statement_label),
13451345
$.end_if_statement
@@ -1364,13 +1364,17 @@ module.exports = grammar({
13641364
optional($._block_label)
13651365
),
13661366

1367+
block_elseif_clause: $ => seq(
1368+
$.elseif_clause,
1369+
$.end_of_statement,
1370+
repeat($._statement),
1371+
),
1372+
13671373
elseif_clause: $ => seq(
13681374
whiteSpacedKeyword('else', 'if'),
13691375
$._parenthesized_expression,
13701376
caseInsensitive('then'),
13711377
optional($._block_label),
1372-
$.end_of_statement,
1373-
repeat($._statement)
13741378
),
13751379

13761380
else_clause: $ => seq(

src/grammar.json

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14671,7 +14671,7 @@
1467114671
"type": "REPEAT",
1467214672
"content": {
1467314673
"type": "SYMBOL",
14674-
"name": "elseif_clause"
14674+
"name": "block_elseif_clause"
1467514675
}
1467614676
},
1467714677
{
@@ -14819,6 +14819,26 @@
1481914819
}
1482014820
]
1482114821
},
14822+
"block_elseif_clause": {
14823+
"type": "SEQ",
14824+
"members": [
14825+
{
14826+
"type": "SYMBOL",
14827+
"name": "elseif_clause"
14828+
},
14829+
{
14830+
"type": "SYMBOL",
14831+
"name": "end_of_statement"
14832+
},
14833+
{
14834+
"type": "REPEAT",
14835+
"content": {
14836+
"type": "SYMBOL",
14837+
"name": "_statement"
14838+
}
14839+
}
14840+
]
14841+
},
1482214842
"elseif_clause": {
1482314843
"type": "SEQ",
1482414844
"members": [
@@ -14873,17 +14893,6 @@
1487314893
"type": "BLANK"
1487414894
}
1487514895
]
14876-
},
14877-
{
14878-
"type": "SYMBOL",
14879-
"name": "end_of_statement"
14880-
},
14881-
{
14882-
"type": "REPEAT",
14883-
"content": {
14884-
"type": "SYMBOL",
14885-
"name": "_statement"
14886-
}
1488714896
}
1488814897
]
1488914898
},
@@ -20747,9 +20756,6 @@
2074720756
[
2074820757
"else_clause"
2074920758
],
20750-
[
20751-
"elseif_clause"
20752-
],
2075320759
[
2075420760
"elsewhere_clause"
2075520761
],
@@ -20795,6 +20801,9 @@
2079520801
],
2079620802
[
2079720803
"block_if_clause"
20804+
],
20805+
[
20806+
"block_elseif_clause"
2079820807
]
2079920808
],
2080020809
"precedences": [],

0 commit comments

Comments
 (0)