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,15 +65,13 @@ 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
(selected_component (selected_component
(identifier) (identifier)
(identifier)))))) (identifier)))))
(statement
(procedure_call_statement (procedure_call_statement
(selected_component (selected_component
(identifier) (identifier)
@ -82,4 +80,4 @@ end;
(parameter_association (parameter_association
(expression (expression
(term (term
(numeric_literal))))))))))) (numeric_literal))))))))))

View File

@ -224,7 +224,6 @@ end;
(procedure_specification (procedure_specification
(identifier)) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(statement
(assignment_statement (assignment_statement
(identifier) (identifier)
(expression (expression
@ -247,4 +246,4 @@ end;
(parameter_association (parameter_association
(expression (expression
(term (term
(identifier))))))))))))))))))) (identifier))))))))))))))))))

View File

@ -33,7 +33,6 @@ 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
@ -42,9 +41,7 @@ end;
(identifier) (identifier)
(tick) (tick)
(range_attribute_designator)))) (range_attribute_designator))))
(statement (null_statement))
(null_statement))))
(statement
(loop_statement (loop_statement
(iteration_scheme (iteration_scheme
(loop_parameter_specification (loop_parameter_specification
@ -56,8 +53,7 @@ end;
(expression (expression
(term (term
(numeric_literal))))))) (numeric_literal)))))))
(statement (null_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,7 +275,6 @@ end;
(procedure_specification (procedure_specification
(identifier)) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(statement
(assignment_statement (assignment_statement
(identifier) (identifier)
(expression (expression
@ -291,7 +290,7 @@ end;
(identifier)) (identifier))
(expression (expression
(term (term
(numeric_literal))))))))))))) (numeric_literal))))))))))))
================================================================================ ================================================================================
record aggregate extension record aggregate extension
@ -310,7 +309,6 @@ end;
(procedure_specification (procedure_specification
(identifier)) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(statement
(assignment_statement (assignment_statement
(identifier) (identifier)
(expression (expression
@ -324,7 +322,7 @@ end;
(identifier)) (identifier))
(expression (expression
(term (term
(numeric_literal))))))))))))) (numeric_literal))))))))))))
================================================================================ ================================================================================
record delta aggregate record delta aggregate
@ -343,7 +341,6 @@ end;
(procedure_specification (procedure_specification
(identifier)) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(statement
(assignment_statement (assignment_statement
(identifier) (identifier)
(expression (expression
@ -357,4 +354,4 @@ end;
(identifier)) (identifier))
(expression (expression
(term (term
(numeric_literal))))))))))))) (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))))
(statement (exit_statement)
(exit_statement))
(statement
(exit_statement (exit_statement
(expression (expression
(term (term
(identifier)) (identifier))
(relational_operator) (relational_operator)
(term (term
(numeric_literal))))))))))) (numeric_literal)))))))))
================================================================================ ================================================================================
For loops For loops
@ -98,7 +95,6 @@ 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
@ -109,22 +105,19 @@ end P;
(identifier)) (identifier))
(tick) (tick)
(range_attribute_designator)))) (range_attribute_designator))))
(statement
(goto_statement (goto_statement
(identifier))) (identifier))
(label (label
(identifier)))) (identifier)))
(statement
(loop_statement (loop_statement
(iteration_scheme (iteration_scheme
(iterator_specification (iterator_specification
(identifier) (identifier)
(identifier))) (identifier)))
(statement
(delay_relative_statement (delay_relative_statement
(expression (expression
(term (term
(numeric_literal)))))))) (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))
(statement
(exit_statement (exit_statement
(identifier))) (identifier))
(identifier))))))) (identifier))))))
================================================================================ ================================================================================
Return Return
@ -178,12 +169,10 @@ end F;
(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))))
(statement
(extended_return_statement (extended_return_statement
(extended_return_object_declaration (extended_return_object_declaration
(identifier) (identifier)
@ -198,8 +187,7 @@ end F;
(term (term
(numeric_literal)))))))) (numeric_literal))))))))
(handled_sequence_of_statements (handled_sequence_of_statements
(statement (null_statement))))
(null_statement))))))
(identifier)))) (identifier))))
================================================================================ ================================================================================
@ -223,7 +211,6 @@ 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
@ -234,7 +221,7 @@ end P;
(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))
(statement
(raise_statement (raise_statement
(identifier) (identifier)
(expression (expression
(term (term
(string_literal))))))))) (string_literal))))))))
================================================================================ ================================================================================
Function calls Function calls
@ -287,7 +272,6 @@ end;
(identifier) (identifier)
(identifier))) (identifier)))
(handled_sequence_of_statements (handled_sequence_of_statements
(statement
(assignment_statement (assignment_statement
(identifier) (identifier)
(expression (expression
@ -300,7 +284,7 @@ end;
(identifier)) (identifier))
(expression (expression
(term (term
(numeric_literal)))))))))))))) (numeric_literal)))))))))))))
================================================================================ ================================================================================
if statement if statement
@ -336,7 +320,6 @@ end P;
(procedure_specification (procedure_specification
(identifier)) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(statement
(if_statement (if_statement
(expression (expression
(term (term
@ -349,11 +332,9 @@ end P;
(relational_operator) (relational_operator)
(term (term
(numeric_literal))) (numeric_literal)))
(statement
(block_statement (block_statement
(handled_sequence_of_statements (handled_sequence_of_statements
(statement (null_statement)))
(null_statement)))))
(elsif_statement_item (elsif_statement_item
(expression (expression
(term (term
@ -361,26 +342,21 @@ end P;
(relational_operator) (relational_operator)
(term (term
(numeric_literal))) (numeric_literal)))
(statement
(block_statement (block_statement
(non_empty_declarative_part (non_empty_declarative_part
(object_declaration (object_declaration
(identifier) (identifier)
(identifier))) (identifier)))
(handled_sequence_of_statements (handled_sequence_of_statements
(statement (null_statement)
(null_statement))
(exception_handler (exception_handler
(exception_choice_list (exception_choice_list
(exception_choice (exception_choice
(identifier))) (identifier)))
(statement (null_statement)))))
(null_statement)))))))
(statement
(block_statement (block_statement
(handled_sequence_of_statements (handled_sequence_of_statements
(statement (null_statement)))))
(null_statement))))))))
(identifier)))) (identifier))))
================================================================================ ================================================================================
@ -405,7 +381,6 @@ end;
(procedure_specification (procedure_specification
(identifier)) (identifier))
(handled_sequence_of_statements (handled_sequence_of_statements
(statement
(case_statement (case_statement
(expression (expression
(term (term
@ -426,8 +401,7 @@ end;
(character_literal)) (character_literal))
(term (term
(character_literal))))) (character_literal)))))
(statement (null_statement))
(null_statement)))
(case_statement_alternative (case_statement_alternative
(discrete_choice_list (discrete_choice_list
(discrete_choice (discrete_choice
@ -438,8 +412,7 @@ end;
(expression (expression
(term (term
(character_literal))))) (character_literal)))))
(statement (null_statement)))))))
(null_statement)))))))))
================================================================================ ================================================================================
Allocators Allocators
@ -459,14 +432,12 @@ 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)))))
(statement
(assignment_statement (assignment_statement
(identifier) (identifier)
(expression (expression
@ -487,7 +458,7 @@ end;
(identifier)) (identifier))
(expression (expression
(term (term
(numeric_literal))))))))))))))))) (numeric_literal))))))))))))))))
================================================================================ ================================================================================
Filtered for loops Filtered for loops
@ -508,7 +479,6 @@ 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
@ -521,8 +491,7 @@ end;
(relational_operator) (relational_operator)
(term (term
(numeric_literal)))))) (numeric_literal))))))
(statement (null_statement))))))
(null_statement))))))))
================================================================================ ================================================================================
Assignment target name Assignment target name
@ -542,7 +511,6 @@ 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
@ -558,8 +526,7 @@ end;
(target_name)) (target_name))
(binary_adding_operator) (binary_adding_operator)
(term (term
(numeric_literal))))) (numeric_literal))))
(statement
(assignment_statement (assignment_statement
(function_call (function_call
(selected_component (selected_component
@ -578,4 +545,4 @@ end;
(parameter_association (parameter_association
(expression (expression
(term (term
(target_name)))))))))))))) (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,7 +508,6 @@ Subprogram and field access
(compilation (compilation
(compilation_unit (compilation_unit
(statement
(assignment_statement (assignment_statement
(identifier) (identifier)
(expression (expression
@ -523,4 +520,4 @@ Subprogram and field access
(expression (expression
(term (term
(numeric_literal)))))) (numeric_literal))))))
(identifier)))))))) (identifier)))))))

