Lines Matching +full:2 +full:- +full:cell
42 * We sometimes cheat writing read-only pointers to NUL-terminate them
47 #define NN(p) ((p) ? (p) : "(null)") /* guaranteed non-null for DPRINTF
67 extern size_t awk_mb_cur_max; /* max size of a multi-byte character */
69 extern char EMPTY[]; /* this avoid -Wwritable-strings issues */
95 /* Cell: all information about a variable or constant */
97 typedef struct Cell { struct
105 struct Cell *cnext; /* ptr to next if chained */ argument
106 } Cell; typedef
111 Cell **tab; /* hash table pointers */
117 extern Cell *nrloc; /* NR */
118 extern Cell *fnrloc; /* FNR */
119 extern Cell *fsloc; /* FS */
120 extern Cell *nfloc; /* NF */
121 extern Cell *ofsloc; /* OFS */
122 extern Cell *orsloc; /* ORS */
123 extern Cell *rsloc; /* RS */
124 extern Cell *rstartloc; /* RSTART */
125 extern Cell *rlengthloc; /* RLENGTH */
126 extern Cell *subseploc; /* SUBSEP */
127 extern Cell *symtabloc; /* SYMTAB */
129 /* Cell.tval values: */
136 #define FLD 0100 /* this is a field $1, $2, ... */
144 #define FSQRT 2
167 /* Node: parse tree is made of nodes, with Cell's at bottom */
184 #define OBOOL 2
187 /* Cell subtypes: csub */
193 #define CVAR 2
211 #define NSTAT 2
217 #define notlegal(n) (n <= FIRSTTOKEN || n >= LASTTOKEN || proctab[n-FIRSTTOKEN] == nullproc)
218 #define isvalue(n) ((n)->ntype == NVALUE)
219 #define isexpr(n) ((n)->ntype == NEXPR)
220 #define isjump(n) ((n)->ctype == OJUMP)
221 #define isexit(n) ((n)->csub == JEXIT)
222 #define isbreak(n) ((n)->csub == JBREAK)
223 #define iscont(n) ((n)->csub == JCONT)
224 #define isnext(n) ((n)->csub == JNEXT || (n)->csub == JNEXTFILE)
225 #define isret(n) ((n)->csub == JRET)
226 #define isrec(n) ((n)->tval & REC)
227 #define isfld(n) ((n)->tval & FLD)
228 #define isstr(n) ((n)->tval & STR)
229 #define isnum(n) ((n)->tval & NUM)
230 #define isarr(n) ((n)->tval & ARR)
231 #define isfcn(n) ((n)->tval & FCN)
232 #define istrue(n) ((n)->csub == BTRUE)
233 #define istemp(n) ((n)->csub == CTEMP)
234 #define isargument(n) ((n)->nobj == ARG)
235 /* #define freeable(p) (!((p)->tval & DONTFREE)) */
236 #define freeable(p) ( ((p)->tval & (STR|DONTFREE)) == STR )
240 #define NCHARS (1256+3) /* 256 handles 8-bit chars; 128 does 7-bit */
243 #define HAT (NCHARS+2) /* matches ^ in regular expr */
247 long ltype; /* long avoids pointer warnings on 64-bit */