|
|
1.1 ! root 1: /* ! 2: * Sydney C Compiler. ! 3: * ! 4: * Copyright 1984, Bruce Ellis. ! 5: * ! 6: * Unauthorised possesion, sale or use prohibited. ! 7: */ ! 8: ! 9: #include "sets.h" ! 10: ! 11: #define SYSERROR (-1) ! 12: ! 13: #define NULL 0 ! 14: #define NODE_GRABZ 64 ! 15: #define BUFFZ 4096 ! 16: #define OUTZ 4096 ! 17: #define SBUFFZ 32 ! 18: #define PERM_CHUNKZ 2048 ! 19: #define PUSHBACKZ 10 ! 20: #define EOF_CHAR '\0' ! 21: #define STDIN 0 ! 22: #define STDOUT 1 ! 23: #define NO_FID (-1) ! 24: ! 25: #define loop for (;;) ! 26: #define readonly ! 27: #define nels(x) (sizeof x / sizeof x[0]) ! 28: ! 29: #define ctack(c, d) ((c)->c_tail->c_next = (d)->c_head, (c)->c_tail = (d)->c_tail) ! 30: #define cadd(c, w) ((c)->c_next = new_cnode(), (c) = (c)->c_next, (c)->c_what = (w)) ! 31: ! 32: #define pack(x) ((pack_t)x) ! 33: ! 34: typedef unsigned char uchar; ! 35: typedef unsigned char pack_t; ! 36: ! 37: #include "xnodes.h" ! 38: #include "places.h" ! 39: ! 40: /* ! 41: * Forward declarations of general purpose data types. ! 42: */ ! 43: typedef set char chset; ! 44: typedef set xnodes xtset; ! 45: ! 46: #include "data.h" ! 47: #include "xnode.h" ! 48: #include "ident.h" ! 49: ! 50: struct st_node ! 51: { ! 52: st_node *st_left; ! 53: st_node *st_right; ! 54: char *st_name; ! 55: long st_index; ! 56: ident *st_idlist; ! 57: }; ! 58: ! 59: struct tkdope ! 60: { ! 61: uchar equiv_xt; ! 62: char prec_lev; ! 63: }; ! 64: ! 65: struct level ! 66: { ! 67: ident *lv_idents; ! 68: }; ! 69: ! 70: struct choice ! 71: { ! 72: cnode *ch_def; ! 73: cnode *ch_case; ! 74: }; ! 75: ! 76: typedef union ! 77: { ! 78: char *m; ! 79: double *f; ! 80: long i; ! 81: token *t; ! 82: xnode *x; ! 83: } ! 84: formarg; ! 85: ! 86: #include "alloc.h" ! 87: #include "extern.h"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.