Inline "statement"

This commit is contained in:
Emmanuel Briot 2022-12-12 11:31:29 +01:00
parent d52ba823fa
commit 4557f68292
15 changed files with 35012 additions and 34008 deletions

View File

@ -272,7 +272,7 @@ module.exports = grammar({
optional(reservedWord('private')),
$._declarative_item,
),
$.statement,
$._statement,
$.subunit,
$.entry_declaration,
),
@ -1946,7 +1946,7 @@ module.exports = grammar({
),
),
_sequence_of_statements: $ => prec.left(seq(
repeat1($.statement),
repeat1($._statement),
repeat($.label),
)),
_simple_statement: $ => choice(
@ -1962,7 +1962,7 @@ module.exports = grammar({
$.raise_statement,
$.pragma_g,
),
statement: $ => seq(
_statement: $ => seq(
repeat($.label),
choice(
$._simple_statement,

View File

@ -25,6 +25,7 @@
"out"
"pragma"
"renames"
"task"
"terminate"
"when"
] @keyword
@ -50,7 +51,6 @@
"protected"
"record"
"subtype"
"task"
"type"
] @type.definition
[
@ -144,6 +144,7 @@
(signed_integer_type_definition "range" @type.definition)
(index_subtype_definition "range" @type.definition)
(private_type_declaration "is" @type.definition "private" @type.definition)
(task_type_declaration "task" @type.definition "is" @type.definition)
;; Gray the body of expression functions
(expression_function_declaration

View File

@ -960,7 +960,7 @@
},
{
"type": "SYMBOL",
"name": "statement"
"name": "_statement"
},
{
"type": "SYMBOL",
@ -12078,7 +12078,7 @@
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "statement"
"name": "_statement"
}
},
{
@ -12140,7 +12140,7 @@
}
]
},
"statement": {
"_statement": {
"type": "SEQ",
"members": [
{

File diff suppressed because it is too large Load Diff

66726
src/parser.c

File diff suppressed because it is too large Load Diff

View File

@ -65,21 +65,19 @@ end;
(procedure_specification
(identifier))
(handled_sequence_of_statements
(statement
(assignment_statement
(assignment_statement
(identifier)
(expression
(term
(selected_component
(identifier)
(identifier)))))
(procedure_call_statement
(selected_component
(identifier)
(expression
(term
(selected_component
(identifier)
(identifier))))))
(statement
(procedure_call_statement
(selected_component
(identifier)
(identifier))
(actual_parameter_part
(parameter_association
(expression
(term
(numeric_literal)))))))))))
(identifier))
(actual_parameter_part
(parameter_association
(expression
(term
(numeric_literal))))))))))

View File

@ -224,27 +224,26 @@ end;
(procedure_specification
(identifier))
(handled_sequence_of_statements
(statement
(assignment_statement
(identifier)
(expression
(term
(named_array_aggregate
(array_component_association
(iterated_element_association
(loop_parameter_specification
(identifier)
(range_g
(term
(numeric_literal))
(term
(identifier))))
(expression
(assignment_statement
(identifier)
(expression
(term
(named_array_aggregate
(array_component_association
(iterated_element_association
(loop_parameter_specification
(identifier)
(range_g
(term
(function_call
(identifier)
(actual_parameter_part
(parameter_association
(expression
(term
(identifier)))))))))))))))))))
(numeric_literal))
(term
(identifier))))
(expression
(term
(function_call
(identifier)
(actual_parameter_part
(parameter_association
(expression
(term
(identifier))))))))))))))))))

View File

@ -33,31 +33,27 @@ end;
(term
(numeric_literal))))))))
(handled_sequence_of_statements
(statement
(loop_statement
(iteration_scheme
(loop_parameter_specification
(loop_statement
(iteration_scheme
(loop_parameter_specification
(identifier)
(range_g
(identifier)
(range_g
(identifier)
(tick)
(range_attribute_designator))))
(statement
(null_statement))))
(statement
(loop_statement
(iteration_scheme
(loop_parameter_specification
(tick)
(range_attribute_designator))))
(null_statement))
(loop_statement
(iteration_scheme
(loop_parameter_specification
(identifier)
(range_g
(identifier)
(range_g
(identifier)
(tick)
(range_attribute_designator
(expression
(term
(numeric_literal)))))))
(statement
(null_statement))))))))
(tick)
(range_attribute_designator
(expression
(term
(numeric_literal)))))))
(null_statement))))))
================================================================================
Reduction
@ -114,5 +110,4 @@ end;
(term
(numeric_literal)))))))))
(handled_sequence_of_statements
(statement
(null_statement))))))
(null_statement)))))

