Inline all rules that do not consume any character directly

This simplifies the trees significantly.
This commit is contained in:
Emmanuel Briot 2022-12-09 12:08:02 +01:00
parent a41588c541
commit 3b5200c14c
20 changed files with 46437 additions and 46450 deletions

File diff suppressed because it is too large Load Diff

View File

@ -142,14 +142,16 @@
; "limited" ; "limited"
; "synchronized" ; "synchronized"
; ]* @keyword.type ; ]* @keyword.type
(full_type_declaration (full_type_declaration "is" @type.definition)
; (identifier) @type (full_type_declaration (_ "access") @type.definition)
"is" @type.definition
; (access_type_definition "access" @keyword.type)
)
;; Highlight full subprogram specifications ;; 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 ;; Highlight errors in red. This is not very useful in practice, as text will
;; be highlighted as user types, and the error could be elsewhere in the code. ;; be highlighted as user types, and the error could be elsewhere in the code.

View File

@ -3,14 +3,19 @@
;; See https://tree-sitter.github.io/tree-sitter/syntax-highlighting#local-variables ;; See https://tree-sitter.github.io/tree-sitter/syntax-highlighting#local-variables
(package_specification) @scope (package_specification) @scope
(subprogram_specification) @scope (procedure_specification) @scope
(function_specification) @scope
(block_statement) @scope (block_statement) @scope
(procedure_specification name: (identifier) @definition.var) (procedure_specification name: (_) @definition.var)
(function_specification name: (identifier) @definition.var) (function_specification name: (_) @definition.var)
(package_specification name: (identifier) @definition.var) (package_specification name: (_) @definition.var)
(package_body name: (identifier) @definition.var) (package_body name: (_) @definition.var)
(generic_instantiation . name: (identifier) @definition.var) (generic_instantiation . name: (_) @definition.var)
(defining_identifier_list (identifier) @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 (identifier) @reference

View File

@ -10,10 +10,13 @@
(subprogram_body) @function.outer (subprogram_body) @function.outer
(subprogram_body (non_empty_declarative_part) @function.inner) (subprogram_body (non_empty_declarative_part) @function.inner)
(subprogram_body (handled_sequence_of_statements) @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_specification) @function.outer
(package_body) @function.outer (package_body) @function.outer
(if_statement) @block.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) @block.outer
(loop_statement (sequence_of_statements) @block.inner) (loop_statement statements: (_) @block.inner)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

82254
src/parser.c

File diff suppressed because it is too large Load Diff

View File

@ -17,59 +17,35 @@ end;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(access_type_definition
(access_to_object_definition (access_to_object_definition
(subtype_indication (identifier)))
(identifier)))))))
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(access_type_definition
(access_to_object_definition (access_to_object_definition
(subtype_indication
(null_exclusion) (null_exclusion)
(identifier))))))) (identifier)))
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(access_type_definition
(access_to_object_definition (access_to_object_definition
(general_access_modifier) (general_access_modifier)
(subtype_indication (identifier)))
(identifier)))))))
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(access_type_definition
(access_to_object_definition (access_to_object_definition
(general_access_modifier) (general_access_modifier)
(subtype_indication (identifier)))
(full_type_declaration
(identifier)
(access_to_subprogram_definition
(result_profile
(identifier))))
(full_type_declaration
(identifier)
(access_to_subprogram_definition
(result_profile
(identifier))))))) (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)))))))))))
================================================================================ ================================================================================
Dereference Dereference
@ -85,28 +61,18 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement
(assignment_statement (assignment_statement
(identifier) (identifier)
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(identifier) (identifier)
(identifier))))))))))) (identifier)))))
(statement (statement
(simple_statement
(procedure_call_statement (procedure_call_statement
(identifier) (identifier)
(function_call (function_call
@ -114,9 +80,5 @@ end;
(actual_parameter_part (actual_parameter_part
(parameter_association (parameter_association
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal))))))))))))
(primary
(numeric_literal)))))))))))))))))))

View File

@ -14,118 +14,61 @@ end P;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(array_type_definition
(constrained_array_definition (constrained_array_definition
(discrete_subtype_definition
(range_g (range_g
(simple_expression
(term (term
(factor (numeric_literal))
(primary
(numeric_literal)))))
(simple_expression
(term (term
(factor (numeric_literal)))
(primary
(numeric_literal)))))))
(component_definition (component_definition
(subtype_indication (identifier))))
(identifier))))))))
(object_declaration (object_declaration
(defining_identifier_list (identifier)
(identifier)) (identifier)
(subtype_indication
(identifier))
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(aggregate
(array_aggregate
(named_array_aggregate (named_array_aggregate
(array_component_association (array_component_association
(discrete_choice_list (discrete_choice_list
(discrete_choice (discrete_choice
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))))
(primary
(numeric_literal)))))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))
(primary
(identifier))))))))
(array_component_association (array_component_association
(discrete_choice_list (discrete_choice_list
(discrete_choice (discrete_choice
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))))
(primary
(numeric_literal)))))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))))))
(primary
(identifier)))))))))))))))))))
(object_declaration (object_declaration
(defining_identifier_list (identifier)
(identifier)) (identifier)
(subtype_indication
(identifier))
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(aggregate
(array_aggregate
(named_array_aggregate (named_array_aggregate
(array_component_association (array_component_association
(discrete_choice_list (discrete_choice_list
(discrete_choice (discrete_choice
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))))
(primary
(numeric_literal)))))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))
(primary
(identifier))))))))
(array_component_association (array_component_association
(discrete_choice_list (discrete_choice_list
(discrete_choice)) (discrete_choice))
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))))))
(primary
(identifier)))))))))))))))))))
(identifier)))) (identifier))))
================================================================================ ================================================================================
@ -143,63 +86,31 @@ end;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(array_type_definition
(constrained_array_definition (constrained_array_definition
(discrete_subtype_definition
(range_g (range_g
(simple_expression
(term (term
(factor (numeric_literal))
(primary
(numeric_literal)))))
(simple_expression
(term (term
(factor (numeric_literal)))
(primary
(numeric_literal)))))))
(component_definition (component_definition
(subtype_indication (identifier))))
(identifier))))))))
(object_declaration (object_declaration
(defining_identifier_list (identifier)
(identifier)) (identifier)
(subtype_indication
(identifier))
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(aggregate
(array_aggregate
(positional_array_aggregate (positional_array_aggregate
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))
(primary
(numeric_literal)))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))
(primary
(numeric_literal)))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal))))))))))
(primary
(numeric_literal)))))))))))))))))))))
================================================================================ ================================================================================
Indefinite Indefinite
@ -216,53 +127,30 @@ end P;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(array_type_definition
(unconstrained_array_definition (unconstrained_array_definition
(index_subtype_definition (index_subtype_definition
(identifier)) (identifier))
(component_definition (component_definition
(subtype_indication (identifier))))
(identifier))))))))
(object_declaration (object_declaration
(defining_identifier_list (identifier)
(identifier)) (identifier)
(subtype_indication
(identifier))
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(aggregate
(array_aggregate
(named_array_aggregate (named_array_aggregate
(array_component_association (array_component_association
(discrete_choice_list (discrete_choice_list
(discrete_choice (discrete_choice
(range_g (range_g
(simple_expression
(term (term
(factor (numeric_literal))
(primary (term
(numeric_literal))))) (numeric_literal)))))
(simple_expression
(term
(factor
(primary
(numeric_literal))))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))))))
(primary
(identifier)))))))))))))))))))
(identifier)))) (identifier))))
================================================================================ ================================================================================
@ -280,78 +168,43 @@ end P;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(array_type_definition
(unconstrained_array_definition (unconstrained_array_definition
(index_subtype_definition (index_subtype_definition
(identifier)) (identifier))
(index_subtype_definition (index_subtype_definition
(identifier)) (identifier))
(component_definition (component_definition
(subtype_indication (identifier))))
(identifier))))))))
(object_declaration (object_declaration
(defining_identifier_list (identifier)
(identifier)) (identifier)
(subtype_indication
(identifier))
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(aggregate
(array_aggregate
(named_array_aggregate (named_array_aggregate
(array_component_association (array_component_association
(discrete_choice_list (discrete_choice_list
(discrete_choice (discrete_choice
(range_g (range_g
(simple_expression
(term (term
(factor (numeric_literal))
(primary (term
(numeric_literal))))) (numeric_literal)))))
(simple_expression
(term
(factor
(primary
(numeric_literal))))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(aggregate
(array_aggregate
(named_array_aggregate (named_array_aggregate
(array_component_association (array_component_association
(discrete_choice_list (discrete_choice_list
(discrete_choice (discrete_choice
(range_g (range_g
(simple_expression
(term (term
(factor (numeric_literal))
(primary (term
(numeric_literal))))) (numeric_literal)))))
(simple_expression
(term
(factor
(primary
(numeric_literal))))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))))))))))
(primary
(identifier)))))))))))))))))))))))))))))
(identifier)))) (identifier))))
================================================================================ ================================================================================
@ -367,57 +220,31 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement
(assignment_statement (assignment_statement
(identifier) (identifier)
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(aggregate
(array_aggregate
(named_array_aggregate (named_array_aggregate
(array_component_association (array_component_association
(iterated_element_association (iterated_element_association
(loop_parameter_specification (loop_parameter_specification
(identifier) (identifier)
(discrete_subtype_definition
(range_g (range_g
(simple_expression
(term (term
(factor (numeric_literal))
(primary
(numeric_literal)))))
(simple_expression
(term (term
(factor (identifier))))
(primary
(identifier))))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(function_call (function_call
(identifier) (identifier)
(actual_parameter_part (actual_parameter_part
(parameter_association (parameter_association
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier)))))))))))))))))))
(primary
(identifier)))))))))))))))))))))))))))))))))))))

