Lines Matching refs:g
72 struct re_guts *g; member
168 struct re_guts *g; in llvm_regcomp() local
190 g = (struct re_guts *)malloc(sizeof(struct re_guts) + in llvm_regcomp()
192 if (g == NULL) in llvm_regcomp()
198 free((char *)g); in llvm_regcomp()
203 p->g = g; in llvm_regcomp()
212 g->csetsize = NC; in llvm_regcomp()
213 g->sets = NULL; in llvm_regcomp()
214 g->setbits = NULL; in llvm_regcomp()
215 g->ncsets = 0; in llvm_regcomp()
216 g->cflags = cflags; in llvm_regcomp()
217 g->iflags = 0; in llvm_regcomp()
218 g->nbol = 0; in llvm_regcomp()
219 g->neol = 0; in llvm_regcomp()
220 g->must = NULL; in llvm_regcomp()
221 g->mlen = 0; in llvm_regcomp()
222 g->nsub = 0; in llvm_regcomp()
223 g->ncategories = 1; /* category 0 is "everything else" */ in llvm_regcomp()
224 g->categories = &g->catspace[-(CHAR_MIN)]; in llvm_regcomp()
225 (void) memset((char *)g->catspace, 0, NC*sizeof(cat_t)); in llvm_regcomp()
226 g->backrefs = 0; in llvm_regcomp()
230 g->firststate = THERE(); in llvm_regcomp()
238 g->laststate = THERE(); in llvm_regcomp()
241 categorize(p, g); in llvm_regcomp()
242 stripsnug(p, g); in llvm_regcomp()
243 findmust(p, g); in llvm_regcomp()
244 g->nplus = pluscount(p, g); in llvm_regcomp()
245 g->magic = MAGIC2; in llvm_regcomp()
246 preg->re_nsub = g->nsub; in llvm_regcomp()
247 preg->re_g = g; in llvm_regcomp()
251 if (g->iflags®EX_BAD) in llvm_regcomp()
325 p->g->nsub++; in p_ere_exp()
326 subno = p->g->nsub; in p_ere_exp()
353 p->g->iflags |= USEBOL; in p_ere_exp()
354 p->g->nbol++; in p_ere_exp()
359 p->g->iflags |= USEEOL; in p_ere_exp()
360 p->g->neol++; in p_ere_exp()
371 if (p->g->cflags®_NEWLINE) in p_ere_exp()
397 assert(backrefnum <= p->g->nsub); in p_ere_exp()
404 p->g->backrefs = 1; in p_ere_exp()
511 p->g->iflags |= USEBOL; in p_bre()
512 p->g->nbol++; in p_bre()
521 p->g->iflags |= USEEOL; in p_bre()
522 p->g->neol++; in p_bre()
553 if (p->g->cflags®_NEWLINE) in p_simp_re()
565 p->g->nsub++; in p_simp_re()
566 subno = p->g->nsub; in p_simp_re()
596 assert(i <= p->g->nsub); in p_simp_re()
605 p->g->backrefs = 1; in p_simp_re()
708 if (p->g->cflags®_ICASE) { in p_bracket()
712 for (i = p->g->csetsize - 1; i >= 0; i--) in p_bracket()
724 for (i = p->g->csetsize - 1; i >= 0; i--) in p_bracket()
729 if (p->g->cflags®_NEWLINE) in p_bracket()
944 cat_t *cap = p->g->categories; in ordinary()
946 if ((p->g->cflags®_ICASE) && isalpha((uch)ch) && othercase(ch) != ch) in ordinary()
951 cap[ch] = p->g->ncategories++; in ordinary()
1068 int no = p->g->ncsets++; in allocset()
1072 size_t css = (size_t)p->g->csetsize; in allocset()
1085 ptr = (cset *)realloc((char *)p->g->sets, nc * sizeof(cset)); in allocset()
1088 p->g->sets = ptr; in allocset()
1090 ptr = (uch *)realloc((char *)p->g->setbits, nbytes); in allocset()
1093 p->g->setbits = ptr; in allocset()
1096 p->g->sets[i].ptr = p->g->setbits + css*(i/CHAR_BIT); in allocset()
1098 (void) memset((char *)p->g->setbits + (nbytes - css), 0, css); in allocset()
1101 if (p->g->sets == NULL || p->g->setbits == NULL) in allocset()
1104 cs = &p->g->sets[no]; in allocset()
1105 cs->ptr = p->g->setbits + css*((no)/CHAR_BIT); in allocset()
1113 free(p->g->sets); in allocset()
1114 p->g->sets = NULL; in allocset()
1115 free(p->g->setbits); in allocset()
1116 p->g->setbits = NULL; in allocset()
1130 cset *top = &p->g->sets[p->g->ncsets]; in freeset()
1131 size_t css = (size_t)p->g->csetsize; in freeset()
1136 p->g->ncsets--; in freeset()
1153 cset *top = &p->g->sets[p->g->ncsets]; in freezeset()
1155 size_t css = (size_t)p->g->csetsize; in freezeset()
1158 for (cs2 = &p->g->sets[0]; cs2 < top; cs2++) in freezeset()
1173 return((int)(cs - p->g->sets)); in freezeset()
1183 size_t css = (size_t)p->g->csetsize; in firstch()
1199 size_t css = (size_t)p->g->csetsize; in nch()
1261 isinsets(struct re_guts *g, int c) in isinsets() argument
1265 int ncols = (g->ncsets+(CHAR_BIT-1)) / CHAR_BIT; in isinsets()
1268 for (i = 0, col = g->setbits; i < ncols; i++, col += g->csetsize) in isinsets()
1278 samesets(struct re_guts *g, int c1, int c2) in samesets() argument
1282 int ncols = (g->ncsets+(CHAR_BIT-1)) / CHAR_BIT; in samesets()
1286 for (i = 0, col = g->setbits; i < ncols; i++, col += g->csetsize) in samesets()
1296 categorize(struct parse *p, struct re_guts *g) in categorize() argument
1298 cat_t *cats = g->categories; in categorize()
1308 if (cats[c] == 0 && isinsets(g, c)) { in categorize()
1309 cat = g->ncategories++; in categorize()
1312 if (cats[c2] == 0 && samesets(g, c, c2)) in categorize()
1443 stripsnug(struct parse *p, struct re_guts *g) in stripsnug() argument
1445 g->nstates = p->slen; in stripsnug()
1447 g->strip = p->strip; in stripsnug()
1452 g->strip = (sop *)realloc((char *)p->strip, p->slen * sizeof(sop)); in stripsnug()
1453 if (g->strip == NULL) { in stripsnug()
1455 g->strip = p->strip; in stripsnug()
1469 findmust(struct parse *p, struct re_guts *g) in findmust() argument
1485 scan = g->strip + 1; in findmust()
1507 g->iflags |= REGEX_BAD; in findmust()
1513 if (newlen > g->mlen) { /* ends one */ in findmust()
1515 g->mlen = newlen; in findmust()
1522 if (g->mlen == 0) /* there isn't one */ in findmust()
1526 g->must = malloc((size_t)g->mlen + 1); in findmust()
1527 if (g->must == NULL) { /* argh; just forget it */ in findmust()
1528 g->mlen = 0; in findmust()
1531 cp = g->must; in findmust()
1533 for (i = g->mlen; i > 0; i--) { in findmust()
1536 assert(cp < g->must + g->mlen); in findmust()
1539 assert(cp == g->must + g->mlen); in findmust()
1547 pluscount(struct parse *p, struct re_guts *g) in pluscount() argument
1557 scan = g->strip + 1; in pluscount()
1572 g->iflags |= REGEX_BAD; in pluscount()