|
|
1.1 ! root 1: /* pass2.h */ ! 2: ! 3: /* ! 4: * $Header: /f/osi/pepsy/RCS/pass2.h,v 7.3 90/07/27 08:49:28 mrose Exp $ ! 5: * ! 6: * ! 7: * $Log: pass2.h,v $ ! 8: * Revision 7.3 90/07/27 08:49:28 mrose ! 9: * update ! 10: * ! 11: * Revision 7.2 90/07/09 14:52:47 mrose ! 12: * sync ! 13: * ! 14: * Revision 7.1 90/07/01 20:01:13 mrose ! 15: * update ! 16: * ! 17: * Revision 7.0 90/07/01 19:54:43 mrose ! 18: * *** empty log message *** ! 19: * ! 20: */ ! 21: ! 22: /* ! 23: * NOTICE ! 24: * ! 25: * Acquisition, use, and distribution of this module and related ! 26: * materials are subject to the restrictions of a license agreement. ! 27: * Consult the Preface in the User's Manual for the full terms of ! 28: * this agreement. ! 29: * ! 30: */ ! 31: ! 32: ! 33: /* Change the version number only important features change - so people can ! 34: * #ifdef on the version number. Also used to provide backwards compatible ! 35: * macro definitions for posy/pepy. ! 36: */ ! 37: #define PEPSY_VERSION_NUMBER 1 ! 38: #define NBPC 8 /* Number of Bits per character - machine dependant */ ! 39: #define NBPI sizeof (int)*NBPC /* Number of bits per integer */ ! 40: ! 41: #define PSAP_DOT_H "\"psap.h\"" ! 42: #define I_PSAP_DOT_H "<isode/psap.h>" ! 43: #define UNIV_TYPES_DOT_H "\"UNIV-types.h\"" ! 44: #define I_UNIV_TYPES_DOT_H "<isode/pepsy/UNIV-types.h>" ! 45: #define HFILE1 "_defs.h" ! 46: #define HFILE2 "_pre_defs.h" ! 47: #define ACTIONDEFS "_action.h" ! 48: ! 49: #define GENTYPES "-types.h" ! 50: #define INCFILE1 "pepsy.h" ! 51: /* #define INCFILE2 "pepdefs.h" - not used any more */ ! 52: ! 53: #define ACT1 "_act1" ! 54: #define ACT2 "_act2" ! 55: #define ACT3 "_act3" ! 56: #define ACT4 "_act4" ! 57: #define ACT05 "_act05" ! 58: ! 59: #define PREFIX "_Z" ! 60: ! 61: #define ETABLE "et_" ! 62: #define DTABLE "dt_" ! 63: #define PTABLE "pt_" ! 64: ! 65: #define ENCFNCNAME "enc_f" ! 66: #define DECFNCNAME "dec_f" ! 67: #define PRNTFNCNAME "prnt_f" ! 68: ! 69: #define ENC_FNCNAME "enc_f_" ! 70: #define DEC_FNCNAME "dec_f_" ! 71: #define PRNT_FNCNAME "prnt_f_" ! 72: ! 73: #define ENCFILENAME "_enc.c" ! 74: #define DECFILENAME "_dec.c" ! 75: #define PRNTFILENAME "_prnt.c" ! 76: ! 77: #define TBLNAME "_tables.c" ! 78: #define MODTYP_SUFFIX "_mod" ! 79: ! 80: #define MAXPTRS 200 /* maximum number of pointers in pointer table */ ! 81: ! 82: #define PTR_TABNAME "ptrtab" ! 83: extern int p_debug; ! 84: ! 85: #define DEB 1 ! 86: ! 87: #ifdef DEB ! 88: #define Printf(x, y) if (x <= p_debug) printf y ! 89: #else ! 90: #define Printf(x, y) ! 91: #endif ! 92: ! 93: /* ! 94: * info for handling a Universal type ! 95: */ ! 96: struct univ_typ { ! 97: char *univ_name; /* Name of this Universal type */ ! 98: char *univ_data; /* type to generate for it */ ! 99: char *univ_tab; /* type of table entry it needs */ ! 100: int univ_id; /* tag of the type */ ! 101: int univ_class; /* class - probably Universal primative */ ! 102: char *univ_mod; /* Name of its module if it has one */ ! 103: int univ_flags; /* Information about entry */ ! 104: int univ_type; /* Type we can use for its contents */ ! 105: #define UNF_EXTMOD 1 /* Use an external module reference */ ! 106: }; ! 107: ! 108: extern struct univ_typ *univtyp(); ! 109: ! 110: /* How many entries in an array */ ! 111: #define NENTRIES(x) (sizeof (x)/sizeof ((x)[0])) ! 112: ! 113: /* used to specify which tables a routine is to generate */ ! 114: #define G_ENC 0 /* encoding */ ! 115: #define G_DEC 1 /* decoding */ ! 116: #define G_PNT 2 /* printing */ ! 117: ! 118: #define hflag (options[0]) ! 119: #define Hflag (options[1]) ! 120: #define h2flag (options[2]) ! 121: #define NOPTIONS 3 ! 122: extern int options[]; ! 123: ! 124: #define STRSIZE 128 /* general buffer size */ ! 125: ! 126: extern char *proc_name();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.