View File

@ -17,71 +17,47 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier)))
(non_empty_declarative_part
(declarative_item_pragma
(object_declaration
(defining_identifier_list
(identifier)) (identifier))
(subtype_indication (non_empty_declarative_part
(object_declaration
(identifier)
(identifier) (identifier)
(constraint
(index_constraint (index_constraint
(discrete_range
(range_g (range_g
(identifier) (identifier)
(tick) (tick)
(range_attribute_designator (range_attribute_designator
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal))))))))
(primary
(numeric_literal))))))))))))))))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(compound_statement
(loop_statement (loop_statement
(iteration_scheme (iteration_scheme
(loop_parameter_specification (loop_parameter_specification
(identifier) (identifier)
(discrete_subtype_definition
(range_g (range_g
(identifier) (identifier)
(tick) (tick)
(range_attribute_designator))))) (range_attribute_designator))))
(sequence_of_statements
(statement (statement
(simple_statement (null_statement))))
(null_statement)))))))
(statement (statement
(compound_statement
(loop_statement (loop_statement
(iteration_scheme (iteration_scheme
(loop_parameter_specification (loop_parameter_specification
(identifier) (identifier)
(discrete_subtype_definition
(range_g (range_g
(identifier) (identifier)
(tick) (tick)
(range_attribute_designator (range_attribute_designator
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))))))
(primary
(numeric_literal))))))))))))
(sequence_of_statements
(statement (statement
(simple_statement (null_statement))))))))
(null_statement)))))))))))))
================================================================================ ================================================================================
Reduction Reduction
@ -99,27 +75,15 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(non_empty_declarative_part (non_empty_declarative_part
(declarative_item_pragma
(object_declaration (object_declaration
(defining_identifier_list (identifier)
(identifier)) (identifier)
(subtype_indication
(identifier))
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(attribute_reference
(reduction_attribute_reference
(value_sequence (value_sequence
(iterated_element_association (iterated_element_association
(iterator_specification (iterator_specification
@ -127,55 +91,28 @@ end;
(identifier) (identifier)
(iterator_filter (iterator_filter
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))
(primary
(identifier)))))
(relational_operator) (relational_operator)
(simple_expression
(term (term
(factor (numeric_literal)))))
(primary
(numeric_literal)))))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(aggregate
(array_aggregate
(positional_array_aggregate (positional_array_aggregate
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier)))
(primary
(identifier)))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal))))))))
(primary
(numeric_literal))))))))))))))))))
(tick) (tick)
(reduction_attribute_designator (reduction_attribute_designator
(identifier) (identifier)
(reduction_specification (reduction_specification
(string_literal) (string_literal)
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))))))))
(primary
(numeric_literal)))))))))))))))))))))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement (null_statement))))))
(null_statement)))))))))

View File

@ -17,36 +17,21 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(generic_declaration
(generic_package_declaration (generic_package_declaration
(generic_formal_part (generic_formal_part
(generic_formal_parameter_declaration
(formal_object_declaration (formal_object_declaration
(defining_identifier_list
(identifier))
(identifier) (identifier)
(assign_value (identifier)
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal))))
(primary
(numeric_literal))))))))))
(generic_formal_parameter_declaration
(formal_type_declaration
(formal_complete_type_declaration (formal_complete_type_declaration
(identifier) (identifier)
(discriminant_part (unknown_discriminant_part)
(unknown_discriminant_part)) (formal_private_type_definition)
(formal_type_definition (identifier))
(formal_private_type_definition))
(identifier))))
(generic_formal_parameter_declaration
(formal_type_declaration
(formal_incomplete_type_declaration (formal_incomplete_type_declaration
(identifier)))) (identifier))
(generic_formal_parameter_declaration
(formal_package_declaration (formal_package_declaration
(identifier) (identifier)
(function_call (function_call
@ -56,49 +41,32 @@ end;
(component_choice_list (component_choice_list
(identifier)) (identifier))
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal))))
(primary
(numeric_literal))))))))
(parameter_association (parameter_association
(component_choice_list (component_choice_list
(identifier))))))) (identifier))))))
(generic_formal_parameter_declaration
(formal_subprogram_declaration (formal_subprogram_declaration
(formal_concrete_subprogram_declaration (formal_concrete_subprogram_declaration
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(subprogram_default)))) (subprogram_default)))
(generic_formal_parameter_declaration
(formal_subprogram_declaration (formal_subprogram_declaration
(formal_concrete_subprogram_declaration (formal_concrete_subprogram_declaration
(subprogram_specification
(function_specification (function_specification
(identifier) (identifier)
(parameter_and_result_profile
(result_profile (result_profile
(identifier))))) (identifier)))
(subprogram_default))))) (subprogram_default))))
(package_specification (package_specification
(identifier) (identifier)
(pragma_g (pragma_g
(identifier) (identifier)
(pragma_argument_association (pragma_argument_association
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))
(primary
(identifier))))))))
(pragma_argument_association (pragma_argument_association
(expression (expression
(relation
(simple_expression
(term (term
(factor (string_literal)))))))))
(primary
(string_literal))))))))))))))

View File

