home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gnat-2.06-src.tgz / tar.out / fsf / gnat / ada / nmake.adt < prev    next >
Text File  |  1996-09-28  |  4KB  |  75 lines

  1. ------------------------------------------------------------------------------
  2. --                                                                          --
  3. --                         GNAT COMPILER COMPONENTS                         --
  4. --                                                                          --
  5. --                                N M A K E                                 --
  6. --                                                                          --
  7. --                             T e m p l a t e                              --
  8. --                                                                          --
  9. --                            $Revision: 1.9 $                              --
  10. --                                                                          --
  11. --           Copyright (c) 1992,1993,1994 NYU, All Rights Reserved          --
  12. --                                                                          --
  13. -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  14. -- terms of the  GNU General Public License as published  by the Free Soft- --
  15. -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
  16. -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
  17. -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
  18. -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  19. -- for  more details.  You should have  received  a copy of the GNU General --
  20. -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
  21. -- to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. --
  22. --                                                                          --
  23. ------------------------------------------------------------------------------
  24.  
  25. --  This file is a template used as input to the utility program xnmake.spt
  26. --  which reads this template, and the spec of Sinfo (sinfo.ads) and generates
  27. --  the body and spec for the Nmake package (files nmake.ads and nmake.adb)
  28.  
  29. with Atree;  use Atree;       --  body only
  30. with Nlists; use Nlists;      --  spec only
  31. with Sinfo;  use Sinfo;       --  body only
  32. with Snames; use Snames;      --  body only
  33. with Stand;  use Stand;       --  body only
  34. with Types;  use Types;       --  spec only
  35. with Uintp;  use Uintp;       --  spec only
  36. with Urealp; use Urealp;      --  spec only
  37.  
  38. package Nmake is
  39.  
  40. --  This package contains a set of routines used to construct tree nodes
  41. --  using a functional style. There is one routine for each node type defined
  42. --  in Sinfo with the general interface:
  43.  
  44. --    function Make_xxx (Sloc : Source_Ptr,
  45. --                       Field_Name_1 : Field_Name_1_Type [:= default]
  46. --                       Field_Name_2 : Field_Name_2_Type [:= default]
  47. --                       ...)
  48. --    return Node_Id
  49.  
  50. --  Only syntactic fields are included (i.e. fields marked as "-Sem" or "-Lib"
  51. --  in the Sinfo spec are excluded). In addition, the following four syntactic
  52. --  fields are excluded:
  53.  
  54. --    Prev_Ids
  55. --    More_Ids
  56. --    Comes_From_Source
  57. --    Paren_Count
  58.  
  59. --  since they are very rarely set in expanded code. If they need to be set,
  60. --  to other than the default values (False, False, False, zero), then the
  61. --  appropriate Set_xxx procedures must be used on the returned value.
  62.  
  63. --  Default values are provided only for flag fields (where the default is
  64. --  False), and for optional fields. An optional field is one where the
  65. --  comment line describing the field contains the string "(set to xxx if".
  66. --  For such fields, a default value of xxx is provided."
  67.  
  68. --  Warning: since calls to Make_xxx routines are normal function calls, the
  69. --  arguments can be evaluated in any order. This means that at most one such
  70. --  argument can have side effects (e.g. be a call to a parse routine).
  71.  
  72. !!TEMPLATE INSERTION POINT
  73.  
  74. end Nmake;
  75.