version 1.30, 2011/10/09 18:23:00 |
version 1.31, 2011/10/09 22:14:17 |
Line 145 static void repeat(struct parse *p, sopn |
|
Line 145 static void repeat(struct parse *p, sopn |
|
static int seterr(struct parse *p, int e); |
static int seterr(struct parse *p, int e); |
static cset *allocset(struct parse *p); |
static cset *allocset(struct parse *p); |
static void freeset(struct parse *p, cset *cs); |
static void freeset(struct parse *p, cset *cs); |
static int freezeset(struct parse *p, cset *cs); |
static sopno freezeset(struct parse *p, cset *cs); |
static int firstch(struct parse *p, cset *cs); |
static int firstch(struct parse *p, cset *cs); |
static int nch(struct parse *p, cset *cs); |
static int nch(struct parse *p, cset *cs); |
static void mcadd(struct parse *p, cset *cs, const char *cp); |
static void mcadd(struct parse *p, cset *cs, const char *cp); |
|
|
int c; |
int c; |
int count; |
int count; |
int count2; |
int count2; |
sopno pos; |
sopno pos, i; |
int i; |
|
sopno subno; |
sopno subno; |
# define BACKSL (1<<CHAR_BIT) |
# define BACKSL (1<<CHAR_BIT) |
|
|
|
|
&& othercase((unsigned char) ch) != (unsigned char) ch) |
&& othercase((unsigned char) ch) != (unsigned char) ch) |
bothcases(p, (unsigned char) ch); |
bothcases(p, (unsigned char) ch); |
else { |
else { |
EMIT(OCHAR, (unsigned char)ch); |
EMIT(OCHAR, (sopno)(unsigned char)ch); |
if (cap[ch] == 0) |
if (cap[ch] == 0) |
cap[ch] = p->g->ncategories++; |
cap[ch] = p->g->ncategories++; |
} |
} |
|
|
* is done using addition rather than xor -- all ASCII [aA] sets xor to |
* is done using addition rather than xor -- all ASCII [aA] sets xor to |
* the same value! |
* the same value! |
*/ |
*/ |
static int /* set number */ |
static sopno /* set number */ |
freezeset( |
freezeset( |
struct parse *p, |
struct parse *p, |
cset *cs) |
cset *cs) |
|
|
cs = cs2; |
cs = cs2; |
} |
} |
|
|
return((int)(cs - p->g->sets)); |
return (sopno)(cs - p->g->sets); |
} |
} |
|
|
/* |
/* |