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 / binderr.ads < prev    next >
Text File  |  1996-09-28  |  5KB  |  101 lines

  1. ------------------------------------------------------------------------------
  2. --                                                                          --
  3. --                         GNAT COMPILER COMPONENTS                         --
  4. --                                                                          --
  5. --                              B I N D E R R                               --
  6. --                                                                          --
  7. --                                 S p e c                                  --
  8. --                                                                          --
  9. --                            $Revision: 1.10 $                             --
  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 package contains the routines to output error messages for the binder
  26. --  and also the routines for handling fatal error conditions in the binder.
  27.  
  28. with Types; use Types;
  29.  
  30. package Binderr is
  31.  
  32.    Errors_Detected : Int;
  33.    --  Number of errors detected so far
  34.  
  35.    Warnings_Detected : Int;
  36.    --  Number of warnings detected
  37.  
  38.    ---------------------------------------------------------
  39.    -- Error Message Text and Message Insertion Characters --
  40.    ---------------------------------------------------------
  41.  
  42.    --  Error message text strings are composed of letters, digits and the
  43.    --  special characters space, comma, period, colon and semicolon,
  44.    --  apostrophe and parentheses. Special insertion characters can also
  45.    --  appear which cause the error message circuit to modify the given
  46.    --  string as follows:
  47.  
  48.    --    Insertion character % (Percent: insert file name from Names table)
  49.    --      The character % is replaced by the text for the file name specified
  50.    --      by the Name_Id value stored in Error_Msg_Name_1. The name is always
  51.    --      enclosed in quotes. A second % may appear in a single message in
  52.    --      which case it is similarly replaced by the name which is specified
  53.    --      by the Name_Id value stored in Error_Msg_Name_2.
  54.  
  55.    --    Insertion character & (Ampersand: insert unit name from Names table)
  56.    --      The character & is replaced by the text for the unit name specified
  57.    --      by the Name_Id value stored in Error_Msg_Name_1. The name is always
  58.    --      enclosed in quotes. A second & may appear in a single message in
  59.    --      which case it is similarly replaced by the name which is specified
  60.    --      by the Name_Id value stored in Error_Msg_Name_2.
  61.  
  62.    --    Insertion character ? (Question mark: warning message)
  63.    --      The character ?, which must be the first character in the message
  64.    --      string, signals a warning message instead of an error message.
  65.  
  66.    -----------------------------------------------------
  67.    -- Global Values Used for Error Message Insertions --
  68.    -----------------------------------------------------
  69.  
  70.    --  The following global variables are essentially additional parameters
  71.    --  passed to the error message routine for insertion sequences described
  72.    --  above. The reason these are passed globally is that the insertion
  73.    --  mechanism is essentially an untyped one in which the appropriate
  74.    --  variables are set dependingon the specific insertion characters used.
  75.  
  76.    Error_Msg_Name_1 : Name_Id;
  77.    Error_Msg_Name_2 : Name_Id;
  78.    --  Name_Id values for % insertion characters in message
  79.  
  80.    ------------------------------
  81.    -- Error Output Subprograms --
  82.    ------------------------------
  83.  
  84.    procedure Error_Msg (Msg : String);
  85.    --  Output specified error message to standard error or standard output
  86.    --  as governed by the brief and verbose switches, and update error
  87.    --  counts appropriately
  88.  
  89.    procedure Error_Msg_Info (Msg : String);
  90.    --  Output information line. Indentical in effect to Error_Msg, except
  91.    --  that the prefix is info: instead of error: and the error count is
  92.    --  not incremented.
  93.  
  94.    procedure Finalize_Binderr;
  95.    --  Finalize error output for one file
  96.  
  97.    procedure Initialize_Binderr;
  98.    --  Initialize error output for one file
  99.  
  100. end Binderr;
  101.