|
|
1.1 root 1: /* Copyright (c) 1982 Regents of the University of California */
2:
3: /* static char sccsid[] = "@(#)defs.h 1.2 1/18/82"; */
4:
5: /*
6: * Global debugger defines.
7: *
8: * All files include this header.
9: */
10:
11: #include <stdio.h>
12:
13: /*
14: * Since C does not allow forward referencing of types,
15: * all the global types are declared here.
16: */
17:
18: #define LOCAL static
19: #define NIL 0
20:
21: typedef int BOOLEAN;
22:
23: #define FALSE 0
24: #define TRUE 1
25:
26: typedef unsigned int ADDRESS; /* object code addresses */
27: typedef short LINENO; /* source file line numbers */
28: typedef struct sym SYM; /* symbol information structure */
29: typedef struct symtab SYMTAB; /* symbol table */
30: typedef struct node NODE; /* expression tree node */
31: typedef short OP; /* tree operator */
32: typedef struct opinfo OPINFO; /* tree operator information table */
33: typedef unsigned int WORD; /* machine word */
34: typedef unsigned char BYTE; /* machine byte */
35: typedef struct frame FRAME; /* runtime activation record */
36:
37: /*
38: * Definitions of standard C library routines that aren't in the
39: * standard I/O library, but which are generally useful.
40: */
41:
42: extern long atol(); /* ascii to long */
43: extern double atof(); /* ascii to floating point */
44: extern char *mktemp(); /* make a temporary file name */
45:
46: /*
47: * Definitions of library routines.
48: */
49:
50: char *cmdname; /* name of command for error messages */
51: char *errfilename; /* current file associated with error */
52: short errlineno; /* line number associated with error */
53:
54: error(); /* print an error message */
55: panic(); /* print error message and exit */
56: short numerrors(); /* return number of errors since last call */
57:
58: /*
59: * defintions for doing memory allocation
60: */
61:
62: extern char *malloc();
63:
64: #define alloc(n, type) ((type *) malloc((unsigned) (n) * sizeof(type)))
65: #define dispose(p) { free((char *) p); p = NIL; }
66:
67: /*
68: * macros for doing freads + fwrites
69: */
70:
71: #define get(fp, var) fread((char *) &(var), sizeof(var), 1, fp)
72: #define put(fp, var) fwrite((char *) &(var), sizeof(var), 1, fp)
73:
74: /*
75: * string definitions
76: */
77:
78: extern char *strcpy();
79: extern int strlen();
80:
81: #define strdup(s) strcpy(malloc((unsigned) strlen(s) + 1), s)
82: #define streq(s1, s2) (strcmp(s1, s2) == 0)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.