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