Lines Matching refs:Expr
100 typedef struct Expr {
106 struct Expr *l; /* pointer to Left child (or ccl count) */
107 struct Expr *r; /* pointer to Right child (or ccl mask) */
108 struct Expr *parent; /* pointer to Parent */
109 } Expr;
138 Expr *root; /* Pointer to root (EOP) expression */
139 Expr **ptr; /* Pointer to array of ptrs to lit expressions. */
242 void epr(Expr *e, uchar_t *res);
254 static BOOL match(Expr *e, int a);
255 static BOOL first_lit(Positionset *fpos, Expr *e);
256 static void eptr(re_re *r, Expr *e);
257 static void efollow(re_re *r, Positionset *fpos, Expr *e);
258 static void follow(Positionset *fpos, Expr *e);
260 static Expr *eall(re_re *r, PATTERN *pat);
261 static Expr *d0(re_re *r, PATTERN *pat);
262 static Expr *d1(re_re *r, PATTERN *pat);
263 static Expr *d2(re_re *r, PATTERN *pat);
264 static Expr *d3(re_re *r, PATTERN *pat);
265 static Expr *newexpr(Exprtype t, int lit, Expr *left, Expr *right);
268 static void traverse(PATTERN *pat, Expr *e);
271 static BOOL altlist(Expr *e, uchar_t *buf, re_cw *pat);
454 r->ptr = (Expr **)egmalloc(r->maxid * sizeof (Expr *));
474 eptr(re_re *r, Expr *e)
537 match(Expr *e, int a)
551 follow(Positionset *fpos, Expr *e)
553 Expr *p;
586 first_lit(Positionset *fpos, Expr *e)
615 efollow(re_re *r, Positionset *fpos, Expr *e)
711 Expr *e;
762 epr(Expr *e, uchar_t *res)
916 r->root = newexpr(EOP, '#', eall(r, pat), (Expr *)NULL);
923 static Expr *
924 newexpr(Exprtype t, int lit, Expr *left, Expr *right)
926 Expr *e = (Expr *)egmalloc(sizeof (Expr));
1043 static Expr *
1046 Expr *e;
1053 e = newexpr(Literal, toklit, (Expr *)NULL, (Expr *)NULL);
1057 e = newexpr(Dot, '.', (Expr *)NULL, (Expr *)NULL);
1065 e = newexpr(Literal, toklit, (Expr *)NULL,
1066 (Expr *)NULL);
1068 e = newexpr(Charclass, '[', (Expr *)NULL, (Expr *)NULL);
1069 e->l = (Expr *)count; /* number of chars */
1070 e->r = (Expr *)tab; /* bitmap of chars */
1090 static Expr *
1093 Expr *e;
1100 e = newexpr(t, 0, e, (Expr *)NULL);
1105 static Expr *
1108 Expr *e, *f;
1119 static Expr *
1122 Expr *e, *f;
1135 static Expr *
1138 Expr *e;
1174 traverse(PATTERN *pat, Expr *e)
1290 Expr *e, *root = r->root;
1307 altlist(Expr *e, uchar_t *buf, re_cw *pat)
1316 word(Expr *e, uchar_t *buf, re_cw *pat)