tree-sitter-ada/corpus/packages.txt
Emmanuel Briot 51a69f0fb4 Additions to the grammar
This currently fails the testsuite because of ambiguities
2022-10-21 14:11:41 +02:00

195 lines
4.4 KiB
Plaintext

================================================================================
with clauses
================================================================================
with Ada.Text_IO, System; -- multiple names, and fully qualified
limited with Ada; -- limited with
private with Ada;
limited private with Ada;
use Ada.Text_IO, System;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(with_clause
(name_list
(name
(selected_component
(name
(direct_name
(identifier)))
(selector_name
(direct_name
(identifier)))))
(name
(direct_name
(identifier))))))
(comment)
(compilation_unit
(with_clause
(name_list
(name
(direct_name
(identifier))))))
(comment)
(compilation_unit
(with_clause
(name_list
(name
(direct_name
(identifier))))))
(compilation_unit
(with_clause
(name_list
(name
(direct_name
(identifier))))))
(compilation_unit
(use_clause
(name_list
(name
(selected_component
(name
(direct_name
(identifier)))
(selector_name
(direct_name
(identifier)))))
(name
(direct_name
(identifier)))))))
=====
Case insensitive
=====
PACkaGe P1 Is
enD;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(package_specification
(name))))
================================================================================
multiple compilation units
================================================================================
package P1 is
package Nested is
end Nested;
end P1;
private package Child.P2 is -- comment to be ignored
private
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(package_specification
(name
(direct_name
(identifier)))
(package_specification
(name
(direct_name
(identifier)))
(name
(direct_name
(identifier))))
(name
(direct_name
(identifier)))))
(compilation_unit
(package_specification
(name
(selected_component
(name
(direct_name
(identifier)))
(selector_name
(direct_name
(identifier)))))
(comment))))
=========
body
=========
package body Child.P2 is
package body Nested is
begin
null;
end Nested;
begin
null;
end Child.P2;
---
(compilation
(compilation_unit
(proper_body
(package_body
(name
(selected_component
(name
(direct_name
(identifier)))
(selector_name
(direct_name
(identifier)))))
(non_empty_declarative_part
(declarative_item_pragma
(proper_body
(package_body
(name
(direct_name
(identifier)))
(handled_sequence_of_statements
(sequence_of_statements
(statement
(simple_statement
(null_statement)))))
(name
(direct_name
(identifier)))))))
(handled_sequence_of_statements
(sequence_of_statements
(statement
(simple_statement
(null_statement)))))
(name
(selected_component
(name
(direct_name
(identifier)))
(selector_name
(direct_name
(identifier)))))))))
================================================================================
separate
================================================================================
separate (Child) package body P2 is
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(subunit
(name
(direct_name
(identifier)))
(proper_body
(package_body
(name
(direct_name
(identifier))))))))