ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/Development/ray/src/common/calcomp.h
(Generate patch)

Comparing ray/src/common/calcomp.h (file contents):
Revision 2.26 by greg, Mon Feb 26 18:16:35 2024 UTC vs.
Revision 2.28 by greg, Wed Dec 3 18:14:26 2025 UTC

# Line 26 | Line 26 | typedef struct {
26      short  nargs;               /* # of required arguments */
27      short  atyp;                /* assignment type (':' or '=') */
28      double  (*f)(char *);       /* pointer to function */
29 < }  LIBR;                /* a library function */
29 > }  ELIBR;               /* a library function */
30  
31 + typedef struct vardef {
32 +            char  *name;                /* variable name */
33 +            int  nlinks;                /* number of references */
34 +            struct epnode  *def;        /* definition */
35 +            ELIBR  *lib;                /* library definition */
36 +            struct vardef  *next;       /* next in hash list */
37 + }  VARDEF;              /* a variable definition */
38 +
39   typedef struct epnode {
40      union {
41          struct epnode  *kid;    /* first child */
# Line 35 | Line 43 | typedef struct epnode {
43          char  *name;            /* symbol name */
44          int  chan;              /* channel number */
45          unsigned long  tick;    /* timestamp */
46 <        struct vardef {
39 <            char  *name;                /* variable name */
40 <            int  nlinks;                /* number of references */
41 <            struct epnode  *def;        /* definition */
42 <            LIBR  *lib;                 /* library definition */
43 <            struct vardef  *next;       /* next in hash list */
44 <        }  *ln;                 /* link */
46 >        VARDEF  *ln;            /* variable definition link */
47      } v;                /* value */
48      struct epnode  *sibling;    /* next child this level */
49      short  type;                /* node type */
50      short  nkids;               /* child count (neg if array) */
51   }  EPNODE;      /* an expression node */
52  
51 typedef struct vardef  VARDEF;  /* a variable definition */
52
53   #define  nekids(ep)     abs((ep)->nkids)
54  
55   #define  RMAXWORD       127             /* maximum word/id length */
# Line 75 | Line 75 | typedef struct vardef  VARDEF; /* a variable definitio
75   extern double  (*eoper[])(EPNODE *);
76   extern unsigned long  eclock;
77   extern unsigned int  esupport;
78 < extern EPNODE   *curfunc;
78 > extern EPNODE   *ecurfunc;
79   extern int  nextc;
80   extern int  eofc;
81                                          /* defined in biggerlib.c */
# Line 105 | Line 105 | extern EPNODE  *dfirst(void);
105   extern EPNODE   *dnext(void);
106   extern EPNODE   *dpop(char *name);
107   extern void     dpush(char *nm, EPNODE *ep);
108 < extern void     addchan(EPNODE *sp);
109 < extern void     getstatement(void);
110 < extern EPNODE   *getdefn(void);
111 < extern EPNODE   *getchan(void);
108 > extern void     eaddchan(EPNODE *sp);
109 > extern void     egetstatement(void);
110 > extern EPNODE   *egetdefn(void);
111 > extern EPNODE   *egetchan(void);
112                                          /* defined in calexpr.c */
113   extern EPNODE   *eparse(char *expr);
114   extern double   eval(char *expr);
# Line 119 | Line 119 | extern EPNODE  *ekid(EPNODE *ep, int n);
119   extern void     initfile(FILE *fp, char *fn, int ln);
120   extern void     initstr(char *s, char *fn, int ln);
121   extern void     getscanpos(char **fnp, int *lnp, char **spp, FILE **fpp);
122 < extern int      scan(void);
122 > extern int      escan(void);
123   extern char     *long2ascii(long l);
124 < extern void     syntax(char *err);
124 > extern void     esyntax(char *err);
125   extern void     addekid(EPNODE *ep, EPNODE *ek);
126   extern char     *getname(void);
127   extern int      getinum(void);
# Line 141 | Line 141 | extern void    funset(char *fname, int nargs, int assign,
141                                  double (*fptr)(char *));
142   extern int      nargum(void);
143   extern double   argument(int n);
144 < extern VARDEF   *argf(int n);
145 < extern char     *argfun(int n);
144 > extern VARDEF   *eargf(int n);
145 > extern char     *eargfun(int n);
146   extern double   efunc(EPNODE *ep);
147   extern double   eargument(EPNODE *ep);
148 < extern LIBR     *liblookup(char *fname);
149 < extern void     libupdate(char *fn);
148 > extern ELIBR    *eliblookup(char *fname);
149 > extern void     elibupdate(char *fn);
150                                          /* defined in calprnt.c */
151   extern void     eprint(EPNODE *ep, FILE *fp);
152   extern void     dprint(char *name, FILE *fp);

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)