View File

@ -104,12 +104,10 @@ end Child.P2;
(package_body
(identifier)
(handled_sequence_of_statements
(statement
(null_statement)))
(null_statement))
(identifier)))
(handled_sequence_of_statements
(statement
(null_statement)))
(null_statement))
(selected_component
(identifier)
(identifier)))))

View File

@ -65,20 +65,18 @@ end;
(procedure_specification
(identifier))
(handled_sequence_of_statements
(statement
(abort_statement
(identifier)))))
(abort_statement
(identifier))))
(subprogram_body
(function_specification
(identifier)
(result_profile
(identifier)))
(handled_sequence_of_statements
(statement
(simple_return_statement
(expression
(term
(identifier)))))))
(simple_return_statement
(expression
(term
(identifier))))))
(entry_body
(identifier)
(entry_barrier
@ -89,9 +87,8 @@ end;
(term
(numeric_literal))))
(handled_sequence_of_statements
(statement
(requeue_statement
(identifier))))
(requeue_statement
(identifier)))
(identifier))
(entry_body
(identifier)
@ -108,7 +105,6 @@ end;
(term
(identifier))))
(handled_sequence_of_statements
(statement
(null_statement)))
(null_statement))
(identifier))
(identifier))))))

View File

@ -275,23 +275,22 @@ end;
(procedure_specification
(identifier))
(handled_sequence_of_statements
(statement
(assignment_statement
(identifier)
(expression
(term
(record_aggregate
(record_component_association_list
(component_choice_list
(identifier))
(expression
(term
(numeric_literal)))
(component_choice_list
(identifier))
(expression
(term
(numeric_literal)))))))))))))
(assignment_statement
(identifier)
(expression
(term
(record_aggregate
(record_component_association_list
(component_choice_list
(identifier))
(expression
(term
(numeric_literal)))
(component_choice_list
(identifier))
(expression
(term
(numeric_literal))))))))))))
================================================================================
record aggregate extension
@ -310,21 +309,20 @@ end;
(procedure_specification
(identifier))
(handled_sequence_of_statements
(statement
(assignment_statement
(identifier)
(expression
(term
(extension_aggregate
(assignment_statement
(identifier)
(expression
(term
(extension_aggregate
(expression
(term
(identifier)))
(record_component_association_list
(component_choice_list
(identifier))
(expression
(term
(identifier)))
(record_component_association_list
(component_choice_list
(identifier))
(expression
(term
(numeric_literal)))))))))))))
(numeric_literal))))))))))))
================================================================================
record delta aggregate
@ -343,18 +341,17 @@ end;
(procedure_specification
(identifier))
(handled_sequence_of_statements
(statement
(assignment_statement
(identifier)
(expression
(term
(record_delta_aggregate
(assignment_statement
(identifier)
(expression
(term
(record_delta_aggregate
(expression
(term
(identifier)))
(record_component_association_list
(component_choice_list
(identifier))
(expression
(term
(identifier)))
(record_component_association_list
(component_choice_list
(identifier))
(expression
(term
(numeric_literal)))))))))))))
(numeric_literal))))))))))))

View File

@ -48,6 +48,5 @@ end P;
(identifier)
(identifier)))
(handled_sequence_of_statements
(statement
(null_statement)))
(null_statement))
(identifier))))

View File