@ -93,28 +93,21 @@ end Child.P2;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(package_body (package_body
(identifier) (identifier)
(identifier) (identifier)
(non_empty_declarative_part (non_empty_declarative_part
(declarative_item_pragma
(proper_body
(package_body (package_body
(identifier) (identifier)
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement (null_statement)))
(null_statement))))) (identifier)))
(identifier)))))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement (null_statement)))
(null_statement)))))
(identifier) (identifier)
(identifier))))) (identifier))))
================================================================================ ================================================================================
separate separate
@ -129,9 +122,8 @@ end;
(compilation_unit (compilation_unit
(subunit (subunit
(identifier) (identifier)
(proper_body
(package_body (package_body
(identifier)))))) (identifier)))))
================================================================================ ================================================================================
private types private types
@ -149,30 +141,20 @@ end;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(private_type_declaration (private_type_declaration
(identifier))) (identifier))
(type_declaration
(private_extension_declaration (private_extension_declaration
(identifier) (identifier)
(subtype_indication (identifier))
(identifier))))
(type_declaration
(private_type_declaration (private_type_declaration
(identifier) (identifier)
(aspect_specification (aspect_specification
(aspect_mark_list (aspect_mark_list
(aspect_association (aspect_association
(aspect_mark (identifier)
(identifier))
(aspect_definition
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal))))))))))
(primary
(numeric_literal))))))))))))))))
================================================================================ ================================================================================
incomplete types incomplete types
@ -192,24 +174,17 @@ end;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(incomplete_type_declaration (incomplete_type_declaration
(identifier))) (identifier))
(type_declaration
(incomplete_type_declaration (incomplete_type_declaration
(identifier) (identifier)
(discriminant_part
(known_discriminant_part (known_discriminant_part
(discriminant_specification_list (discriminant_specification_list
(discriminant_specification (discriminant_specification
(defining_identifier_list (identifier)
(identifier)) (identifier)))))
(identifier)))))))
(type_declaration
(incomplete_type_declaration (incomplete_type_declaration
(identifier) (identifier)
(discriminant_part (unknown_discriminant_part))
(unknown_discriminant_part))))
(type_declaration
(incomplete_type_declaration (incomplete_type_declaration
(identifier)))))) (identifier)))))

View File

@ -30,137 +30,87 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(package_body (package_body
(identifier) (identifier)
(non_empty_declarative_part (non_empty_declarative_part
(declarative_item_pragma
(object_declaration (object_declaration
(single_protected_declaration (single_protected_declaration
(identifier) (identifier)
(protected_definition (protected_definition
(protected_operation_declaration
(subprogram_declaration (subprogram_declaration
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))))) (identifier)))
(protected_operation_declaration
(subprogram_declaration (subprogram_declaration
(subprogram_specification
(function_specification (function_specification
(identifier) (identifier)
(parameter_and_result_profile
(result_profile (result_profile
(identifier))))))) (identifier))))
(protected_operation_declaration
(entry_declaration (entry_declaration
(identifier))) (identifier))
(protected_operation_declaration
(entry_declaration (entry_declaration
(identifier) (identifier)
(discrete_subtype_definition (identifier)
(subtype_indication
(identifier)))
(formal_part (formal_part
(parameter_specification_list (parameter_specification_list
(parameter_specification (parameter_specification
(defining_identifier_list (identifier)
(identifier)) (identifier)))))
(identifier))))))
(protected_element_declaration
(component_declaration (component_declaration
(defining_identifier_list (identifier)
(identifier))
(component_definition (component_definition
(subtype_indication (identifier)))
(identifier))))) (identifier))))
(identifier)))))
(declarative_item_pragma
(proper_body
(protected_body (protected_body
(identifier) (identifier)
(protected_operation_item
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement
(abort_statement (abort_statement
(identifier)))))))) (identifier)))))
(protected_operation_item
(subprogram_body (subprogram_body
(subprogram_specification
(function_specification (function_specification
(identifier) (identifier)
(parameter_and_result_profile
(result_profile (result_profile
(identifier))))) (identifier)))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement
(simple_return_statement (simple_return_statement
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier)))))))
(primary
(identifier))))))))))))))
(protected_operation_item
(entry_body (entry_body
(identifier) (identifier)
(entry_barrier (entry_barrier
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))
(primary
(identifier)))))
(relational_operator) (relational_operator)
(simple_expression
(term (term
(factor (numeric_literal))))
(primary
(numeric_literal))))))))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement
(requeue_statement (requeue_statement
(identifier)))))) (identifier))))
(identifier))) (identifier))
(protected_operation_item
(entry_body (entry_body
(identifier) (identifier)
(non_empty_entry_body_formal_part (non_empty_entry_body_formal_part
(entry_index_specification (entry_index_specification
(identifier) (identifier)
(discrete_subtype_definition (identifier))
(subtype_indication
(identifier))))
(formal_part (formal_part
(parameter_specification_list (parameter_specification_list
(parameter_specification (parameter_specification
(defining_identifier_list (identifier)
(identifier))
(identifier))))) (identifier)))))
(entry_barrier (entry_barrier
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))
(primary
(identifier))))))))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement (null_statement)))
(null_statement))))) (identifier))
(identifier))) (identifier))))))
(identifier)))))))))

View File

@ -12,12 +12,10 @@ end;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(record_type_definition (record_type_definition
(record_definition)))))))) (record_definition))))))
================================================================================ ================================================================================
records records
@ -41,72 +39,43 @@ end;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(record_type_definition (record_type_definition
(record_definition (record_definition
(component_list (component_list
(component_item
(component_declaration (component_declaration
(defining_identifier_list
(identifier))
(component_definition
(subtype_indication
(identifier)))))
(component_item
(component_declaration
(defining_identifier_list
(identifier))
(component_definition
(subtype_indication
(identifier) (identifier)
(constraint (component_definition
(scalar_constraint (identifier)))
(component_declaration
(identifier)
(component_definition
(identifier)
(range_constraint (range_constraint
(range_g (range_g
(simple_expression
(term (term
(factor (numeric_literal))
(primary
(numeric_literal)))))
(simple_expression
(term (term
(factor (numeric_literal))))))
(primary
(numeric_literal)))))))))))))
(component_item
(component_declaration (component_declaration
(defining_identifier_list
(identifier) (identifier)
(identifier)) (identifier)
(component_definition (component_definition
(access_definition (access_definition
(null_exclusion) (null_exclusion)
(identifier))))))))))) (identifier))))))))
(aspect_clause
(record_representation_clause (record_representation_clause
(identifier) (identifier)
(component_clause (component_clause
(identifier) (identifier)
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))
(primary (term
(numeric_literal))
(term
(numeric_literal))))))) (numeric_literal)))))))
(simple_expression
(term
(factor
(primary
(numeric_literal)))))
(simple_expression
(term
(factor
(primary
(numeric_literal)))))))))))
================================================================================ ================================================================================
Multiple fields on one line Multiple fields on one line
@ -124,21 +93,16 @@ end;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(record_type_definition (record_type_definition
(record_definition (record_definition
(component_list (component_list
(component_item
(component_declaration (component_declaration
(defining_identifier_list
(identifier) (identifier)
(identifier)) (identifier)
(component_definition (component_definition
(subtype_indication (identifier))))))))))
(identifier))))))))))))))
================================================================================ ================================================================================
Discriminated Discriminated
@ -156,30 +120,23 @@ end;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(known_discriminant_part (known_discriminant_part
(discriminant_specification_list (discriminant_specification_list
(discriminant_specification (discriminant_specification
(defining_identifier_list (identifier)
(identifier))
(identifier)) (identifier))
(discriminant_specification (discriminant_specification
(defining_identifier_list (identifier)
(identifier))
(identifier)))) (identifier))))
(type_definition
(record_type_definition (record_type_definition
(record_definition (record_definition
(component_list (component_list
(component_item
(component_declaration (component_declaration
(defining_identifier_list (identifier)
(identifier))
(component_definition (component_definition
(subtype_indication (identifier))))))))))
(identifier))))))))))))))
================================================================================ ================================================================================
tagged tagged
@ -198,29 +155,21 @@ end;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(record_type_definition (record_type_definition
(record_definition))))) (record_definition)))
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(derived_type_definition (derived_type_definition
(subtype_indication (identifier)
(identifier))
(record_extension_part (record_extension_part
(record_definition (record_definition
(component_list (component_list
(component_item
(component_declaration (component_declaration
(defining_identifier_list (identifier)
(identifier))
(component_definition (component_definition
(subtype_indication (identifier)))))))))))
(identifier)))))))))))))))
================================================================================ ================================================================================
Variant Variant
@ -243,16 +192,13 @@ end;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(known_discriminant_part (known_discriminant_part
(discriminant_specification_list (discriminant_specification_list
(discriminant_specification (discriminant_specification
(defining_identifier_list (identifier)
(identifier))
(identifier)))) (identifier))))
(type_definition
(record_type_definition (record_type_definition
(record_definition (record_definition
(component_list (component_list
@ -263,36 +209,23 @@ end;
(discrete_choice_list (discrete_choice_list
(discrete_choice (discrete_choice
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal))))
(primary
(numeric_literal))))))))
(discrete_choice (discrete_choice
(range_g (range_g
(simple_expression
(term (term
(factor (numeric_literal))
(primary (term
(numeric_literal))))) (numeric_literal)))))
(simple_expression
(term
(factor
(primary
(numeric_literal))))))))
(component_list (component_list
(component_item
(component_declaration (component_declaration
(defining_identifier_list (identifier)
(identifier))
(component_definition (component_definition
(subtype_indication (identifier)))))
(identifier)))))))
(variant (variant
(discrete_choice_list (discrete_choice_list
(discrete_choice)) (discrete_choice))
(component_list))))))))))))) (component_list)))))))))))
================================================================================ ================================================================================
interface interface
@ -310,27 +243,20 @@ end;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition (interface_type_definition))
(interface_type_definition))))
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(interface_type_definition (interface_type_definition
(identifier))))) (identifier)))
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(derived_type_definition (derived_type_definition
(subtype_indication (identifier)
(identifier))
(identifier) (identifier)
(record_extension_part (record_extension_part
(record_definition))))))))) (record_definition)))))))
================================================================================ ================================================================================
record aggregates record aggregates
@ -345,45 +271,27 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement
(assignment_statement (assignment_statement
(identifier) (identifier)
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(aggregate
(record_aggregate (record_aggregate
(record_component_association_list (record_component_association_list
(component_choice_list (component_choice_list
(identifier)) (identifier))
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))
(primary
(numeric_literal)))))))
(component_choice_list (component_choice_list
(identifier)) (identifier))
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))))))))))))
(primary
(numeric_literal))))))))))))))))))))))))))
================================================================================ ================================================================================
record aggregate extension record aggregate extension
@ -398,43 +306,25 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement
(assignment_statement (assignment_statement
(identifier) (identifier)
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(aggregate
(extension_aggregate (extension_aggregate
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier)))
(primary
(identifier)))))))
(record_component_association_list (record_component_association_list
(component_choice_list (component_choice_list
(identifier)) (identifier))
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))))))))))))
(primary
(numeric_literal))))))))))))))))))))))))))
================================================================================ ================================================================================
record delta aggregate record delta aggregate
@ -449,41 +339,22 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement
(assignment_statement (assignment_statement
(identifier) (identifier)
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(aggregate
(delta_aggregate
(record_delta_aggregate (record_delta_aggregate
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier)))
(primary
(identifier)))))))
(record_component_association_list (record_component_association_list
(component_choice_list (component_choice_list
(identifier)) (identifier))
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))))))))))))
(primary
(numeric_literal)))))))))))))))))))))))))))

