OSDN Git Service

* gcc-interface/Makefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) by
[pf3gnuchains/gcc-fork.git] / gcc / ada / treepr.ads
1 ------------------------------------------------------------------------------
2 --                                                                          --
3 --                         GNAT COMPILER COMPONENTS                         --
4 --                                                                          --
5 --                               T R E E P R                                --
6 --                                                                          --
7 --                                 S p e c                                  --
8 --                                                                          --
9 --          Copyright (C) 1992-2011, 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 with Types; use Types;
27 package Treepr is
28
29 --  This package provides printing routines for the abstract syntax tree
30 --  These routines are intended only for debugging use.
31
32    procedure Tree_Dump;
33    --  This routine is called from the GNAT main program to dump trees as
34    --  requested by debug options (including tree of Standard if requested).
35
36    procedure Print_Tree_Node (N : Node_Id; Label : String := "");
37    --  Prints a single tree node, without printing descendants. The Label
38    --  string is used to preface each line of the printed output.
39
40    procedure Print_Tree_List (L : List_Id);
41    --  Prints a single node list, without printing the descendants of any
42    --  of the nodes in the list
43
44    procedure Print_Tree_Elist (E : Elist_Id);
45    --  Prints a single node list, without printing the descendants of any
46    --  of the nodes in the list
47
48    procedure Print_Node_Subtree (N : Node_Id);
49    --  Prints the subtree routed at a specified tree node, including all
50    --  referenced descendants.
51
52    procedure Print_List_Subtree (L : List_Id);
53    --  Prints the subtree consisting of the given node list and all its
54    --  referenced descendants.
55
56    procedure Print_Elist_Subtree (E : Elist_Id);
57    --  Prints the subtree consisting of the given element list and all its
58    --  referenced descendants.
59
60    --  The following debugging procedures are intended to be called from gdb
61
62    procedure pp (N : Union_Id);
63    pragma Export (Ada, pp);
64    --  Prints a node, node list, uint, or anything else that falls under
65    --  Union_Id.
66
67    procedure ppp (N : Node_Id);
68    pragma Export (Ada, ppp);
69    --  Same as Print_Node_Subtree
70
71    --  The following are no longer needed; you can use pp or ppp instead
72
73    procedure pe (E : Elist_Id);
74    pragma Export (Ada, pe);
75    --  Same as Print_Tree_Elist
76
77    procedure pl (L : Int);
78    pragma Export (Ada, pl);
79    --  Same as Print_Tree_List, except that you can use e.g. 66 instead of
80    --  -99999966. In other words for the positive case we fill out to 8 digits
81    --  on the left and add a minus sign. This just saves some typing in the
82    --  debugger.
83
84    procedure pn (N : Union_Id);
85    pragma Export (Ada, pn);
86    --  Same as pp
87
88    procedure pt (N : Node_Id);
89    pragma Export (Ada, pt);
90    --  Same as ppp
91
92 end Treepr;