Lines Matching refs:type

72 decomp(register Rex_t* e, Sfio_t* sp, int type, int delimiter, regflags_t flags)
91 switch (e->type)
94 if (decomp(e->re.group.expr.binary.left, sp, type, delimiter, flags))
97 if (e->re.group.expr.binary.right && decomp(e->re.group.expr.binary.right, sp, type, delimiter, flags))
104 if (type < SRE)
108 if (type < SRE)
112 meta(sp, '<', type, 1, delimiter);
115 meta(sp, '<', type, 1, delimiter);
125 if (type >= SRE)
144 switch (e->type)
147 if (decomp(e->re.group.expr.rex, sp, type, delimiter, flags))
265 meta(sp, e->re.onechar, type, 0, delimiter);
271 if (type < SRE)
277 else if (e->lo == 1 && ismeta('+', type, 0, delimiter))
278 meta(sp, '+', type, 1, delimiter);
281 meta(sp, '{', type, 1, delimiter);
283 meta(sp, '}', type, 1, delimiter);
286 else if (e->hi != 1 || e->lo == 0 && !ismeta('?', type, 0, delimiter))
288 meta(sp, '{', type, 1, delimiter);
290 meta(sp, '}', type, 1, delimiter);
293 meta(sp, '?', type, 1, delimiter);
304 meta(sp, c, type, 0, delimiter);
322 if (type >= SRE)
324 if (decomp(e->re.group.expr.rex, sp, type, delimiter, flags))
326 if (type >= SRE)
332 if (decomp(e->re.group.expr.binary.left, sp, type, delimiter, flags))
335 if (decomp(e->re.group.expr.binary.right, sp, type, delimiter, flags))
339 if (type >= SRE)
341 meta(sp, '(', type, 1, delimiter);
342 if (decomp(e->re.group.expr.rex, sp, type, delimiter, flags))
344 meta(sp, ')', type, 1, delimiter);
350 meta(sp, '(', type, 1, delimiter);
352 if (decomp(e->re.group.expr.rex, sp, type, delimiter, flags))
354 meta(sp, ')', type, 1, delimiter);
357 meta(sp, '(', type, 1, delimiter);
359 if (e->re.group.expr.binary.left && decomp(e->re.group.expr.binary.left, sp, type, delimiter, flags))
364 if (q->re.group.expr.binary.left && decomp(q->re.group.expr.binary.left, sp, type, delimiter, flags))
367 if (q->re.group.expr.binary.right && decomp(q->re.group.expr.binary.right, sp, type, delimiter, flags))
370 meta(sp, ')', type, 1, delimiter);
373 meta(sp, '(', type, 1, delimiter);
375 if (decomp(e->re.group.expr.rex, sp, type, delimiter, flags))
377 meta(sp, ')', type, 1, delimiter);
382 sfprintf(sp, "<ERROR:REX_%d>", e->type);
398 int type;
409 type = BRE;
413 type = ARE;
416 type = ERE;
419 type = SRE;
422 type = KRE;
432 if (decomp(p->env->rex, sp, type, delimiter, flags))