View File

@ -17,56 +17,37 @@ end P;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(non_empty_declarative_part (non_empty_declarative_part
(declarative_item_pragma
(renaming_declaration
(object_renaming_declaration (object_renaming_declaration
(identifier) (identifier)
(identifier)))) (identifier))
(declarative_item_pragma
(renaming_declaration
(object_renaming_declaration (object_renaming_declaration
(identifier) (identifier)
(identifier) (identifier)
(identifier)))) (identifier))
(declarative_item_pragma
(renaming_declaration
(exception_renaming_declaration (exception_renaming_declaration
(identifier) (identifier)
(identifier)))) (identifier))
(declarative_item_pragma
(renaming_declaration
(package_renaming_declaration (package_renaming_declaration
(identifier) (identifier)
(identifier) (identifier)
(identifier)))) (identifier))
(declarative_item_pragma
(renaming_declaration
(subprogram_renaming_declaration (subprogram_renaming_declaration
(subprogram_specification
(procedure_specification (procedure_specification
(identifier) (identifier)
(non_empty_parameter_profile
(formal_part (formal_part
(parameter_specification_list (parameter_specification_list
(parameter_specification (parameter_specification
(defining_identifier_list
(identifier))
(identifier)))))))
(identifier))))
(declarative_item_pragma
(renaming_declaration
(generic_renaming_declaration
(identifier) (identifier)
(identifier))))) (identifier)))))
(identifier))
(generic_renaming_declaration
(identifier)
(identifier)))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement (null_statement)))
(null_statement))))) (identifier))))
(identifier)))))

View File

@ -11,37 +11,29 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(package_body (package_body
(identifier) (identifier)
(non_empty_declarative_part (non_empty_declarative_part
(declarative_item_pragma
(body_stub (body_stub
(subprogram_body_stub (subprogram_body_stub
(overriding_indicator) (overriding_indicator)
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))
(aspect_specification
(aspect_mark_list
(aspect_association
(identifier))))))
(body_stub
(subprogram_body_stub
(overriding_indicator)
(function_specification
(identifier)
(result_profile
(identifier))) (identifier)))
(aspect_specification (aspect_specification
(aspect_mark_list (aspect_mark_list
(aspect_association (aspect_association
(aspect_mark (identifier))))))))))
(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)))))))))))))
================================================================================ ================================================================================
Separate packages Separate packages
@ -55,14 +47,12 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(package_body (package_body
(identifier) (identifier)
(non_empty_declarative_part (non_empty_declarative_part
(declarative_item_pragma
(body_stub (body_stub
(package_body_stub (package_body_stub
(identifier))))))))) (identifier)))))))
================================================================================ ================================================================================
Separate protected Separate protected
@ -76,15 +66,13 @@ end P;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(package_body (package_body
(identifier) (identifier)
(non_empty_declarative_part (non_empty_declarative_part
(declarative_item_pragma
(body_stub (body_stub
(protected_body_stub (protected_body_stub
(identifier))))) (identifier))))
(identifier))))) (identifier))))
================================================================================ ================================================================================
Separate task Separate task
@ -98,12 +86,10 @@ end P;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(package_body (package_body
(identifier) (identifier)
(non_empty_declarative_part (non_empty_declarative_part
(declarative_item_pragma
(body_stub (body_stub
(task_body_stub (task_body_stub
(identifier))))) (identifier))))
(identifier))))) (identifier))))

View File

