Fix error for access parameters and untyped constants
This commit is contained in:
parent
3b5200c14c
commit
7bd8543b71
57
grammar.js
57
grammar.js
|
|
@ -570,7 +570,7 @@ module.exports = grammar({
|
||||||
seq(
|
seq(
|
||||||
optional(reservedWord('protected')),
|
optional(reservedWord('protected')),
|
||||||
reservedWord('procedure'),
|
reservedWord('procedure'),
|
||||||
optional($._non_empty_parameter_profile),
|
optional($.formal_part),
|
||||||
),
|
),
|
||||||
seq(
|
seq(
|
||||||
optional(reservedWord('protected')),
|
optional(reservedWord('protected')),
|
||||||
|
|
@ -852,28 +852,19 @@ module.exports = grammar({
|
||||||
$.enumeration_type_definition,
|
$.enumeration_type_definition,
|
||||||
$._integer_type_definition,
|
$._integer_type_definition,
|
||||||
$._real_type_definition,
|
$._real_type_definition,
|
||||||
$._array_type_definition,
|
$.array_type_definition,
|
||||||
$.record_type_definition,
|
$.record_type_definition,
|
||||||
$._access_type_definition,
|
$._access_type_definition,
|
||||||
$.derived_type_definition,
|
$.derived_type_definition,
|
||||||
$.interface_type_definition,
|
$.interface_type_definition,
|
||||||
),
|
),
|
||||||
_array_type_definition: $ => choice(
|
array_type_definition: $ => seq( // merges constrained and unconstrained
|
||||||
$.unconstrained_array_definition,
|
|
||||||
$.constrained_array_definition,
|
|
||||||
),
|
|
||||||
unconstrained_array_definition: $ => seq(
|
|
||||||
reservedWord('array'),
|
reservedWord('array'),
|
||||||
'(',
|
'(',
|
||||||
$._index_subtype_definition_list,
|
choice(
|
||||||
')',
|
$._discrete_subtype_definition_list,
|
||||||
reservedWord('of'),
|
$._index_subtype_definition_list,
|
||||||
$.component_definition,
|
),
|
||||||
),
|
|
||||||
constrained_array_definition: $ => seq(
|
|
||||||
reservedWord('array'),
|
|
||||||
'(',
|
|
||||||
$._discrete_subtype_definition_list,
|
|
||||||
')',
|
')',
|
||||||
reservedWord('of'),
|
reservedWord('of'),
|
||||||
$.component_definition,
|
$.component_definition,
|
||||||
|
|
@ -1302,7 +1293,7 @@ module.exports = grammar({
|
||||||
$._discrete_subtype_definition,
|
$._discrete_subtype_definition,
|
||||||
')',
|
')',
|
||||||
)),
|
)),
|
||||||
optional($._non_empty_parameter_profile),
|
optional($.formal_part),
|
||||||
optional($.aspect_specification),
|
optional($.aspect_specification),
|
||||||
';',
|
';',
|
||||||
),
|
),
|
||||||
|
|
@ -1366,7 +1357,7 @@ module.exports = grammar({
|
||||||
)),
|
)),
|
||||||
formal_part: $ => seq(
|
formal_part: $ => seq(
|
||||||
'(',
|
'(',
|
||||||
$.parameter_specification_list,
|
$._parameter_specification_list,
|
||||||
')',
|
')',
|
||||||
),
|
),
|
||||||
function_specification: $ => seq(
|
function_specification: $ => seq(
|
||||||
|
|
@ -1546,7 +1537,7 @@ module.exports = grammar({
|
||||||
reservedWord('digits'),
|
reservedWord('digits'),
|
||||||
'<>',
|
'<>',
|
||||||
),
|
),
|
||||||
formal_array_type_definition: $ => $._array_type_definition,
|
formal_array_type_definition: $ => $.array_type_definition,
|
||||||
formal_access_type_definition: $ => $._access_type_definition,
|
formal_access_type_definition: $ => $._access_type_definition,
|
||||||
formal_interface_type_definition: $ => $.interface_type_definition,
|
formal_interface_type_definition: $ => $.interface_type_definition,
|
||||||
formal_subprogram_declaration: $ => choice(
|
formal_subprogram_declaration: $ => choice(
|
||||||
|
|
@ -1668,7 +1659,7 @@ module.exports = grammar({
|
||||||
$.expression,
|
$.expression,
|
||||||
';',
|
';',
|
||||||
),
|
),
|
||||||
non_empty_mode: $ => choice(
|
non_empty_mode: $ => choice( // ARM 6.1
|
||||||
reservedWord('in'),
|
reservedWord('in'),
|
||||||
seq(
|
seq(
|
||||||
reservedWord('in'),
|
reservedWord('in'),
|
||||||
|
|
@ -1690,7 +1681,7 @@ module.exports = grammar({
|
||||||
),
|
),
|
||||||
number_declaration: $ => seq(
|
number_declaration: $ => seq(
|
||||||
$._defining_identifier_list,
|
$._defining_identifier_list,
|
||||||
';',
|
':',
|
||||||
reservedWord('constant'),
|
reservedWord('constant'),
|
||||||
$._assign_value,
|
$._assign_value,
|
||||||
';',
|
';',
|
||||||
|
|
@ -1704,7 +1695,7 @@ module.exports = grammar({
|
||||||
choice(
|
choice(
|
||||||
$._subtype_indication,
|
$._subtype_indication,
|
||||||
$.access_definition,
|
$.access_definition,
|
||||||
$._array_type_definition,
|
$.array_type_definition,
|
||||||
),
|
),
|
||||||
optional($._assign_value),
|
optional($._assign_value),
|
||||||
optional($.aspect_specification),
|
optional($.aspect_specification),
|
||||||
|
|
@ -1777,14 +1768,12 @@ module.exports = grammar({
|
||||||
repeat1($._task_item),
|
repeat1($._task_item),
|
||||||
)),
|
)),
|
||||||
reservedWord('end'),
|
reservedWord('end'),
|
||||||
optional($.identifier),
|
field('endname', optional($.identifier)),
|
||||||
),
|
),
|
||||||
overriding_indicator: $ => seq(
|
overriding_indicator: $ => seq(
|
||||||
optional(reservedWord('not')),
|
optional(reservedWord('not')),
|
||||||
reservedWord('overriding'),
|
reservedWord('overriding'),
|
||||||
),
|
),
|
||||||
_non_empty_parameter_profile: $ => // ??? inline
|
|
||||||
$.formal_part,
|
|
||||||
_parameter_and_result_profile: $ => seq(
|
_parameter_and_result_profile: $ => seq(
|
||||||
optional($.formal_part),
|
optional($.formal_part),
|
||||||
$.result_profile,
|
$.result_profile,
|
||||||
|
|
@ -1792,13 +1781,19 @@ module.exports = grammar({
|
||||||
parameter_specification: $ => seq( // ARM 6.1
|
parameter_specification: $ => seq( // ARM 6.1
|
||||||
$._defining_identifier_list,
|
$._defining_identifier_list,
|
||||||
':',
|
':',
|
||||||
optional(reservedWord('aliased')),
|
choice(
|
||||||
optional($.non_empty_mode),
|
seq(
|
||||||
optional($.null_exclusion),
|
optional(reservedWord('aliased')),
|
||||||
field('subtype_mark', $._name),
|
optional($.non_empty_mode),
|
||||||
|
optional($.null_exclusion),
|
||||||
|
field('subtype_mark', $._name),
|
||||||
|
),
|
||||||
|
$.access_definition,
|
||||||
|
),
|
||||||
optional($._assign_value),
|
optional($._assign_value),
|
||||||
|
optional($.aspect_specification),
|
||||||
),
|
),
|
||||||
parameter_specification_list: $ => list_of(
|
_parameter_specification_list: $ => list_of(
|
||||||
';',
|
';',
|
||||||
$.parameter_specification,
|
$.parameter_specification,
|
||||||
),
|
),
|
||||||
|
|
@ -1842,7 +1837,7 @@ module.exports = grammar({
|
||||||
procedure_specification: $ => seq(
|
procedure_specification: $ => seq(
|
||||||
reservedWord('procedure'),
|
reservedWord('procedure'),
|
||||||
field('name', $._name),
|
field('name', $._name),
|
||||||
optional($._non_empty_parameter_profile),
|
optional($.formal_part),
|
||||||
),
|
),
|
||||||
record_representation_clause: $ => prec.left(seq( // ARM 13.5.1
|
record_representation_clause: $ => prec.left(seq( // ARM 13.5.1
|
||||||
reservedWord('for'),
|
reservedWord('for'),
|
||||||
|
|
|
||||||
|
|
@ -102,56 +102,61 @@
|
||||||
(numeric_literal) @number
|
(numeric_literal) @number
|
||||||
|
|
||||||
;; Highlight the name of subprograms
|
;; Highlight the name of subprograms
|
||||||
(procedure_specification
|
(procedure_specification name: (_) @function)
|
||||||
name: (identifier) @function
|
(function_specification name: (_) @function)
|
||||||
)
|
(package_specification name: (_) @function)
|
||||||
(function_specification
|
(package_body name: (_) @function)
|
||||||
name: (identifier) @function
|
(generic_instantiation name: (_) @function)
|
||||||
)
|
|
||||||
(package_specification
|
|
||||||
name: (identifier) @function ;; Should use @module
|
|
||||||
)
|
|
||||||
(package_body
|
|
||||||
name: (identifier) @function ;; Should use @module
|
|
||||||
)
|
|
||||||
(generic_instantiation
|
|
||||||
name: (identifier) @function
|
|
||||||
)
|
|
||||||
|
|
||||||
;; Some keywords should take different categories depending on the context
|
;; Some keywords should take different categories depending on the context
|
||||||
;; ??? Doesn't quite work because treesitter choses the longest name for the
|
|
||||||
;; final highlight
|
|
||||||
(use_clause "use" @include "type" @include)
|
(use_clause "use" @include "type" @include)
|
||||||
(with_clause "private" @include)
|
(with_clause "private" @include)
|
||||||
(with_clause "limited" @include)
|
(with_clause "limited" @include)
|
||||||
|
(use_clause (identifier) @namespace)
|
||||||
|
(with_clause (identifier) @namespace)
|
||||||
|
|
||||||
|
(loop_statement "end" @keyword.repeat)
|
||||||
|
(if_statement "end" @conditional)
|
||||||
|
(loop_parameter_specification "in" @keyword.repeat)
|
||||||
|
(loop_parameter_specification "in" @keyword.repeat)
|
||||||
|
(iterator_specification ["in" "of"] @keyword.repeat)
|
||||||
|
(range_attribute_designator "range" @keyword.repeat)
|
||||||
|
(raise_statement "with" @exception)
|
||||||
|
|
||||||
;; Change keyword categories inside type definitions.
|
(subprogram_declaration "is" @keyword.function "abstract" @keyword.function)
|
||||||
;; WIP: waiting for simplified tree.
|
(aspect_specification "with" @keyword.function)
|
||||||
; [
|
|
||||||
; "is"
|
(full_type_declaration "is" @type.definition)
|
||||||
; "abstract"
|
(subtype_declaration "is" @type.definition)
|
||||||
; "access"
|
(record_definition "end" @type.definition)
|
||||||
; "array"
|
(full_type_declaration (_ "access" @type.definition))
|
||||||
; "tagged"
|
(array_type_definition "array" @type.definition "of" @type.definition)
|
||||||
; "constant"
|
(access_to_object_definition "access" @type.definition)
|
||||||
; "range"
|
(access_to_object_definition "access" @type.definition
|
||||||
; "mod"
|
[
|
||||||
; "digits"
|
(general_access_modifier "constant" @type.definition)
|
||||||
; "delta"
|
(general_access_modifier "all" @type.definition)
|
||||||
; "limited"
|
]
|
||||||
; "synchronized"
|
)
|
||||||
; ]* @keyword.type
|
(range_constraint "range" @type.definition)
|
||||||
(full_type_declaration "is" @type.definition)
|
(signed_integer_type_definition "range" @type.definition)
|
||||||
(full_type_declaration (_ "access") @type.definition)
|
(index_subtype_definition "range" @type.definition)
|
||||||
|
|
||||||
|
;; Gray the body of expression functions
|
||||||
|
(expression_function_declaration
|
||||||
|
(function_specification)
|
||||||
|
"is"
|
||||||
|
(_) @function.expression
|
||||||
|
)
|
||||||
|
(subprogram_declaration (aspect_specification) @function.expression)
|
||||||
|
|
||||||
;; Highlight full subprogram specifications
|
;; Highlight full subprogram specifications
|
||||||
(subprogram_body
|
;(subprogram_body
|
||||||
[
|
; [
|
||||||
(procedure_specification)
|
; (procedure_specification)
|
||||||
(function_specification)
|
; (function_specification)
|
||||||
] @function.spec
|
; ] @function.spec
|
||||||
)
|
;)
|
||||||
|
|
||||||
;; Highlight errors in red. This is not very useful in practice, as text will
|
;; Highlight errors in red. This is not very useful in practice, as text will
|
||||||
;; be highlighted as user types, and the error could be elsewhere in the code.
|
;; be highlighted as user types, and the error could be elsewhere in the code.
|
||||||
|
|
|
||||||
|
|
@ -7,15 +7,25 @@
|
||||||
(function_specification) @scope
|
(function_specification) @scope
|
||||||
(block_statement) @scope
|
(block_statement) @scope
|
||||||
|
|
||||||
(procedure_specification name: (_) @definition.var)
|
(with_clause (identifier) @definition.import)
|
||||||
(function_specification name: (_) @definition.var)
|
(procedure_specification name: (_) @definition.function)
|
||||||
|
(function_specification name: (_) @definition.function)
|
||||||
(package_specification name: (_) @definition.var)
|
(package_specification name: (_) @definition.var)
|
||||||
(package_body name: (_) @definition.var)
|
(package_body name: (_) @definition.var)
|
||||||
(generic_instantiation . name: (_) @definition.var)
|
(generic_instantiation . name: (_) @definition.var)
|
||||||
(component_declaration (identifier) @definition.var)
|
(component_declaration . (identifier) @definition.var)
|
||||||
(exception_declaration (identifier) @definition.var)
|
(exception_declaration . (identifier) @definition.var)
|
||||||
(formal_object_declaration (identifier) @definition.var)
|
(formal_object_declaration . (identifier) @definition.var)
|
||||||
(object_declaration (identifier) @definition.var)
|
(object_declaration . (identifier) @definition.var)
|
||||||
(parameter_specification (identifier) @definition.var)
|
(parameter_specification . (identifier) @definition.var)
|
||||||
|
(full_type_declaration . (identifier) @definition.type)
|
||||||
|
(private_type_declaration . (identifier) @definition.type)
|
||||||
|
(private_extension_declaration . (identifier) @definition.type)
|
||||||
|
(incomplete_type_declaration . (identifier) @definition.type)
|
||||||
|
(protected_type_declaration . (identifier) @definition.type)
|
||||||
|
(formal_complete_type_declaration . (identifier) @definition.type)
|
||||||
|
(formal_incomplete_type_declaration . (identifier) @definition.type)
|
||||||
|
(task_type_declaration . (identifier) @definition.type)
|
||||||
|
(subtype_declaration . (identifier) @definition.type)
|
||||||
|
|
||||||
(identifier) @reference
|
(identifier) @reference
|
||||||
|
|
|
||||||
235
src/grammar.json
235
src/grammar.json
|
|
@ -2917,7 +2917,7 @@
|
||||||
"members": [
|
"members": [
|
||||||
{
|
{
|
||||||
"type": "SYMBOL",
|
"type": "SYMBOL",
|
||||||
"name": "_non_empty_parameter_profile"
|
"name": "formal_part"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "BLANK"
|
"type": "BLANK"
|
||||||
|
|
@ -4668,7 +4668,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "SYMBOL",
|
"type": "SYMBOL",
|
||||||
"name": "_array_type_definition"
|
"name": "array_type_definition"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "SYMBOL",
|
"type": "SYMBOL",
|
||||||
|
|
@ -4688,20 +4688,7 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"_array_type_definition": {
|
"array_type_definition": {
|
||||||
"type": "CHOICE",
|
|
||||||
"members": [
|
|
||||||
{
|
|
||||||
"type": "SYMBOL",
|
|
||||||
"name": "unconstrained_array_definition"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "SYMBOL",
|
|
||||||
"name": "constrained_array_definition"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"unconstrained_array_definition": {
|
|
||||||
"type": "SEQ",
|
"type": "SEQ",
|
||||||
"members": [
|
"members": [
|
||||||
{
|
{
|
||||||
|
|
@ -4725,61 +4712,17 @@
|
||||||
"value": "("
|
"value": "("
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "SYMBOL",
|
"type": "CHOICE",
|
||||||
"name": "_index_subtype_definition_list"
|
"members": [
|
||||||
},
|
{
|
||||||
{
|
"type": "SYMBOL",
|
||||||
"type": "STRING",
|
"name": "_discrete_subtype_definition_list"
|
||||||
"value": ")"
|
},
|
||||||
},
|
{
|
||||||
{
|
"type": "SYMBOL",
|
||||||
"type": "ALIAS",
|
"name": "_index_subtype_definition_list"
|
||||||
"content": {
|
|
||||||
"type": "TOKEN",
|
|
||||||
"content": {
|
|
||||||
"type": "PREC",
|
|
||||||
"value": 2,
|
|
||||||
"content": {
|
|
||||||
"type": "PATTERN",
|
|
||||||
"value": "[oO][fF]"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
]
|
||||||
"named": false,
|
|
||||||
"value": "of"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "SYMBOL",
|
|
||||||
"name": "component_definition"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"constrained_array_definition": {
|
|
||||||
"type": "SEQ",
|
|
||||||
"members": [
|
|
||||||
{
|
|
||||||
"type": "ALIAS",
|
|
||||||
"content": {
|
|
||||||
"type": "TOKEN",
|
|
||||||
"content": {
|
|
||||||
"type": "PREC",
|
|
||||||
"value": 2,
|
|
||||||
"content": {
|
|
||||||
"type": "PATTERN",
|
|
||||||
"value": "[aA][rR][rR][aA][yY]"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"named": false,
|
|
||||||
"value": "array"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "STRING",
|
|
||||||
"value": "("
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "SYMBOL",
|
|
||||||
"name": "_discrete_subtype_definition_list"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "STRING",
|
"type": "STRING",
|
||||||
|
|
@ -8204,7 +8147,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "SYMBOL",
|
"type": "SYMBOL",
|
||||||
"name": "parameter_specification_list"
|
"name": "_parameter_specification_list"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "STRING",
|
"type": "STRING",
|
||||||
|
|
@ -9440,7 +9383,7 @@
|
||||||
},
|
},
|
||||||
"formal_array_type_definition": {
|
"formal_array_type_definition": {
|
||||||
"type": "SYMBOL",
|
"type": "SYMBOL",
|
||||||
"name": "_array_type_definition"
|
"name": "array_type_definition"
|
||||||
},
|
},
|
||||||
"formal_access_type_definition": {
|
"formal_access_type_definition": {
|
||||||
"type": "SYMBOL",
|
"type": "SYMBOL",
|
||||||
|
|
@ -10230,7 +10173,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "STRING",
|
"type": "STRING",
|
||||||
"value": ";"
|
"value": ":"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "ALIAS",
|
"type": "ALIAS",
|
||||||
|
|
@ -10337,7 +10280,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "SYMBOL",
|
"type": "SYMBOL",
|
||||||
"name": "_array_type_definition"
|
"name": "array_type_definition"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -10769,16 +10712,20 @@
|
||||||
"value": "end"
|
"value": "end"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "CHOICE",
|
"type": "FIELD",
|
||||||
"members": [
|
"name": "endname",
|
||||||
{
|
"content": {
|
||||||
"type": "SYMBOL",
|
"type": "CHOICE",
|
||||||
"name": "identifier"
|
"members": [
|
||||||
},
|
{
|
||||||
{
|
"type": "SYMBOL",
|
||||||
"type": "BLANK"
|
"name": "identifier"
|
||||||
}
|
},
|
||||||
]
|
{
|
||||||
|
"type": "BLANK"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -10827,10 +10774,6 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"_non_empty_parameter_profile": {
|
|
||||||
"type": "SYMBOL",
|
|
||||||
"name": "formal_part"
|
|
||||||
},
|
|
||||||
"_parameter_and_result_profile": {
|
"_parameter_and_result_profile": {
|
||||||
"type": "SEQ",
|
"type": "SEQ",
|
||||||
"members": [
|
"members": [
|
||||||
|
|
@ -10867,58 +10810,72 @@
|
||||||
"type": "CHOICE",
|
"type": "CHOICE",
|
||||||
"members": [
|
"members": [
|
||||||
{
|
{
|
||||||
"type": "ALIAS",
|
"type": "SEQ",
|
||||||
"content": {
|
"members": [
|
||||||
"type": "TOKEN",
|
{
|
||||||
"content": {
|
"type": "CHOICE",
|
||||||
"type": "PREC",
|
"members": [
|
||||||
"value": 2,
|
{
|
||||||
|
"type": "ALIAS",
|
||||||
|
"content": {
|
||||||
|
"type": "TOKEN",
|
||||||
|
"content": {
|
||||||
|
"type": "PREC",
|
||||||
|
"value": 2,
|
||||||
|
"content": {
|
||||||
|
"type": "PATTERN",
|
||||||
|
"value": "[aA][lL][iI][aA][sS][eE][dD]"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"named": false,
|
||||||
|
"value": "aliased"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "BLANK"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "CHOICE",
|
||||||
|
"members": [
|
||||||
|
{
|
||||||
|
"type": "SYMBOL",
|
||||||
|
"name": "non_empty_mode"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "BLANK"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "CHOICE",
|
||||||
|
"members": [
|
||||||
|
{
|
||||||
|
"type": "SYMBOL",
|
||||||
|
"name": "null_exclusion"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "BLANK"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "FIELD",
|
||||||
|
"name": "subtype_mark",
|
||||||
"content": {
|
"content": {
|
||||||
"type": "PATTERN",
|
"type": "SYMBOL",
|
||||||
"value": "[aA][lL][iI][aA][sS][eE][dD]"
|
"name": "_name"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
]
|
||||||
"named": false,
|
|
||||||
"value": "aliased"
|
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "BLANK"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "CHOICE",
|
|
||||||
"members": [
|
|
||||||
{
|
{
|
||||||
"type": "SYMBOL",
|
"type": "SYMBOL",
|
||||||
"name": "non_empty_mode"
|
"name": "access_definition"
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "BLANK"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "CHOICE",
|
|
||||||
"members": [
|
|
||||||
{
|
|
||||||
"type": "SYMBOL",
|
|
||||||
"name": "null_exclusion"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "BLANK"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "FIELD",
|
|
||||||
"name": "subtype_mark",
|
|
||||||
"content": {
|
|
||||||
"type": "SYMBOL",
|
|
||||||
"name": "_name"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "CHOICE",
|
"type": "CHOICE",
|
||||||
"members": [
|
"members": [
|
||||||
|
|
@ -10930,10 +10887,22 @@
|
||||||
"type": "BLANK"
|
"type": "BLANK"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "CHOICE",
|
||||||
|
"members": [
|
||||||
|
{
|
||||||
|
"type": "SYMBOL",
|
||||||
|
"name": "aspect_specification"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "BLANK"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"parameter_specification_list": {
|
"_parameter_specification_list": {
|
||||||
"type": "SEQ",
|
"type": "SEQ",
|
||||||
"members": [
|
"members": [
|
||||||
{
|
{
|
||||||
|
|
@ -11242,7 +11211,7 @@
|
||||||
"members": [
|
"members": [
|
||||||
{
|
{
|
||||||
"type": "SYMBOL",
|
"type": "SYMBOL",
|
||||||
"name": "_non_empty_parameter_profile"
|
"name": "formal_part"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "BLANK"
|
"type": "BLANK"
|
||||||
|
|
|
||||||
|
|
@ -405,6 +405,100 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "array_type_definition",
|
||||||
|
"named": true,
|
||||||
|
"fields": {
|
||||||
|
"subtype_mark": {
|
||||||
|
"multiple": true,
|
||||||
|
"required": false,
|
||||||
|
"types": [
|
||||||
|
{
|
||||||
|
"type": ".",
|
||||||
|
"named": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "attribute_designator",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "character_literal",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "function_call",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "identifier",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "qualified_expression",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "reduction_attribute_designator",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string_literal",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "target_name",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tick",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "value_sequence",
|
||||||
|
"named": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"children": {
|
||||||
|
"multiple": true,
|
||||||
|
"required": true,
|
||||||
|
"types": [
|
||||||
|
{
|
||||||
|
"type": "component_definition",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "delta_constraint",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "digits_constraint",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "index_constraint",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "index_subtype_definition",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "null_exclusion",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "range_constraint",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "range_g",
|
||||||
|
"named": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "aspect_association",
|
"type": "aspect_association",
|
||||||
"named": true,
|
"named": true,
|
||||||
|
|
@ -1372,96 +1466,6 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "constrained_array_definition",
|
|
||||||
"named": true,
|
|
||||||
"fields": {
|
|
||||||
"subtype_mark": {
|
|
||||||
"multiple": true,
|
|
||||||
"required": false,
|
|
||||||
"types": [
|
|
||||||
{
|
|
||||||
"type": ".",
|
|
||||||
"named": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "attribute_designator",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "character_literal",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "function_call",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "identifier",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "qualified_expression",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "reduction_attribute_designator",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "string_literal",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "target_name",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "tick",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "value_sequence",
|
|
||||||
"named": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"children": {
|
|
||||||
"multiple": true,
|
|
||||||
"required": true,
|
|
||||||
"types": [
|
|
||||||
{
|
|
||||||
"type": "component_definition",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "delta_constraint",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "digits_constraint",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "index_constraint",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "null_exclusion",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "range_constraint",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "range_g",
|
|
||||||
"named": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "decimal_fixed_point_definition",
|
"type": "decimal_fixed_point_definition",
|
||||||
"named": true,
|
"named": true,
|
||||||
|
|
@ -3480,11 +3484,7 @@
|
||||||
"required": true,
|
"required": true,
|
||||||
"types": [
|
"types": [
|
||||||
{
|
{
|
||||||
"type": "constrained_array_definition",
|
"type": "array_type_definition",
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "unconstrained_array_definition",
|
|
||||||
"named": true
|
"named": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
@ -4035,11 +4035,11 @@
|
||||||
"named": true,
|
"named": true,
|
||||||
"fields": {},
|
"fields": {},
|
||||||
"children": {
|
"children": {
|
||||||
"multiple": false,
|
"multiple": true,
|
||||||
"required": true,
|
"required": true,
|
||||||
"types": [
|
"types": [
|
||||||
{
|
{
|
||||||
"type": "parameter_specification_list",
|
"type": "parameter_specification",
|
||||||
"named": true
|
"named": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
@ -4091,11 +4091,11 @@
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "aspect_specification",
|
"type": "array_type_definition",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "constrained_array_definition",
|
"type": "aspect_specification",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -4153,10 +4153,6 @@
|
||||||
{
|
{
|
||||||
"type": "task_type_declaration",
|
"type": "task_type_declaration",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "unconstrained_array_definition",
|
|
||||||
"named": true
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -5996,11 +5992,11 @@
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "aspect_specification",
|
"type": "array_type_definition",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "constrained_array_definition",
|
"type": "aspect_specification",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -6034,10 +6030,6 @@
|
||||||
{
|
{
|
||||||
"type": "single_task_declaration",
|
"type": "single_task_declaration",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "unconstrained_array_definition",
|
|
||||||
"named": true
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -6698,7 +6690,7 @@
|
||||||
"fields": {
|
"fields": {
|
||||||
"subtype_mark": {
|
"subtype_mark": {
|
||||||
"multiple": true,
|
"multiple": true,
|
||||||
"required": true,
|
"required": false,
|
||||||
"types": [
|
"types": [
|
||||||
{
|
{
|
||||||
"type": ".",
|
"type": ".",
|
||||||
|
|
@ -6751,6 +6743,14 @@
|
||||||
"multiple": true,
|
"multiple": true,
|
||||||
"required": true,
|
"required": true,
|
||||||
"types": [
|
"types": [
|
||||||
|
{
|
||||||
|
"type": "access_definition",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "aspect_specification",
|
||||||
|
"named": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "expression",
|
"type": "expression",
|
||||||
"named": true
|
"named": true
|
||||||
|
|
@ -6770,21 +6770,6 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "parameter_specification_list",
|
|
||||||
"named": true,
|
|
||||||
"fields": {},
|
|
||||||
"children": {
|
|
||||||
"multiple": true,
|
|
||||||
"required": true,
|
|
||||||
"types": [
|
|
||||||
{
|
|
||||||
"type": "parameter_specification",
|
|
||||||
"named": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "positional_array_aggregate",
|
"type": "positional_array_aggregate",
|
||||||
"named": true,
|
"named": true,
|
||||||
|
|
@ -9056,7 +9041,18 @@
|
||||||
{
|
{
|
||||||
"type": "task_definition",
|
"type": "task_definition",
|
||||||
"named": true,
|
"named": true,
|
||||||
"fields": {},
|
"fields": {
|
||||||
|
"endname": {
|
||||||
|
"multiple": false,
|
||||||
|
"required": false,
|
||||||
|
"types": [
|
||||||
|
{
|
||||||
|
"type": "identifier",
|
||||||
|
"named": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"children": {
|
"children": {
|
||||||
"multiple": true,
|
"multiple": true,
|
||||||
"required": true,
|
"required": true,
|
||||||
|
|
@ -9077,10 +9073,6 @@
|
||||||
"type": "enumeration_representation_clause",
|
"type": "enumeration_representation_clause",
|
||||||
"named": true
|
"named": true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "identifier",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "record_representation_clause",
|
"type": "record_representation_clause",
|
||||||
"named": true
|
"named": true
|
||||||
|
|
@ -9344,25 +9336,6 @@
|
||||||
"named": true,
|
"named": true,
|
||||||
"fields": {}
|
"fields": {}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "unconstrained_array_definition",
|
|
||||||
"named": true,
|
|
||||||
"fields": {},
|
|
||||||
"children": {
|
|
||||||
"multiple": true,
|
|
||||||
"required": true,
|
|
||||||
"types": [
|
|
||||||
{
|
|
||||||
"type": "component_definition",
|
|
||||||
"named": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "index_subtype_definition",
|
|
||||||
"named": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "unknown_discriminant_part",
|
"type": "unknown_discriminant_part",
|
||||||
"named": true,
|
"named": true,
|
||||||
|
|
|
||||||
58025
src/parser.c
58025
src/parser.c
File diff suppressed because it is too large
Load Diff
|
|
@ -16,7 +16,7 @@ end P;
|
||||||
(identifier)
|
(identifier)
|
||||||
(full_type_declaration
|
(full_type_declaration
|
||||||
(identifier)
|
(identifier)
|
||||||
(constrained_array_definition
|
(array_type_definition
|
||||||
(range_g
|
(range_g
|
||||||
(term
|
(term
|
||||||
(numeric_literal))
|
(numeric_literal))
|
||||||
|
|
@ -88,7 +88,7 @@ end;
|
||||||
(identifier)
|
(identifier)
|
||||||
(full_type_declaration
|
(full_type_declaration
|
||||||
(identifier)
|
(identifier)
|
||||||
(constrained_array_definition
|
(array_type_definition
|
||||||
(range_g
|
(range_g
|
||||||
(term
|
(term
|
||||||
(numeric_literal))
|
(numeric_literal))
|
||||||
|
|
@ -129,7 +129,7 @@ end P;
|
||||||
(identifier)
|
(identifier)
|
||||||
(full_type_declaration
|
(full_type_declaration
|
||||||
(identifier)
|
(identifier)
|
||||||
(unconstrained_array_definition
|
(array_type_definition
|
||||||
(index_subtype_definition
|
(index_subtype_definition
|
||||||
(identifier))
|
(identifier))
|
||||||
(component_definition
|
(component_definition
|
||||||
|
|
@ -170,7 +170,7 @@ end P;
|
||||||
(identifier)
|
(identifier)
|
||||||
(full_type_declaration
|
(full_type_declaration
|
||||||
(identifier)
|
(identifier)
|
||||||
(unconstrained_array_definition
|
(array_type_definition
|
||||||
(index_subtype_definition
|
(index_subtype_definition
|
||||||
(identifier))
|
(identifier))
|
||||||
(index_subtype_definition
|
(index_subtype_definition
|
||||||
|
|
|
||||||
|
|
@ -51,10 +51,9 @@ end;
|
||||||
(identifier)
|
(identifier)
|
||||||
(identifier)
|
(identifier)
|
||||||
(formal_part
|
(formal_part
|
||||||
(parameter_specification_list
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier))))
|
||||||
(identifier)))))
|
|
||||||
(component_declaration
|
(component_declaration
|
||||||
(identifier)
|
(identifier)
|
||||||
(component_definition
|
(component_definition
|
||||||
|
|
@ -101,10 +100,9 @@ end;
|
||||||
(identifier)
|
(identifier)
|
||||||
(identifier))
|
(identifier))
|
||||||
(formal_part
|
(formal_part
|
||||||
(parameter_specification_list
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier))))
|
||||||
(identifier)))))
|
|
||||||
(entry_barrier
|
(entry_barrier
|
||||||
(expression
|
(expression
|
||||||
(term
|
(term
|
||||||
|
|
|
||||||
|
|
@ -39,10 +39,9 @@ end P;
|
||||||
(procedure_specification
|
(procedure_specification
|
||||||
(identifier)
|
(identifier)
|
||||||
(formal_part
|
(formal_part
|
||||||
(parameter_specification_list
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier))))
|
||||||
(identifier)))))
|
|
||||||
(identifier))
|
(identifier))
|
||||||
(generic_renaming_declaration
|
(generic_renaming_declaration
|
||||||
(identifier)
|
(identifier)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,19 @@
|
||||||
|
================================================================================
|
||||||
|
Untyped Constant
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
A : constant := 111;
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(compilation
|
||||||
|
(compilation_unit
|
||||||
|
(number_declaration
|
||||||
|
(identifier)
|
||||||
|
(expression
|
||||||
|
(term
|
||||||
|
(numeric_literal))))))
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
Factors
|
Factors
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
@ -202,10 +218,9 @@ end P;
|
||||||
(procedure_specification
|
(procedure_specification
|
||||||
(identifier)
|
(identifier)
|
||||||
(formal_part
|
(formal_part
|
||||||
(parameter_specification_list
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier))))
|
||||||
(identifier)))))
|
|
||||||
(handled_sequence_of_statements
|
(handled_sequence_of_statements
|
||||||
(statement
|
(statement
|
||||||
(procedure_call_statement
|
(procedure_call_statement
|
||||||
|
|
|
||||||
|
|
@ -48,14 +48,13 @@ end;
|
||||||
(procedure_specification
|
(procedure_specification
|
||||||
(identifier)
|
(identifier)
|
||||||
(formal_part
|
(formal_part
|
||||||
(parameter_specification_list
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier)
|
||||||
(identifier)
|
(identifier))
|
||||||
(identifier))
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier))))
|
||||||
(identifier)))))
|
|
||||||
(aspect_specification
|
(aspect_specification
|
||||||
(aspect_mark_list
|
(aspect_mark_list
|
||||||
(aspect_association
|
(aspect_association
|
||||||
|
|
@ -107,11 +106,10 @@ end;
|
||||||
(function_specification
|
(function_specification
|
||||||
(identifier)
|
(identifier)
|
||||||
(formal_part
|
(formal_part
|
||||||
(parameter_specification_list
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier)
|
||||||
(identifier)
|
(identifier)))
|
||||||
(identifier))))
|
|
||||||
(result_profile
|
(result_profile
|
||||||
(access_definition
|
(access_definition
|
||||||
(null_exclusion)
|
(null_exclusion)
|
||||||
|
|
@ -149,10 +147,9 @@ end;
|
||||||
(procedure_specification
|
(procedure_specification
|
||||||
(identifier)
|
(identifier)
|
||||||
(formal_part
|
(formal_part
|
||||||
(parameter_specification_list
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier))))
|
||||||
(identifier)))))
|
|
||||||
(non_empty_declarative_part
|
(non_empty_declarative_part
|
||||||
(object_declaration
|
(object_declaration
|
||||||
(identifier)
|
(identifier)
|
||||||
|
|
@ -177,10 +174,9 @@ function F2 (A : Integer) return Boolean
|
||||||
(function_specification
|
(function_specification
|
||||||
(identifier)
|
(identifier)
|
||||||
(formal_part
|
(formal_part
|
||||||
(parameter_specification_list
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier)))
|
||||||
(identifier))))
|
|
||||||
(result_profile
|
(result_profile
|
||||||
(identifier)))
|
(identifier)))
|
||||||
(expression
|
(expression
|
||||||
|
|
@ -206,10 +202,9 @@ function F2 (A : Integer) return Boolean
|
||||||
(function_specification
|
(function_specification
|
||||||
(identifier)
|
(identifier)
|
||||||
(formal_part
|
(formal_part
|
||||||
(parameter_specification_list
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier)))
|
||||||
(identifier))))
|
|
||||||
(result_profile
|
(result_profile
|
||||||
(identifier)))
|
(identifier)))
|
||||||
(declare_expression
|
(declare_expression
|
||||||
|
|
@ -280,10 +275,9 @@ function F (A : Integer) return Boolean
|
||||||
(function_specification
|
(function_specification
|
||||||
(identifier)
|
(identifier)
|
||||||
(formal_part
|
(formal_part
|
||||||
(parameter_specification_list
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier)))
|
||||||
(identifier))))
|
|
||||||
(result_profile
|
(result_profile
|
||||||
(identifier)))
|
(identifier)))
|
||||||
(if_expression
|
(if_expression
|
||||||
|
|
@ -320,10 +314,9 @@ function F5 (A : Integer) return Boolean
|
||||||
(function_specification
|
(function_specification
|
||||||
(identifier)
|
(identifier)
|
||||||
(formal_part
|
(formal_part
|
||||||
(parameter_specification_list
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier)))
|
||||||
(identifier))))
|
|
||||||
(result_profile
|
(result_profile
|
||||||
(identifier)))
|
(identifier)))
|
||||||
(expression
|
(expression
|
||||||
|
|
@ -359,10 +352,9 @@ function F (A : Integer) return Boolean
|
||||||
(function_specification
|
(function_specification
|
||||||
(identifier)
|
(identifier)
|
||||||
(formal_part
|
(formal_part
|
||||||
(parameter_specification_list
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier)))
|
||||||
(identifier))))
|
|
||||||
(result_profile
|
(result_profile
|
||||||
(identifier)))
|
(identifier)))
|
||||||
(case_expression
|
(case_expression
|
||||||
|
|
@ -440,10 +432,9 @@ function F (A : My_Array) return Boolean
|
||||||
(function_specification
|
(function_specification
|
||||||
(identifier)
|
(identifier)
|
||||||
(formal_part
|
(formal_part
|
||||||
(parameter_specification_list
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier)))
|
||||||
(identifier))))
|
|
||||||
(result_profile
|
(result_profile
|
||||||
(identifier)))
|
(identifier)))
|
||||||
(quantified_expression
|
(quantified_expression
|
||||||
|
|
@ -476,11 +467,10 @@ end "<";
|
||||||
(function_specification
|
(function_specification
|
||||||
(string_literal)
|
(string_literal)
|
||||||
(formal_part
|
(formal_part
|
||||||
(parameter_specification_list
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier)
|
||||||
(identifier)
|
(identifier)))
|
||||||
(identifier))))
|
|
||||||
(result_profile
|
(result_profile
|
||||||
(identifier)))
|
(identifier)))
|
||||||
(handled_sequence_of_statements
|
(handled_sequence_of_statements
|
||||||
|
|
@ -490,3 +480,22 @@ end "<";
|
||||||
(term
|
(term
|
||||||
(identifier))))))
|
(identifier))))))
|
||||||
(string_literal))))
|
(string_literal))))
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Access Parameters
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
procedure Proc (A : access Integer);
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(compilation
|
||||||
|
(compilation_unit
|
||||||
|
(subprogram_declaration
|
||||||
|
(procedure_specification
|
||||||
|
(identifier)
|
||||||
|
(formal_part
|
||||||
|
(parameter_specification
|
||||||
|
(identifier)
|
||||||
|
(access_definition
|
||||||
|
(identifier))))))))
|
||||||
|
|
|
||||||
|
|
@ -44,10 +44,9 @@ end P;
|
||||||
(entry_declaration
|
(entry_declaration
|
||||||
(identifier)
|
(identifier)
|
||||||
(formal_part
|
(formal_part
|
||||||
(parameter_specification_list
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier))))
|
||||||
(identifier)))))
|
|
||||||
(entry_declaration
|
(entry_declaration
|
||||||
(identifier))
|
(identifier))
|
||||||
(identifier))))
|
(identifier))))
|
||||||
|
|
@ -62,10 +61,9 @@ end P;
|
||||||
(accept_statement
|
(accept_statement
|
||||||
(identifier)
|
(identifier)
|
||||||
(formal_part
|
(formal_part
|
||||||
(parameter_specification_list
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier)))
|
||||||
(identifier))))
|
|
||||||
(handled_sequence_of_statements
|
(handled_sequence_of_statements
|
||||||
(statement
|
(statement
|
||||||
(null_statement)))
|
(null_statement)))
|
||||||
|
|
@ -131,10 +129,9 @@ end;
|
||||||
(entry_declaration
|
(entry_declaration
|
||||||
(identifier)
|
(identifier)
|
||||||
(formal_part
|
(formal_part
|
||||||
(parameter_specification_list
|
(parameter_specification
|
||||||
(parameter_specification
|
(identifier)
|
||||||
(identifier)
|
(identifier))))
|
||||||
(identifier)))))
|
|
||||||
(identifier))))
|
(identifier))))
|
||||||
(full_type_declaration
|
(full_type_declaration
|
||||||
(task_type_declaration
|
(task_type_declaration
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user