* rtl.h (struct rtx_def): Update comments.
[official-gcc.git] / gcc / ada / prj-pars.adb
blobd71b5553ea8dd4530a66ab39470f12682e481dd1
1 ------------------------------------------------------------------------------
2 -- --
3 -- GNAT COMPILER COMPONENTS --
4 -- --
5 -- P R J . P A R S --
6 -- --
7 -- B o d y --
8 -- --
9 -- --
10 -- Copyright (C) 2001 Free Software Foundation, Inc. --
11 -- --
12 -- GNAT is free software; you can redistribute it and/or modify it under --
13 -- terms of the GNU General Public License as published by the Free Soft- --
14 -- ware Foundation; either version 2, or (at your option) any later ver- --
15 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
16 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
17 -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
18 -- for more details. You should have received a copy of the GNU General --
19 -- Public License distributed with GNAT; see file COPYING. If not, write --
20 -- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
21 -- MA 02111-1307, USA. --
22 -- --
23 -- GNAT was originally developed by the GNAT team at New York University. --
24 -- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). --
25 -- --
26 ------------------------------------------------------------------------------
28 with Ada.Exceptions; use Ada.Exceptions;
30 with Errout; use Errout;
31 with Output; use Output;
32 with Prj.Com; use Prj.Com;
33 with Prj.Part;
34 with Prj.Proc;
35 with Prj.Tree; use Prj.Tree;
37 package body Prj.Pars is
39 -----------
40 -- Parse --
41 -----------
43 procedure Parse
44 (Project : out Project_Id;
45 Project_File_Name : String)
47 Project_Tree : Project_Node_Id := Empty_Node;
48 The_Project : Project_Id := No_Project;
50 begin
51 -- Parse the main project file into a tree
53 Prj.Part.Parse
54 (Project => Project_Tree,
55 Project_File_Name => Project_File_Name,
56 Always_Errout_Finalize => False);
58 -- If there were no error, process the tree
60 if Project_Tree /= Empty_Node then
61 Prj.Proc.Process
62 (Project => The_Project,
63 From_Project_Node => Project_Tree,
64 Report_Error => null);
65 Errout.Finalize;
66 end if;
68 Project := The_Project;
70 exception
71 when X : others =>
73 -- Internal error
75 Write_Line (Exception_Information (X));
76 Write_Str ("Exception ");
77 Write_Str (Exception_Name (X));
78 Write_Line (" raised, while processing project file");
79 Project := No_Project;
80 end Parse;
82 -------------------
83 -- Set_Verbosity --
84 -------------------
86 procedure Set_Verbosity (To : in Verbosity) is
87 begin
88 Current_Verbosity := To;
89 end Set_Verbosity;
91 end Prj.Pars;