Skip to content

Commit 3b914f6

Browse files
committed
Split else_clause
1 parent 6890d74 commit 3b914f6

File tree

6 files changed

+671299
-671492
lines changed

6 files changed

+671299
-671492
lines changed

grammar.js

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

109109
rules: {
@@ -1340,7 +1340,7 @@ module.exports = grammar({
13401340
block_if_statement: $ => seq(
13411341
$.block_if_clause,
13421342
repeat($.block_elseif_clause),
1343-
optional($.else_clause),
1343+
optional($.block_else_clause),
13441344
optional($.statement_label),
13451345
$.end_if_statement
13461346
),
@@ -1377,11 +1377,15 @@ module.exports = grammar({
13771377
optional($._block_label),
13781378
),
13791379

1380+
block_else_clause: $ => seq(
1381+
$.else_clause,
1382+
$.end_of_statement,
1383+
repeat($._statement),
1384+
),
1385+
13801386
else_clause: $ => seq(
13811387
caseInsensitive('else'),
13821388
optional($._block_label),
1383-
$.end_of_statement,
1384-
repeat($._statement)
13851389
),
13861390

13871391
where_statement: $ => choice(

src/grammar.json

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14679,7 +14679,7 @@
1467914679
"members": [
1468014680
{
1468114681
"type": "SYMBOL",
14682-
"name": "else_clause"
14682+
"name": "block_else_clause"
1468314683
},
1468414684
{
1468514685
"type": "BLANK"
@@ -14896,6 +14896,26 @@
1489614896
}
1489714897
]
1489814898
},
14899+
"block_else_clause": {
14900+
"type": "SEQ",
14901+
"members": [
14902+
{
14903+
"type": "SYMBOL",
14904+
"name": "else_clause"
14905+
},
14906+
{
14907+
"type": "SYMBOL",
14908+
"name": "end_of_statement"
14909+
},
14910+
{
14911+
"type": "REPEAT",
14912+
"content": {
14913+
"type": "SYMBOL",
14914+
"name": "_statement"
14915+
}
14916+
}
14917+
]
14918+
},
1489914919
"else_clause": {
1490014920
"type": "SEQ",
1490114921
"members": [
@@ -14919,17 +14939,6 @@
1491914939
"type": "BLANK"
1492014940
}
1492114941
]
14922-
},
14923-
{
14924-
"type": "SYMBOL",
14925-
"name": "end_of_statement"
14926-
},
14927-
{
14928-
"type": "REPEAT",
14929-
"content": {
14930-
"type": "SYMBOL",
14931-
"name": "_statement"
14932-
}
1493314942
}
1493414943
]
1493514944
},
@@ -20753,9 +20762,6 @@
2075320762
"data_value",
2075420763
"_expression"
2075520764
],
20756-
[
20757-
"else_clause"
20758-
],
2075920765
[
2076020766
"elsewhere_clause"
2076120767
],
@@ -20804,6 +20810,9 @@
2080420810
],
2080520811
[
2080620812
"block_elseif_clause"
20813+
],
20814+
[
20815+
"block_else_clause"
2080720816
]
2080820817
],
2080920818
"precedences": [],

0 commit comments

Comments
 (0)