File : prj-dect.ads


   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 
  28 with Prj.Tree;
  29 
  30 private 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 
  61 end Prj.Dect;