|
|
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 minsize; /* min size it can print */ ! 27: extern int ttype; /* actual type of typesetter: */ ! 28: ! 29: #define DEVCAT 1 ! 30: #define DEV202 2 ! 31: #define DEVAPS 3 ! 32: ! 33: extern float eht[]; ! 34: extern float ebase[]; ! 35: extern int eps[]; ! 36: extern int lfont[]; ! 37: extern int rfont[]; ! 38: extern int yyval; ! 39: extern int yylval; ! 40: extern int eqnreg; ! 41: extern float eqnht; ! 42: extern int lefteq, righteq; ! 43: extern int markline; /* 1 if this EQ/EN contains mark or lineup */ ! 44: ! 45: typedef struct s_tbl { ! 46: char *name; ! 47: char *defn; ! 48: struct s_tbl *next; ! 49: } tbl; ! 50: ! 51: extern char *spaceval; /* use in place of normal \x (for pic) */ ! 52: ! 53: #define String 01 ! 54: #define Macro 02 ! 55: #define File 04 ! 56: #define Char 010 ! 57: #define Free 040 ! 58: ! 59: typedef struct infile { ! 60: FILE *fin; ! 61: char *fname; ! 62: int lineno; ! 63: } Infile; ! 64: ! 65: typedef struct { /* input source */ ! 66: int type; /* Macro, String, File */ ! 67: char *sp; /* if String or Macro */ ! 68: } Src; ! 69: ! 70: extern Src src[], *srcp; /* input source stack */ ! 71: ! 72: #define MAXARGS 20 ! 73: typedef struct { /* argument stack */ ! 74: char *argstk[MAXARGS]; /* pointers to args */ ! 75: char *argval; /* points to space containing args */ ! 76: } Arg; ! 77: ! 78: typedef struct { /* font number and name */ ! 79: int ft; ! 80: char name[10]; ! 81: } Font; ! 82: ! 83: extern Font ftstack[]; ! 84: extern Font *ftp; ! 85: ! 86: extern int szstack[]; ! 87: extern int nszstack; ! 88: ! 89: extern Infile infile[10]; ! 90: extern Infile *curfile; ! 91: extern char *grow(), *malloc(), *realloc(), *strsave(); ! 92: extern char *DPS(), *ABSPS(); ! 93: extern double EM(), REL(); ! 94: 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.