@ -56,22 +56,19 @@ end;
(procedure_specification
(identifier))
(handled_sequence_of_statements
(statement
(loop_statement
(iteration_scheme
(expression
(term
(identifier))))
(statement
(exit_statement))
(statement
(exit_statement
(expression
(term
(identifier))
(relational_operator)
(term
(numeric_literal)))))))))))
(loop_statement
(iteration_scheme
(expression
(term
(identifier))))
(exit_statement)
(exit_statement
(expression
(term
(identifier))
(relational_operator)
(term
(numeric_literal)))))))))
================================================================================
For loops
@ -98,33 +95,29 @@ end P;
(procedure_specification
(identifier))
(handled_sequence_of_statements
(statement
(loop_statement
(iteration_scheme
(loop_parameter_specification
(identifier)
(range_g
(selected_component
(identifier)
(identifier))
(tick)
(range_attribute_designator))))
(statement
(goto_statement
(identifier)))
(label
(identifier))))
(statement
(loop_statement
(iteration_scheme
(iterator_specification
(identifier)
(identifier)))
(statement
(delay_relative_statement
(expression
(term
(numeric_literal))))))))
(loop_statement
(iteration_scheme
(loop_parameter_specification
(identifier)
(range_g
(selected_component
(identifier)
(identifier))
(tick)
(range_attribute_designator))))
(goto_statement
(identifier))
(label
(identifier)))
(loop_statement
(iteration_scheme
(iterator_specification
(identifier)
(identifier)))
(delay_relative_statement
(expression
(term
(numeric_literal))))))
(identifier))))
================================================================================
@ -147,14 +140,12 @@ end;
(procedure_specification
(identifier))
(handled_sequence_of_statements
(statement
(loop_statement
(loop_label
(identifier))
(statement
(exit_statement
(identifier)))
(identifier)))))))
(loop_statement
(loop_label
(identifier))
(exit_statement
(identifier))
(identifier))))))
================================================================================
Return
@ -178,28 +169,25 @@ end F;
(result_profile
(identifier)))
(handled_sequence_of_statements
(statement
(simple_return_statement
(simple_return_statement
(expression
(term
(identifier))))
(extended_return_statement
(extended_return_object_declaration
(identifier)
(identifier)
(expression
(term
(identifier)))))
(statement
(extended_return_statement
(extended_return_object_declaration
(identifier)
(identifier)
(expression
(term
(record_aggregate
(record_component_association_list
(component_choice_list
(identifier))
(expression
(term
(numeric_literal))))))))
(handled_sequence_of_statements
(statement
(null_statement))))))
(record_aggregate
(record_component_association_list
(component_choice_list
(identifier))
(expression
(term
(numeric_literal))))))))
(handled_sequence_of_statements
(null_statement))))
(identifier))))
================================================================================
@ -223,18 +211,17 @@ end P;
(identifier)
(identifier))))
(handled_sequence_of_statements
(statement
(procedure_call_statement
(identifier)
(actual_parameter_part
(parameter_association
(expression
(term
(numeric_literal))))
(parameter_association
(expression
(term
(identifier))))))))
(procedure_call_statement
(identifier)
(actual_parameter_part
(parameter_association
(expression
(term
(numeric_literal))))
(parameter_association
(expression
(term
(identifier)))))))
(identifier))))
================================================================================
@ -255,15 +242,13 @@ end;
(procedure_specification
(identifier))
(handled_sequence_of_statements
(statement
(raise_statement
(identifier)))
(statement
(raise_statement
(identifier)
(expression
(term
(string_literal)))))))))
(raise_statement
(identifier))
(raise_statement
(identifier)
(expression
(term
(string_literal))))))))
================================================================================
Function calls
@ -287,20 +272,19 @@ end;
(identifier)
(identifier)))
(handled_sequence_of_statements
(statement
(assignment_statement
(identifier)
(expression
(term
(function_call
(identifier)
(actual_parameter_part
(parameter_association
(component_choice_list
(identifier))
(expression
(term
(numeric_literal))))))))))))))
(assignment_statement
(identifier)
(expression
(term
(function_call
(identifier)
(actual_parameter_part
(parameter_association
(component_choice_list
(identifier))
(expression
(term
(numeric_literal)))))))))))))
================================================================================
if statement
@ -336,51 +320,43 @@ end P;
(procedure_specification
(identifier))
(handled_sequence_of_statements
(statement
(if_statement
(if_statement
(expression
(term
(identifier))
(relational_operator)
(term
(numeric_literal))
(term
(identifier))
(relational_operator)
(term
(numeric_literal)))
(block_statement
(handled_sequence_of_statements
(null_statement)))
(elsif_statement_item
(expression
(term
(identifier))
(relational_operator)
(term
(numeric_literal))
(term
(identifier))
(relational_operator)
(term
(numeric_literal)))
(statement
(block_statement
(handled_sequence_of_statements
(statement
(null_statement)))))
(elsif_statement_item
(expression
(term
(identifier))
(relational_operator)
(term
(numeric_literal)))
(statement
(block_statement
(non_empty_declarative_part
(object_declaration
(identifier)
(block_statement
(non_empty_declarative_part
(object_declaration
(identifier)
(identifier)))
(handled_sequence_of_statements
(null_statement)
(exception_handler
(exception_choice_list
(exception_choice
(identifier)))
(handled_sequence_of_statements
(statement
(null_statement))
(exception_handler
(exception_choice_list
(exception_choice
(identifier)))
(statement
(null_statement)))))))
(statement
(block_statement
(handled_sequence_of_statements
(statement
(null_statement))))))))
(null_statement)))))
(block_statement
(handled_sequence_of_statements
(null_statement)))))
(identifier))))
================================================================================
@ -405,41 +381,38 @@ end;
(procedure_specification
(identifier))
(handled_sequence_of_statements
(statement
(case_statement
(expression
(term
(function_call
(identifier)
(actual_parameter_part
(parameter_association
(component_choice_list
(identifier))
(expression
(term
(numeric_literal))))))))
(case_statement_alternative
(discrete_choice_list
(discrete_choice
(range_g
(term
(character_literal))
(term
(character_literal)))))
(statement
(null_statement)))
(case_statement_alternative
(discrete_choice_list
(discrete_choice
(expression
(term
(character_literal))))
(discrete_choice
(expression
(term
(character_literal)))))
(statement
(null_statement)))))))))
(case_statement
(expression
(term
(function_call
(identifier)
(actual_parameter_part
(parameter_association
(component_choice_list
(identifier))
(expression
(term
(numeric_literal))))))))
(case_statement_alternative
(discrete_choice_list
(discrete_choice
(range_g
(term
(character_literal))
(term
(character_literal)))))
(null_statement))
(case_statement_alternative
(discrete_choice_list
(discrete_choice
(expression
(term
(character_literal))))
(discrete_choice
(expression
(term
(character_literal)))))
(null_statement)))))))
================================================================================
Allocators
@ -459,35 +432,33 @@ end;
(procedure_specification
(identifier))
(handled_sequence_of_statements
(statement
(assignment_statement
(identifier)
(expression
(term
(allocator
(identifier))))))
(statement
(assignment_statement
(identifier)
(expression
(term
(allocator
(subpool_specification
(selected_component
(identifier)
(identifier)))
(qualified_expression
(assignment_statement
(identifier)
(expression
(term
(allocator
(identifier)))))
(assignment_statement
(identifier)
(expression
(term
(allocator
(subpool_specification
(selected_component
(identifier)
(tick)
(expression
(term
(record_aggregate
(record_component_association_list
(component_choice_list
(identifier))
(expression
(term
(numeric_literal)))))))))))))))))
(identifier)))
(qualified_expression
(identifier)
(tick)
(expression
(term
(record_aggregate
(record_component_association_list
(component_choice_list
(identifier))
(expression
(term
(numeric_literal))))))))))))))))
================================================================================
Filtered for loops
@ -508,21 +479,19 @@ end;
(procedure_specification
(identifier))
(handled_sequence_of_statements
(statement
(loop_statement
(iteration_scheme
(iterator_specification
(identifier)
(identifier)
(iterator_filter
(expression
(term
(identifier))
(relational_operator)
(term
(numeric_literal))))))
(statement
(null_statement))))))))
(loop_statement
(iteration_scheme
(iterator_specification
(identifier)
(identifier)
(iterator_filter
(expression
(term
(identifier))
(relational_operator)
(term
(numeric_literal))))))
(null_statement))))))
================================================================================
Assignment target name
@ -542,40 +511,38 @@ end;
(procedure_specification
(identifier))
(handled_sequence_of_statements
(statement
(assignment_statement
(function_call
(selected_component
(assignment_statement
(function_call
(selected_component
(identifier)
(identifier))
(actual_parameter_part
(parameter_association
(expression
(term
(identifier))))))
(expression
(term
(target_name))
(binary_adding_operator)
(term
(numeric_literal))))
(assignment_statement
(function_call
(selected_component
(identifier)
(identifier))
(actual_parameter_part
(parameter_association
(expression
(term
(identifier))))))
(expression
(term
(function_call
(identifier)
(identifier))
(actual_parameter_part
(parameter_association
(expression
(term
(identifier))))))
(expression
(term
(target_name))
(binary_adding_operator)
(term
(numeric_literal)))))
(statement
(assignment_statement
(function_call
(selected_component
(identifier)
(identifier))
(actual_parameter_part
(parameter_association
(expression
(term
(identifier))))))
(expression
(term
(function_call
(identifier)
(actual_parameter_part
(parameter_association
(expression
(term
(target_name))))))))))))))
(actual_parameter_part
(parameter_association
(expression
(term
(target_name)))))))))))))

