A task type can contain pragmas
Not shown in the RM grammar, but explicit in 2.8
This commit is contained in:
parent
7b4bf400ab
commit
dbd3401b14
|
|
@ -1806,6 +1806,7 @@ module.exports = grammar({
|
|||
_task_item: $ => choice(
|
||||
$.entry_declaration,
|
||||
$._aspect_clause,
|
||||
$.pragma_g,
|
||||
),
|
||||
task_definition: $ => seq( // RM 9.1
|
||||
repeat($._task_item),
|
||||
|
|
|
|||
|
|
@ -10843,6 +10843,10 @@
|
|||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_aspect_clause"
|
||||
},
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "pragma_g"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
|||
|
|
@ -10806,6 +10806,10 @@
|
|||
"type": "enumeration_representation_clause",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "pragma_g",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "record_representation_clause",
|
||||
"named": true
|
||||
|
|
|
|||
19859
src/parser.c
19859
src/parser.c
File diff suppressed because it is too large
Load Diff
|
|
@ -60,3 +60,31 @@ end;
|
|||
(pragma_g
|
||||
(identifier))
|
||||
(null_statement)))))
|
||||
|
||||
================================================================================
|
||||
pragma in tasks
|
||||
================================================================================
|
||||
|
||||
package P is
|
||||
task type T is
|
||||
pragma Storage_Size (1024);
|
||||
end T;
|
||||
end;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(full_type_declaration
|
||||
(task_type_declaration
|
||||
(identifier)
|
||||
(task_definition
|
||||
(pragma_g
|
||||
(identifier)
|
||||
(pragma_argument_association
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(identifier)))))))
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user