home *** CD-ROM | disk | FTP | other *** search
- /* ==========================
- * K R 2 A N S I . H
- *
- * Date: 9/32/91
- * Author: Harry Karayiannis
- * =========================
- */
-
-
-
- /* -------------------------------------------- */
-
- /*
- * The following constants (hopefully) improve the readability
- * of large code which consists of more than one files.
- */
- #define STD_CLIB extern /* for identifying funcs of the standard C-library */
- #define GLOBAL extern /* for identifying symbols declared in the same file */
-
-
-
-
- /* -------------------------------------------- */
-
- /*
- * Here are some values for identifying
- * up to 8 command line options. They
- * are meant to be ORed in a bit map.
- */
- #define NONE 0x00
- #define SHOW_PARA 0x01 /* show parameters */
- #define RD_TYPES 0x02 /* read user-defined types from a file */
- #define UNUSED4 0x04 /* unused slot */
- #define UNUSED5 0x08 /* unused slot */
- #define UNUSED6 0x10 /* unused slot */
- #define UNUSED7 0x20 /* unused slot */
- #define UNUSED8 0x40 /* unused slot */
-
-
-
- /* -------------------------------------------- */
-
- #define MAXNAME 80 /* max length for a filename */
- #define MAXLINE 256 /* max length for a line */
- #define MAXWORD 50 /* max length for a data_type */
-
-
-
-
- /* -------------------------------------------- */
-
- /*
- * the following string constants must be
- * _at_most_ (MAXWORD-1) characters long.
- */
- #define W_TOO_LONG "* WORD'S_TOO_LONG *"
- #define UNDEFINED_DATA_TYPE "U_N_D_E_F_I_N_E_D"
-
-
-
-
-
- /* -------------------------------------------- */
-
- typedef int BOOLEAN; /* possible values: TRUE, FALSE */
- #undef FALSE
- #undef TRUE
- #define FALSE 0
- #define TRUE !FALSE
-
-
-
-
-
- /* -------------------------------------------- */
-
- /*
- * constants for standard C data-types
- * (actually they are used for accessing
- * standard data-types in the array: data_type[]
- * (see in file KR2ANSI.C))
- */
- #define DT_STD1 0
- #define DT_STD2 1
- #define DT_STD3 2
- #define DT_STD4 3
- #define DT_STD5 4
- #define DT_STD6 5
- #define DT_STD7 6
- #define DT_STD8 7
- #define DT_STD9 8
- #define DT_STD10 9
-
- #define LAST_DT_STD 9
-
-
-
-
- /* -------------------------------------------- */
-
- /*
- * constants for DT_USR_N user-defined data types
- */
-
- #define N_DT_USR 20 /* maximum number of user-defined data types */
-
- #define DT_USR1 LAST_DT_STD+1
- #define DT_USR2 LAST_DT_STD+2
- #define DT_USR3 LAST_DT_STD+3
- #define DT_USR4 LAST_DT_STD+4
- #define DT_USR5 LAST_DT_STD+5
- #define DT_USR6 LAST_DT_STD+6
- #define DT_USR7 LAST_DT_STD+7
- #define DT_USR8 LAST_DT_STD+8
- #define DT_USR9 LAST_DT_STD+9
- #define DT_USR10 LAST_DT_STD+10
- #define DT_USR11 LAST_DT_STD+11
- #define DT_USR12 LAST_DT_STD+12
- #define DT_USR13 LAST_DT_STD+13
- #define DT_USR14 LAST_DT_STD+14
- #define DT_USR15 LAST_DT_STD+15
- #define DT_USR16 LAST_DT_STD+16
- #define DT_USR17 LAST_DT_STD+17
- #define DT_USR18 LAST_DT_STD+18
- #define DT_USR19 LAST_DT_STD+19
- #define DT_USR20 LAST_DT_STD+20
-
-
-
-
-
- /* -------------------------------------------- */
-
- /*
- * list of valid data-types accepted by the program
- * (note: there's room for N_DT_USR user-defined types.
- * if you alter N_DT_USR, the change should also
- * show on the number of lines in this table)
- */
- #define DATA_TYPES\
- "void",\
- "int",\
- "short",\
- "unsigned",\
- "long",\
- "register",\
- "char",\
- "float",\
- "double",\
- "FILE",\
- " user_defined ",\
- " user_defined ",\
- " user_defined ",\
- " user_defined ",\
- " user_defined ",\
- " user_defined ",\
- " user_defined ",\
- " user_defined ",\
- " user_defined ",\
- " user_defined ",\
- " user_defined ",\
- " user_defined ",\
- " user_defined ",\
- " user_defined ",\
- " user_defined ",\
- " user_defined ",\
- " user_defined ",\
- " user_defined ",\
- " user_defined ",\
- " user_defined "
-
- /*
- * The following constant _must_ be equal to the length of
- * the longest data-type defined in DATA_TYPES (see above)
- * PLUS one (for the '\0' at the end of the string)
- * Here this value is: strlen(" user_defined ")+1 = 19
- */
- #define DT_MAXWORD 19
-
-
-
-
-
- /* -------------------------------------------- */
-
- /*
- * This macro returns:
- * TRUE if c is a white(BLANK) character,
- * FALSE otherwise.
- */
- #define IS_BLANK(c)\
- ( (c)==' ' || (c)=='\t' || (c)=='\n' )
-
-
-
-
- /* -------------------------------------------- */
-
- /*
- * The following macro handles fatal errors.
- * It "demands" that a condition is TRUE...if not,
- * it prints an error-message and exits the program
- * (via the function fatal(), declared in the file: ERROR.C)
- * NOTE:
- * If you don't want the depedancy on 'fatal()' (which
- * pritns the name of the running program in front of
- * the error message) you can rewrite it as following:
- *
- * #define demand(cond,mesg)\
- * if ( !(cond) ) \
- * {
- * puts(mesg);\
- * exit(1);\
- * }
- */
- #define demand(cond,mesg)\
- if ( !(cond) )\
- fatal(mesg)
-