View File

@ -155,8 +155,7 @@ end;
(identifier)
(identifier)))
(handled_sequence_of_statements
(statement
(null_statement)))
(null_statement))
(identifier))))))
================================================================================
@ -474,11 +473,10 @@ end "<";
(result_profile
(identifier)))
(handled_sequence_of_statements
(statement
(simple_return_statement
(expression
(term
(identifier))))))
(simple_return_statement
(expression
(term
(identifier)))))
(string_literal))))
================================================================================
@ -510,17 +508,16 @@ Subprogram and field access
(compilation
(compilation_unit
(statement
(assignment_statement
(identifier)
(expression
(term
(selected_component
(function_call
(identifier)
(actual_parameter_part
(parameter_association
(expression
(term
(numeric_literal))))))
(identifier))))))))
(assignment_statement
(identifier)
(expression
(term
(selected_component
(function_call
(identifier)
(actual_parameter_part
(parameter_association
(expression
(term
(numeric_literal))))))
(identifier)))))))

View File

@ -57,44 +57,39 @@ end P;
(identifier)
(identifier)))
(handled_sequence_of_statements
(statement
(accept_statement
(identifier)
(formal_part
(parameter_specification
(identifier)
(identifier)))
(handled_sequence_of_statements
(statement
(null_statement)))
(identifier)))
(statement
(timed_entry_call
(entry_call_alternative
(procedure_call_statement
(identifier)
(actual_parameter_part
(parameter_association
(expression
(term
(numeric_literal)))))))
(delay_alternative
(delay_relative_statement
(expression
(term
(numeric_literal)))))))
(statement
(conditional_entry_call
(entry_call_alternative
(procedure_call_statement
(identifier)
(actual_parameter_part
(parameter_association
(expression
(term
(numeric_literal)))))))
(statement
(null_statement)))))
(accept_statement
(identifier)
(formal_part
(parameter_specification
(identifier)
(identifier)))
(handled_sequence_of_statements
(null_statement))
(identifier))
(timed_entry_call
(entry_call_alternative
(procedure_call_statement
(identifier)
(actual_parameter_part
(parameter_association
(expression
(term
(numeric_literal)))))))
(delay_alternative
(delay_relative_statement
(expression
(term
(numeric_literal))))))
(conditional_entry_call
(entry_call_alternative
(procedure_call_statement
(identifier)
(actual_parameter_part
(parameter_association
(expression
(term
(numeric_literal)))))))
(null_statement)))
(identifier)))
(identifier))))
@ -171,33 +166,27 @@ end;
(task_body
(identifier)
(handled_sequence_of_statements
(statement
(asynchronous_select
(triggering_alternative
(procedure_call_statement
(function_call
(identifier)
(actual_parameter_part
(parameter_association
(expression
(term
(numeric_literal)))))))
(statement
(null_statement)))
(statement
(procedure_call_statement
(identifier))))))))))
(asynchronous_select
(triggering_alternative
(procedure_call_statement
(function_call
(identifier)
(actual_parameter_part
(parameter_association
(expression
(term
(numeric_literal)))))))
(null_statement))
(procedure_call_statement
(identifier))))))))
(compilation_unit
(statement
(null_statement)))
(null_statement))
(compilation_unit
(statement
(procedure_call_statement
(identifier))))
(procedure_call_statement
(identifier)))
(compilation_unit
(statement
(procedure_call_statement
(identifier)))))
(procedure_call_statement
(identifier))))
================================================================================
Accept
@ -211,20 +200,18 @@ end Start;
(compilation
(compilation_unit
(statement
(accept_statement
(identifier)
(formal_part
(parameter_specification
(identifier)
(identifier))
(parameter_specification
(identifier)
(identifier)))
(handled_sequence_of_statements
(statement
(null_statement)))
(identifier)))))
(accept_statement
(identifier)
(formal_part
(parameter_specification
(identifier)
(identifier))
(parameter_specification
(identifier)
(identifier)))
(handled_sequence_of_statements
(null_statement))
(identifier))))
================================================================================
Select terminate
@ -240,11 +227,10 @@ end select;
(compilation
(compilation_unit
(statement
(selective_accept
(select_alternative
(accept_alternative
(accept_statement
(identifier))))
(select_alternative
(terminate_alternative))))))
(selective_accept
(select_alternative
(accept_alternative
(accept_statement
(identifier))))
(select_alternative
(terminate_alternative)))))