|
|
1.1 ! root 1: #include <stdio.h> ! 2: ! 3: #define dprintf if (dbg) printf ! 4: #define max(x,y) (((x) >= (y)) ? (x) : (y)) ! 5: ! 6: #define FATAL 1 ! 7: #define ROM '1' ! 8: #define ITAL '2' ! 9: #define BLD '3' ! 10: ! 11: #define DEFGAP -999 /* default gap in piles */ ! 12: ! 13: extern int dbg; ! 14: extern int ct; ! 15: extern int lp[]; ! 16: extern int used[]; /* available registers */ ! 17: extern int ps; /* dflt init pt size */ ! 18: extern int deltaps; /* default change in ps */ ! 19: extern int dps_set; /* 1 => -p option used */ ! 20: extern int gsize; /* global size */ ! 21: extern int ft; /* default font */ ! 22: extern int display; /* 1 => inline, 0 => .EQ/.EN */ ! 23: extern int synerr; /* 1 if syntax error in this eqn */ ! 24: ! 25: extern char *typesetter; /* typesetter name for -T... */ ! 26: extern int res; /* resolution of output device */ ! 27: extern int minsize; /* min size it can print */ ! 28: extern int ttype; /* actual type of typesetter: */ ! 29: ! 30: #define DEVCAT 1 ! 31: #define DEV202 2 ! 32: #define DEVAPS 3 ! 33: ! 34: extern float eht[]; ! 35: extern float ebase[]; ! 36: extern int eps[]; ! 37: extern int lfont[]; ! 38: extern int rfont[]; ! 39: extern int yyval; ! 40: extern int yylval; ! 41: extern int eqnreg; ! 42: extern float eqnht; ! 43: extern int lefteq, righteq; ! 44: extern int markline; /* 1 if this EQ/EN contains mark or lineup */ ! 45: ! 46: typedef struct s_tbl { ! 47: char *name; ! 48: char *defn; ! 49: struct s_tbl *next; ! 50: } tbl; ! 51: ! 52: extern char *spaceval; /* use in place of normal \x (for pic) */ ! 53: ! 54: #define String 01 ! 55: #define Macro 02 ! 56: #define File 04 ! 57: #define Char 010 ! 58: #define Free 040 ! 59: ! 60: typedef struct infile { ! 61: FILE *fin; ! 62: char *fname; ! 63: int lineno; ! 64: } Infile; ! 65: ! 66: typedef struct { /* input source */ ! 67: int type; /* Macro, String, File */ ! 68: char *sp; /* if String or Macro */ ! 69: } Src; ! 70: ! 71: extern Src src[], *srcp; /* input source stack */ ! 72: ! 73: #define MAXARGS 20 ! 74: typedef struct { /* argument stack */ ! 75: char *argstk[MAXARGS]; /* pointers to args */ ! 76: char *argval; /* points to space containing args */ ! 77: } Arg; ! 78: ! 79: typedef struct { /* font number and name */ ! 80: int ft; ! 81: char name[10]; ! 82: } Font; ! 83: ! 84: extern Font ftstack[]; ! 85: extern Font *ftp; ! 86: ! 87: extern int szstack[]; ! 88: extern int nszstack; ! 89: ! 90: extern Infile infile[10]; ! 91: extern Infile *curfile; ! 92: extern char *grow(), *malloc(), *realloc(), *strsave(); ! 93: extern char *DPS(); ! 94: extern double EM(), REL(); ! 95: extern tbl *lookup(), *keytbl[], *deftbl[], *restbl[];
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.