Skip to content

Commit 8a85044

Browse files
committed
Add rank variable qualifier
1 parent 0426933 commit 8a85044

File tree

5 files changed

+493399
-489815
lines changed

5 files changed

+493399
-489815
lines changed

grammar.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -929,6 +929,10 @@ module.exports = grammar({
929929
caseInsensitive('private'),
930930
caseInsensitive('protected'),
931931
caseInsensitive('public'),
932+
seq(
933+
caseInsensitive('rank'),
934+
$.argument_list
935+
),
932936
caseInsensitive('save'),
933937
caseInsensitive('sequence'),
934938
caseInsensitive('shared'),
@@ -1450,7 +1454,7 @@ module.exports = grammar({
14501454
$.extent_specifier
14511455
)),
14521456

1453-
rank_statement: $ => seq(
1457+
rank_statement: $ => prec(2, seq(
14541458
caseInsensitive('rank'),
14551459
choice(
14561460
seq('(', $.case_value_range_list, ')'),
@@ -1459,7 +1463,7 @@ module.exports = grammar({
14591463
optional($._block_label),
14601464
$._end_of_statement,
14611465
repeat($._statement)
1462-
),
1466+
)),
14631467

14641468
block_construct: $ => seq(
14651469
optional($.block_label_start_expression),
@@ -2123,6 +2127,7 @@ module.exports = grammar({
21232127
caseInsensitive('pointer'),
21242128
caseInsensitive('private'),
21252129
caseInsensitive('public'),
2130+
prec(-1, caseInsensitive('rank')),
21262131
caseInsensitive('read'),
21272132
caseInsensitive('real'),
21282133
caseInsensitive('save'),

src/grammar.json

Lines changed: 97 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -12241,6 +12241,24 @@
1224112241
"named": false,
1224212242
"value": "public"
1224312243
},
12244+
{
12245+
"type": "SEQ",
12246+
"members": [
12247+
{
12248+
"type": "ALIAS",
12249+
"content": {
12250+
"type": "PATTERN",
12251+
"value": "[rR][aA][nN][kK]"
12252+
},
12253+
"named": false,
12254+
"value": "rank"
12255+
},
12256+
{
12257+
"type": "SYMBOL",
12258+
"name": "argument_list"
12259+
}
12260+
]
12261+
},
1224412262
{
1224512263
"type": "ALIAS",
1224612264
"content": {
@@ -15482,77 +15500,81 @@
1548215500
]
1548315501
},
1548415502
"rank_statement": {
15485-
"type": "SEQ",
15486-
"members": [
15487-
{
15488-
"type": "ALIAS",
15489-
"content": {
15490-
"type": "PATTERN",
15491-
"value": "[rR][aA][nN][kK]"
15492-
},
15493-
"named": false,
15494-
"value": "rank"
15495-
},
15496-
{
15497-
"type": "CHOICE",
15498-
"members": [
15499-
{
15500-
"type": "SEQ",
15501-
"members": [
15502-
{
15503-
"type": "STRING",
15504-
"value": "("
15505-
},
15506-
{
15507-
"type": "SYMBOL",
15508-
"name": "case_value_range_list"
15509-
},
15510-
{
15511-
"type": "STRING",
15512-
"value": ")"
15513-
}
15514-
]
15503+
"type": "PREC",
15504+
"value": 2,
15505+
"content": {
15506+
"type": "SEQ",
15507+
"members": [
15508+
{
15509+
"type": "ALIAS",
15510+
"content": {
15511+
"type": "PATTERN",
15512+
"value": "[rR][aA][nN][kK]"
1551515513
},
15516-
{
15517-
"type": "ALIAS",
15518-
"content": {
15514+
"named": false,
15515+
"value": "rank"
15516+
},
15517+
{
15518+
"type": "CHOICE",
15519+
"members": [
15520+
{
15521+
"type": "SEQ",
15522+
"members": [
15523+
{
15524+
"type": "STRING",
15525+
"value": "("
15526+
},
15527+
{
15528+
"type": "SYMBOL",
15529+
"name": "case_value_range_list"
15530+
},
15531+
{
15532+
"type": "STRING",
15533+
"value": ")"
15534+
}
15535+
]
15536+
},
15537+
{
1551915538
"type": "ALIAS",
1552015539
"content": {
15521-
"type": "PATTERN",
15522-
"value": "[dD][eE][fF][aA][uU][lL][tT]"
15540+
"type": "ALIAS",
15541+
"content": {
15542+
"type": "PATTERN",
15543+
"value": "[dD][eE][fF][aA][uU][lL][tT]"
15544+
},
15545+
"named": false,
15546+
"value": "default"
1552315547
},
15524-
"named": false,
15548+
"named": true,
1552515549
"value": "default"
15550+
}
15551+
]
15552+
},
15553+
{
15554+
"type": "CHOICE",
15555+
"members": [
15556+
{
15557+
"type": "SYMBOL",
15558+
"name": "_block_label"
1552615559
},
15527-
"named": true,
15528-
"value": "default"
15529-
}
15530-
]
15531-
},
15532-
{
15533-
"type": "CHOICE",
15534-
"members": [
15535-
{
15560+
{
15561+
"type": "BLANK"
15562+
}
15563+
]
15564+
},
15565+
{
15566+
"type": "SYMBOL",
15567+
"name": "_end_of_statement"
15568+
},
15569+
{
15570+
"type": "REPEAT",
15571+
"content": {
1553615572
"type": "SYMBOL",
15537-
"name": "_block_label"
15538-
},
15539-
{
15540-
"type": "BLANK"
15573+
"name": "_statement"
1554115574
}
15542-
]
15543-
},
15544-
{
15545-
"type": "SYMBOL",
15546-
"name": "_end_of_statement"
15547-
},
15548-
{
15549-
"type": "REPEAT",
15550-
"content": {
15551-
"type": "SYMBOL",
15552-
"name": "_statement"
1555315575
}
15554-
}
15555-
]
15576+
]
15577+
}
1555615578
},
1555715579
"block_construct": {
1555815580
"type": "SEQ",
@@ -20009,6 +20031,19 @@
2000920031
"named": false,
2001020032
"value": "public"
2001120033
},
20034+
{
20035+
"type": "PREC",
20036+
"value": -1,
20037+
"content": {
20038+
"type": "ALIAS",
20039+
"content": {
20040+
"type": "PATTERN",
20041+
"value": "[rR][aA][nN][kK]"
20042+
},
20043+
"named": false,
20044+
"value": "rank"
20045+
}
20046+
},
2001220047
{
2001320048
"type": "ALIAS",
2001420049
"content": {

src/node-types.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13847,11 +13847,11 @@
1384713847
},
1384813848
{
1384913849
"type": "none",
13850-
"named": false
13850+
"named": true
1385113851
},
1385213852
{
1385313853
"type": "none",
13854-
"named": true
13854+
"named": false
1385513855
},
1385613856
{
1385713857
"type": "nopass",

0 commit comments

Comments
 (0)