Annotation of researchv10no/cmd/grap/non-ansi/grap.h, revision 1.1.1.1

1.1       root        1: extern char    errbuf[200];
                      2: #define        ERROR   sprintf(errbuf,
                      3: #define        FATAL   ), yyerror(errbuf), exit(1)
                      4: #define        WARNING ), yyerror(errbuf)
                      5: 
                      6: #define        dprintf if(dbg)printf
                      7: 
                      8: #define        String  01
                      9: #define        Macro   02
                     10: #define        File    04
                     11: #define        Char    010
                     12: #define        Thru    020
                     13: #define        Free    040
                     14: 
                     15: #define        MARGIN  0.07    /* default margin around data */
                     16: #define        SLOP    1.001   /* slop for limits of for loops */
                     17: #define        FRAMEWID 3      /* default width for boxes and ellipses */
                     18: #define        FRAMEHT 2       /* default height and line length */
                     19: #define        TICKLEN 0.1
                     20: 
                     21: #define        MAXNUM  200
                     22: 
                     23: #define        XFLAG   01
                     24: #define        YFLAG   02
                     25: 
                     26: #define        INTICK  01
                     27: #define        OUTICK  02
                     28: 
                     29: #define        BOT     01
                     30: #define        TOP     02
                     31: #define        RIGHT   04
                     32: #define        LEFT    010
                     33: 
                     34: #define        RJUST   01
                     35: #define        LJUST   02
                     36: #define        ABOVE   04
                     37: #define        BELOW   010
                     38: 
                     39: typedef struct infile {
                     40:        FILE    *fin;
                     41:        char    *fname;
                     42:        int     lineno;
                     43: } Infile;
                     44: 
                     45: typedef struct {       /* input source */
                     46:        int     type;   /* Macro, String, File */
                     47:        char    *sp;    /* if String or Macro */
                     48: } Src;
                     49: 
                     50: extern Src     src[], *srcp;   /* input source stack */
                     51: 
                     52: #define        MAXARGS 100
                     53: typedef struct {       /* argument stack */
                     54:        char    *argstk[MAXARGS];       /* pointers to args */
                     55:        char    *argval;        /* points to space containing args */
                     56: } Arg;
                     57: 
                     58: extern Infile  infile[10];
                     59: extern Infile  *curfile;
                     60: 
                     61: typedef struct {
                     62:        struct obj *obj;
                     63:        double  x, y;
                     64: } Point;
                     65: 
                     66: typedef struct attr {  /* e.g., DASH 1.1 or "..." rjust size *.5 */
                     67:        short   type;
                     68:        double  fval;
                     69:        char    *sval;
                     70:        short   just;   /* justification, for STRING type */
                     71:        short   op;     /* optional operator, ditto */
                     72:        struct attr *next;
                     73: } Attr;
                     74: 
                     75: typedef struct obj {   /* a name and its properties */
                     76:        char    *name;
                     77:        char    *val;   /* body of define, etc. */
                     78:        double  fval;   /* if a numeric variable */
                     79:        Point   pt;     /* usually for max and min */
                     80:        Point   pt1;
                     81:        short   type;   /* NAME, DEFNAME, ... */
                     82:        short   first;  /* 1 after 1st item seen */
                     83:        short   coord;  /* 1 if coord system specified for this name */
                     84:        short   log;    /* x, y, or z (= x+y) */
                     85:        Attr    *attr;  /* DASH, etc., for now */
                     86:        struct obj *next;
                     87: } Obj;
                     88: 
                     89: typedef union {                /* the yacc stack type */
                     90:        int     i;
                     91:        char    *p;
                     92:        double  f;
                     93:        Point   pt;
                     94:        Obj     *op;
                     95:        Attr    *ap;
                     96: } YYSTYPE;
                     97: 
                     98: extern YYSTYPE yylval, yyval;
                     99: 
                    100: extern int     dbg;
                    101: 
                    102: extern int     ntext;
                    103: extern double  num[MAXNUM];
                    104: extern int     nnum;
                    105: extern int     ntick, tside;
                    106: 
                    107: extern char    *calloc(), *malloc(), *realloc(), *tostring(), *grow();
                    108: extern char    *desc_str(), *ifstat(), *delimstr();
                    109: extern char    *xyname(), *slprint();
                    110: extern Obj     *lookup();
                    111: extern Obj     *copythru();
                    112: extern Obj     *objlist;
                    113: extern Attr    *makeattr(), *makefattr(), *makesattr(), *addattr();
                    114: extern char    *sprntf(/* char *, Attr* */);
                    115: extern Point   makepoint();
                    116: extern double  setvar(), getvar();
                    117: 
                    118: extern int     lineno;
                    119: extern int     synerr;
                    120: extern int     codegen;
                    121: extern char    *tempfile;
                    122: extern FILE    *tfd;
                    123: 
                    124: extern Point   ptmin, ptmax;
                    125: 
                    126: extern char    *dflt_coord;
                    127: extern char    *curr_coord;
                    128: extern int     ncoord;
                    129: extern int     auto_x;
                    130: extern double  margin;
                    131: extern int     autoticks;
                    132: extern int     pointsize, ps_set;
                    133: 
                    134: extern char    *sizeit(), *juststr();
                    135: extern double  log10(), log(), exp(), sin(), cos(), sqrt(), atof(), errcheck();
                    136: extern double  fabs(), floor(), ceil(), moddouble(), modceil();
                    137: 
                    138: #define        logit(x) (x) = log10(x)
                    139: #define        Log10(x) errcheck(log10(x), "log")
                    140: #define        Exp(x)  errcheck(exp(x), "exp")
                    141: #define        Sqrt(x) errcheck(sqrt(x), "sqrt")
                    142: 
                    143: #define        min(x,y)        (((x) <= (y)) ? (x) : (y))
                    144: #define        max(x,y)        (((x) >= (y)) ? (x) : (y))

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.