tgrap.h - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       tgrap.h (6179B)
       ---
            1 extern        char        errbuf[200];
            2 
            3 #undef        sprintf        /* Snow Leopard */
            4 
            5 #define        ERROR        sprintf(errbuf,
            6 #define        FATAL        ), yyerror(errbuf), exit(1)
            7 #define        WARNING        ), yyerror(errbuf)
            8 
            9 #define        dprintf        if(dbg)printf
           10 
           11 #define        String        01
           12 #define        Macro        02
           13 #define        File        04
           14 #define        Char        010
           15 #define        Thru        020
           16 #define        Free        040
           17 
           18 #define        MARGIN        0.07        /* default margin around data */
           19 #define        SLOP        1.001        /* slop for limits of for loops */
           20 #define        FRAMEWID 3        /* default width for boxes and ellipses */
           21 #define        FRAMEHT        2        /* default height and line length */
           22 #define        TICKLEN        0.1
           23 
           24 #define        MAXNUM        200
           25 
           26 #define        XFLAG        01
           27 #define        YFLAG        02
           28 
           29 #define        INTICK        01
           30 #define        OUTICK        02
           31 
           32 #define        BOT        01
           33 #define        TOP        02
           34 #define        RIGHT        04
           35 #define        LEFT        010
           36 
           37 #define        RJUST        01
           38 #define        LJUST        02
           39 #define        ABOVE        04
           40 #define        BELOW        010
           41 
           42 typedef struct infile {
           43         FILE        *fin;
           44         char        *fname;
           45         int        lineno;
           46 } Infile;
           47 
           48 typedef struct {        /* input source */
           49         int        type;        /* Macro, String, File */
           50         char        *sp;        /* if String or Macro */
           51 } Src;
           52 
           53 extern        Src        src[], *srcp;        /* input source stack */
           54 
           55 #define        MAXARGS        100
           56 typedef struct {        /* argument stack */
           57         char        *argstk[MAXARGS];        /* pointers to args */
           58         char        *argval;        /* points to space containing args */
           59 } Arg;
           60 
           61 extern        Infile        infile[10];
           62 extern        Infile        *curfile;
           63 
           64 typedef struct {
           65         struct obj *obj;
           66         double        x, y;
           67 } Point;
           68 
           69 typedef struct attr {        /* e.g., DASH 1.1 or "..." rjust size *.5 */
           70         int        type;
           71         double        fval;
           72         char        *sval;
           73         int        just;        /* justification, for STRING type */
           74         int        op;        /* optional operator, ditto */
           75         struct attr *next;
           76 } Attr;
           77 
           78 typedef struct obj {        /* a name and its properties */
           79         char        *name;
           80         char        *val;        /* body of define, etc. */
           81         double        fval;        /* if a numeric variable */
           82         Point        pt;        /* usually for max and min */
           83         Point        pt1;
           84         int        type;        /* NAME, DEFNAME, ... */
           85         int        first;        /* 1 after 1st item seen */
           86         int        coord;        /* 1 if coord system specified for this name */
           87         int        log;        /* x, y, or z (= x+y) */
           88         Attr        *attr;        /* DASH, etc., for now */
           89         struct obj *next;
           90 } Obj;
           91 
           92 typedef union {                /* the yacc stack type */
           93         int        i;
           94         char        *p;
           95         double        f;
           96         Point        pt;
           97         Obj        *op;
           98         Attr        *ap;
           99 } YYSTYPE;
          100 
          101 extern        YYSTYPE        yylval, yyval;
          102 
          103 extern        int        dbg;
          104 
          105 extern        int        ntext;
          106 extern        double        num[MAXNUM];
          107 extern        int        nnum;
          108 extern        int        ntick, tside;
          109 
          110 extern        char        *tostring(char *);
          111 extern char *grow(char *, char *, int, int);
          112 
          113 extern        int        lineno;
          114 extern        int        synerr;
          115 extern        int        codegen;
          116 extern        char        *tempfile;
          117 extern        FILE        *tfd;
          118 
          119 extern        Point        ptmin, ptmax;
          120 
          121 extern        char        *dflt_coord;
          122 extern        char        *curr_coord;
          123 extern        int        ncoord;
          124 extern        int        auto_x;
          125 extern        double        margin;
          126 extern        int        autoticks;
          127 extern        int        pointsize, ps_set;
          128 
          129 
          130 #define        logit(x) (x) = log10(x)
          131 #define        Log10(x) errcheck(log10(x), "log")
          132 #define        Exp(x)        errcheck(exp(x), "exp")
          133 #define        Sqrt(x)        errcheck(sqrt(x), "sqrt")
          134 
          135 #define        min(x,y)        (((x) <= (y)) ? (x) : (y))
          136 #define        max(x,y)        (((x) >= (y)) ? (x) : (y))
          137 
          138 extern        char        *unsharp(char*);
          139 
          140 extern        void        yyerror(char *);
          141 extern void coord_x(Point);
          142 extern void coord_y(Point);
          143 extern void coordlog(int);
          144 extern void coord(Obj *);
          145 extern void resetcoord(Obj *);
          146 extern void savenum(int, double);
          147 extern void setjust(int);
          148 extern void setsize(int, double);
          149 extern void range(Point);
          150 extern void halfrange(Obj *, int, double);
          151 extern Obj *lookup(char *, int);
          152 extern double getvar(Obj *);
          153 extern double setvar(Obj *, double);
          154 extern Point makepoint(Obj *, double, double);
          155 extern Attr *makefattr(int, double);
          156 extern Attr *makesattr(char *);
          157 extern Attr *makeattr(int, double, char *, int, int);
          158 extern Attr *addattr(Attr *, Attr *);
          159 extern void freeattr(Attr *);
          160 extern char *slprint(Attr *);
          161 extern char *juststr(int);
          162 extern char *sprntf(char *, Attr *);
          163 extern void forloop(Obj *, double, double, int, double, char *);
          164 extern void nextfor(void);
          165 extern void endfor(void);
          166 extern char *ifstat(double, char *, char *);
          167 extern void frame(void);
          168 extern void frameht(double);
          169 extern void framewid(double);
          170 extern void frameside(int, Attr *);
          171 extern void pushsrc(int, char *);
          172 extern void popsrc(void);
          173 extern void definition(char *);
          174 extern char *delimstr(char *);
          175 extern int baldelim(int, char *);
          176 extern void dodef(Obj *);
          177 extern int getarg(char *);
          178 extern int input(void);
          179 extern int nextchar(void);
          180 extern void do_thru(void);
          181 extern int unput(int);
          182 extern void pbstr(char *);
          183 extern double errcheck(double, char *);
          184 extern void yyerror(char *);
          185 extern void eprint(void);
          186 extern int yywrap(void);
          187 extern void copyfile(char *);
          188 extern void copydef(Obj *);
          189 extern Obj *copythru(char *);
          190 extern char *addnewline(char *);
          191 extern void copyuntil(char *);
          192 extern void copy(void);
          193 extern void shell_init(void);
          194 extern void shell_text(char *);
          195 extern void shell_exec(void);
          196 extern void labelwid(double);
          197 extern void labelmove(int, double);
          198 extern void label(int, Attr *);
          199 extern void lab_adjust(void);
          200 extern char *sizeit(Attr *);
          201 extern void line(int, Point, Point, Attr *);
          202 extern void circle(double, Point);
          203 extern char *xyname(Point);
          204 extern void pic(char *);
          205 extern void numlist(void);
          206 extern void plot(Attr *, Point);
          207 extern void plotnum(double, char *, Point);
          208 extern void drawdesc(int, Obj *, Attr *, char *);
          209 extern void next(Obj *, Point, Attr *);
          210 #define print grapprint
          211 extern void print(void);
          212 extern void endstat(void);
          213 extern void graph(char *);
          214 extern void setup(void);
          215 extern void do_first(void);
          216 extern void reset(void);
          217 extern void opentemp(void);
          218 extern void savetick(double, char *);
          219 extern void dflt_tick(double);
          220 extern void tickside(int);
          221 extern void tickoff(int);
          222 extern void gridtickoff(void);
          223 extern void setlist(void);
          224 extern void tickdir(int, double, int);
          225 extern void ticks(void);
          226 extern double modfloor(double, double);
          227 extern double modceil(double, double);
          228 extern void do_autoticks(Obj *);
          229 extern void logtick(double, double, double);
          230 extern Obj *setauto(void);
          231 extern void autoside(Obj *, int);
          232 extern void autolog(Obj *, int);
          233 extern void iterator(double, double, int, double, char *);
          234 extern void ticklist(Obj *, int);
          235 extern void print_ticks(int, int, Obj *, char *, char *);
          236 extern void maketick(int, char *, int, int, double, char *, char *, char *);
          237 extern void griddesc(Attr *);
          238 extern void gridlist(Obj *);
          239 extern char *desc_str(Attr *);
          240 extern int sidelog(int, int);
          241 
          242 extern        Obj        *objlist;