@ -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 While
================================================================================ ================================================================================
@ -14,44 +36,26 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(compound_statement
(loop_statement (loop_statement
(iteration_scheme (iteration_scheme
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))
(primary
(identifier))))))))
(sequence_of_statements
(statement (statement
(simple_statement (exit_statement))
(exit_statement)))
(statement (statement
(simple_statement
(exit_statement (exit_statement
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))
(primary
(identifier)))))
(relational_operator) (relational_operator)
(simple_expression
(term (term
(factor (numeric_literal)))))))))))
(primary
(numeric_literal))))))))))))))))))))
================================================================================ ================================================================================
For loops For loops
@ -74,52 +78,37 @@ end P;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(compound_statement
(loop_statement (loop_statement
(iteration_scheme (iteration_scheme
(iterator_specification (iterator_specification
(identifier) (identifier)
(identifier) (identifier)
(attribute_reference
(identifier) (identifier)
(tick) (tick)
(attribute_designator (attribute_designator
(identifier)))))
(sequence_of_statements
(statement
(simple_statement
(goto_statement
(identifier)))) (identifier))))
(label
(identifier))))))
(statement (statement
(compound_statement (goto_statement
(identifier)))
(label
(identifier))))
(statement
(loop_statement (loop_statement
(iteration_scheme (iteration_scheme
(iterator_specification (iterator_specification
(identifier) (identifier)
(identifier))) (identifier)))
(sequence_of_statements
(statement (statement
(simple_statement
(delay_statement
(delay_relative_statement (delay_relative_statement
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal))))))))
(primary (identifier))))
(numeric_literal)))))))))))))))))
(identifier)))))
================================================================================ ================================================================================
Named loop Named loop
@ -137,24 +126,18 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(compound_statement
(loop_statement (loop_statement
(loop_label (loop_label
(identifier)) (identifier))
(sequence_of_statements
(statement (statement
(simple_statement
(exit_statement (exit_statement
(identifier))))) (identifier)))
(identifier)))))))))) (identifier)))))))
================================================================================ ================================================================================
Return Return
@ -172,59 +155,35 @@ end F;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(function_specification (function_specification
(identifier) (identifier)
(parameter_and_result_profile
(result_profile (result_profile
(identifier))))) (identifier)))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement
(simple_return_statement (simple_return_statement
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier)))))
(primary
(identifier))))))))))
(statement (statement
(compound_statement
(extended_return_statement (extended_return_statement
(extended_return_object_declaration (extended_return_object_declaration
(identifier) (identifier)
(return_subtype_indication (identifier)
(subtype_indication
(identifier)))
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(aggregate
(record_aggregate (record_aggregate
(record_component_association_list (record_component_association_list
(component_choice_list (component_choice_list
(identifier)) (identifier))
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal))))))))
(primary
(numeric_literal))))))))))))))))))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement (null_statement))))))
(null_statement)))))))))) (identifier))))
(identifier)))))
================================================================================ ================================================================================
Procedure call Procedure call
@ -239,42 +198,28 @@ end P;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier) (identifier)
(non_empty_parameter_profile
(formal_part (formal_part
(parameter_specification_list (parameter_specification_list
(parameter_specification (parameter_specification
(defining_identifier_list (identifier)
(identifier)) (identifier)))))
(identifier)))))))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement
(procedure_call_statement (procedure_call_statement
(identifier) (identifier)
(actual_parameter_part (actual_parameter_part
(parameter_association (parameter_association
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal))))
(primary
(numeric_literal))))))))
(parameter_association (parameter_association
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))))))
(primary (identifier))))
(identifier))))))))))))))
(identifier)))))
================================================================================ ================================================================================
Raise exception Raise exception
@ -290,28 +235,19 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement
(raise_statement (raise_statement
(identifier)))) (identifier)))
(statement (statement
(simple_statement
(raise_statement (raise_statement
(identifier) (identifier)
(expression (expression
(relation
(simple_expression
(term (term
(factor (string_literal)))))))))
(primary
(string_literal))))))))))))))))
================================================================================ ================================================================================
Function calls Function calls
@ -327,31 +263,19 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier)))
(non_empty_declarative_part
(declarative_item_pragma
(object_declaration
(defining_identifier_list
(identifier)) (identifier))
(subtype_indication (non_empty_declarative_part
(identifier))))) (object_declaration
(identifier)
(identifier)))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement
(assignment_statement (assignment_statement
(identifier) (identifier)
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(function_call (function_call
(identifier) (identifier)
(actual_parameter_part (actual_parameter_part
@ -359,12 +283,8 @@ end;
(component_choice_list (component_choice_list
(identifier)) (identifier))
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal))))))))))))))
(primary
(numeric_literal))))))))))))))))))))))))))
================================================================================ ================================================================================
if statement if statement
@ -396,99 +316,56 @@ end P;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(compound_statement
(if_statement (if_statement
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))
(primary
(identifier)))))
(relational_operator) (relational_operator)
(simple_expression
(term (term
(factor (numeric_literal))
(primary
(numeric_literal))))))
(relation
(simple_expression
(term (term
(factor (identifier))
(primary
(identifier)))))
(relational_operator) (relational_operator)
(simple_expression
(term (term
(factor (numeric_literal)))
(primary
(numeric_literal)))))))
(sequence_of_statements
(statement (statement
(compound_statement
(block_statement (block_statement
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement (null_statement)))))
(null_statement)))))))))
(elsif_statement_item (elsif_statement_item
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))
(primary
(identifier)))))
(relational_operator) (relational_operator)
(simple_expression
(term (term
(factor (numeric_literal)))
(primary
(numeric_literal)))))))
(sequence_of_statements
(statement (statement
(compound_statement
(block_statement (block_statement
(non_empty_declarative_part (non_empty_declarative_part
(declarative_item_pragma
(object_declaration (object_declaration
(defining_identifier_list (identifier)
(identifier)) (identifier)))
(subtype_indication
(identifier)))))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement (null_statement))
(null_statement))))
(exception_handler_list
(exception_handler (exception_handler
(exception_choice_list (exception_choice_list
(exception_choice (exception_choice
(identifier))) (identifier)))
(sequence_of_statements
(statement (statement
(simple_statement (null_statement)))))))
(null_statement))))))))))))
(sequence_of_statements
(statement (statement
(compound_statement
(block_statement (block_statement
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement (null_statement))))))))
(null_statement)))))))))))))) (identifier))))
(identifier)))))
================================================================================ ================================================================================
Case statement Case statement
@ -508,22 +385,14 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(compound_statement
(case_statement (case_statement
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(function_call (function_call
(identifier) (identifier)
(actual_parameter_part (actual_parameter_part
@ -531,52 +400,30 @@ end;
(component_choice_list (component_choice_list
(identifier)) (identifier))
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal))))))))
(primary
(numeric_literal))))))))))))))))
(case_statement_alternative (case_statement_alternative
(discrete_choice_list (discrete_choice_list
(discrete_choice (discrete_choice
(range_g (range_g
(simple_expression
(term (term
(factor (character_literal))
(primary (term
(character_literal))))) (character_literal)))))
(simple_expression
(term
(factor
(primary
(character_literal))))))))
(sequence_of_statements
(statement (statement
(simple_statement (null_statement)))
(null_statement)))))
(case_statement_alternative (case_statement_alternative
(discrete_choice_list (discrete_choice_list
(discrete_choice (discrete_choice
(expression (expression
(relation
(simple_expression
(term (term
(factor (character_literal))))
(primary
(character_literal))))))))
(discrete_choice (discrete_choice
(expression (expression
(relation
(simple_expression
(term (term
(factor (character_literal)))))
(primary
(character_literal)))))))))
(sequence_of_statements
(statement (statement
(simple_statement (null_statement)))))))))
(null_statement))))))))))))))
================================================================================ ================================================================================
Allocators Allocators
@ -592,64 +439,38 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement
(assignment_statement (assignment_statement
(identifier) (identifier)
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(allocator (allocator
(subtype_indication_paren_constraint (identifier))))))
(identifier)))))))))))))
(statement (statement
(simple_statement
(assignment_statement (assignment_statement
(identifier) (identifier)
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(allocator (allocator
(subpool_specification (subpool_specification
(identifier) (identifier)
(identifier)) (identifier))
(subtype_indication_paren_constraint
(qualified_expression (qualified_expression
(identifier) (identifier)
(tick) (tick)
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(aggregate
(record_aggregate (record_aggregate
(record_component_association_list (record_component_association_list
(component_choice_list (component_choice_list
(identifier)) (identifier))
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))))))))))))))))
(primary
(numeric_literal)))))))))))))))))))))))))))))))))))
================================================================================ ================================================================================
Filtered for loops Filtered for loops
@ -666,15 +487,11 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(compound_statement
(loop_statement (loop_statement
(iteration_scheme (iteration_scheme
(iterator_specification (iterator_specification
@ -682,22 +499,13 @@ end;
(identifier) (identifier)
(iterator_filter (iterator_filter
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))
(primary
(identifier)))))
(relational_operator) (relational_operator)
(simple_expression
(term (term
(factor (numeric_literal))))))
(primary
(numeric_literal))))))))))
(sequence_of_statements
(statement (statement
(simple_statement (null_statement))))))))
(null_statement)))))))))))))
================================================================================ ================================================================================
Assignment target name Assignment target name
@ -713,15 +521,11 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement
(assignment_statement (assignment_statement
(identifier) (identifier)
(function_call (function_call
@ -729,27 +533,15 @@ end;
(actual_parameter_part (actual_parameter_part
(parameter_association (parameter_association
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))))
(primary
(identifier))))))))))
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor (target_name))
(primary
(target_name))))
(binary_adding_operator) (binary_adding_operator)
(term (term
(factor (numeric_literal)))))
(primary
(numeric_literal)))))))))))
(statement (statement
(simple_statement
(assignment_statement (assignment_statement
(identifier) (identifier)
(function_call (function_call
@ -757,27 +549,14 @@ end;
(actual_parameter_part (actual_parameter_part
(parameter_association (parameter_association
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))))
(primary
(identifier))))))))))
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(function_call (function_call
(identifier) (identifier)
(actual_parameter_part (actual_parameter_part
(parameter_association (parameter_association
(expression (expression
(relation
(simple_expression
(term (term
(factor (target_name))))))))))))))
(primary
(target_name))))))))))))))))))))))))))

