cset
cset *cs;
cset *cs;
cset *cs;
cset *cs;
p_b_term(struct parse *p, cset *cs)
cset *cs;
p_b_cclass(struct parse *p, cset *cs)
p_b_cclass_named(struct parse *p, cset *cs, const char clname[]) {
p_b_eclass(struct parse *p, cset *cs)
static void p_b_term(struct parse *p, cset *cs);
static void p_b_cclass(struct parse *p, cset *cs);
static void p_b_cclass_named(struct parse *p, cset *cs, const char[]);
static void p_b_eclass(struct parse *p, cset *cs);
static cset *allocset(struct parse *p);
cset *cs;
static void freeset(struct parse *p, cset *cs);
static void CHadd(struct parse *p, cset *cs, wint_t ch);
static void CHaddrange(struct parse *p, cset *cs, wint_t min, wint_t max);
static void CHaddtype(struct parse *p, cset *cs, wctype_t wct);
static wint_t singleton(cset *cs);
static cset *
cset *cs, *ncs;
freeset(struct parse *p, cset *cs)
cset *top = &p->g->sets[p->g->ncsets];
singleton(cset *cs)
CHadd(struct parse *p, cset *cs, wint_t ch)
CHaddrange(struct parse *p, cset *cs, wint_t min, wint_t max)
CHaddtype(struct parse *p, cset *cs, wctype_t wct)
CHIN1(cset *cs, wint_t ch)
CHIN(cset *cs, wint_t ch)
cset *sets; /* -> cset [ncsets] */
cset_in_hard(struct cset *cs, wchar_t ch)
cset_cache(struct cset *cs)
cset_invert(struct cset *cs)
cset_addclass(struct cset *cs, wctype_t type, bool invert)
struct cset *
struct cset *cs;
cset_add(struct cset *cs, wchar_t ch)
bool cset_addclass(struct cset *, wctype_t, bool);
struct cset * cset_alloc(void);
bool cset_add(struct cset *, wchar_t);
void cset_invert(struct cset *);
bool cset_in_hard(struct cset *, wchar_t);
void cset_cache(struct cset *);
cset_in(struct cset *cs, wchar_t ch)
static struct cset *
struct cset *cs;
static struct cset *setup(char *, STR *, int, int);
struct cset *delete, *squeeze;