Accept aspect specification for entry index specification

(entry_index_specification): accept aspect_specification

In accordance with Ada 2022 RM 9.5.2(8/5); this was not allowed in Ada
2012, but was changed in AI12-0398-1/03.

add dummy test.
This commit is contained in:
Piotr Trojanek 2024-01-03 18:14:35 +01:00 committed by Emmanuel Briot
parent 68040e7ae8
commit 1302d7fb0b
5 changed files with 8844 additions and 8809 deletions

View File

@ -1387,6 +1387,7 @@ module.exports = grammar({
$.identifier,
reservedWord('in'),
$._discrete_subtype_definition,
optional($.aspect_specification),
),
enumeration_aggregate: $ => $._array_aggregate, // ??? inline ARM 13.4
enumeration_representation_clause: $ => seq( // ARM 13.4

View File

@ -8248,6 +8248,18 @@
{
"type": "SYMBOL",
"name": "_discrete_subtype_definition"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
}
]
},

View File

@ -3220,6 +3220,10 @@
"multiple": true,
"required": true,
"types": [
{
"type": "aspect_specification",
"named": true
},
{
"type": "delta_constraint",
"named": true

17628
src/parser.c

File diff suppressed because it is too large Load Diff

View File

@ -24,7 +24,7 @@ package body P is
begin
null;
end E2;
entry E3 (for I in 1 .. 1) when True is
entry E3 (for I in 1 .. 1 with Import) when True is
begin
null;
end E3;
@ -126,7 +126,11 @@ end;
(term
(numeric_literal))
(term
(numeric_literal))))
(numeric_literal)))
(aspect_specification
(aspect_mark_list
(aspect_association
(identifier)))))
(entry_barrier
(expression
(term