Skip to content

Commit 5824718

Browse files
committed
Add support for integer arrays as subscripts
1 parent 8a85044 commit 5824718

File tree

5 files changed

+392658
-391928
lines changed

5 files changed

+392658
-391928
lines changed

grammar.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1860,7 +1860,9 @@ module.exports = grammar({
18601860
$.extent_specifier,
18611861
$.assumed_size,
18621862
$.assumed_rank,
1863-
$._expression
1863+
$._expression,
1864+
$.multiple_subscript,
1865+
$.multiple_subscript_triplet,
18641866
)),
18651867
')'
18661868
)
@@ -1875,12 +1877,16 @@ module.exports = grammar({
18751877
field("value",choice($._expression, $.assumed_size, $.assumed_shape))
18761878
)),
18771879

1878-
extent_specifier: $ => seq(
1880+
_extent_specifier: $ => seq(
18791881
optional($._expression), // start
18801882
':',
18811883
optional(choice($._expression, $.assumed_size)), // stop
18821884
optional(seq(':', $._expression)) // stride
18831885
),
1886+
extent_specifier: $=> $._extent_specifier,
1887+
1888+
multiple_subscript: $ => seq('@', $._expression),
1889+
multiple_subscript_triplet: $ => seq('@', $._extent_specifier),
18841890

18851891
assumed_size: $ => '*',
18861892

src/grammar.json

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18354,6 +18354,14 @@
1835418354
{
1835518355
"type": "SYMBOL",
1835618356
"name": "_expression"
18357+
},
18358+
{
18359+
"type": "SYMBOL",
18360+
"name": "multiple_subscript"
18361+
},
18362+
{
18363+
"type": "SYMBOL",
18364+
"name": "multiple_subscript_triplet"
1835718365
}
1835818366
]
1835918367
},
@@ -18388,6 +18396,14 @@
1838818396
{
1838918397
"type": "SYMBOL",
1839018398
"name": "_expression"
18399+
},
18400+
{
18401+
"type": "SYMBOL",
18402+
"name": "multiple_subscript"
18403+
},
18404+
{
18405+
"type": "SYMBOL",
18406+
"name": "multiple_subscript_triplet"
1839118407
}
1839218408
]
1839318409
}
@@ -18454,7 +18470,7 @@
1845418470
]
1845518471
}
1845618472
},
18457-
"extent_specifier": {
18473+
"_extent_specifier": {
1845818474
"type": "SEQ",
1845918475
"members": [
1846018476
{
@@ -18517,6 +18533,36 @@
1851718533
}
1851818534
]
1851918535
},
18536+
"extent_specifier": {
18537+
"type": "SYMBOL",
18538+
"name": "_extent_specifier"
18539+
},
18540+
"multiple_subscript": {
18541+
"type": "SEQ",
18542+
"members": [
18543+
{
18544+
"type": "STRING",
18545+
"value": "@"
18546+
},
18547+
{
18548+
"type": "SYMBOL",
18549+
"name": "_expression"
18550+
}
18551+
]
18552+
},
18553+
"multiple_subscript_triplet": {
18554+
"type": "SEQ",
18555+
"members": [
18556+
{
18557+
"type": "STRING",
18558+
"value": "@"
18559+
},
18560+
{
18561+
"type": "SYMBOL",
18562+
"name": "_extent_specifier"
18563+
}
18564+
]
18565+
},
1852018566
"assumed_size": {
1852118567
"type": "STRING",
1852218568
"value": "*"

0 commit comments

Comments
 (0)