Annotation of researchv10no/cmd/grap/non-ansi/grap.h, revision 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.