Let's try this. It's BUGGERED.
This commit is contained in:
parent
76e6aca867
commit
5cedca1b69
118 changed files with 26947 additions and 1 deletions
236
src/cmd/grap/grap.h
Normal file
236
src/cmd/grap/grap.h
Normal file
|
|
@ -0,0 +1,236 @@
|
|||
extern char errbuf[200];
|
||||
#define ERROR sprintf(errbuf,
|
||||
#define FATAL ), yyerror(errbuf), exit(1)
|
||||
#define WARNING ), yyerror(errbuf)
|
||||
|
||||
#define dprintf if(dbg)printf
|
||||
|
||||
#define String 01
|
||||
#define Macro 02
|
||||
#define File 04
|
||||
#define Char 010
|
||||
#define Thru 020
|
||||
#define Free 040
|
||||
|
||||
#define MARGIN 0.07 /* default margin around data */
|
||||
#define SLOP 1.001 /* slop for limits of for loops */
|
||||
#define FRAMEWID 3 /* default width for boxes and ellipses */
|
||||
#define FRAMEHT 2 /* default height and line length */
|
||||
#define TICKLEN 0.1
|
||||
|
||||
#define MAXNUM 200
|
||||
|
||||
#define XFLAG 01
|
||||
#define YFLAG 02
|
||||
|
||||
#define INTICK 01
|
||||
#define OUTICK 02
|
||||
|
||||
#define BOT 01
|
||||
#define TOP 02
|
||||
#define RIGHT 04
|
||||
#define LEFT 010
|
||||
|
||||
#define RJUST 01
|
||||
#define LJUST 02
|
||||
#define ABOVE 04
|
||||
#define BELOW 010
|
||||
|
||||
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 100
|
||||
typedef struct { /* argument stack */
|
||||
char *argstk[MAXARGS]; /* pointers to args */
|
||||
char *argval; /* points to space containing args */
|
||||
} Arg;
|
||||
|
||||
extern Infile infile[10];
|
||||
extern Infile *curfile;
|
||||
|
||||
typedef struct {
|
||||
struct obj *obj;
|
||||
double x, y;
|
||||
} Point;
|
||||
|
||||
typedef struct attr { /* e.g., DASH 1.1 or "..." rjust size *.5 */
|
||||
int type;
|
||||
double fval;
|
||||
char *sval;
|
||||
int just; /* justification, for STRING type */
|
||||
int op; /* optional operator, ditto */
|
||||
struct attr *next;
|
||||
} Attr;
|
||||
|
||||
typedef struct obj { /* a name and its properties */
|
||||
char *name;
|
||||
char *val; /* body of define, etc. */
|
||||
double fval; /* if a numeric variable */
|
||||
Point pt; /* usually for max and min */
|
||||
Point pt1;
|
||||
int type; /* NAME, DEFNAME, ... */
|
||||
int first; /* 1 after 1st item seen */
|
||||
int coord; /* 1 if coord system specified for this name */
|
||||
int log; /* x, y, or z (= x+y) */
|
||||
Attr *attr; /* DASH, etc., for now */
|
||||
struct obj *next;
|
||||
} Obj;
|
||||
|
||||
typedef union { /* the yacc stack type */
|
||||
int i;
|
||||
char *p;
|
||||
double f;
|
||||
Point pt;
|
||||
Obj *op;
|
||||
Attr *ap;
|
||||
} YYSTYPE;
|
||||
|
||||
extern YYSTYPE yylval, yyval;
|
||||
|
||||
extern int dbg;
|
||||
|
||||
extern int ntext;
|
||||
extern double num[MAXNUM];
|
||||
extern int nnum;
|
||||
extern int ntick, tside;
|
||||
|
||||
extern char *tostring(char *);
|
||||
extern char *grow(char *, char *, int, int);
|
||||
|
||||
extern int lineno;
|
||||
extern int synerr;
|
||||
extern int codegen;
|
||||
extern char tempfile[];
|
||||
extern FILE *tfd;
|
||||
|
||||
extern Point ptmin, ptmax;
|
||||
|
||||
extern char *dflt_coord;
|
||||
extern char *curr_coord;
|
||||
extern int ncoord;
|
||||
extern int auto_x;
|
||||
extern double margin;
|
||||
extern int autoticks;
|
||||
extern int pointsize, ps_set;
|
||||
|
||||
|
||||
#define logit(x) (x) = log10(x)
|
||||
#define Log10(x) errcheck(log10(x), "log")
|
||||
#define Exp(x) errcheck(exp(x), "exp")
|
||||
#define Sqrt(x) errcheck(sqrt(x), "sqrt")
|
||||
|
||||
#define min(x,y) (((x) <= (y)) ? (x) : (y))
|
||||
#define max(x,y) (((x) >= (y)) ? (x) : (y))
|
||||
|
||||
extern void yyerror(char *);
|
||||
extern void coord_x(Point);
|
||||
extern void coord_y(Point);
|
||||
extern void coordlog(int);
|
||||
extern void coord(Obj *);
|
||||
extern void resetcoord(Obj *);
|
||||
extern void savenum(int, double);
|
||||
extern void setjust(int);
|
||||
extern void setsize(int, double);
|
||||
extern void range(Point);
|
||||
extern void halfrange(Obj *, int, double);
|
||||
extern Obj *lookup(char *, int);
|
||||
extern double getvar(Obj *);
|
||||
extern double setvar(Obj *, double);
|
||||
extern Point makepoint(Obj *, double, double);
|
||||
extern Attr *makefattr(int, double);
|
||||
extern Attr *makesattr(char *);
|
||||
extern Attr *makeattr(int, double, char *, int, int);
|
||||
extern Attr *addattr(Attr *, Attr *);
|
||||
extern void freeattr(Attr *);
|
||||
extern char *slprint(Attr *);
|
||||
extern char *juststr(int);
|
||||
extern char *sprntf(char *, Attr *);
|
||||
extern void forloop(Obj *, double, double, int, double, char *);
|
||||
extern void nextfor(void);
|
||||
extern void endfor(void);
|
||||
extern char *ifstat(double, char *, char *);
|
||||
extern void frame(void);
|
||||
extern void frameht(double);
|
||||
extern void framewid(double);
|
||||
extern void frameside(int, Attr *);
|
||||
extern void pushsrc(int, char *);
|
||||
extern void popsrc(void);
|
||||
extern void definition(char *);
|
||||
extern char *delimstr(char *);
|
||||
extern int baldelim(int, char *);
|
||||
extern void dodef(Obj *);
|
||||
extern int getarg(char *);
|
||||
extern int input(void);
|
||||
extern int nextchar(void);
|
||||
extern void do_thru(void);
|
||||
extern int unput(int);
|
||||
extern void pbstr(char *);
|
||||
extern double errcheck(double, char *);
|
||||
extern void yyerror(char *);
|
||||
extern void eprint(void);
|
||||
extern int yywrap(void);
|
||||
extern void copyfile(char *);
|
||||
extern void copydef(Obj *);
|
||||
extern Obj *copythru(char *);
|
||||
extern char *addnewline(char *);
|
||||
extern void copyuntil(char *);
|
||||
extern void copy(void);
|
||||
extern void shell_init(void);
|
||||
extern void shell_text(char *);
|
||||
extern void shell_exec(void);
|
||||
extern void labelwid(double);
|
||||
extern void labelmove(int, double);
|
||||
extern void label(int, Attr *);
|
||||
extern void lab_adjust(void);
|
||||
extern char *sizeit(Attr *);
|
||||
extern void line(int, Point, Point, Attr *);
|
||||
extern void circle(double, Point);
|
||||
extern char *xyname(Point);
|
||||
extern void pic(char *);
|
||||
extern void numlist(void);
|
||||
extern void plot(Attr *, Point);
|
||||
extern void plotnum(double, char *, Point);
|
||||
extern void drawdesc(int, Obj *, Attr *, char *);
|
||||
extern void next(Obj *, Point, Attr *);
|
||||
extern void print(void);
|
||||
extern void endstat(void);
|
||||
extern void graph(char *);
|
||||
extern void setup(void);
|
||||
extern void do_first(void);
|
||||
extern void reset(void);
|
||||
extern void opentemp(void);
|
||||
extern void savetick(double, char *);
|
||||
extern void dflt_tick(double);
|
||||
extern void tickside(int);
|
||||
extern void tickoff(int);
|
||||
extern void gridtickoff(void);
|
||||
extern void setlist(void);
|
||||
extern void tickdir(int, double, int);
|
||||
extern void ticks(void);
|
||||
extern double modfloor(double, double);
|
||||
extern double modceil(double, double);
|
||||
extern void do_autoticks(Obj *);
|
||||
extern void logtick(double, double, double);
|
||||
extern Obj *setauto(void);
|
||||
extern void autoside(Obj *, int);
|
||||
extern void autolog(Obj *, int);
|
||||
extern void iterator(double, double, int, double, char *);
|
||||
extern void ticklist(Obj *, int);
|
||||
extern void print_ticks(int, int, Obj *, char *, char *);
|
||||
extern void maketick(int, char *, int, int, double, char *, char *, char *);
|
||||
extern void griddesc(Attr *);
|
||||
extern void gridlist(Obj *);
|
||||
extern char *desc_str(Attr *);
|
||||
extern int sidelog(int, int);
|
||||
|
||||
extern Obj *objlist;
|
||||
Loading…
Add table
Add a link
Reference in a new issue