View File

@ -57,7 +57,6 @@ 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
@ -65,10 +64,8 @@ end P;
(identifier) (identifier)
(identifier))) (identifier)))
(handled_sequence_of_statements (handled_sequence_of_statements
(statement (null_statement))
(null_statement))) (identifier))
(identifier)))
(statement
(timed_entry_call (timed_entry_call
(entry_call_alternative (entry_call_alternative
(procedure_call_statement (procedure_call_statement
@ -82,8 +79,7 @@ end P;
(delay_relative_statement (delay_relative_statement
(expression (expression
(term (term
(numeric_literal))))))) (numeric_literal))))))
(statement
(conditional_entry_call (conditional_entry_call
(entry_call_alternative (entry_call_alternative
(procedure_call_statement (procedure_call_statement
@ -93,8 +89,7 @@ end P;
(expression (expression
(term (term
(numeric_literal))))))) (numeric_literal)))))))
(statement (null_statement)))
(null_statement)))))
(identifier))) (identifier)))
(identifier)))) (identifier))))
@ -171,7 +166,6 @@ 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
@ -182,22 +176,17 @@ end;
(expression (expression
(term (term
(numeric_literal))))))) (numeric_literal)))))))
(statement (null_statement))
(null_statement)))
(statement
(procedure_call_statement (procedure_call_statement
(identifier)))))))))) (identifier))))))))
(compilation_unit (compilation_unit
(statement (null_statement))
(null_statement))) (compilation_unit
(procedure_call_statement
(identifier)))
(compilation_unit (compilation_unit
(statement
(procedure_call_statement (procedure_call_statement
(identifier)))) (identifier))))
(compilation_unit
(statement
(procedure_call_statement
(identifier)))))
================================================================================ ================================================================================
Accept Accept
@ -211,7 +200,6 @@ end Start;
(compilation (compilation
(compilation_unit (compilation_unit
(statement
(accept_statement (accept_statement
(identifier) (identifier)
(formal_part (formal_part
@ -222,9 +210,8 @@ end Start;
(identifier) (identifier)
(identifier))) (identifier)))
(handled_sequence_of_statements (handled_sequence_of_statements
(statement (null_statement))
(null_statement))) (identifier))))
(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)))))