View File

@ -27,8 +27,7 @@ end;
(aspect_specification (aspect_specification
(aspect_mark_list (aspect_mark_list
(aspect_association (aspect_association
(aspect_mark (identifier))))))))
(identifier)))))))))
================================================================================ ================================================================================
procedures procedures
@ -46,26 +45,21 @@ end;
(package_specification (package_specification
(identifier) (identifier)
(subprogram_declaration (subprogram_declaration
(subprogram_specification
(procedure_specification (procedure_specification
(identifier) (identifier)
(non_empty_parameter_profile
(formal_part (formal_part
(parameter_specification_list (parameter_specification_list
(parameter_specification (parameter_specification
(defining_identifier_list (identifier)
(identifier) (identifier)
(identifier)) (identifier))
(identifier))
(parameter_specification (parameter_specification
(defining_identifier_list (identifier)
(identifier)) (identifier)))))
(identifier)))))))
(aspect_specification (aspect_specification
(aspect_mark_list (aspect_mark_list
(aspect_association (aspect_association
(aspect_mark (identifier))))))))
(identifier)))))))))
================================================================================ ================================================================================
abstract procedures abstract procedures
@ -83,19 +77,16 @@ end;
(package_specification (package_specification
(identifier) (identifier)
(subprogram_declaration (subprogram_declaration
(subprogram_specification
(procedure_specification
(identifier))))
(subprogram_declaration
(overriding_indicator)
(subprogram_specification
(procedure_specification (procedure_specification
(identifier))) (identifier)))
(subprogram_declaration
(overriding_indicator)
(procedure_specification
(identifier))
(aspect_specification (aspect_specification
(aspect_mark_list (aspect_mark_list
(aspect_association (aspect_association
(aspect_mark (identifier))))))))
(identifier)))))))))
================================================================================ ================================================================================
functions functions
@ -113,37 +104,27 @@ end;
(package_specification (package_specification
(identifier) (identifier)
(subprogram_declaration (subprogram_declaration
(subprogram_specification
(function_specification (function_specification
(identifier) (identifier)
(parameter_and_result_profile
(formal_part (formal_part
(parameter_specification_list (parameter_specification_list
(parameter_specification (parameter_specification
(defining_identifier_list
(identifier) (identifier)
(identifier)) (identifier)
(identifier)))) (identifier))))
(result_profile (result_profile
(access_definition (access_definition
(null_exclusion) (null_exclusion)
(identifier)))))) (identifier))))
(aspect_specification (aspect_specification
(aspect_mark_list (aspect_mark_list
(aspect_association (aspect_association
(aspect_mark
(identifier)))
(aspect_association
(aspect_mark
(identifier)) (identifier))
(aspect_definition (aspect_association
(identifier)
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))))))))
(primary
(identifier)))))))))))))))
================================================================================ ================================================================================
subprogram body subprogram body
@ -161,36 +142,25 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(package_body (package_body
(identifier) (identifier)
(non_empty_declarative_part (non_empty_declarative_part
(declarative_item_pragma
(proper_body
(subprogram_body (subprogram_body
(subprogram_specification
(procedure_specification (procedure_specification
(identifier) (identifier)
(non_empty_parameter_profile
(formal_part (formal_part
(parameter_specification_list (parameter_specification_list
(parameter_specification (parameter_specification
(defining_identifier_list (identifier)
(identifier))
(identifier)))))))
(non_empty_declarative_part
(declarative_item_pragma
(object_declaration
(defining_identifier_list
(identifier))
(subtype_indication
(identifier))))) (identifier)))))
(non_empty_declarative_part
(object_declaration
(identifier)
(identifier)))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement (null_statement)))
(null_statement))))) (identifier))))))
(identifier)))))))))
================================================================================ ================================================================================
Expression function membership Expression function membership
@ -206,29 +176,20 @@ function F2 (A : Integer) return Boolean
(expression_function_declaration (expression_function_declaration
(function_specification (function_specification
(identifier) (identifier)
(parameter_and_result_profile
(formal_part (formal_part
(parameter_specification_list (parameter_specification_list
(parameter_specification (parameter_specification
(defining_identifier_list (identifier)
(identifier))
(identifier)))) (identifier))))
(result_profile (result_profile
(identifier)))) (identifier)))
(expression (expression
(relation (relation_membership
(simple_expression
(term (term
(factor (identifier))
(primary
(identifier)))))
(membership_choice_list (membership_choice_list
(membership_choice
(simple_expression
(term (term
(factor (identifier))))))))
(primary
(identifier))))))))))))
================================================================================ ================================================================================
Expression function declare Expression function declare
@ -244,42 +205,26 @@ function F2 (A : Integer) return Boolean
(expression_function_declaration (expression_function_declaration
(function_specification (function_specification
(identifier) (identifier)
(parameter_and_result_profile
(formal_part (formal_part
(parameter_specification_list (parameter_specification_list
(parameter_specification (parameter_specification
(defining_identifier_list (identifier)
(identifier))
(identifier)))) (identifier))))
(result_profile (result_profile
(identifier)))) (identifier)))
(declare_expression (declare_expression
(declare_item
(object_declaration (object_declaration
(defining_identifier_list (identifier)
(identifier)) (identifier)
(subtype_indication
(identifier))
(assign_value
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))
(primary
(identifier))))
(binary_adding_operator) (binary_adding_operator)
(term (term
(factor (numeric_literal))))
(primary
(numeric_literal))))))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier)))))))
(primary
(identifier)))))))))))
================================================================================ ================================================================================
Expression function raise Expression function raise
@ -295,13 +240,11 @@ function F3 return Boolean
(expression_function_declaration (expression_function_declaration
(function_specification (function_specification
(identifier) (identifier)
(parameter_and_result_profile
(result_profile (result_profile
(identifier)))) (identifier)))
(expression (expression
(relation
(raise_expression (raise_expression
(identifier))))))) (identifier))))))
================================================================================ ================================================================================
Expression function simple Expression function simple
@ -316,16 +259,11 @@ function F4 return Boolean is (True);
(expression_function_declaration (expression_function_declaration
(function_specification (function_specification
(identifier) (identifier)
(parameter_and_result_profile
(result_profile (result_profile
(identifier)))) (identifier)))
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))))
(primary
(identifier))))))))))
================================================================================ ================================================================================
Expression function if Expression function if
@ -341,56 +279,31 @@ function F (A : Integer) return Boolean
(expression_function_declaration (expression_function_declaration
(function_specification (function_specification
(identifier) (identifier)
(parameter_and_result_profile
(formal_part (formal_part
(parameter_specification_list (parameter_specification_list
(parameter_specification (parameter_specification
(defining_identifier_list (identifier)
(identifier))
(identifier)))) (identifier))))
(result_profile (result_profile
(identifier)))) (identifier)))
(conditional_expression
(if_expression (if_expression
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))
(primary
(identifier)))))
(relational_operator) (relational_operator)
(simple_expression
(term (term
(factor (numeric_literal))
(primary
(numeric_literal))))))
(relation
(simple_expression
(term (term
(factor (identifier))
(primary
(identifier)))))
(relational_operator) (relational_operator)
(simple_expression
(term (term
(factor (numeric_literal)))
(primary (expression
(numeric_literal))))))) (term
(identifier)))
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(identifier))))))) (identifier)))))))
(expression
(relation
(simple_expression
(term
(factor
(primary
(identifier))))))))))))
================================================================================ ================================================================================
Expression function if extra parenthesis Expression function if extra parenthesis
@ -406,50 +319,28 @@ function F5 (A : Integer) return Boolean
(expression_function_declaration (expression_function_declaration
(function_specification (function_specification
(identifier) (identifier)
(parameter_and_result_profile
(formal_part (formal_part
(parameter_specification_list (parameter_specification_list
(parameter_specification (parameter_specification
(defining_identifier_list (identifier)
(identifier))
(identifier)))) (identifier))))
(result_profile (result_profile
(identifier)))) (identifier)))
(expression (expression
(relation
(simple_expression
(term (term
(factor
(primary
(conditional_expression
(if_expression (if_expression
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))
(primary
(identifier)))))
(relational_operator) (relational_operator)
(simple_expression
(term (term
(factor (numeric_literal)))
(primary
(numeric_literal)))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier)))
(primary
(identifier)))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier)))))))))
(primary
(identifier))))))))))))))))))
================================================================================ ================================================================================
Expression function case Expression function case
@ -467,72 +358,43 @@ function F (A : Integer) return Boolean
(expression_function_declaration (expression_function_declaration
(function_specification (function_specification
(identifier) (identifier)
(parameter_and_result_profile
(formal_part (formal_part
(parameter_specification_list (parameter_specification_list
(parameter_specification (parameter_specification
(defining_identifier_list (identifier)
(identifier))
(identifier)))) (identifier))))
(result_profile (result_profile
(identifier)))) (identifier)))
(conditional_expression
(case_expression (case_expression
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))
(primary
(identifier))))
(binary_adding_operator) (binary_adding_operator)
(term (term
(factor (numeric_literal)))
(primary
(numeric_literal)))))))
(case_expression_alternative (case_expression_alternative
(discrete_choice_list (discrete_choice_list
(discrete_choice (discrete_choice
(range_g (range_g
(simple_expression
(term (term
(factor (numeric_literal))
(primary
(numeric_literal)))))
(simple_expression
(term (term
(factor (numeric_literal))))
(primary
(numeric_literal)))))))
(discrete_choice (discrete_choice
(range_g (range_g
(simple_expression
(term (term
(factor (numeric_literal))
(primary (term
(numeric_literal))))) (numeric_literal)))))
(simple_expression
(term
(factor
(primary
(numeric_literal))))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))
(primary
(identifier))))))))
(case_expression_alternative (case_expression_alternative
(discrete_choice_list (discrete_choice_list
(discrete_choice)) (discrete_choice))
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))))))
(primary
(identifier)))))))))))))
================================================================================ ================================================================================
Expression function array Expression function array
@ -547,33 +409,20 @@ function F return My_Array is (1 .. 2 => True);
(expression_function_declaration (expression_function_declaration
(function_specification (function_specification
(identifier) (identifier)
(parameter_and_result_profile
(result_profile (result_profile
(identifier)))) (identifier)))
(aggregate
(array_aggregate
(named_array_aggregate (named_array_aggregate
(array_component_association (array_component_association
(discrete_choice_list (discrete_choice_list
(discrete_choice (discrete_choice
(range_g (range_g
(simple_expression
(term (term
(factor (numeric_literal))
(primary (term
(numeric_literal))))) (numeric_literal)))))
(simple_expression
(term
(factor
(primary
(numeric_literal))))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))))))
(primary
(identifier))))))))))))))
================================================================================ ================================================================================
Expression function quantified Expression function quantified
@ -590,33 +439,24 @@ function F (A : My_Array) return Boolean
(expression_function_declaration (expression_function_declaration
(function_specification (function_specification
(identifier) (identifier)
(parameter_and_result_profile
(formal_part (formal_part
(parameter_specification_list (parameter_specification_list
(parameter_specification (parameter_specification
(defining_identifier_list (identifier)
(identifier))
(identifier)))) (identifier))))
(result_profile (result_profile
(identifier)))) (identifier)))
(quantified_expression (quantified_expression
(quantifier) (quantifier)
(iterator_specification (iterator_specification
(identifier) (identifier)
(identifier)) (identifier))
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))
(primary
(identifier)))))
(relational_operator) (relational_operator)
(simple_expression
(term (term
(factor (numeric_literal)))))))
(primary
(numeric_literal)))))))))))
================================================================================ ================================================================================
Operators Operators
@ -631,32 +471,22 @@ end "<";
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(subprogram_body (subprogram_body
(overriding_indicator) (overriding_indicator)
(subprogram_specification
(function_specification (function_specification
(string_literal) (string_literal)
(parameter_and_result_profile
(formal_part (formal_part
(parameter_specification_list (parameter_specification_list
(parameter_specification (parameter_specification
(defining_identifier_list
(identifier) (identifier)
(identifier)) (identifier)
(identifier)))) (identifier))))
(result_profile (result_profile
(identifier))))) (identifier)))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement
(simple_return_statement (simple_return_statement
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier))))))
(primary (string_literal))))
(identifier))))))))))))
(string_literal)))))

