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