1
/* ========= begin header generated by ./mkh ========= */
6
/* === regcomp.c === */
7
static void p_ere(register struct parse *p, int stop);
8
static void p_ere_exp(register struct parse *p);
9
static void p_str(register struct parse *p);
10
static void p_bre(register struct parse *p, register int end1, register int end2);
11
static int p_simp_re(register struct parse *p, int starordinary);
12
static int p_count(register struct parse *p);
13
static void p_bracket(register struct parse *p);
14
static void p_b_term(register struct parse *p, register cset *cs);
15
static void p_b_cclass(register struct parse *p, register cset *cs);
16
static void p_b_eclass(register struct parse *p, register cset *cs);
17
static char p_b_symbol(register struct parse *p);
18
static char p_b_coll_elem(register struct parse *p, int endc);
19
static char othercase(CHARSET_INFO *charset,int ch);
20
static void bothcases(register struct parse *p, int ch);
21
static void ordinary(register struct parse *p, register int ch);
22
static void nonnewline(register struct parse *p);
23
static void repeat(register struct parse *p, sopno start, int from, int to);
24
static int seterr(register struct parse *p, int e);
25
static cset *allocset(register struct parse *p);
26
static void freeset(register struct parse *p, register cset *cs);
27
static int freezeset(register struct parse *p, register cset *cs);
28
static int firstch(register struct parse *p, register cset *cs);
29
static int nch(register struct parse *p, register cset *cs);
30
#ifdef USE_ORIG_REGEX_CODE
31
static void mcadd(register struct parse *p, register cset *cs, register char *cp);
34
static void mcsub(register cset *cs, register char *cp);
35
static int mcin(register cset *cs, register char *cp);
36
static char *mcfind(register cset *cs, register char *cp);
38
static void mcinvert(register struct parse *p, register cset *cs);
39
static void mccase(register struct parse *p, register cset *cs);
40
static int isinsets(register struct re_guts *g, int c);
41
static int samesets(register struct re_guts *g, int c1, int c2);
42
static void categorize(struct parse *p, register struct re_guts *g);
43
static sopno dupl(register struct parse *p, sopno start, sopno finish);
44
static void doemit(register struct parse *p, sop op, size_t opnd);
45
static void doinsert(register struct parse *p, sop op, size_t opnd, sopno pos);
46
static void dofwd(register struct parse *p, sopno pos, sop value);
47
static void enlarge(register struct parse *p, sopno size);
48
static void stripsnug(register struct parse *p, register struct re_guts *g);
49
static void findmust(register struct parse *p, register struct re_guts *g);
50
static sopno pluscount(register struct parse *p, register struct re_guts *g);
55
/* ========= end header generated by ./mkh ========= */