View File

@ -34,60 +34,43 @@ end P;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(package_body (package_body
(identifier) (identifier)
(non_empty_declarative_part (non_empty_declarative_part
(declarative_item_pragma
(object_declaration (object_declaration
(single_task_declaration (single_task_declaration
(identifier) (identifier)
(task_definition (task_definition
(task_item
(entry_declaration (entry_declaration
(identifier) (identifier)
(formal_part (formal_part
(parameter_specification_list (parameter_specification_list
(parameter_specification (parameter_specification
(defining_identifier_list (identifier)
(identifier))
(identifier))))))
(task_item
(entry_declaration
(identifier)))
(identifier))))) (identifier)))))
(declarative_item_pragma (entry_declaration
(proper_body (identifier))
(identifier))))
(task_body (task_body
(identifier) (identifier)
(non_empty_declarative_part (non_empty_declarative_part
(declarative_item_pragma
(object_declaration (object_declaration
(defining_identifier_list (identifier)
(identifier)) (identifier)))
(subtype_indication
(identifier)))))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(compound_statement
(accept_statement (accept_statement
(identifier) (identifier)
(formal_part (formal_part
(parameter_specification_list (parameter_specification_list
(parameter_specification (parameter_specification
(defining_identifier_list (identifier)
(identifier))
(identifier)))) (identifier))))
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(simple_statement (null_statement)))
(null_statement))))) (identifier)))
(identifier))))
(statement (statement
(compound_statement
(select_statement
(timed_entry_call (timed_entry_call
(entry_call_alternative (entry_call_alternative
(procedure_call_statement (procedure_call_statement
@ -95,25 +78,14 @@ end P;
(actual_parameter_part (actual_parameter_part
(parameter_association (parameter_association
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))))))
(primary
(numeric_literal)))))))))))
(delay_alternative (delay_alternative
(delay_statement
(delay_relative_statement (delay_relative_statement
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))))))
(primary
(numeric_literal))))))))))))))
(statement (statement
(compound_statement
(select_statement
(conditional_entry_call (conditional_entry_call
(entry_call_alternative (entry_call_alternative
(procedure_call_statement (procedure_call_statement
@ -121,18 +93,12 @@ end P;
(actual_parameter_part (actual_parameter_part
(parameter_association (parameter_association
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))))))
(primary
(numeric_literal)))))))))))
(sequence_of_statements
(statement (statement
(simple_statement (null_statement)))))
(null_statement)))))))))) (identifier)))
(identifier))))) (identifier))))
(identifier)))))
================================================================================ ================================================================================
Task types Task types
@ -152,42 +118,32 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(package_body (package_body
(identifier) (identifier)
(non_empty_declarative_part (non_empty_declarative_part
(declarative_item_pragma
(type_declaration
(full_type_declaration (full_type_declaration
(task_type_declaration (task_type_declaration
(identifier))))) (identifier)))
(declarative_item_pragma
(type_declaration
(full_type_declaration (full_type_declaration
(task_type_declaration (task_type_declaration
(identifier) (identifier)
(task_definition (task_definition
(task_item
(entry_declaration (entry_declaration
(identifier) (identifier)
(formal_part (formal_part
(parameter_specification_list (parameter_specification_list
(parameter_specification (parameter_specification
(defining_identifier_list (identifier)
(identifier)) (identifier)))))
(identifier)))))) (identifier))))
(identifier))))))
(declarative_item_pragma
(type_declaration
(full_type_declaration (full_type_declaration
(task_type_declaration (task_type_declaration
(identifier) (identifier)
(identifier) (identifier)
(task_definition (task_definition
(task_item
(entry_declaration (entry_declaration
(identifier))) (identifier))
(identifier))))))))))) (identifier))))))))
================================================================================ ================================================================================
asynchronous select asynchronous select
@ -212,19 +168,13 @@ end;
(compilation (compilation
(compilation_unit (compilation_unit
(proper_body
(package_body (package_body
(identifier) (identifier)
(non_empty_declarative_part (non_empty_declarative_part
(declarative_item_pragma
(proper_body
(task_body (task_body
(identifier) (identifier)
(handled_sequence_of_statements (handled_sequence_of_statements
(sequence_of_statements
(statement (statement
(compound_statement
(select_statement
(asynchronous_select (asynchronous_select
(triggering_alternative (triggering_alternative
(procedure_call_statement (procedure_call_statement
@ -233,32 +183,21 @@ end;
(actual_parameter_part (actual_parameter_part
(parameter_association (parameter_association
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))))))
(primary
(numeric_literal)))))))))))
(sequence_of_statements
(statement (statement
(simple_statement (null_statement)))
(null_statement)))))
(sequence_of_statements
(statement (statement
(simple_statement
(procedure_call_statement (procedure_call_statement
(identifier)))))))))))))))))) (identifier))))))))))
(compilation_unit (compilation_unit
(statement (statement
(simple_statement (null_statement)))
(null_statement)))) (compilation_unit
(statement
(procedure_call_statement
(identifier))))
(compilation_unit (compilation_unit
(statement (statement
(simple_statement
(procedure_call_statement (procedure_call_statement
(identifier))))) (identifier)))))
(compilation_unit
(statement
(simple_statement
(procedure_call_statement
(identifier))))))

