{
if (s[1].to == next && n == 3)
{
- if (!mask || (s[0].ub > 0x00FF))
+ if (!mask || (s[0].ub > 0x0100))
{
genIf(o, ind, "!=", s[0].ub, readCh);
genGoTo(o, 0, from, bg, readCh);
}
else
{
- if (!mask || (s[0].ub > 0x00FF))
+ if (!mask || (s[0].ub > 0x0100))
{
genIf(o, ind, "==", s[0].ub, readCh);
genGoTo(o, 0, from, s[1].to, readCh);
}
else if (n == 2 && bg == next)
{
- if (!mask || (s[0].ub > 0x00FF))
+ if (!mask || (s[0].ub > 0x0100))
{
genIf(o, ind, ">=", s[0].ub, readCh);
genGoTo(o, 0, from, s[1].to, readCh);
}
else
{
- if (!mask || ((s[0].ub - 1) > 0x00FF))
+ if (!mask || ((s[0].ub - 1) > 0x0100))
{
genIf(o, ind, "<=", s[0].ub - 1, readCh);
genGoTo(o, 0, from, bg, readCh);
{
for (uint b = ranges[i].first; b < ranges[i].second; ++b)
{
- if (!mask || b > 0x00FF) // FIXME: delete this condition, check somewhere in unmap
+ if (!mask || b > 0x0100) // FIXME: delete this condition, check somewhere in unmap
{
o << indent(ind) << "case ";
o.write_char_hex (b);
for (uint i = 0, j = 0; i < nSpans; i++)
{
- if (span[i].ub > 0xFF)
+ if (span[i].ub > 0x100)
{
sc[j++] = span[i];
}
: mapCodeName["yych"];
readCh = false;
- if (encoding.szCodeUnit() > 1)
+ if (encoding.szCodeUnit() > 1) // wSpans > 0
{
o << indent(ind) << "if (" << sYych <<" & ~0xFF) {\n";
genBase(o, ind + 1, from, next, readCh, 1);
uint dSpans = 0;
uint nBitmaps = 0;
- if (gFlag || (encoding.szCodeUnit() > 1))
+ wSpans = 0;
+ for (uint i = 0; i < nSpans; ++i)
{
- wSpans = 0;
- for (uint i = 0; i < nSpans; ++i)
+ if (span[i].ub > 0x100)
{
- if (span[i].ub > 0xFF)
- {
- wSpans++;
- }
- if (span[i].ub < 0x100 || (encoding.szCodeUnit() <= 1))
+ wSpans++;
+ }
+ else
+ {
+ State *to = span[i].to;
+
+ if (to && to->isBase)
{
- State *to = span[i].to;
-
- if (to && to->isBase)
+ const BitMap *b = BitMap::find(to);
+
+ if (b && matches(b->go, b->on, this, to))
{
- const BitMap *b = BitMap::find(to);
-
- if (b && matches(b->go, b->on, this, to))
- {
- nBitmaps++;
- }
- else
- {
- dSpans++;
- }
+ nBitmaps++;
}
else
{
dSpans++;
}
}
+ else
+ {
+ dSpans++;
+ }
}
}