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, $.identifier,
reservedWord('in'), reservedWord('in'),
$._discrete_subtype_definition, $._discrete_subtype_definition,
optional($.aspect_specification),
), ),
enumeration_aggregate: $ => $._array_aggregate, // ??? inline ARM 13.4 enumeration_aggregate: $ => $._array_aggregate, // ??? inline ARM 13.4
enumeration_representation_clause: $ => seq( // ARM 13.4 enumeration_representation_clause: $ => seq( // ARM 13.4

View File

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

View File

@ -3220,6 +3220,10 @@
"multiple": true, "multiple": true,
"required": true, "required": true,
"types": [ "types": [
{
"type": "aspect_specification",
"named": true
},
{ {
"type": "delta_constraint", "type": "delta_constraint",
"named": true "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 begin
null; null;
end E2; 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 begin
null; null;
end E3; end E3;
@ -126,7 +126,11 @@ end;
(term (term
(numeric_literal)) (numeric_literal))
(term (term
(numeric_literal)))) (numeric_literal)))
(aspect_specification
(aspect_mark_list
(aspect_association
(identifier)))))
(entry_barrier (entry_barrier
(expression (expression
(term (term