View File

@ -12,22 +12,13 @@ end P;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(integer_type_definition
(signed_integer_type_definition (signed_integer_type_definition
(simple_expression
(term (term
(factor (numeric_literal))
(primary
(numeric_literal)))))
(simple_expression
(term (term
(factor (numeric_literal))))
(primary
(numeric_literal))))))))))
(identifier)))) (identifier))))
================================================================================ ================================================================================
@ -45,26 +36,17 @@ end P;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(derived_type_definition (derived_type_definition
(subtype_indication (identifier))
(identifier))))
(aspect_specification (aspect_specification
(aspect_mark_list (aspect_mark_list
(aspect_association (aspect_association
(aspect_mark (identifier)
(identifier))
(aspect_definition
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))))))
(primary
(numeric_literal)))))))))))))
(identifier)))) (identifier))))
================================================================================ ================================================================================
@ -81,19 +63,12 @@ end P;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(integer_type_definition
(modular_type_definition (modular_type_definition
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))))
(primary
(numeric_literal))))))))))))
(identifier)))) (identifier))))
================================================================================ ================================================================================
@ -112,73 +87,36 @@ end P;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(derived_type_definition (derived_type_definition
(subtype_indication
(identifier) (identifier)
(constraint
(scalar_constraint
(range_constraint (range_constraint
(range_g (range_g
(simple_expression
(term (term
(factor (numeric_literal))
(primary
(numeric_literal)))))
(simple_expression
(term (term
(factor (numeric_literal))))))
(primary
(numeric_literal))))))))))))))
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(real_type_definition
(fixed_point_definition
(decimal_fixed_point_definition (decimal_fixed_point_definition
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))
(primary
(numeric_literal)))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))))
(primary
(numeric_literal)))))))))))))
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(real_type_definition
(fixed_point_definition
(ordinary_fixed_point_definition (ordinary_fixed_point_definition
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))
(primary
(numeric_literal)))))))
(real_range_specification (real_range_specification
(simple_expression
(term (term
(factor (numeric_literal))
(primary (term
(numeric_literal))))) (numeric_literal)))))
(simple_expression
(term
(factor
(primary
(numeric_literal))))))))))))
(identifier)))) (identifier))))
================================================================================ ================================================================================
@ -196,53 +134,33 @@ end P;
(compilation_unit (compilation_unit
(package_specification (package_specification
(identifier) (identifier)
(type_declaration
(full_type_declaration (full_type_declaration
(identifier) (identifier)
(type_definition
(enumeration_type_definition (enumeration_type_definition
(identifier) (identifier)
(identifier))))) (identifier)))
(aspect_clause
(enumeration_representation_clause (enumeration_representation_clause
(identifier) (identifier)
(enumeration_aggregate (enumeration_aggregate
(array_aggregate
(named_array_aggregate (named_array_aggregate
(array_component_association (array_component_association
(discrete_choice_list (discrete_choice_list
(discrete_choice (discrete_choice
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier)))))
(primary
(identifier)))))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal))))
(primary
(numeric_literal))))))))
(array_component_association (array_component_association
(discrete_choice_list (discrete_choice_list
(discrete_choice (discrete_choice
(expression (expression
(relation
(simple_expression
(term (term
(factor (identifier)))))
(primary
(identifier)))))))))
(expression (expression
(relation
(simple_expression
(term (term
(factor (numeric_literal)))))))
(primary
(numeric_literal)))))))))))))
(identifier)))) (identifier))))
================================================================================ ================================================================================
@ -262,50 +180,25 @@ end P;
(identifier) (identifier)
(subtype_declaration (subtype_declaration
(identifier) (identifier)
(subtype_indication
(identifier) (identifier)
(constraint
(scalar_constraint
(range_constraint (range_constraint
(range_g (range_g
(simple_expression
(term (term
(factor (numeric_literal))
(primary (term
(numeric_literal))))) (numeric_literal)))))
(simple_expression
(term
(factor
(primary
(numeric_literal)))))))))))
(subtype_declaration (subtype_declaration
(identifier) (identifier)
(subtype_indication
(identifier) (identifier)
(constraint
(index_constraint (index_constraint
(discrete_range
(range_g (range_g
(simple_expression
(term (term
(factor (numeric_literal))
(primary
(numeric_literal)))))
(simple_expression
(term (term
(factor (numeric_literal)))
(primary
(numeric_literal)))))))
(discrete_range
(range_g (range_g
(simple_expression
(term (term
(factor (numeric_literal))
(primary (term
(numeric_literal))))) (numeric_literal)))))
(simple_expression
(term
(factor
(primary
(numeric_literal)))))))))))
(identifier)))) (identifier))))