|
|
researchv9-SUN3(old)
#include <stdio.h>
#define dprintf if (dbg) printf
#define max(x,y) (((x) >= (y)) ? (x) : (y))
#define FATAL 1
#define ROM '1'
#define ITAL '2'
#define BLD '3'
#define DEFGAP -999 /* default gap in piles */
extern int dbg;
extern int ct;
extern int lp[];
extern int used[]; /* available registers */
extern int ps; /* dflt init pt size */
extern int deltaps; /* default change in ps */
extern int dps_set; /* 1 => -p option used */
extern int gsize; /* global size */
extern int ft; /* default font */
extern int display; /* 1 => inline, 0 => .EQ/.EN */
extern int synerr; /* 1 if syntax error in this eqn */
extern char *typesetter; /* typesetter name for -T... */
extern int minsize; /* min size it can print */
extern int ttype; /* actual type of typesetter: */
#define DEVCAT 1
#define DEV202 2
#define DEVAPS 3
extern float eht[];
extern float ebase[];
extern int eps[];
extern int lfont[];
extern int rfont[];
extern int yyval;
extern int yylval;
extern int eqnreg;
extern float eqnht;
extern int lefteq, righteq;
extern int markline; /* 1 if this EQ/EN contains mark or lineup */
typedef struct s_tbl {
char *name;
char *defn;
struct s_tbl *next;
} tbl;
extern char *spaceval; /* use in place of normal \x (for pic) */
#define String 01
#define Macro 02
#define File 04
#define Char 010
#define Free 040
typedef struct infile {
FILE *fin;
char *fname;
int lineno;
} Infile;
typedef struct { /* input source */
int type; /* Macro, String, File */
char *sp; /* if String or Macro */
} Src;
extern Src src[], *srcp; /* input source stack */
#define MAXARGS 20
typedef struct { /* argument stack */
char *argstk[MAXARGS]; /* pointers to args */
char *argval; /* points to space containing args */
} Arg;
typedef struct { /* font number and name */
int ft;
char name[10];
} Font;
extern Font ftstack[];
extern Font *ftp;
extern int szstack[];
extern int nszstack;
extern Infile infile[10];
extern Infile *curfile;
extern char *grow(), *malloc(), *realloc(), *strsave();
extern char *DPS(), *ABSPS();
extern double EM(), REL();
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.