Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-21 10:15:55

0001 /* 
0002  * Motif
0003  *
0004  * Copyright (c) 1987-2012, The Open Group. All rights reserved.
0005  *
0006  * These libraries and programs are free software; you can
0007  * redistribute them and/or modify them under the terms of the GNU
0008  * Lesser General Public License as published by the Free Software
0009  * Foundation; either version 2 of the License, or (at your option)
0010  * any later version.
0011  *
0012  * These libraries and programs are distributed in the hope that
0013  * they will be useful, but WITHOUT ANY WARRANTY; without even the
0014  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
0015  * PURPOSE. See the GNU Lesser General Public License for more
0016  * details.
0017  *
0018  * You should have received a copy of the GNU Lesser General Public
0019  * License along with these librararies and programs; if not, write
0020  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
0021  * Floor, Boston, MA 02110-1301 USA
0022 */ 
0023 
0024 /*
0025 **++
0026 **  FACILITY:
0027 **
0028 **      User Interface Language Compiler (UIL)
0029 **
0030 **  ABSTRACT:
0031 **
0032 **      This include file defines the set of definitions for use with
0033 **  UIL compiler callable interface.
0034 **
0035 **--
0036 **/
0037 
0038 #ifndef Uil_h
0039 #define Uil_h
0040 
0041 /*
0042 **
0043 **  INCLUDE FILES
0044 **
0045 **/
0046 
0047 
0048 
0049 /*
0050 **
0051 **  Definition of Compiler Severity Statuses
0052 **
0053 */
0054 
0055 typedef unsigned int    Uil_status_type;
0056 #define Uil_k_min_status    0
0057 #define Uil_k_success_status    0
0058 #define Uil_k_info_status   1
0059 #define Uil_k_warning_status    2
0060 #define Uil_k_error_status  3
0061 #define Uil_k_severe_status 4
0062 #define Uil_k_max_status    4
0063 
0064 /*
0065 **
0066 */
0067 
0068 typedef char (*string_array)[];
0069 #define CEIL(a,b) ((a) < (b) ? (a) : (b))
0070 
0071 
0072 /*
0073 **  Uil_command_type -- Input which describes how/what to compile.
0074 */
0075 
0076 typedef struct  _Uil_command_type
0077 {
0078     char        *source_file;       /* single source to compile     */
0079     char        *resource_file;     /* name of output file      */
0080     char        *listing_file;      /* name of listing file     */
0081     unsigned int    include_dir_count;      /* number of directories in     */
0082                         /* include_dir array        */
0083     char        **include_dir;     /* directory to search for       */
0084                         /* includes files           */
0085     unsigned        listing_file_flag: 1;   /* produce a listing        */
0086     unsigned        resource_file_flag: 1;  /* generate UID output      */
0087     unsigned        machine_code_flag : 1;  /* generate machine code        */
0088     unsigned        report_info_msg_flag: 1;/* report info messages     */
0089     unsigned        report_warn_msg_flag: 1;/* report warnings          */
0090     unsigned        parse_tree_flag: 1;     /* generate parse tree      */
0091     unsigned        issue_summary: 1;       /* issue diagnostics summary    */
0092     
0093     unsigned int    status_update_delay;    /* Number of times a status     */
0094                             /* point is passed before       */
0095                         /* calling statusCB routine     */
0096                         /* 0 means called every time    */
0097     char        *database;          /* name of database file        */
0098     unsigned        database_flag: 1;       /* read a new database file     */
0099     unsigned        use_setlocale_flag: 1;  /* Enable calls to setlocale    */
0100 } Uil_command_type;
0101 
0102 
0103 
0104 /*
0105 ** Uil_compile_desc_type -- Output information about the compilation including
0106 ** the compiler_version, data_structure_version, parse tree, and error counts.
0107 */
0108 
0109 typedef struct _Uil_comp_desc
0110 {
0111     unsigned int    compiler_version;   /* version number of Compiler */
0112     unsigned int    data_version;       /* version number of structures */
0113     char        *parse_tree_root;   /* parse tree output */
0114     unsigned int    message_count[Uil_k_max_status+1];    
0115                         /* array of severity counts */
0116 } Uil_compile_desc_type;    
0117 
0118 
0119 
0120 
0121 /*
0122 **  Uil_continue_type -- A value returned from a Uil callback routine which
0123 **  allows the application to specify whether to terminate or continue the
0124 **  compilation.
0125 */
0126 
0127 typedef unsigned int    Uil_continue_type;
0128 #define Uil_k_terminate     0
0129 #define Uil_k_continue      1
0130 
0131 
0132 
0133 /*
0134 **
0135 **  Entry Points
0136 **
0137 */
0138 
0139 #ifndef _ARGUMENTS
0140 #define _ARGUMENTS(arglist) arglist
0141 #endif
0142 
0143 #if defined(__cplusplus) || defined(c_plusplus)
0144 extern "C" {
0145 #endif
0146 
0147 extern Uil_status_type Uil
0148             _ARGUMENTS((
0149             Uil_command_type *command_desc ,
0150             Uil_compile_desc_type *compile_desc ,
0151             Uil_continue_type (*message_cb )(),
0152             char *message_data ,
0153             Uil_continue_type (*status_cb )(),
0154             char *status_data ));
0155 
0156 
0157 #if defined(__cplusplus) || defined(c_plusplus)
0158 }
0159 #endif
0160 
0161 #undef _ARGUMENTS
0162 
0163 
0164 #endif /* Uil_h */
0165 /* DON'T ADD STUFF AFTER THIS #endif */