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(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 static void mcadd(register struct parse *p, register cset *cs, register char *cp);
 
  32 static void mcsub(register cset *cs, register char *cp);
 
  33 static int mcin(register cset *cs, register char *cp);
 
  34 static char *mcfind(register cset *cs, register char *cp);
 
  36 static void mcinvert(register struct parse *p, register cset *cs);
 
  37 static void mccase(register struct parse *p, register cset *cs);
 
  38 static int isinsets(register struct re_guts *g, int c);
 
  39 static int samesets(register struct re_guts *g, int c1, int c2);
 
  40 static void categorize(struct parse *p, register struct re_guts *g);
 
  41 static sopno dupl(register struct parse *p, sopno start, sopno finish);
 
  42 static void doemit(register struct parse *p, sop op, size_t opnd);
 
  43 static void doinsert(register struct parse *p, sop op, size_t opnd, sopno pos);
 
  44 static void dofwd(register struct parse *p, sopno pos, sop value);
 
  45 static void enlarge(register struct parse *p, sopno size);
 
  46 static void stripsnug(register struct parse *p, register struct re_guts *g);
 
  47 static void findmust(register struct parse *p, register struct re_guts *g);
 
  48 static sopno pluscount(register struct parse *p, register struct re_guts *g);
 
  53 /* ========= end header generated by ./mkh ========= */