Inline all rules that do not consume any character directly
This simplifies the trees significantly.
This commit is contained in:
parent
a41588c541
commit
3b5200c14c
534
grammar.js
534
grammar.js
File diff suppressed because it is too large
Load Diff
|
|
@ -142,14 +142,16 @@
|
|||
; "limited"
|
||||
; "synchronized"
|
||||
; ]* @keyword.type
|
||||
(full_type_declaration
|
||||
; (identifier) @type
|
||||
"is" @type.definition
|
||||
; (access_type_definition "access" @keyword.type)
|
||||
)
|
||||
(full_type_declaration "is" @type.definition)
|
||||
(full_type_declaration (_ "access") @type.definition)
|
||||
|
||||
;; Highlight full subprogram specifications
|
||||
(subprogram_body (subprogram_specification) @function.spec)
|
||||
(subprogram_body
|
||||
[
|
||||
(procedure_specification)
|
||||
(function_specification)
|
||||
] @function.spec
|
||||
)
|
||||
|
||||
;; 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.
|
||||
|
|
|
|||
|
|
@ -3,14 +3,19 @@
|
|||
;; See https://tree-sitter.github.io/tree-sitter/syntax-highlighting#local-variables
|
||||
|
||||
(package_specification) @scope
|
||||
(subprogram_specification) @scope
|
||||
(procedure_specification) @scope
|
||||
(function_specification) @scope
|
||||
(block_statement) @scope
|
||||
|
||||
(procedure_specification name: (identifier) @definition.var)
|
||||
(function_specification name: (identifier) @definition.var)
|
||||
(package_specification name: (identifier) @definition.var)
|
||||
(package_body name: (identifier) @definition.var)
|
||||
(generic_instantiation . name: (identifier) @definition.var)
|
||||
(defining_identifier_list (identifier) @definition.var)
|
||||
(procedure_specification name: (_) @definition.var)
|
||||
(function_specification name: (_) @definition.var)
|
||||
(package_specification name: (_) @definition.var)
|
||||
(package_body name: (_) @definition.var)
|
||||
(generic_instantiation . name: (_) @definition.var)
|
||||
(component_declaration (identifier) @definition.var)
|
||||
(exception_declaration (identifier) @definition.var)
|
||||
(formal_object_declaration (identifier) @definition.var)
|
||||
(object_declaration (identifier) @definition.var)
|
||||
(parameter_specification (identifier) @definition.var)
|
||||
|
||||
(identifier) @reference
|
||||
|
|
|
|||
|
|
@ -10,10 +10,13 @@
|
|||
(subprogram_body) @function.outer
|
||||
(subprogram_body (non_empty_declarative_part) @function.inner)
|
||||
(subprogram_body (handled_sequence_of_statements) @function.inner)
|
||||
(subprogram_specification) @function.outer
|
||||
(function_specification) @function.outer
|
||||
(procedure_specification) @function.outer
|
||||
(package_specification) @function.outer
|
||||
(package_body) @function.outer
|
||||
(if_statement) @block.outer
|
||||
(if_statement (sequence_of_statements) @block.inner)
|
||||
(if_statement statements: (_) @block.inner)
|
||||
(if_statement else_statements: (_) @block.inner)
|
||||
(elsif_statement_item statements: (_) @block.inner)
|
||||
(loop_statement) @block.outer
|
||||
(loop_statement (sequence_of_statements) @block.inner)
|
||||
(loop_statement statements: (_) @block.inner)
|
||||
|
|
|
|||
901
src/grammar.json
901
src/grammar.json
File diff suppressed because it is too large
Load Diff
5084
src/node-types.json
5084
src/node-types.json
File diff suppressed because it is too large
Load Diff
82254
src/parser.c
82254
src/parser.c
File diff suppressed because it is too large
Load Diff
|
|
@ -17,59 +17,35 @@ end;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(access_type_definition
|
||||
(access_to_object_definition
|
||||
(subtype_indication
|
||||
(identifier)))))))
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(access_type_definition
|
||||
(access_to_object_definition
|
||||
(subtype_indication
|
||||
(null_exclusion)
|
||||
(identifier)))))))
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(access_type_definition
|
||||
(access_to_object_definition
|
||||
(general_access_modifier)
|
||||
(subtype_indication
|
||||
(identifier)))))))
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(access_type_definition
|
||||
(access_to_object_definition
|
||||
(general_access_modifier)
|
||||
(subtype_indication
|
||||
(identifier)))))))
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(access_type_definition
|
||||
(access_to_subprogram_definition
|
||||
(parameter_and_result_profile
|
||||
(result_profile
|
||||
(identifier))))))))
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(access_type_definition
|
||||
(access_to_subprogram_definition
|
||||
(parameter_and_result_profile
|
||||
(result_profile
|
||||
(identifier)))))))))))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(access_to_object_definition
|
||||
(identifier)))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(access_to_object_definition
|
||||
(null_exclusion)
|
||||
(identifier)))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(access_to_object_definition
|
||||
(general_access_modifier)
|
||||
(identifier)))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(access_to_object_definition
|
||||
(general_access_modifier)
|
||||
(identifier)))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(access_to_subprogram_definition
|
||||
(result_profile
|
||||
(identifier))))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(access_to_subprogram_definition
|
||||
(result_profile
|
||||
(identifier)))))))
|
||||
|
||||
================================================================================
|
||||
Dereference
|
||||
|
|
@ -85,38 +61,24 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(assign_value
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)
|
||||
(identifier)))))))))))
|
||||
(statement
|
||||
(simple_statement
|
||||
(procedure_call_statement
|
||||
(identifier)
|
||||
(function_call
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))))))))))
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(identifier)
|
||||
(identifier)))))
|
||||
(statement
|
||||
(procedure_call_statement
|
||||
(identifier)
|
||||
(function_call
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))))))
|
||||
|
|
|
|||
|
|
@ -14,118 +14,61 @@ end P;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(array_type_definition
|
||||
(constrained_array_definition
|
||||
(discrete_subtype_definition
|
||||
(range_g
|
||||
(simple_expression
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(constrained_array_definition
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(component_definition
|
||||
(identifier))))
|
||||
(object_declaration
|
||||
(identifier)
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(numeric_literal)))))
|
||||
(expression
|
||||
(term
|
||||
(identifier))))
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))
|
||||
(component_definition
|
||||
(subtype_indication
|
||||
(numeric_literal)))))
|
||||
(expression
|
||||
(term
|
||||
(identifier))))))))
|
||||
(object_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(subtype_indication
|
||||
(identifier))
|
||||
(assign_value
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(aggregate
|
||||
(array_aggregate
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))))))))))))))))
|
||||
(object_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(subtype_indication
|
||||
(identifier))
|
||||
(assign_value
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(aggregate
|
||||
(array_aggregate
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))))))))))))))))
|
||||
(identifier)
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(expression
|
||||
(term
|
||||
(identifier))))
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice))
|
||||
(expression
|
||||
(term
|
||||
(identifier))))))))
|
||||
(identifier))))
|
||||
|
||||
================================================================================
|
||||
|
|
@ -143,63 +86,31 @@ end;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(array_type_definition
|
||||
(constrained_array_definition
|
||||
(discrete_subtype_definition
|
||||
(range_g
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))
|
||||
(component_definition
|
||||
(subtype_indication
|
||||
(identifier))))))))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(constrained_array_definition
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(component_definition
|
||||
(identifier))))
|
||||
(object_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(subtype_indication
|
||||
(identifier))
|
||||
(assign_value
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(identifier)
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(positional_array_aggregate
|
||||
(expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(aggregate
|
||||
(array_aggregate
|
||||
(positional_array_aggregate
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))))))))))))
|
||||
(numeric_literal)))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))))
|
||||
|
||||
================================================================================
|
||||
Indefinite
|
||||
|
|
@ -216,53 +127,30 @@ end P;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(array_type_definition
|
||||
(unconstrained_array_definition
|
||||
(index_subtype_definition
|
||||
(identifier))
|
||||
(component_definition
|
||||
(subtype_indication
|
||||
(identifier))))))))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(unconstrained_array_definition
|
||||
(index_subtype_definition
|
||||
(identifier))
|
||||
(component_definition
|
||||
(identifier))))
|
||||
(object_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(subtype_indication
|
||||
(identifier))
|
||||
(assign_value
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(aggregate
|
||||
(array_aggregate
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))))))))))))))))
|
||||
(identifier)
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(expression
|
||||
(term
|
||||
(identifier))))))))
|
||||
(identifier))))
|
||||
|
||||
================================================================================
|
||||
|
|
@ -280,78 +168,43 @@ end P;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(array_type_definition
|
||||
(unconstrained_array_definition
|
||||
(index_subtype_definition
|
||||
(identifier))
|
||||
(index_subtype_definition
|
||||
(identifier))
|
||||
(component_definition
|
||||
(subtype_indication
|
||||
(identifier))))))))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(unconstrained_array_definition
|
||||
(index_subtype_definition
|
||||
(identifier))
|
||||
(index_subtype_definition
|
||||
(identifier))
|
||||
(component_definition
|
||||
(identifier))))
|
||||
(object_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(subtype_indication
|
||||
(identifier))
|
||||
(assign_value
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(aggregate
|
||||
(array_aggregate
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(aggregate
|
||||
(array_aggregate
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))))))))))))))))))))))))))
|
||||
(identifier)
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(expression
|
||||
(term
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(expression
|
||||
(term
|
||||
(identifier))))))))))))
|
||||
(identifier))))
|
||||
|
||||
================================================================================
|
||||
|
|
@ -367,57 +220,31 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(assign_value
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(iterated_element_association
|
||||
(loop_parameter_specification
|
||||
(identifier)
|
||||
(range_g
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(aggregate
|
||||
(array_aggregate
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(iterated_element_association
|
||||
(loop_parameter_specification
|
||||
(identifier)
|
||||
(discrete_subtype_definition
|
||||
(range_g
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(function_call
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))))))))))))))))))))))))))))))))))
|
||||
(numeric_literal))
|
||||
(term
|
||||
(identifier))))
|
||||
(expression
|
||||
(term
|
||||
(function_call
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(term
|
||||
(identifier)))))))))))))))))))
|
||||
|
|
|
|||
|
|
@ -17,71 +17,47 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(non_empty_declarative_part
|
||||
(declarative_item_pragma
|
||||
(object_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(subtype_indication
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(non_empty_declarative_part
|
||||
(object_declaration
|
||||
(identifier)
|
||||
(identifier)
|
||||
(index_constraint
|
||||
(range_g
|
||||
(identifier)
|
||||
(tick)
|
||||
(range_attribute_designator
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(loop_statement
|
||||
(iteration_scheme
|
||||
(loop_parameter_specification
|
||||
(identifier)
|
||||
(constraint
|
||||
(index_constraint
|
||||
(discrete_range
|
||||
(range_g
|
||||
(identifier)
|
||||
(tick)
|
||||
(range_attribute_designator
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))))))))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(range_g
|
||||
(identifier)
|
||||
(tick)
|
||||
(range_attribute_designator))))
|
||||
(statement
|
||||
(compound_statement
|
||||
(loop_statement
|
||||
(iteration_scheme
|
||||
(loop_parameter_specification
|
||||
(identifier)
|
||||
(discrete_subtype_definition
|
||||
(range_g
|
||||
(identifier)
|
||||
(tick)
|
||||
(range_attribute_designator)))))
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement)))))))
|
||||
(null_statement))))
|
||||
(statement
|
||||
(loop_statement
|
||||
(iteration_scheme
|
||||
(loop_parameter_specification
|
||||
(identifier)
|
||||
(range_g
|
||||
(identifier)
|
||||
(tick)
|
||||
(range_attribute_designator
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))))
|
||||
(statement
|
||||
(compound_statement
|
||||
(loop_statement
|
||||
(iteration_scheme
|
||||
(loop_parameter_specification
|
||||
(identifier)
|
||||
(discrete_subtype_definition
|
||||
(range_g
|
||||
(identifier)
|
||||
(tick)
|
||||
(range_attribute_designator
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))))
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement)))))))))))))
|
||||
(null_statement))))))))
|
||||
|
||||
================================================================================
|
||||
Reduction
|
||||
|
|
@ -99,83 +75,44 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(non_empty_declarative_part
|
||||
(declarative_item_pragma
|
||||
(object_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(subtype_indication
|
||||
(identifier))
|
||||
(assign_value
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(attribute_reference
|
||||
(reduction_attribute_reference
|
||||
(value_sequence
|
||||
(iterated_element_association
|
||||
(iterator_specification
|
||||
(identifier)
|
||||
(identifier)
|
||||
(iterator_filter
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))
|
||||
(relational_operator)
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(aggregate
|
||||
(array_aggregate
|
||||
(positional_array_aggregate
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))))))))))
|
||||
(tick)
|
||||
(reduction_attribute_designator
|
||||
(identifier)
|
||||
(reduction_specification
|
||||
(string_literal)
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))))))))))))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement)))))))))
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(non_empty_declarative_part
|
||||
(object_declaration
|
||||
(identifier)
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(value_sequence
|
||||
(iterated_element_association
|
||||
(iterator_specification
|
||||
(identifier)
|
||||
(identifier)
|
||||
(iterator_filter
|
||||
(expression
|
||||
(term
|
||||
(identifier))
|
||||
(relational_operator)
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(expression
|
||||
(term
|
||||
(positional_array_aggregate
|
||||
(expression
|
||||
(term
|
||||
(identifier)))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))
|
||||
(tick)
|
||||
(reduction_attribute_designator
|
||||
(identifier)
|
||||
(reduction_specification
|
||||
(string_literal)
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))))))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(null_statement))))))
|
||||
|
|
|
|||
|
|
@ -17,88 +17,56 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(generic_declaration
|
||||
(generic_package_declaration
|
||||
(generic_formal_part
|
||||
(generic_formal_parameter_declaration
|
||||
(formal_object_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier)
|
||||
(assign_value
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))
|
||||
(generic_formal_parameter_declaration
|
||||
(formal_type_declaration
|
||||
(formal_complete_type_declaration
|
||||
(identifier)
|
||||
(discriminant_part
|
||||
(unknown_discriminant_part))
|
||||
(formal_type_definition
|
||||
(formal_private_type_definition))
|
||||
(identifier))))
|
||||
(generic_formal_parameter_declaration
|
||||
(formal_type_declaration
|
||||
(formal_incomplete_type_declaration
|
||||
(identifier))))
|
||||
(generic_formal_parameter_declaration
|
||||
(formal_package_declaration
|
||||
(identifier)
|
||||
(function_call
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))
|
||||
(parameter_association
|
||||
(component_choice_list
|
||||
(identifier)))))))
|
||||
(generic_formal_parameter_declaration
|
||||
(formal_subprogram_declaration
|
||||
(formal_concrete_subprogram_declaration
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(subprogram_default))))
|
||||
(generic_formal_parameter_declaration
|
||||
(formal_subprogram_declaration
|
||||
(formal_concrete_subprogram_declaration
|
||||
(subprogram_specification
|
||||
(function_specification
|
||||
(identifier)
|
||||
(parameter_and_result_profile
|
||||
(result_profile
|
||||
(identifier)))))
|
||||
(subprogram_default)))))
|
||||
(package_specification
|
||||
(generic_package_declaration
|
||||
(generic_formal_part
|
||||
(formal_object_declaration
|
||||
(identifier)
|
||||
(pragma_g
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))
|
||||
(formal_complete_type_declaration
|
||||
(identifier)
|
||||
(unknown_discriminant_part)
|
||||
(formal_private_type_definition)
|
||||
(identifier))
|
||||
(formal_incomplete_type_declaration
|
||||
(identifier))
|
||||
(formal_package_declaration
|
||||
(identifier)
|
||||
(function_call
|
||||
(identifier)
|
||||
(pragma_argument_association
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))
|
||||
(pragma_argument_association
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(string_literal))))))))))))))
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))
|
||||
(parameter_association
|
||||
(component_choice_list
|
||||
(identifier))))))
|
||||
(formal_subprogram_declaration
|
||||
(formal_concrete_subprogram_declaration
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(subprogram_default)))
|
||||
(formal_subprogram_declaration
|
||||
(formal_concrete_subprogram_declaration
|
||||
(function_specification
|
||||
(identifier)
|
||||
(result_profile
|
||||
(identifier)))
|
||||
(subprogram_default))))
|
||||
(package_specification
|
||||
(identifier)
|
||||
(pragma_g
|
||||
(identifier)
|
||||
(pragma_argument_association
|
||||
(expression
|
||||
(term
|
||||
(identifier))))
|
||||
(pragma_argument_association
|
||||
(expression
|
||||
(term
|
||||
(string_literal)))))))))
|
||||
|
|
|
|||
|
|
@ -93,28 +93,21 @@ end Child.P2;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(package_body
|
||||
(identifier)
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(declarative_item_pragma
|
||||
(proper_body
|
||||
(package_body
|
||||
(identifier)
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement)))))
|
||||
(identifier)))))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(package_body
|
||||
(identifier)
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(package_body
|
||||
(identifier)
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement)))))
|
||||
(identifier)
|
||||
(identifier)))))
|
||||
(null_statement)))
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(null_statement)))
|
||||
(identifier)
|
||||
(identifier))))
|
||||
|
||||
================================================================================
|
||||
separate
|
||||
|
|
@ -129,9 +122,8 @@ end;
|
|||
(compilation_unit
|
||||
(subunit
|
||||
(identifier)
|
||||
(proper_body
|
||||
(package_body
|
||||
(identifier))))))
|
||||
(package_body
|
||||
(identifier)))))
|
||||
|
||||
================================================================================
|
||||
private types
|
||||
|
|
@ -149,30 +141,20 @@ end;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(private_type_declaration
|
||||
(identifier)))
|
||||
(type_declaration
|
||||
(private_extension_declaration
|
||||
(identifier)
|
||||
(subtype_indication
|
||||
(identifier))))
|
||||
(type_declaration
|
||||
(private_type_declaration
|
||||
(identifier)
|
||||
(aspect_specification
|
||||
(aspect_mark_list
|
||||
(aspect_association
|
||||
(aspect_mark
|
||||
(identifier))
|
||||
(aspect_definition
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))))))))
|
||||
(private_type_declaration
|
||||
(identifier))
|
||||
(private_extension_declaration
|
||||
(identifier)
|
||||
(identifier))
|
||||
(private_type_declaration
|
||||
(identifier)
|
||||
(aspect_specification
|
||||
(aspect_mark_list
|
||||
(aspect_association
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))))
|
||||
|
||||
================================================================================
|
||||
incomplete types
|
||||
|
|
@ -192,24 +174,17 @@ end;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(incomplete_type_declaration
|
||||
(identifier)))
|
||||
(type_declaration
|
||||
(incomplete_type_declaration
|
||||
(identifier)
|
||||
(discriminant_part
|
||||
(known_discriminant_part
|
||||
(discriminant_specification_list
|
||||
(discriminant_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier)))))))
|
||||
(type_declaration
|
||||
(incomplete_type_declaration
|
||||
(identifier)
|
||||
(discriminant_part
|
||||
(unknown_discriminant_part))))
|
||||
(type_declaration
|
||||
(incomplete_type_declaration
|
||||
(identifier))))))
|
||||
(incomplete_type_declaration
|
||||
(identifier))
|
||||
(incomplete_type_declaration
|
||||
(identifier)
|
||||
(known_discriminant_part
|
||||
(discriminant_specification_list
|
||||
(discriminant_specification
|
||||
(identifier)
|
||||
(identifier)))))
|
||||
(incomplete_type_declaration
|
||||
(identifier)
|
||||
(unknown_discriminant_part))
|
||||
(incomplete_type_declaration
|
||||
(identifier)))))
|
||||
|
|
|
|||
|
|
@ -30,137 +30,87 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(declarative_item_pragma
|
||||
(object_declaration
|
||||
(single_protected_declaration
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(object_declaration
|
||||
(single_protected_declaration
|
||||
(identifier)
|
||||
(protected_definition
|
||||
(subprogram_declaration
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(subprogram_declaration
|
||||
(function_specification
|
||||
(identifier)
|
||||
(result_profile
|
||||
(identifier))))
|
||||
(entry_declaration
|
||||
(identifier))
|
||||
(entry_declaration
|
||||
(identifier)
|
||||
(protected_definition
|
||||
(protected_operation_declaration
|
||||
(subprogram_declaration
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))))
|
||||
(protected_operation_declaration
|
||||
(subprogram_declaration
|
||||
(subprogram_specification
|
||||
(function_specification
|
||||
(identifier)
|
||||
(parameter_and_result_profile
|
||||
(result_profile
|
||||
(identifier)))))))
|
||||
(protected_operation_declaration
|
||||
(entry_declaration
|
||||
(identifier)))
|
||||
(protected_operation_declaration
|
||||
(entry_declaration
|
||||
(identifier)
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(discrete_subtype_definition
|
||||
(subtype_indication
|
||||
(identifier)))
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier))))))
|
||||
(protected_element_declaration
|
||||
(component_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(component_definition
|
||||
(subtype_indication
|
||||
(identifier)))))
|
||||
(identifier)))))
|
||||
(declarative_item_pragma
|
||||
(proper_body
|
||||
(protected_body
|
||||
(identifier)))))
|
||||
(component_declaration
|
||||
(identifier)
|
||||
(protected_operation_item
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(abort_statement
|
||||
(identifier))))))))
|
||||
(protected_operation_item
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(function_specification
|
||||
(identifier)
|
||||
(parameter_and_result_profile
|
||||
(result_profile
|
||||
(identifier)))))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(simple_return_statement
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))))))))
|
||||
(protected_operation_item
|
||||
(entry_body
|
||||
(component_definition
|
||||
(identifier)))
|
||||
(identifier))))
|
||||
(protected_body
|
||||
(identifier)
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(abort_statement
|
||||
(identifier)))))
|
||||
(subprogram_body
|
||||
(function_specification
|
||||
(identifier)
|
||||
(result_profile
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(simple_return_statement
|
||||
(expression
|
||||
(term
|
||||
(identifier)))))))
|
||||
(entry_body
|
||||
(identifier)
|
||||
(entry_barrier
|
||||
(expression
|
||||
(term
|
||||
(identifier))
|
||||
(relational_operator)
|
||||
(term
|
||||
(numeric_literal))))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(requeue_statement
|
||||
(identifier))))
|
||||
(identifier))
|
||||
(entry_body
|
||||
(identifier)
|
||||
(non_empty_entry_body_formal_part
|
||||
(entry_index_specification
|
||||
(identifier)
|
||||
(identifier))
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(entry_barrier
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))
|
||||
(relational_operator)
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(requeue_statement
|
||||
(identifier))))))
|
||||
(identifier)))
|
||||
(protected_operation_item
|
||||
(entry_body
|
||||
(identifier)
|
||||
(non_empty_entry_body_formal_part
|
||||
(entry_index_specification
|
||||
(identifier)
|
||||
(discrete_subtype_definition
|
||||
(subtype_indication
|
||||
(identifier))))
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier)))))
|
||||
(entry_barrier
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement)))))
|
||||
(identifier)))
|
||||
(identifier)))))))))
|
||||
(identifier)))))
|
||||
(entry_barrier
|
||||
(expression
|
||||
(term
|
||||
(identifier))))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(null_statement)))
|
||||
(identifier))
|
||||
(identifier))))))
|
||||
|
|
|
|||
|
|
@ -12,12 +12,10 @@ end;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(record_type_definition
|
||||
(record_definition))))))))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(record_type_definition
|
||||
(record_definition))))))
|
||||
|
||||
================================================================================
|
||||
records
|
||||
|
|
@ -41,72 +39,43 @@ end;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(record_type_definition
|
||||
(record_definition
|
||||
(component_list
|
||||
(component_declaration
|
||||
(identifier)
|
||||
(component_definition
|
||||
(identifier)))
|
||||
(component_declaration
|
||||
(identifier)
|
||||
(component_definition
|
||||
(identifier)
|
||||
(range_constraint
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal))))))
|
||||
(component_declaration
|
||||
(identifier)
|
||||
(identifier)
|
||||
(component_definition
|
||||
(access_definition
|
||||
(null_exclusion)
|
||||
(identifier))))))))
|
||||
(record_representation_clause
|
||||
(identifier)
|
||||
(component_clause
|
||||
(identifier)
|
||||
(type_definition
|
||||
(record_type_definition
|
||||
(record_definition
|
||||
(component_list
|
||||
(component_item
|
||||
(component_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(component_definition
|
||||
(subtype_indication
|
||||
(identifier)))))
|
||||
(component_item
|
||||
(component_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(component_definition
|
||||
(subtype_indication
|
||||
(identifier)
|
||||
(constraint
|
||||
(scalar_constraint
|
||||
(range_constraint
|
||||
(range_g
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))))
|
||||
(component_item
|
||||
(component_declaration
|
||||
(defining_identifier_list
|
||||
(identifier)
|
||||
(identifier))
|
||||
(component_definition
|
||||
(access_definition
|
||||
(null_exclusion)
|
||||
(identifier)))))))))))
|
||||
(aspect_clause
|
||||
(record_representation_clause
|
||||
(identifier)
|
||||
(component_clause
|
||||
(identifier)
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))))))
|
||||
|
||||
================================================================================
|
||||
Multiple fields on one line
|
||||
|
|
@ -124,21 +93,16 @@ end;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(record_type_definition
|
||||
(record_definition
|
||||
(component_list
|
||||
(component_item
|
||||
(component_declaration
|
||||
(defining_identifier_list
|
||||
(identifier)
|
||||
(identifier))
|
||||
(component_definition
|
||||
(subtype_indication
|
||||
(identifier))))))))))))))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(record_type_definition
|
||||
(record_definition
|
||||
(component_list
|
||||
(component_declaration
|
||||
(identifier)
|
||||
(identifier)
|
||||
(component_definition
|
||||
(identifier))))))))))
|
||||
|
||||
================================================================================
|
||||
Discriminated
|
||||
|
|
@ -156,30 +120,23 @@ end;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(known_discriminant_part
|
||||
(discriminant_specification_list
|
||||
(discriminant_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier))
|
||||
(discriminant_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier))))
|
||||
(type_definition
|
||||
(record_type_definition
|
||||
(record_definition
|
||||
(component_list
|
||||
(component_item
|
||||
(component_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(component_definition
|
||||
(subtype_indication
|
||||
(identifier))))))))))))))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(known_discriminant_part
|
||||
(discriminant_specification_list
|
||||
(discriminant_specification
|
||||
(identifier)
|
||||
(identifier))
|
||||
(discriminant_specification
|
||||
(identifier)
|
||||
(identifier))))
|
||||
(record_type_definition
|
||||
(record_definition
|
||||
(component_list
|
||||
(component_declaration
|
||||
(identifier)
|
||||
(component_definition
|
||||
(identifier))))))))))
|
||||
|
||||
================================================================================
|
||||
tagged
|
||||
|
|
@ -198,29 +155,21 @@ end;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(record_type_definition
|
||||
(record_definition)))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(derived_type_definition
|
||||
(identifier)
|
||||
(type_definition
|
||||
(record_type_definition
|
||||
(record_definition)))))
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(derived_type_definition
|
||||
(subtype_indication
|
||||
(identifier))
|
||||
(record_extension_part
|
||||
(record_definition
|
||||
(component_list
|
||||
(component_item
|
||||
(component_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(component_definition
|
||||
(subtype_indication
|
||||
(identifier)))))))))))))))
|
||||
(record_extension_part
|
||||
(record_definition
|
||||
(component_list
|
||||
(component_declaration
|
||||
(identifier)
|
||||
(component_definition
|
||||
(identifier)))))))))))
|
||||
|
||||
================================================================================
|
||||
Variant
|
||||
|
|
@ -243,56 +192,40 @@ end;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(known_discriminant_part
|
||||
(discriminant_specification_list
|
||||
(discriminant_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier))))
|
||||
(type_definition
|
||||
(record_type_definition
|
||||
(record_definition
|
||||
(component_list
|
||||
(variant_part
|
||||
(identifier)
|
||||
(variant_list
|
||||
(variant
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))
|
||||
(component_list
|
||||
(component_item
|
||||
(component_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(component_definition
|
||||
(subtype_indication
|
||||
(identifier)))))))
|
||||
(variant
|
||||
(discrete_choice_list
|
||||
(discrete_choice))
|
||||
(component_list)))))))))))))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(known_discriminant_part
|
||||
(discriminant_specification_list
|
||||
(discriminant_specification
|
||||
(identifier)
|
||||
(identifier))))
|
||||
(record_type_definition
|
||||
(record_definition
|
||||
(component_list
|
||||
(variant_part
|
||||
(identifier)
|
||||
(variant_list
|
||||
(variant
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(component_list
|
||||
(component_declaration
|
||||
(identifier)
|
||||
(component_definition
|
||||
(identifier)))))
|
||||
(variant
|
||||
(discrete_choice_list
|
||||
(discrete_choice))
|
||||
(component_list)))))))))))
|
||||
|
||||
================================================================================
|
||||
interface
|
||||
|
|
@ -310,27 +243,20 @@ end;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(interface_type_definition))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(interface_type_definition
|
||||
(identifier)))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(derived_type_definition
|
||||
(identifier)
|
||||
(type_definition
|
||||
(interface_type_definition))))
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(interface_type_definition
|
||||
(identifier)))))
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(derived_type_definition
|
||||
(subtype_indication
|
||||
(identifier))
|
||||
(identifier)
|
||||
(record_extension_part
|
||||
(record_definition)))))))))
|
||||
(record_extension_part
|
||||
(record_definition)))))))
|
||||
|
||||
================================================================================
|
||||
record aggregates
|
||||
|
|
@ -345,45 +271,27 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(assign_value
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(record_aggregate
|
||||
(record_component_association_list
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(aggregate
|
||||
(record_aggregate
|
||||
(record_component_association_list
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))))))))))))))))))
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))))))))))
|
||||
|
||||
================================================================================
|
||||
record aggregate extension
|
||||
|
|
@ -398,43 +306,25 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(assign_value
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(extension_aggregate
|
||||
(expression
|
||||
(term
|
||||
(identifier)))
|
||||
(record_component_association_list
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(aggregate
|
||||
(extension_aggregate
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))))
|
||||
(record_component_association_list
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))))))))))))))))))
|
||||
(term
|
||||
(numeric_literal)))))))))))))
|
||||
|
||||
================================================================================
|
||||
record delta aggregate
|
||||
|
|
@ -449,41 +339,22 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(assign_value
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(record_delta_aggregate
|
||||
(expression
|
||||
(term
|
||||
(identifier)))
|
||||
(record_component_association_list
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(aggregate
|
||||
(delta_aggregate
|
||||
(record_delta_aggregate
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))))
|
||||
(record_component_association_list
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))))))))))))))))))
|
||||
(term
|
||||
(numeric_literal)))))))))))))
|
||||
|
|
|
|||
|
|
@ -17,56 +17,37 @@ end P;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(non_empty_declarative_part
|
||||
(object_renaming_declaration
|
||||
(identifier)
|
||||
(identifier))
|
||||
(object_renaming_declaration
|
||||
(identifier)
|
||||
(identifier)
|
||||
(identifier))
|
||||
(exception_renaming_declaration
|
||||
(identifier)
|
||||
(identifier))
|
||||
(package_renaming_declaration
|
||||
(identifier)
|
||||
(identifier)
|
||||
(identifier))
|
||||
(subprogram_renaming_declaration
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(non_empty_declarative_part
|
||||
(declarative_item_pragma
|
||||
(renaming_declaration
|
||||
(object_renaming_declaration
|
||||
(identifier)
|
||||
(identifier))))
|
||||
(declarative_item_pragma
|
||||
(renaming_declaration
|
||||
(object_renaming_declaration
|
||||
(identifier)
|
||||
(identifier)
|
||||
(identifier))))
|
||||
(declarative_item_pragma
|
||||
(renaming_declaration
|
||||
(exception_renaming_declaration
|
||||
(identifier)
|
||||
(identifier))))
|
||||
(declarative_item_pragma
|
||||
(renaming_declaration
|
||||
(package_renaming_declaration
|
||||
(identifier)
|
||||
(identifier)
|
||||
(identifier))))
|
||||
(declarative_item_pragma
|
||||
(renaming_declaration
|
||||
(subprogram_renaming_declaration
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)
|
||||
(non_empty_parameter_profile
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier)))))))
|
||||
(identifier))))
|
||||
(declarative_item_pragma
|
||||
(renaming_declaration
|
||||
(generic_renaming_declaration
|
||||
(identifier)
|
||||
(identifier)))))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement)))))
|
||||
(identifier)))))
|
||||
(identifier)
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(identifier)))))
|
||||
(identifier))
|
||||
(generic_renaming_declaration
|
||||
(identifier)
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(null_statement)))
|
||||
(identifier))))
|
||||
|
|
|
|||
|
|
@ -11,37 +11,29 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(declarative_item_pragma
|
||||
(body_stub
|
||||
(subprogram_body_stub
|
||||
(overriding_indicator)
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(aspect_specification
|
||||
(aspect_mark_list
|
||||
(aspect_association
|
||||
(aspect_mark
|
||||
(identifier))))))))
|
||||
(declarative_item_pragma
|
||||
(body_stub
|
||||
(subprogram_body_stub
|
||||
(overriding_indicator)
|
||||
(subprogram_specification
|
||||
(function_specification
|
||||
(identifier)
|
||||
(parameter_and_result_profile
|
||||
(result_profile
|
||||
(identifier)))))
|
||||
(aspect_specification
|
||||
(aspect_mark_list
|
||||
(aspect_association
|
||||
(aspect_mark
|
||||
(identifier)))))))))))))
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(body_stub
|
||||
(subprogram_body_stub
|
||||
(overriding_indicator)
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(aspect_specification
|
||||
(aspect_mark_list
|
||||
(aspect_association
|
||||
(identifier))))))
|
||||
(body_stub
|
||||
(subprogram_body_stub
|
||||
(overriding_indicator)
|
||||
(function_specification
|
||||
(identifier)
|
||||
(result_profile
|
||||
(identifier)))
|
||||
(aspect_specification
|
||||
(aspect_mark_list
|
||||
(aspect_association
|
||||
(identifier))))))))))
|
||||
|
||||
================================================================================
|
||||
Separate packages
|
||||
|
|
@ -55,14 +47,12 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(declarative_item_pragma
|
||||
(body_stub
|
||||
(package_body_stub
|
||||
(identifier)))))))))
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(body_stub
|
||||
(package_body_stub
|
||||
(identifier)))))))
|
||||
|
||||
================================================================================
|
||||
Separate protected
|
||||
|
|
@ -76,15 +66,13 @@ end P;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(declarative_item_pragma
|
||||
(body_stub
|
||||
(protected_body_stub
|
||||
(identifier)))))
|
||||
(identifier)))))
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(body_stub
|
||||
(protected_body_stub
|
||||
(identifier))))
|
||||
(identifier))))
|
||||
|
||||
================================================================================
|
||||
Separate task
|
||||
|
|
@ -98,12 +86,10 @@ end P;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(declarative_item_pragma
|
||||
(body_stub
|
||||
(task_body_stub
|
||||
(identifier)))))
|
||||
(identifier)))))
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(body_stub
|
||||
(task_body_stub
|
||||
(identifier))))
|
||||
(identifier))))
|
||||
|
|
|
|||
|
|
@ -1,3 +1,25 @@
|
|||
================================================================================
|
||||
Factors
|
||||
================================================================================
|
||||
|
||||
A : constant Integer := 2 + 8 * 3;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(object_declaration
|
||||
(identifier)
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))
|
||||
(binary_adding_operator)
|
||||
(term
|
||||
(numeric_literal)
|
||||
(multiplying_operator)
|
||||
(numeric_literal))))))
|
||||
|
||||
================================================================================
|
||||
While
|
||||
================================================================================
|
||||
|
|
@ -14,44 +36,26 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(loop_statement
|
||||
(iteration_scheme
|
||||
(expression
|
||||
(term
|
||||
(identifier))))
|
||||
(statement
|
||||
(compound_statement
|
||||
(loop_statement
|
||||
(iteration_scheme
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(exit_statement)))
|
||||
(statement
|
||||
(simple_statement
|
||||
(exit_statement
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))
|
||||
(relational_operator)
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))))))))))))
|
||||
(exit_statement))
|
||||
(statement
|
||||
(exit_statement
|
||||
(expression
|
||||
(term
|
||||
(identifier))
|
||||
(relational_operator)
|
||||
(term
|
||||
(numeric_literal)))))))))))
|
||||
|
||||
================================================================================
|
||||
For loops
|
||||
|
|
@ -74,52 +78,37 @@ end P;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(loop_statement
|
||||
(iteration_scheme
|
||||
(iterator_specification
|
||||
(identifier)
|
||||
(identifier)
|
||||
(identifier)
|
||||
(tick)
|
||||
(attribute_designator
|
||||
(identifier))))
|
||||
(statement
|
||||
(compound_statement
|
||||
(loop_statement
|
||||
(iteration_scheme
|
||||
(iterator_specification
|
||||
(identifier)
|
||||
(identifier)
|
||||
(attribute_reference
|
||||
(identifier)
|
||||
(tick)
|
||||
(attribute_designator
|
||||
(identifier)))))
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(goto_statement
|
||||
(identifier))))
|
||||
(label
|
||||
(identifier))))))
|
||||
(goto_statement
|
||||
(identifier)))
|
||||
(label
|
||||
(identifier))))
|
||||
(statement
|
||||
(loop_statement
|
||||
(iteration_scheme
|
||||
(iterator_specification
|
||||
(identifier)
|
||||
(identifier)))
|
||||
(statement
|
||||
(compound_statement
|
||||
(loop_statement
|
||||
(iteration_scheme
|
||||
(iterator_specification
|
||||
(identifier)
|
||||
(identifier)))
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(delay_statement
|
||||
(delay_relative_statement
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))))))))
|
||||
(identifier)))))
|
||||
(delay_relative_statement
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))
|
||||
(identifier))))
|
||||
|
||||
================================================================================
|
||||
Named loop
|
||||
|
|
@ -137,24 +126,18 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(loop_statement
|
||||
(loop_label
|
||||
(identifier))
|
||||
(statement
|
||||
(compound_statement
|
||||
(loop_statement
|
||||
(loop_label
|
||||
(identifier))
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(exit_statement
|
||||
(identifier)))))
|
||||
(identifier))))))))))
|
||||
(exit_statement
|
||||
(identifier)))
|
||||
(identifier)))))))
|
||||
|
||||
================================================================================
|
||||
Return
|
||||
|
|
@ -172,59 +155,35 @@ end F;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(function_specification
|
||||
(identifier)
|
||||
(parameter_and_result_profile
|
||||
(result_profile
|
||||
(subprogram_body
|
||||
(function_specification
|
||||
(identifier)
|
||||
(result_profile
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(simple_return_statement
|
||||
(expression
|
||||
(term
|
||||
(identifier)))))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(simple_return_statement
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))))
|
||||
(statement
|
||||
(compound_statement
|
||||
(extended_return_statement
|
||||
(extended_return_object_declaration
|
||||
(identifier)
|
||||
(return_subtype_indication
|
||||
(subtype_indication
|
||||
(identifier)))
|
||||
(assign_value
|
||||
(statement
|
||||
(extended_return_statement
|
||||
(extended_return_object_declaration
|
||||
(identifier)
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(record_aggregate
|
||||
(record_component_association_list
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(aggregate
|
||||
(record_aggregate
|
||||
(record_component_association_list
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))))))))))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement))))))))))
|
||||
(identifier)))))
|
||||
(term
|
||||
(numeric_literal))))))))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(null_statement))))))
|
||||
(identifier))))
|
||||
|
||||
================================================================================
|
||||
Procedure call
|
||||
|
|
@ -239,42 +198,28 @@ end P;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier)
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(identifier)))))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(procedure_call_statement
|
||||
(identifier)
|
||||
(non_empty_parameter_profile
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier)))))))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(procedure_call_statement
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))
|
||||
(parameter_association
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))))))))
|
||||
(identifier)))))
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))
|
||||
(parameter_association
|
||||
(expression
|
||||
(term
|
||||
(identifier))))))))
|
||||
(identifier))))
|
||||
|
||||
================================================================================
|
||||
Raise exception
|
||||
|
|
@ -290,28 +235,19 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(raise_statement
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(raise_statement
|
||||
(identifier))))
|
||||
(statement
|
||||
(simple_statement
|
||||
(raise_statement
|
||||
(identifier)
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(string_literal))))))))))))))))
|
||||
(statement
|
||||
(raise_statement
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(string_literal)))))))))
|
||||
|
||||
================================================================================
|
||||
Function calls
|
||||
|
|
@ -327,44 +263,28 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(non_empty_declarative_part
|
||||
(declarative_item_pragma
|
||||
(object_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(subtype_indication
|
||||
(identifier)))))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(assignment_statement
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(non_empty_declarative_part
|
||||
(object_declaration
|
||||
(identifier)
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(function_call
|
||||
(identifier)
|
||||
(assign_value
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(function_call
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))))))))))))))))))
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))))))))))))
|
||||
|
||||
================================================================================
|
||||
if statement
|
||||
|
|
@ -396,99 +316,56 @@ end P;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(if_statement
|
||||
(expression
|
||||
(term
|
||||
(identifier))
|
||||
(relational_operator)
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(identifier))
|
||||
(relational_operator)
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(statement
|
||||
(compound_statement
|
||||
(if_statement
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))
|
||||
(relational_operator)
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))
|
||||
(relational_operator)
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))
|
||||
(sequence_of_statements
|
||||
(block_statement
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(null_statement)))))
|
||||
(elsif_statement_item
|
||||
(expression
|
||||
(term
|
||||
(identifier))
|
||||
(relational_operator)
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(statement
|
||||
(block_statement
|
||||
(non_empty_declarative_part
|
||||
(object_declaration
|
||||
(identifier)
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(compound_statement
|
||||
(block_statement
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement)))))))))
|
||||
(elsif_statement_item
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))
|
||||
(relational_operator)
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))
|
||||
(sequence_of_statements
|
||||
(null_statement))
|
||||
(exception_handler
|
||||
(exception_choice_list
|
||||
(exception_choice
|
||||
(identifier)))
|
||||
(statement
|
||||
(compound_statement
|
||||
(block_statement
|
||||
(non_empty_declarative_part
|
||||
(declarative_item_pragma
|
||||
(object_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(subtype_indication
|
||||
(identifier)))))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement))))
|
||||
(exception_handler_list
|
||||
(exception_handler
|
||||
(exception_choice_list
|
||||
(exception_choice
|
||||
(identifier)))
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement))))))))))))
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(compound_statement
|
||||
(block_statement
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement))))))))))))))
|
||||
(identifier)))))
|
||||
(null_statement)))))))
|
||||
(statement
|
||||
(block_statement
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(null_statement))))))))
|
||||
(identifier))))
|
||||
|
||||
================================================================================
|
||||
Case statement
|
||||
|
|
@ -508,75 +385,45 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(compound_statement
|
||||
(case_statement
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(case_statement
|
||||
(expression
|
||||
(term
|
||||
(function_call
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(function_call
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))))))))
|
||||
(case_statement_alternative
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(character_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(character_literal))))))))
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement)))))
|
||||
(case_statement_alternative
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(character_literal))))))))
|
||||
(discrete_choice
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(character_literal)))))))))
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement))))))))))))))
|
||||
(numeric_literal))))))))
|
||||
(case_statement_alternative
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(term
|
||||
(character_literal))
|
||||
(term
|
||||
(character_literal)))))
|
||||
(statement
|
||||
(null_statement)))
|
||||
(case_statement_alternative
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(expression
|
||||
(term
|
||||
(character_literal))))
|
||||
(discrete_choice
|
||||
(expression
|
||||
(term
|
||||
(character_literal)))))
|
||||
(statement
|
||||
(null_statement)))))))))
|
||||
|
||||
================================================================================
|
||||
Allocators
|
||||
|
|
@ -592,64 +439,38 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(assign_value
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(identifier))))))
|
||||
(statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(allocator
|
||||
(subpool_specification
|
||||
(identifier)
|
||||
(identifier))
|
||||
(qualified_expression
|
||||
(identifier)
|
||||
(tick)
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(allocator
|
||||
(subtype_indication_paren_constraint
|
||||
(identifier)))))))))))))
|
||||
(statement
|
||||
(simple_statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(assign_value
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(allocator
|
||||
(subpool_specification
|
||||
(identifier)
|
||||
(identifier))
|
||||
(subtype_indication_paren_constraint
|
||||
(qualified_expression
|
||||
(identifier)
|
||||
(tick)
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(aggregate
|
||||
(record_aggregate
|
||||
(record_component_association_list
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))))))))))))))))))))))))))
|
||||
(term
|
||||
(record_aggregate
|
||||
(record_component_association_list
|
||||
(component_choice_list
|
||||
(identifier))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))))))))))))))
|
||||
|
||||
================================================================================
|
||||
Filtered for loops
|
||||
|
|
@ -666,38 +487,25 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(loop_statement
|
||||
(iteration_scheme
|
||||
(iterator_specification
|
||||
(identifier)
|
||||
(identifier)
|
||||
(iterator_filter
|
||||
(expression
|
||||
(term
|
||||
(identifier))
|
||||
(relational_operator)
|
||||
(term
|
||||
(numeric_literal))))))
|
||||
(statement
|
||||
(compound_statement
|
||||
(loop_statement
|
||||
(iteration_scheme
|
||||
(iterator_specification
|
||||
(identifier)
|
||||
(identifier)
|
||||
(iterator_filter
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))
|
||||
(relational_operator)
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement)))))))))))))
|
||||
(null_statement))))))))
|
||||
|
||||
================================================================================
|
||||
Assignment target name
|
||||
|
|
@ -713,71 +521,42 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(assignment_statement
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(function_call
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(term
|
||||
(identifier))))))
|
||||
(expression
|
||||
(term
|
||||
(target_name))
|
||||
(binary_adding_operator)
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(function_call
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(term
|
||||
(identifier))))))
|
||||
(expression
|
||||
(term
|
||||
(function_call
|
||||
(identifier)
|
||||
(function_call
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))))
|
||||
(assign_value
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(target_name))))
|
||||
(binary_adding_operator)
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))
|
||||
(statement
|
||||
(simple_statement
|
||||
(assignment_statement
|
||||
(identifier)
|
||||
(function_call
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))))
|
||||
(assign_value
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(function_call
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(target_name))))))))))))))))))))))))))
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(term
|
||||
(target_name))))))))))))))
|
||||
|
|
|
|||
|
|
@ -27,8 +27,7 @@ end;
|
|||
(aspect_specification
|
||||
(aspect_mark_list
|
||||
(aspect_association
|
||||
(aspect_mark
|
||||
(identifier)))))))))
|
||||
(identifier))))))))
|
||||
|
||||
================================================================================
|
||||
procedures
|
||||
|
|
@ -46,26 +45,21 @@ end;
|
|||
(package_specification
|
||||
(identifier)
|
||||
(subprogram_declaration
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)
|
||||
(non_empty_parameter_profile
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier)
|
||||
(identifier))
|
||||
(identifier))
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier)))))))
|
||||
(procedure_specification
|
||||
(identifier)
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(identifier)
|
||||
(identifier))
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(identifier)))))
|
||||
(aspect_specification
|
||||
(aspect_mark_list
|
||||
(aspect_association
|
||||
(aspect_mark
|
||||
(identifier)))))))))
|
||||
(identifier))))))))
|
||||
|
||||
================================================================================
|
||||
abstract procedures
|
||||
|
|
@ -83,19 +77,16 @@ end;
|
|||
(package_specification
|
||||
(identifier)
|
||||
(subprogram_declaration
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier))))
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(subprogram_declaration
|
||||
(overriding_indicator)
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)))
|
||||
(procedure_specification
|
||||
(identifier))
|
||||
(aspect_specification
|
||||
(aspect_mark_list
|
||||
(aspect_association
|
||||
(aspect_mark
|
||||
(identifier)))))))))
|
||||
(identifier))))))))
|
||||
|
||||
================================================================================
|
||||
functions
|
||||
|
|
@ -113,37 +104,27 @@ end;
|
|||
(package_specification
|
||||
(identifier)
|
||||
(subprogram_declaration
|
||||
(subprogram_specification
|
||||
(function_specification
|
||||
(identifier)
|
||||
(parameter_and_result_profile
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier)
|
||||
(identifier))
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(access_definition
|
||||
(null_exclusion)
|
||||
(identifier))))))
|
||||
(function_specification
|
||||
(identifier)
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(identifier)
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(access_definition
|
||||
(null_exclusion)
|
||||
(identifier))))
|
||||
(aspect_specification
|
||||
(aspect_mark_list
|
||||
(aspect_association
|
||||
(aspect_mark
|
||||
(identifier)))
|
||||
(identifier))
|
||||
(aspect_association
|
||||
(aspect_mark
|
||||
(identifier))
|
||||
(aspect_definition
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))))))))))))
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(identifier))))))))))
|
||||
|
||||
================================================================================
|
||||
subprogram body
|
||||
|
|
@ -161,36 +142,25 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(declarative_item_pragma
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(subprogram_specification
|
||||
(procedure_specification
|
||||
(identifier)
|
||||
(non_empty_parameter_profile
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier)))))))
|
||||
(non_empty_declarative_part
|
||||
(declarative_item_pragma
|
||||
(object_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(subtype_indication
|
||||
(identifier)))))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement)))))
|
||||
(identifier)))))))))
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(subprogram_body
|
||||
(procedure_specification
|
||||
(identifier)
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(identifier)))))
|
||||
(non_empty_declarative_part
|
||||
(object_declaration
|
||||
(identifier)
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(null_statement)))
|
||||
(identifier))))))
|
||||
|
||||
================================================================================
|
||||
Expression function membership
|
||||
|
|
@ -206,29 +176,20 @@ function F2 (A : Integer) return Boolean
|
|||
(expression_function_declaration
|
||||
(function_specification
|
||||
(identifier)
|
||||
(parameter_and_result_profile
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(identifier))))
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(identifier)))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))
|
||||
(relation_membership
|
||||
(term
|
||||
(identifier))
|
||||
(membership_choice_list
|
||||
(membership_choice
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))))))
|
||||
(term
|
||||
(identifier))))))))
|
||||
|
||||
================================================================================
|
||||
Expression function declare
|
||||
|
|
@ -244,42 +205,26 @@ function F2 (A : Integer) return Boolean
|
|||
(expression_function_declaration
|
||||
(function_specification
|
||||
(identifier)
|
||||
(parameter_and_result_profile
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(identifier))))
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(identifier)))
|
||||
(declare_expression
|
||||
(declare_item
|
||||
(object_declaration
|
||||
(defining_identifier_list
|
||||
(object_declaration
|
||||
(identifier)
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(identifier))
|
||||
(subtype_indication
|
||||
(identifier))
|
||||
(assign_value
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))
|
||||
(binary_adding_operator)
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))
|
||||
(binary_adding_operator)
|
||||
(term
|
||||
(numeric_literal))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))))))))
|
||||
(term
|
||||
(identifier)))))))
|
||||
|
||||
================================================================================
|
||||
Expression function raise
|
||||
|
|
@ -295,13 +240,11 @@ function F3 return Boolean
|
|||
(expression_function_declaration
|
||||
(function_specification
|
||||
(identifier)
|
||||
(parameter_and_result_profile
|
||||
(result_profile
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(identifier)))
|
||||
(expression
|
||||
(relation
|
||||
(raise_expression
|
||||
(identifier)))))))
|
||||
(raise_expression
|
||||
(identifier))))))
|
||||
|
||||
================================================================================
|
||||
Expression function simple
|
||||
|
|
@ -316,16 +259,11 @@ function F4 return Boolean is (True);
|
|||
(expression_function_declaration
|
||||
(function_specification
|
||||
(identifier)
|
||||
(parameter_and_result_profile
|
||||
(result_profile
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(identifier)))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))))
|
||||
(term
|
||||
(identifier))))))
|
||||
|
||||
================================================================================
|
||||
Expression function if
|
||||
|
|
@ -341,56 +279,31 @@ function F (A : Integer) return Boolean
|
|||
(expression_function_declaration
|
||||
(function_specification
|
||||
(identifier)
|
||||
(parameter_and_result_profile
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(identifier))))
|
||||
(conditional_expression
|
||||
(if_expression
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))
|
||||
(relational_operator)
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))
|
||||
(relational_operator)
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))))))
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(identifier)))
|
||||
(if_expression
|
||||
(expression
|
||||
(term
|
||||
(identifier))
|
||||
(relational_operator)
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(identifier))
|
||||
(relational_operator)
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(expression
|
||||
(term
|
||||
(identifier)))
|
||||
(expression
|
||||
(term
|
||||
(identifier)))))))
|
||||
|
||||
================================================================================
|
||||
Expression function if extra parenthesis
|
||||
|
|
@ -406,50 +319,28 @@ function F5 (A : Integer) return Boolean
|
|||
(expression_function_declaration
|
||||
(function_specification
|
||||
(identifier)
|
||||
(parameter_and_result_profile
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(identifier))))
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(identifier)))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(conditional_expression
|
||||
(if_expression
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))
|
||||
(relational_operator)
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))))))))))))
|
||||
(term
|
||||
(if_expression
|
||||
(expression
|
||||
(term
|
||||
(identifier))
|
||||
(relational_operator)
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(expression
|
||||
(term
|
||||
(identifier)))
|
||||
(expression
|
||||
(term
|
||||
(identifier)))))))))
|
||||
|
||||
================================================================================
|
||||
Expression function case
|
||||
|
|
@ -467,72 +358,43 @@ function F (A : Integer) return Boolean
|
|||
(expression_function_declaration
|
||||
(function_specification
|
||||
(identifier)
|
||||
(parameter_and_result_profile
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(identifier))))
|
||||
(conditional_expression
|
||||
(case_expression
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(identifier)))
|
||||
(case_expression
|
||||
(expression
|
||||
(term
|
||||
(identifier))
|
||||
(binary_adding_operator)
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(case_expression_alternative
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal))))
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))
|
||||
(binary_adding_operator)
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))
|
||||
(case_expression_alternative
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))
|
||||
(case_expression_alternative
|
||||
(discrete_choice_list
|
||||
(discrete_choice))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))))))))))
|
||||
(term
|
||||
(identifier))))
|
||||
(case_expression_alternative
|
||||
(discrete_choice_list
|
||||
(discrete_choice))
|
||||
(expression
|
||||
(term
|
||||
(identifier))))))))
|
||||
|
||||
================================================================================
|
||||
Expression function array
|
||||
|
|
@ -547,33 +409,20 @@ function F return My_Array is (1 .. 2 => True);
|
|||
(expression_function_declaration
|
||||
(function_specification
|
||||
(identifier)
|
||||
(parameter_and_result_profile
|
||||
(result_profile
|
||||
(identifier))))
|
||||
(aggregate
|
||||
(array_aggregate
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))))))))
|
||||
(result_profile
|
||||
(identifier)))
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(expression
|
||||
(term
|
||||
(identifier))))))))
|
||||
|
||||
================================================================================
|
||||
Expression function quantified
|
||||
|
|
@ -590,33 +439,24 @@ function F (A : My_Array) return Boolean
|
|||
(expression_function_declaration
|
||||
(function_specification
|
||||
(identifier)
|
||||
(parameter_and_result_profile
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(identifier))))
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(identifier)))
|
||||
(quantified_expression
|
||||
(quantifier)
|
||||
(iterator_specification
|
||||
(identifier)
|
||||
(identifier))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))
|
||||
(relational_operator)
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))
|
||||
(term
|
||||
(identifier))
|
||||
(relational_operator)
|
||||
(term
|
||||
(numeric_literal)))))))
|
||||
|
||||
================================================================================
|
||||
Operators
|
||||
|
|
@ -631,32 +471,22 @@ end "<";
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(subprogram_body
|
||||
(overriding_indicator)
|
||||
(subprogram_specification
|
||||
(function_specification
|
||||
(string_literal)
|
||||
(parameter_and_result_profile
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier)
|
||||
(identifier))
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(identifier)))))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(simple_return_statement
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier))))))))))))
|
||||
(string_literal)))))
|
||||
(subprogram_body
|
||||
(overriding_indicator)
|
||||
(function_specification
|
||||
(string_literal)
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(identifier)
|
||||
(identifier))))
|
||||
(result_profile
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(simple_return_statement
|
||||
(expression
|
||||
(term
|
||||
(identifier))))))
|
||||
(string_literal))))
|
||||
|
|
|
|||
|
|
@ -34,105 +34,71 @@ end P;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(declarative_item_pragma
|
||||
(object_declaration
|
||||
(single_task_declaration
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(object_declaration
|
||||
(single_task_declaration
|
||||
(identifier)
|
||||
(task_definition
|
||||
(entry_declaration
|
||||
(identifier)
|
||||
(task_definition
|
||||
(task_item
|
||||
(entry_declaration
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier))))))
|
||||
(task_item
|
||||
(entry_declaration
|
||||
(identifier)))
|
||||
(identifier)))))
|
||||
(declarative_item_pragma
|
||||
(proper_body
|
||||
(task_body
|
||||
(identifier)))))
|
||||
(entry_declaration
|
||||
(identifier))
|
||||
(identifier))))
|
||||
(task_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(object_declaration
|
||||
(identifier)
|
||||
(identifier)))
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(accept_statement
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(declarative_item_pragma
|
||||
(object_declaration
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(subtype_indication
|
||||
(identifier)))))
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(identifier))))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(compound_statement
|
||||
(accept_statement
|
||||
(identifier)
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier))))
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement)))))
|
||||
(identifier))))
|
||||
(statement
|
||||
(compound_statement
|
||||
(select_statement
|
||||
(timed_entry_call
|
||||
(entry_call_alternative
|
||||
(procedure_call_statement
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))
|
||||
(delay_alternative
|
||||
(delay_statement
|
||||
(delay_relative_statement
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))))))
|
||||
(statement
|
||||
(compound_statement
|
||||
(select_statement
|
||||
(conditional_entry_call
|
||||
(entry_call_alternative
|
||||
(procedure_call_statement
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement))))))))))
|
||||
(identifier)))))
|
||||
(identifier)))))
|
||||
(statement
|
||||
(null_statement)))
|
||||
(identifier)))
|
||||
(statement
|
||||
(timed_entry_call
|
||||
(entry_call_alternative
|
||||
(procedure_call_statement
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))))
|
||||
(delay_alternative
|
||||
(delay_relative_statement
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))))
|
||||
(statement
|
||||
(conditional_entry_call
|
||||
(entry_call_alternative
|
||||
(procedure_call_statement
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))))
|
||||
(statement
|
||||
(null_statement)))))
|
||||
(identifier)))
|
||||
(identifier))))
|
||||
|
||||
================================================================================
|
||||
Task types
|
||||
|
|
@ -152,42 +118,32 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(declarative_item_pragma
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(task_type_declaration
|
||||
(identifier)))))
|
||||
(declarative_item_pragma
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(task_type_declaration
|
||||
(identifier)
|
||||
(task_definition
|
||||
(task_item
|
||||
(entry_declaration
|
||||
(identifier)
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(defining_identifier_list
|
||||
(identifier))
|
||||
(identifier))))))
|
||||
(identifier))))))
|
||||
(declarative_item_pragma
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(task_type_declaration
|
||||
(identifier)
|
||||
(identifier)
|
||||
(task_definition
|
||||
(task_item
|
||||
(entry_declaration
|
||||
(identifier)))
|
||||
(identifier)))))))))))
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(full_type_declaration
|
||||
(task_type_declaration
|
||||
(identifier)))
|
||||
(full_type_declaration
|
||||
(task_type_declaration
|
||||
(identifier)
|
||||
(task_definition
|
||||
(entry_declaration
|
||||
(identifier)
|
||||
(formal_part
|
||||
(parameter_specification_list
|
||||
(parameter_specification
|
||||
(identifier)
|
||||
(identifier)))))
|
||||
(identifier))))
|
||||
(full_type_declaration
|
||||
(task_type_declaration
|
||||
(identifier)
|
||||
(identifier)
|
||||
(task_definition
|
||||
(entry_declaration
|
||||
(identifier))
|
||||
(identifier))))))))
|
||||
|
||||
================================================================================
|
||||
asynchronous select
|
||||
|
|
@ -212,53 +168,36 @@ end;
|
|||
|
||||
(compilation
|
||||
(compilation_unit
|
||||
(proper_body
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(declarative_item_pragma
|
||||
(proper_body
|
||||
(task_body
|
||||
(identifier)
|
||||
(handled_sequence_of_statements
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(compound_statement
|
||||
(select_statement
|
||||
(asynchronous_select
|
||||
(triggering_alternative
|
||||
(procedure_call_statement
|
||||
(function_call
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement)))))
|
||||
(sequence_of_statements
|
||||
(statement
|
||||
(simple_statement
|
||||
(procedure_call_statement
|
||||
(identifier))))))))))))))))))
|
||||
(package_body
|
||||
(identifier)
|
||||
(non_empty_declarative_part
|
||||
(task_body
|
||||
(identifier)
|
||||
(handled_sequence_of_statements
|
||||
(statement
|
||||
(asynchronous_select
|
||||
(triggering_alternative
|
||||
(procedure_call_statement
|
||||
(function_call
|
||||
(identifier)
|
||||
(actual_parameter_part
|
||||
(parameter_association
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))))
|
||||
(statement
|
||||
(null_statement)))
|
||||
(statement
|
||||
(procedure_call_statement
|
||||
(identifier))))))))))
|
||||
(compilation_unit
|
||||
(statement
|
||||
(simple_statement
|
||||
(null_statement))))
|
||||
(null_statement)))
|
||||
(compilation_unit
|
||||
(statement
|
||||
(simple_statement
|
||||
(procedure_call_statement
|
||||
(identifier)))))
|
||||
(procedure_call_statement
|
||||
(identifier))))
|
||||
(compilation_unit
|
||||
(statement
|
||||
(simple_statement
|
||||
(procedure_call_statement
|
||||
(identifier))))))
|
||||
(procedure_call_statement
|
||||
(identifier)))))
|
||||
|
|
|
|||
|
|
@ -12,22 +12,13 @@ end P;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(integer_type_definition
|
||||
(signed_integer_type_definition
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(signed_integer_type_definition
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal))))
|
||||
(identifier))))
|
||||
|
||||
================================================================================
|
||||
|
|
@ -45,26 +36,17 @@ end P;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(derived_type_definition
|
||||
(subtype_indication
|
||||
(identifier))))
|
||||
(aspect_specification
|
||||
(aspect_mark_list
|
||||
(aspect_association
|
||||
(aspect_mark
|
||||
(identifier))
|
||||
(aspect_definition
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(derived_type_definition
|
||||
(identifier))
|
||||
(aspect_specification
|
||||
(aspect_mark_list
|
||||
(aspect_association
|
||||
(identifier)
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))))
|
||||
(identifier))))
|
||||
|
||||
================================================================================
|
||||
|
|
@ -81,19 +63,12 @@ end P;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(integer_type_definition
|
||||
(modular_type_definition
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(modular_type_definition
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(identifier))))
|
||||
|
||||
================================================================================
|
||||
|
|
@ -112,73 +87,36 @@ end P;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(derived_type_definition
|
||||
(identifier)
|
||||
(type_definition
|
||||
(derived_type_definition
|
||||
(subtype_indication
|
||||
(identifier)
|
||||
(constraint
|
||||
(scalar_constraint
|
||||
(range_constraint
|
||||
(range_g
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))))))
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(real_type_definition
|
||||
(fixed_point_definition
|
||||
(decimal_fixed_point_definition
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))))
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(type_definition
|
||||
(real_type_definition
|
||||
(fixed_point_definition
|
||||
(ordinary_fixed_point_definition
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))
|
||||
(real_range_specification
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))))))
|
||||
(range_constraint
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal))))))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(decimal_fixed_point_definition
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(ordinary_fixed_point_definition
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(real_range_specification
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(identifier))))
|
||||
|
||||
================================================================================
|
||||
|
|
@ -196,53 +134,33 @@ end P;
|
|||
(compilation_unit
|
||||
(package_specification
|
||||
(identifier)
|
||||
(type_declaration
|
||||
(full_type_declaration
|
||||
(full_type_declaration
|
||||
(identifier)
|
||||
(enumeration_type_definition
|
||||
(identifier)
|
||||
(type_definition
|
||||
(enumeration_type_definition
|
||||
(identifier)
|
||||
(identifier)))))
|
||||
(aspect_clause
|
||||
(enumeration_representation_clause
|
||||
(identifier)
|
||||
(enumeration_aggregate
|
||||
(array_aggregate
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))))))
|
||||
(identifier)))
|
||||
(enumeration_representation_clause
|
||||
(identifier)
|
||||
(enumeration_aggregate
|
||||
(named_array_aggregate
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal))))))))
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(identifier)))))))))
|
||||
(term
|
||||
(identifier)))))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal))))
|
||||
(array_component_association
|
||||
(discrete_choice_list
|
||||
(discrete_choice
|
||||
(expression
|
||||
(relation
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))))
|
||||
(term
|
||||
(identifier)))))
|
||||
(expression
|
||||
(term
|
||||
(numeric_literal)))))))
|
||||
(identifier))))
|
||||
|
||||
================================================================================
|
||||
|
|
@ -262,50 +180,25 @@ end P;
|
|||
(identifier)
|
||||
(subtype_declaration
|
||||
(identifier)
|
||||
(subtype_indication
|
||||
(identifier)
|
||||
(constraint
|
||||
(scalar_constraint
|
||||
(range_constraint
|
||||
(range_g
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))
|
||||
(identifier)
|
||||
(range_constraint
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(subtype_declaration
|
||||
(identifier)
|
||||
(subtype_indication
|
||||
(identifier)
|
||||
(constraint
|
||||
(index_constraint
|
||||
(discrete_range
|
||||
(range_g
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))
|
||||
(discrete_range
|
||||
(range_g
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))
|
||||
(simple_expression
|
||||
(term
|
||||
(factor
|
||||
(primary
|
||||
(numeric_literal)))))))))))
|
||||
(identifier)
|
||||
(index_constraint
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))
|
||||
(range_g
|
||||
(term
|
||||
(numeric_literal))
|
||||
(term
|
||||
(numeric_literal)))))
|
||||
(identifier))))
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user