|
|
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.