in src/scanners.c [12116:12439]
bufsize_t _scan_open_code_fence(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
{
unsigned char yych;
static const unsigned char yybm[] = {
0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 0, 192, 192, 0,
192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 144, 192,
192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
224, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
};
yych = *p;
if (yych == '`')
goto yy788;
if (yych == '~')
goto yy789;
++p;
yy787 : { return 0; }
yy788:
yych = *(marker = ++p);
if (yych == '`')
goto yy790;
goto yy787;
yy789:
yych = *(marker = ++p);
if (yych == '~')
goto yy792;
goto yy787;
yy790:
yych = *++p;
if (yybm[0 + yych] & 16) {
goto yy793;
}
yy791:
p = marker;
goto yy787;
yy792:
yych = *++p;
if (yybm[0 + yych] & 32) {
goto yy795;
}
goto yy791;
yy793:
++p;
yych = *p;
marker = p;
if (yybm[0 + yych] & 64) {
goto yy797;
}
if (yych <= 0xE0) {
if (yych <= '`') {
if (yych <= 0x00)
goto yy791;
if (yych <= '\r')
goto yy799;
goto yy793;
} else {
if (yych <= 0xC1)
goto yy791;
if (yych <= 0xDF)
goto yy801;
goto yy802;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
goto yy804;
goto yy803;
} else {
if (yych <= 0xF0)
goto yy805;
if (yych <= 0xF3)
goto yy806;
if (yych <= 0xF4)
goto yy807;
goto yy791;
}
}
yy795:
++p;
yych = *p;
marker = p;
if (yybm[0 + yych] & 32) {
goto yy795;
}
if (yych <= 0xDF) {
if (yych <= '\f') {
if (yych <= 0x00)
goto yy791;
if (yych == '\n')
goto yy810;
goto yy808;
} else {
if (yych <= '\r')
goto yy810;
if (yych <= 0x7F)
goto yy808;
if (yych <= 0xC1)
goto yy791;
goto yy812;
}
} else {
if (yych <= 0xEF) {
if (yych <= 0xE0)
goto yy813;
if (yych == 0xED)
goto yy815;
goto yy814;
} else {
if (yych <= 0xF0)
goto yy816;
if (yych <= 0xF3)
goto yy817;
if (yych <= 0xF4)
goto yy818;
goto yy791;
}
}
yy797:
++p;
yych = *p;
if (yybm[0 + yych] & 64) {
goto yy797;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 0x00)
goto yy791;
if (yych >= 0x0E)
goto yy791;
} else {
if (yych <= 0xDF)
goto yy801;
if (yych <= 0xE0)
goto yy802;
goto yy803;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy804;
if (yych <= 0xEF)
goto yy803;
goto yy805;
} else {
if (yych <= 0xF3)
goto yy806;
if (yych <= 0xF4)
goto yy807;
goto yy791;
}
}
yy799:
++p;
p = marker;
{ return (bufsize_t)(p - start); }
yy801:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy791;
if (yych <= 0xBF)
goto yy797;
goto yy791;
yy802:
++p;
yych = *p;
if (yych <= 0x9F)
goto yy791;
if (yych <= 0xBF)
goto yy801;
goto yy791;
yy803:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy791;
if (yych <= 0xBF)
goto yy801;
goto yy791;
yy804:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy791;
if (yych <= 0x9F)
goto yy801;
goto yy791;
yy805:
++p;
yych = *p;
if (yych <= 0x8F)
goto yy791;
if (yych <= 0xBF)
goto yy803;
goto yy791;
yy806:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy791;
if (yych <= 0xBF)
goto yy803;
goto yy791;
yy807:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy791;
if (yych <= 0x8F)
goto yy803;
goto yy791;
yy808:
++p;
yych = *p;
if (yybm[0 + yych] & 128) {
goto yy808;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 0x00)
goto yy791;
if (yych >= 0x0E)
goto yy791;
} else {
if (yych <= 0xDF)
goto yy812;
if (yych <= 0xE0)
goto yy813;
goto yy814;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
goto yy815;
if (yych <= 0xEF)
goto yy814;
goto yy816;
} else {
if (yych <= 0xF3)
goto yy817;
if (yych <= 0xF4)
goto yy818;
goto yy791;
}
}
yy810:
++p;
p = marker;
{ return (bufsize_t)(p - start); }
yy812:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy791;
if (yych <= 0xBF)
goto yy808;
goto yy791;
yy813:
++p;
yych = *p;
if (yych <= 0x9F)
goto yy791;
if (yych <= 0xBF)
goto yy812;
goto yy791;
yy814:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy791;
if (yych <= 0xBF)
goto yy812;
goto yy791;
yy815:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy791;
if (yych <= 0x9F)
goto yy812;
goto yy791;
yy816:
++p;
yych = *p;
if (yych <= 0x8F)
goto yy791;
if (yych <= 0xBF)
goto yy814;
goto yy791;
yy817:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy791;
if (yych <= 0xBF)
goto yy814;
goto yy791;
yy818:
++p;
yych = *p;
if (yych <= 0x7F)
goto yy791;
if (yych <= 0x8F)
goto yy814;
goto yy791;
}
}