1------------------------------------------------------------------------------
2--                                                                          --
3--                         GNAT COMPILER COMPONENTS                         --
4--                                                                          --
5--                              P R J . D E C T                             --
6--                                                                          --
7--                                 S p e c                                  --
8--                                                                          --
9--          Copyright (C) 2001-2009, Free Software Foundation, Inc.         --
10--                                                                          --
11-- GNAT is free software;  you can  redistribute it  and/or modify it under --
12-- terms of the  GNU General Public License as published  by the Free Soft- --
13-- ware  Foundation;  either version 3,  or (at your option) any later ver- --
14-- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
15-- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
16-- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
17-- for  more details.  You should have  received  a copy of the GNU General --
18-- Public License  distributed with GNAT; see file COPYING3.  If not, go to --
19-- http://www.gnu.org/licenses for a complete copy of the license.          --
20--                                                                          --
21-- GNAT was originally developed  by the GNAT team at  New York University. --
22-- Extensive contributions were provided by Ada Core Technologies Inc.      --
23--                                                                          --
24------------------------------------------------------------------------------
25
26--  Parse a list of declarative items in a project file
27
28with Prj.Tree;
29
30private package Prj.Dect is
31
32   procedure Parse
33     (In_Tree           : Prj.Tree.Project_Node_Tree_Ref;
34      Declarations      : out Prj.Tree.Project_Node_Id;
35      Current_Project   : Prj.Tree.Project_Node_Id;
36      Extends           : Prj.Tree.Project_Node_Id;
37      Packages_To_Check : String_List_Access;
38      Is_Config_File    : Boolean;
39      Flags             : Processing_Flags);
40   --  Parse project declarative items
41   --
42   --  In_Tree is the project node tree
43   --
44   --  Declarations is the resulting project node
45   --
46   --  Current_Project is the project node of the project for which the
47   --  declarative items are parsed.
48   --
49   --  Extends is the project node of the project that project Current_Project
50   --  extends. If project Current-Project does not extend any project,
51   --  Extends has the value Empty_Node.
52   --
53   --  Packages_To_Check is the list of packages that needs to be checked.
54   --  For legal packages declared in project Current_Project that are not in
55   --  Packages_To_Check, only the syntax of the declarations are checked, not
56   --  the attribute names and kinds.
57   --
58   --  Is_Config_File should be set to True if the project represents a config
59   --  file (.cgpr) since some specific checks apply.
60
61end Prj.Dect;
62