Annotation of researchv10no/cmd/grap/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    *tostring(char *);
        !           108: extern char *grow(char *, char *, int, int);
        !           109: 
        !           110: extern int     lineno;
        !           111: extern int     synerr;
        !           112: extern int     codegen;
        !           113: extern char    tempfile[];
        !           114: extern FILE    *tfd;
        !           115: 
        !           116: extern Point   ptmin, ptmax;
        !           117: 
        !           118: extern char    *dflt_coord;
        !           119: extern char    *curr_coord;
        !           120: extern int     ncoord;
        !           121: extern int     auto_x;
        !           122: extern double  margin;
        !           123: extern int     autoticks;
        !           124: extern int     pointsize, ps_set;
        !           125: 
        !           126: 
        !           127: #define        logit(x) (x) = log10(x)
        !           128: #define        Log10(x) errcheck(log10(x), "log")
        !           129: #define        Exp(x)  errcheck(exp(x), "exp")
        !           130: #define        Sqrt(x) errcheck(sqrt(x), "sqrt")
        !           131: 
        !           132: #define        min(x,y)        (((x) <= (y)) ? (x) : (y))
        !           133: #define        max(x,y)        (((x) >= (y)) ? (x) : (y))
        !           134: 
        !           135: extern void    yyerror(char *);
        !           136: extern void coord_x(Point);
        !           137: extern void coord_y(Point);
        !           138: extern void coordlog(int);
        !           139: extern void coord(Obj *);
        !           140: extern void resetcoord(Obj *);
        !           141: extern void savenum(int, double);
        !           142: extern void setjust(int);
        !           143: extern void setsize(int, double);
        !           144: extern void range(Point);
        !           145: extern void halfrange(Obj *, int, double);
        !           146: extern Obj *lookup(char *, int);
        !           147: extern double getvar(Obj *);
        !           148: extern double setvar(Obj *, double);
        !           149: extern Point makepoint(Obj *, double, double);
        !           150: extern Attr *makefattr(int, double);
        !           151: extern Attr *makesattr(char *);
        !           152: extern Attr *makeattr(int, double, char *, int, int);
        !           153: extern Attr *addattr(Attr *, Attr *);
        !           154: extern void freeattr(Attr *);
        !           155: extern char *slprint(Attr *);
        !           156: extern char *juststr(int);
        !           157: extern char *sprntf(char *, Attr *);
        !           158: extern void forloop(Obj *, double, double, int, double, char *);
        !           159: extern void nextfor(void);
        !           160: extern void endfor(void);
        !           161: extern char *ifstat(double, char *, char *);
        !           162: extern void frame(void);
        !           163: extern void frameht(double);
        !           164: extern void framewid(double);
        !           165: extern void frameside(int, Attr *);
        !           166: extern void pushsrc(int, char *);
        !           167: extern void popsrc(void);
        !           168: extern void definition(char *);
        !           169: extern char *delimstr(char *);
        !           170: extern int baldelim(int, char *);
        !           171: extern void dodef(Obj *);
        !           172: extern int getarg(char *);
        !           173: extern int input(void);
        !           174: extern int nextchar(void);
        !           175: extern void do_thru(void);
        !           176: extern int unput(int);
        !           177: extern void pbstr(char *);
        !           178: extern double errcheck(double, char *);
        !           179: extern void yyerror(char *);
        !           180: extern void eprint(void);
        !           181: extern int yywrap(void);
        !           182: extern void copyfile(char *);
        !           183: extern void copydef(Obj *);
        !           184: extern Obj *copythru(char *);
        !           185: extern char *addnewline(char *);
        !           186: extern void copyuntil(char *);
        !           187: extern void copy(void);
        !           188: extern void shell_init(void);
        !           189: extern void shell_text(char *);
        !           190: extern void shell_exec(void);
        !           191: extern void labelwid(double);
        !           192: extern void labelmove(int, double);
        !           193: extern void label(int, Attr *);
        !           194: extern void lab_adjust(void);
        !           195: extern char *sizeit(Attr *);
        !           196: extern void line(int, Point, Point, Attr *);
        !           197: extern void circle(double, Point);
        !           198: extern char *xyname(Point);
        !           199: extern void pic(char *);
        !           200: extern void numlist(void);
        !           201: extern void plot(Attr *, Point);
        !           202: extern void plotnum(double, char *, Point);
        !           203: extern void drawdesc(int, Obj *, Attr *, char *);
        !           204: extern void next(Obj *, Point, Attr *);
        !           205: extern void print(void);
        !           206: extern void endstat(void);
        !           207: extern void graph(char *);
        !           208: extern void setup(void);
        !           209: extern void do_first(void);
        !           210: extern void reset(void);
        !           211: extern void opentemp(void);
        !           212: extern void savetick(double, char *);
        !           213: extern void dflt_tick(double);
        !           214: extern void tickside(int);
        !           215: extern void tickoff(int);
        !           216: extern void gridtickoff(void);
        !           217: extern void setlist(void);
        !           218: extern void tickdir(int, double, int);
        !           219: extern void ticks(void);
        !           220: extern double modfloor(double, double);
        !           221: extern double modceil(double, double);
        !           222: extern void do_autoticks(Obj *);
        !           223: extern void logtick(double, double, double);
        !           224: extern Obj *setauto(void);
        !           225: extern void autoside(Obj *, int);
        !           226: extern void autolog(Obj *, int);
        !           227: extern void iterator(double, double, int, double, char *);
        !           228: extern void ticklist(Obj *, int);
        !           229: extern void print_ticks(int, int, Obj *, char *, char *);
        !           230: extern void maketick(int, char *, int, int, double, char *, char *, char *);
        !           231: extern void griddesc(Attr *);
        !           232: extern void gridlist(Obj *);
        !           233: extern char *desc_str(Attr *);
        !           234: extern int sidelog(int, int);
        !           235: 
        !           236: extern Obj     *objlist;

unix.superglobalmegacorp.com

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