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

View File

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

View File

@ -960,7 +960,7 @@
}, },
{ {
"type": "SYMBOL", "type": "SYMBOL",
"name": "statement" "name": "_statement"
}, },
{ {
"type": "SYMBOL", "type": "SYMBOL",
@ -12078,7 +12078,7 @@
"type": "REPEAT1", "type": "REPEAT1",
"content": { "content": {
"type": "SYMBOL", "type": "SYMBOL",
"name": "statement" "name": "_statement"
} }
}, },
{ {
@ -12140,7 +12140,7 @@
} }
] ]
}, },
"statement": { "_statement": {
"type": "SEQ", "type": "SEQ",
"members": [ "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 (procedure_specification
(identifier)) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(statement (assignment_statement
(assignment_statement (identifier)
(expression
(term
(selected_component
(identifier)
(identifier)))))
(procedure_call_statement
(selected_component
(identifier) (identifier)
(expression (identifier))
(term (actual_parameter_part
(selected_component (parameter_association
(identifier) (expression
(identifier)))))) (term
(statement (numeric_literal))))))))))
(procedure_call_statement
(selected_component
(identifier)
(identifier))
(actual_parameter_part
(parameter_association
(expression
(term
(numeric_literal)))))))))))

View File

@ -224,27 +224,26 @@ end;
(procedure_specification (procedure_specification
(identifier)) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(statement (assignment_statement
(assignment_statement (identifier)
(identifier) (expression
(expression (term
(term (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) (range_g
(range_g
(term
(numeric_literal))
(term
(identifier))))
(expression
(term (term
(function_call (numeric_literal))
(identifier) (term
(actual_parameter_part (identifier))))
(parameter_association (expression
(expression (term
(term (function_call
(identifier))))))))))))))))))) (identifier)
(actual_parameter_part
(parameter_association
(expression
(term
(identifier))))))))))))))))))

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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