summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuki Izumi <kivikakk@github.com>2016-12-01 20:52:42 +1100
committerJohn MacFarlane <jgm@berkeley.edu>2016-12-01 10:52:42 +0100
commita9da6782761e4d3ac7dfd3193fa43b73824afef4 (patch)
treec0dcc68162fc0ea0bc2998be0d052b8cdcc802da
parentea68f8830dcea3c21b91b02bf3bede8789961acd (diff)
Allow balanced nested parens in link destinations (#166)
-rw-r--r--src/inlines.c87
-rw-r--r--src/scanners.c5126
-rw-r--r--src/scanners.h2
-rw-r--r--src/scanners.re15
-rw-r--r--test/spec.txt27
5 files changed, 1593 insertions, 3664 deletions
diff --git a/src/inlines.c b/src/inlines.c
index f1c863f..c9cccfe 100644
--- a/src/inlines.c
+++ b/src/inlines.c
@@ -823,7 +823,44 @@ noMatch:
subj->pos = startpos; // rewind
return 0;
}
+static bufsize_t manual_scan_link_url(cmark_chunk *input, bufsize_t offset) {
+ bufsize_t i = offset;
+ size_t nb_p = 0;
+
+ if (i < input->len && input->data[i] == '<') {
+ ++i;
+ while (i < input->len) {
+ if (input->data[i] == '>') {
+ ++i;
+ break;
+ } else if (input->data[i] == '\\')
+ i += 2;
+ else if (cmark_isspace(input->data[i]))
+ return -1;
+ else
+ ++i;
+ }
+ } else {
+ while (i < input->len) {
+ if (input->data[i] == '\\')
+ i += 2;
+ else if (input->data[i] == '(') {
+ ++nb_p; ++i;
+ } else if (input->data[i] == ')') {
+ if (nb_p == 0)
+ break;
+ --nb_p; ++i;
+ } else if (cmark_isspace(input->data[i]))
+ break;
+ else
+ ++i;
+ }
+ }
+ if (i >= input->len)
+ return -1;
+ return i - offset;
+}
// Return a link, an image, or a literal close bracket.
static cmark_node *handle_close_bracket(subject *subj) {
bufsize_t initial_pos, after_link_text_pos;
@@ -865,7 +902,7 @@ static cmark_node *handle_close_bracket(subject *subj) {
// First, look for an inline link.
if (peek_char(subj) == '(' &&
((sps = scan_spacechars(&subj->input, subj->pos + 1)) > -1) &&
- ((n = scan_link_url(&subj->input, subj->pos + 1 + sps)) > -1)) {
+ ((n = manual_scan_link_url(&subj->input, subj->pos + 1 + sps)) > -1)) {
// try to parse an explicit link:
starturl = subj->pos + 1 + sps; // after (
@@ -996,31 +1033,31 @@ static cmark_node *handle_newline(subject *subj) {
static bufsize_t subject_find_special_char(subject *subj, int options) {
// "\r\n\\`&_*[]<!"
static const int8_t SPECIAL_CHARS[256] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 1, 1, 1, 0, 1,
- 1, 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, 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, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 1, 1, 1, 0, 1,
+ 1, 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, 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};
// " ' . -
static const char SMART_PUNCT_CHARS[] = {
- 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, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 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, 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, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 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, 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,
};
bufsize_t n = subj->pos + 1;
@@ -1171,8 +1208,8 @@ bufsize_t cmark_parse_reference_inline(cmark_mem *mem, cmark_strbuf *input,
// parse link url:
spnl(&subj);
- matchlen = scan_link_url(&subj.input, subj.pos);
- if (matchlen) {
+ matchlen = manual_scan_link_url(&subj.input, subj.pos);
+ if (matchlen > 0) {
url = cmark_chunk_dup(&subj.input, subj.pos, matchlen);
subj.pos += matchlen;
} else {
diff --git a/src/scanners.c b/src/scanners.c
index 21a433d..e929d21 100644
--- a/src/scanners.c
+++ b/src/scanners.c
@@ -1,7 +1,7 @@
/* Generated by re2c 0.15.3 */
-#include "scanners.h"
-#include "chunk.h"
#include <stdlib.h>
+#include "chunk.h"
+#include "scanners.h"
bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c,
bufsize_t offset) {
@@ -15233,2090 +15233,6 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) {
}
}
-// Try to match a URL in a link or reference, return number of chars matched.
-// This may optionally be contained in <..>; otherwise
-// whitespace and unbalanced right parentheses aren't allowed.
-// Newlines aren't ever allowed.
-bufsize_t _scan_link_url(const unsigned char *p) {
- const unsigned char *marker = NULL;
- const unsigned char *start = p;
-
- {
- unsigned char yych;
- unsigned int yyaccept = 0;
- static const unsigned char yybm[] = {
- 0, 128, 128, 128, 128, 128, 128, 128, 128, 0, 8, 128, 128, 8,
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 8, 224, 224, 224, 224, 224, 224, 224, 128, 128,
- 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 32, 224, 32, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224, 16, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 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 = *(marker = p);
- if (yych <= '[') {
- if (yych <= ' ') {
- if (yych <= '\f') {
- if (yych == '\n')
- goto yy952;
- goto yy968;
- } else {
- if (yych <= '\r')
- goto yy954;
- if (yych <= 0x1F)
- goto yy968;
- goto yy954;
- }
- } else {
- if (yych <= ')') {
- if (yych <= '\'')
- goto yy956;
- if (yych <= '(')
- goto yy966;
- goto yy968;
- } else {
- if (yych == '<')
- goto yy955;
- goto yy956;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\\')
- goto yy965;
- if (yych <= 0x7F)
- goto yy956;
- } else {
- if (yych <= 0xDF)
- goto yy957;
- if (yych <= 0xE0)
- goto yy959;
- goto yy960;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED)
- goto yy964;
- if (yych <= 0xEF)
- goto yy960;
- goto yy961;
- } else {
- if (yych <= 0xF3)
- goto yy962;
- if (yych <= 0xF4)
- goto yy963;
- }
- }
- }
- yy951 : { return (bufsize_t)(p - start); }
- yy952:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
- yy953:
- if (yybm[0 + yych] & 8) {
- goto yy952;
- }
- if (yych <= 0x7F) {
- if (yych <= ')') {
- if (yych <= 0x1F)
- goto yy951;
- if (yych <= '\'')
- goto yy980;
- if (yych <= '(')
- goto yy971;
- goto yy951;
- } else {
- if (yych <= '<') {
- if (yych <= ';')
- goto yy980;
- goto yy1016;
- } else {
- if (yych == '\\')
- goto yy982;
- goto yy980;
- }
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) {
- if (yych <= 0xC1)
- goto yy951;
- goto yy983;
- } else {
- if (yych <= 0xE0)
- goto yy984;
- if (yych <= 0xEC)
- goto yy985;
- goto yy989;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF)
- goto yy985;
- goto yy986;
- } else {
- if (yych <= 0xF3)
- goto yy987;
- if (yych <= 0xF4)
- goto yy988;
- goto yy951;
- }
- }
- }
- yy954:
- yyaccept = 0;
- yych = *(marker = ++p);
- goto yy953;
- yy955:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yybm[0 + yych] & 64) {
- goto yy1016;
- }
- if (yych <= '>') {
- if (yych <= '\r') {
- if (yych <= 0x08) {
- if (yych <= 0x00)
- goto yy951;
- goto yy1029;
- } else {
- if (yych <= '\n')
- goto yy951;
- if (yych <= '\f')
- goto yy1029;
- goto yy951;
- }
- } else {
- if (yych <= '(') {
- if (yych <= 0x1F)
- goto yy1029;
- if (yych <= ' ')
- goto yy951;
- goto yy1027;
- } else {
- if (yych <= ')')
- goto yy1029;
- if (yych <= '<')
- goto yy980;
- goto yy1018;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\\')
- goto yy1015;
- goto yy951;
- } else {
- if (yych <= 0xDF)
- goto yy1020;
- if (yych <= 0xE0)
- goto yy1021;
- goto yy1022;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED)
- goto yy1026;
- if (yych <= 0xEF)
- goto yy1022;
- goto yy1023;
- } else {
- if (yych <= 0xF3)
- goto yy1024;
- if (yych <= 0xF4)
- goto yy1025;
- goto yy951;
- }
- }
- }
- yy956:
- yyaccept = 0;
- yych = *(marker = ++p);
- goto yy981;
- yy957:
- yych = *++p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy956;
- yy958:
- p = marker;
- if (yyaccept <= 1) {
- if (yyaccept == 0) {
- goto yy951;
- } else {
- goto yy967;
- }
- } else {
- goto yy1019;
- }
- yy959:
- yych = *++p;
- if (yych <= 0x9F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy957;
- goto yy958;
- yy960:
- yych = *++p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy957;
- goto yy958;
- yy961:
- yych = *++p;
- if (yych <= 0x8F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy960;
- goto yy958;
- yy962:
- yych = *++p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy960;
- goto yy958;
- yy963:
- yych = *++p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x8F)
- goto yy960;
- goto yy958;
- yy964:
- yych = *++p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x9F)
- goto yy957;
- goto yy958;
- yy965:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0xDF) {
- if (yych <= 0x1F) {
- if (yych <= 0x08)
- goto yy980;
- if (yych <= '\r')
- goto yy951;
- goto yy980;
- } else {
- if (yych <= ' ')
- goto yy951;
- if (yych <= 0x7F)
- goto yy980;
- if (yych <= 0xC1)
- goto yy951;
- goto yy990;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0)
- goto yy991;
- if (yych == 0xED)
- goto yy996;
- goto yy992;
- } else {
- if (yych <= 0xF0)
- goto yy993;
- if (yych <= 0xF3)
- goto yy994;
- if (yych <= 0xF4)
- goto yy995;
- goto yy951;
- }
- }
- yy966:
- yyaccept = 1;
- yych = *(marker = ++p);
- if (yych <= '(') {
- if (yych <= ' ')
- goto yy967;
- if (yych <= '\'')
- goto yy972;
- } else {
- if (yych <= 0x7F)
- goto yy972;
- if (yych <= 0xC1)
- goto yy967;
- if (yych <= 0xF4)
- goto yy972;
- }
- yy967 : { return 0; }
- yy968:
- yych = *++p;
- goto yy967;
- yy969:
- ++p;
- yych = *p;
- if (yybm[0 + yych] & 16) {
- goto yy969;
- }
- if (yych <= 0xE0) {
- if (yych <= ')') {
- if (yych <= ' ')
- goto yy958;
- if (yych >= ')')
- goto yy997;
- } else {
- if (yych <= 0x7F)
- goto yy971;
- if (yych <= 0xC1)
- goto yy958;
- if (yych <= 0xDF)
- goto yy973;
- goto yy974;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED)
- goto yy979;
- goto yy975;
- } else {
- if (yych <= 0xF0)
- goto yy976;
- if (yych <= 0xF3)
- goto yy977;
- if (yych <= 0xF4)
- goto yy978;
- goto yy958;
- }
- }
- yy971:
- ++p;
- yych = *p;
- yy972:
- if (yybm[0 + yych] & 32) {
- goto yy971;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= '(')
- goto yy958;
- if (yych <= ')')
- goto yy980;
- goto yy969;
- } else {
- if (yych <= 0xC1)
- goto yy958;
- if (yych >= 0xE0)
- goto yy974;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED)
- goto yy979;
- goto yy975;
- } else {
- if (yych <= 0xF0)
- goto yy976;
- if (yych <= 0xF3)
- goto yy977;
- if (yych <= 0xF4)
- goto yy978;
- goto yy958;
- }
- }
- yy973:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy971;
- goto yy958;
- yy974:
- ++p;
- yych = *p;
- if (yych <= 0x9F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy973;
- goto yy958;
- yy975:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy973;
- goto yy958;
- yy976:
- ++p;
- yych = *p;
- if (yych <= 0x8F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy975;
- goto yy958;
- yy977:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy975;
- goto yy958;
- yy978:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x8F)
- goto yy975;
- goto yy958;
- yy979:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x9F)
- goto yy973;
- goto yy958;
- yy980:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
- yy981:
- if (yych <= 0xC1) {
- if (yych <= ')') {
- if (yych <= ' ')
- goto yy951;
- if (yych <= '\'')
- goto yy980;
- if (yych <= '(')
- goto yy971;
- goto yy951;
- } else {
- if (yych == '\\')
- goto yy982;
- if (yych <= 0x7F)
- goto yy980;
- goto yy951;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF)
- goto yy983;
- if (yych <= 0xE0)
- goto yy984;
- if (yych <= 0xEC)
- goto yy985;
- goto yy989;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF)
- goto yy985;
- goto yy986;
- } else {
- if (yych <= 0xF3)
- goto yy987;
- if (yych <= 0xF4)
- goto yy988;
- goto yy951;
- }
- }
- }
- yy982:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
- if (yych <= 0xDF) {
- if (yych <= 0x1F) {
- if (yych <= 0x08)
- goto yy980;
- if (yych <= '\r')
- goto yy951;
- goto yy980;
- } else {
- if (yych <= ' ')
- goto yy951;
- if (yych <= 0x7F)
- goto yy980;
- if (yych <= 0xC1)
- goto yy951;
- goto yy990;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0)
- goto yy991;
- if (yych == 0xED)
- goto yy996;
- goto yy992;
- } else {
- if (yych <= 0xF0)
- goto yy993;
- if (yych <= 0xF3)
- goto yy994;
- if (yych <= 0xF4)
- goto yy995;
- goto yy951;
- }
- }
- yy983:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy980;
- goto yy958;
- yy984:
- ++p;
- yych = *p;
- if (yych <= 0x9F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy983;
- goto yy958;
- yy985:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy983;
- goto yy958;
- yy986:
- ++p;
- yych = *p;
- if (yych <= 0x8F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy985;
- goto yy958;
- yy987:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy985;
- goto yy958;
- yy988:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x8F)
- goto yy985;
- goto yy958;
- yy989:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x9F)
- goto yy983;
- goto yy958;
- yy990:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy980;
- goto yy958;
- yy991:
- ++p;
- yych = *p;
- if (yych <= 0x9F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy990;
- goto yy958;
- yy992:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy990;
- goto yy958;
- yy993:
- ++p;
- yych = *p;
- if (yych <= 0x8F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy992;
- goto yy958;
- yy994:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy992;
- goto yy958;
- yy995:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x8F)
- goto yy992;
- goto yy958;
- yy996:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x9F)
- goto yy990;
- goto yy958;
- yy997:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
- yy998:
- if (yych <= 0xC1) {
- if (yych <= ')') {
- if (yych <= ' ')
- goto yy951;
- if (yych <= '\'')
- goto yy997;
- if (yych <= '(')
- goto yy971;
- goto yy980;
- } else {
- if (yych == '\\')
- goto yy999;
- if (yych <= 0x7F)
- goto yy997;
- goto yy951;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF)
- goto yy1000;
- if (yych <= 0xE0)
- goto yy1001;
- if (yych <= 0xEC)
- goto yy1002;
- goto yy1006;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF)
- goto yy1002;
- goto yy1003;
- } else {
- if (yych <= 0xF3)
- goto yy1004;
- if (yych <= 0xF4)
- goto yy1005;
- goto yy951;
- }
- }
- }
- yy999:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
- if (yych <= 0xC1) {
- if (yych <= ' ') {
- if (yych <= 0x08)
- goto yy980;
- if (yych <= '\r')
- goto yy951;
- if (yych <= 0x1F)
- goto yy980;
- goto yy951;
- } else {
- if (yych == '\\')
- goto yy1007;
- if (yych <= 0x7F)
- goto yy997;
- goto yy951;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF)
- goto yy1008;
- if (yych <= 0xE0)
- goto yy1009;
- if (yych <= 0xEC)
- goto yy1010;
- goto yy1014;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF)
- goto yy1010;
- goto yy1011;
- } else {
- if (yych <= 0xF3)
- goto yy1012;
- if (yych <= 0xF4)
- goto yy1013;
- goto yy951;
- }
- }
- }
- yy1000:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy997;
- goto yy958;
- yy1001:
- ++p;
- yych = *p;
- if (yych <= 0x9F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1000;
- goto yy958;
- yy1002:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1000;
- goto yy958;
- yy1003:
- ++p;
- yych = *p;
- if (yych <= 0x8F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1002;
- goto yy958;
- yy1004:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1002;
- goto yy958;
- yy1005:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x8F)
- goto yy1002;
- goto yy958;
- yy1006:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x9F)
- goto yy1000;
- goto yy958;
- yy1007:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
- if (yych <= 0xDF) {
- if (yych <= '[') {
- if (yych <= ' ')
- goto yy951;
- if (yych == '(')
- goto yy971;
- goto yy997;
- } else {
- if (yych <= '\\')
- goto yy999;
- if (yych <= 0x7F)
- goto yy997;
- if (yych <= 0xC1)
- goto yy951;
- goto yy1000;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0)
- goto yy1001;
- if (yych == 0xED)
- goto yy1006;
- goto yy1002;
- } else {
- if (yych <= 0xF0)
- goto yy1003;
- if (yych <= 0xF3)
- goto yy1004;
- if (yych <= 0xF4)
- goto yy1005;
- goto yy951;
- }
- }
- yy1008:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy997;
- goto yy958;
- yy1009:
- ++p;
- yych = *p;
- if (yych <= 0x9F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1008;
- goto yy958;
- yy1010:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1008;
- goto yy958;
- yy1011:
- ++p;
- yych = *p;
- if (yych <= 0x8F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1010;
- goto yy958;
- yy1012:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1010;
- goto yy958;
- yy1013:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x8F)
- goto yy1010;
- goto yy958;
- yy1014:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x9F)
- goto yy1008;
- goto yy958;
- yy1015:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
- if (yych <= '\\') {
- if (yych <= '\r') {
- if (yych <= 0x08) {
- if (yych <= 0x00)
- goto yy980;
- } else {
- if (yych <= '\n')
- goto yy951;
- if (yych <= '\f')
- goto yy1029;
- goto yy951;
- }
- } else {
- if (yych <= '=') {
- if (yych == ' ')
- goto yy951;
- } else {
- if (yych <= '>')
- goto yy1073;
- if (yych >= '\\')
- goto yy1074;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych >= 0x80)
- goto yy951;
- } else {
- if (yych <= 0xDF)
- goto yy1075;
- if (yych <= 0xE0)
- goto yy1076;
- goto yy1077;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED)
- goto yy1081;
- if (yych <= 0xEF)
- goto yy1077;
- goto yy1078;
- } else {
- if (yych <= 0xF3)
- goto yy1079;
- if (yych <= 0xF4)
- goto yy1080;
- goto yy951;
- }
- }
- }
- yy1016:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
- if (yybm[0 + yych] & 64) {
- goto yy1016;
- }
- if (yych <= '>') {
- if (yych <= '\r') {
- if (yych <= 0x08) {
- if (yych <= 0x00)
- goto yy951;
- goto yy1029;
- } else {
- if (yych <= '\n')
- goto yy951;
- if (yych <= '\f')
- goto yy1029;
- goto yy951;
- }
- } else {
- if (yych <= '(') {
- if (yych <= 0x1F)
- goto yy1029;
- if (yych <= ' ')
- goto yy951;
- goto yy1027;
- } else {
- if (yych <= ')')
- goto yy1029;
- if (yych <= '<')
- goto yy980;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\\')
- goto yy1015;
- goto yy951;
- } else {
- if (yych <= 0xDF)
- goto yy1020;
- if (yych <= 0xE0)
- goto yy1021;
- goto yy1022;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED)
- goto yy1026;
- if (yych <= 0xEF)
- goto yy1022;
- goto yy1023;
- } else {
- if (yych <= 0xF3)
- goto yy1024;
- if (yych <= 0xF4)
- goto yy1025;
- goto yy951;
- }
- }
- }
- yy1018:
- yyaccept = 2;
- yych = *(marker = ++p);
- if (yych <= ')') {
- if (yych <= ' ')
- goto yy1019;
- if (yych <= '(')
- goto yy981;
- } else {
- if (yych <= 0x7F)
- goto yy981;
- if (yych <= 0xC1)
- goto yy1019;
- if (yych <= 0xF4)
- goto yy981;
- }
- yy1019 : { return (bufsize_t)(p - start); }
- yy1020:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1016;
- goto yy958;
- yy1021:
- ++p;
- yych = *p;
- if (yych <= 0x9F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1020;
- goto yy958;
- yy1022:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1020;
- goto yy958;
- yy1023:
- ++p;
- yych = *p;
- if (yych <= 0x8F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1022;
- goto yy958;
- yy1024:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1022;
- goto yy958;
- yy1025:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x8F)
- goto yy1022;
- goto yy958;
- yy1026:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x9F)
- goto yy1020;
- goto yy958;
- yy1027:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= 0x1F) {
- if (yych <= '\n') {
- if (yych <= 0x00)
- goto yy958;
- if (yych >= '\t')
- goto yy958;
- } else {
- if (yych == '\r')
- goto yy958;
- }
- } else {
- if (yych <= '(') {
- if (yych <= ' ')
- goto yy958;
- if (yych <= '\'')
- goto yy1027;
- } else {
- if (yych <= ')')
- goto yy1016;
- if (yych == '<')
- goto yy971;
- goto yy1027;
- }
- }
- } else {
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= '>')
- goto yy1042;
- if (yych <= '[')
- goto yy1027;
- goto yy1043;
- } else {
- if (yych <= 0x7F)
- goto yy1027;
- if (yych <= 0xC1)
- goto yy958;
- if (yych <= 0xDF)
- goto yy1045;
- goto yy1046;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED)
- goto yy1051;
- goto yy1047;
- } else {
- if (yych <= 0xF0)
- goto yy1048;
- if (yych <= 0xF3)
- goto yy1049;
- if (yych <= 0xF4)
- goto yy1050;
- goto yy958;
- }
- }
- }
- yy1029:
- ++p;
- yych = *p;
- if (yybm[0 + yych] & 128) {
- goto yy1029;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= '<')
- goto yy958;
- if (yych >= '?')
- goto yy1032;
- } else {
- if (yych <= 0xC1)
- goto yy958;
- if (yych <= 0xDF)
- goto yy1034;
- goto yy1035;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED)
- goto yy1040;
- goto yy1036;
- } else {
- if (yych <= 0xF0)
- goto yy1037;
- if (yych <= 0xF3)
- goto yy1038;
- if (yych <= 0xF4)
- goto yy1039;
- goto yy958;
- }
- }
- yy1031:
- yych = *++p;
- goto yy1019;
- yy1032:
- ++p;
- yych = *p;
- if (yych <= '\\') {
- if (yych <= '\r') {
- if (yych <= 0x08) {
- if (yych <= 0x00)
- goto yy958;
- goto yy1029;
- } else {
- if (yych <= '\n')
- goto yy958;
- if (yych <= '\f')
- goto yy1029;
- goto yy958;
- }
- } else {
- if (yych <= '=') {
- if (yych == ' ')
- goto yy958;
- goto yy1029;
- } else {
- if (yych <= '>')
- goto yy1041;
- if (yych <= '[')
- goto yy1029;
- goto yy1032;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x7F)
- goto yy1029;
- goto yy958;
- } else {
- if (yych <= 0xDF)
- goto yy1034;
- if (yych <= 0xE0)
- goto yy1035;
- goto yy1036;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED)
- goto yy1040;
- if (yych <= 0xEF)
- goto yy1036;
- goto yy1037;
- } else {
- if (yych <= 0xF3)
- goto yy1038;
- if (yych <= 0xF4)
- goto yy1039;
- goto yy958;
- }
- }
- }
- yy1034:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1029;
- goto yy958;
- yy1035:
- ++p;
- yych = *p;
- if (yych <= 0x9F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1034;
- goto yy958;
- yy1036:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1034;
- goto yy958;
- yy1037:
- ++p;
- yych = *p;
- if (yych <= 0x8F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1036;
- goto yy958;
- yy1038:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1036;
- goto yy958;
- yy1039:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x8F)
- goto yy1036;
- goto yy958;
- yy1040:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x9F)
- goto yy1034;
- goto yy958;
- yy1041:
- yyaccept = 2;
- marker = ++p;
- yych = *p;
- if (yybm[0 + yych] & 128) {
- goto yy1029;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= '<')
- goto yy1019;
- if (yych <= '>')
- goto yy1031;
- goto yy1032;
- } else {
- if (yych <= 0xC1)
- goto yy1019;
- if (yych <= 0xDF)
- goto yy1034;
- goto yy1035;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED)
- goto yy1040;
- goto yy1036;
- } else {
- if (yych <= 0xF0)
- goto yy1037;
- if (yych <= 0xF3)
- goto yy1038;
- if (yych <= 0xF4)
- goto yy1039;
- goto yy1019;
- }
- }
- yy1042:
- yyaccept = 2;
- yych = *(marker = ++p);
- if (yych <= '(') {
- if (yych <= ' ')
- goto yy1019;
- if (yych <= '\'')
- goto yy972;
- goto yy1019;
- } else {
- if (yych <= 0x7F)
- goto yy972;
- if (yych <= 0xC1)
- goto yy1019;
- if (yych <= 0xF4)
- goto yy972;
- goto yy1019;
- }
- yy1043:
- ++p;
- yych = *p;
- if (yych <= '[') {
- if (yych <= 0x1F) {
- if (yych <= '\n') {
- if (yych <= 0x00)
- goto yy958;
- if (yych <= 0x08)
- goto yy1029;
- goto yy958;
- } else {
- if (yych == '\r')
- goto yy958;
- goto yy1029;
- }
- } else {
- if (yych <= ')') {
- if (yych <= ' ')
- goto yy958;
- if (yych <= '(')
- goto yy1027;
- goto yy1052;
- } else {
- if (yych == '>')
- goto yy1054;
- goto yy1027;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\\')
- goto yy1043;
- if (yych <= 0x7F)
- goto yy1027;
- goto yy958;
- } else {
- if (yych <= 0xDF)
- goto yy1045;
- if (yych <= 0xE0)
- goto yy1046;
- goto yy1047;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED)
- goto yy1051;
- if (yych <= 0xEF)
- goto yy1047;
- goto yy1048;
- } else {
- if (yych <= 0xF3)
- goto yy1049;
- if (yych <= 0xF4)
- goto yy1050;
- goto yy958;
- }
- }
- }
- yy1045:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1027;
- goto yy958;
- yy1046:
- ++p;
- yych = *p;
- if (yych <= 0x9F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1045;
- goto yy958;
- yy1047:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1045;
- goto yy958;
- yy1048:
- ++p;
- yych = *p;
- if (yych <= 0x8F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1047;
- goto yy958;
- yy1049:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1047;
- goto yy958;
- yy1050:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x8F)
- goto yy1047;
- goto yy958;
- yy1051:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x9F)
- goto yy1045;
- goto yy958;
- yy1052:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= 0x1F) {
- if (yych <= '\n') {
- if (yych <= 0x00)
- goto yy951;
- if (yych <= 0x08)
- goto yy1029;
- goto yy951;
- } else {
- if (yych == '\r')
- goto yy951;
- goto yy1029;
- }
- } else {
- if (yych <= '(') {
- if (yych <= ' ')
- goto yy951;
- if (yych <= '\'')
- goto yy1052;
- goto yy1027;
- } else {
- if (yych <= ')')
- goto yy1016;
- if (yych == '<')
- goto yy997;
- goto yy1052;
- }
- }
- } else {
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= '>')
- goto yy1055;
- if (yych <= '[')
- goto yy1052;
- goto yy1056;
- } else {
- if (yych <= 0x7F)
- goto yy1052;
- if (yych <= 0xC1)
- goto yy951;
- if (yych <= 0xDF)
- goto yy1057;
- goto yy1058;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED)
- goto yy1063;
- goto yy1059;
- } else {
- if (yych <= 0xF0)
- goto yy1060;
- if (yych <= 0xF3)
- goto yy1061;
- if (yych <= 0xF4)
- goto yy1062;
- goto yy951;
- }
- }
- }
- yy1054:
- yyaccept = 2;
- marker = ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= 0x1F) {
- if (yych <= '\n') {
- if (yych <= 0x00)
- goto yy1019;
- if (yych <= 0x08)
- goto yy1029;
- goto yy1019;
- } else {
- if (yych == '\r')
- goto yy1019;
- goto yy1029;
- }
- } else {
- if (yych <= '(') {
- if (yych <= ' ')
- goto yy1019;
- if (yych <= '\'')
- goto yy1027;
- goto yy1029;
- } else {
- if (yych <= ')')
- goto yy1016;
- if (yych == '<')
- goto yy971;
- goto yy1027;
- }
- }
- } else {
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= '>')
- goto yy1042;
- if (yych <= '[')
- goto yy1027;
- goto yy1043;
- } else {
- if (yych <= 0x7F)
- goto yy1027;
- if (yych <= 0xC1)
- goto yy1019;
- if (yych <= 0xDF)
- goto yy1045;
- goto yy1046;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED)
- goto yy1051;
- goto yy1047;
- } else {
- if (yych <= 0xF0)
- goto yy1048;
- if (yych <= 0xF3)
- goto yy1049;
- if (yych <= 0xF4)
- goto yy1050;
- goto yy1019;
- }
- }
- }
- yy1055:
- yyaccept = 2;
- yych = *(marker = ++p);
- if (yych <= ' ')
- goto yy1019;
- if (yych <= 0x7F)
- goto yy998;
- if (yych <= 0xC1)
- goto yy1019;
- if (yych <= 0xF4)
- goto yy998;
- goto yy1019;
- yy1056:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
- if (yych <= '\\') {
- if (yych <= '\r') {
- if (yych <= 0x08) {
- if (yych <= 0x00)
- goto yy980;
- goto yy1016;
- } else {
- if (yych <= '\n')
- goto yy951;
- if (yych <= '\f')
- goto yy1029;
- goto yy951;
- }
- } else {
- if (yych <= '=') {
- if (yych <= 0x1F)
- goto yy1016;
- if (yych <= ' ')
- goto yy951;
- goto yy1052;
- } else {
- if (yych <= '>')
- goto yy1064;
- if (yych <= '[')
- goto yy1052;
- goto yy1065;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x7F)
- goto yy1052;
- goto yy951;
- } else {
- if (yych <= 0xDF)
- goto yy1066;
- if (yych <= 0xE0)
- goto yy1067;
- goto yy1068;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED)
- goto yy1072;
- if (yych <= 0xEF)
- goto yy1068;
- goto yy1069;
- } else {
- if (yych <= 0xF3)
- goto yy1070;
- if (yych <= 0xF4)
- goto yy1071;
- goto yy951;
- }
- }
- }
- yy1057:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1052;
- goto yy958;
- yy1058:
- ++p;
- yych = *p;
- if (yych <= 0x9F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1057;
- goto yy958;
- yy1059:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1057;
- goto yy958;
- yy1060:
- ++p;
- yych = *p;
- if (yych <= 0x8F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1059;
- goto yy958;
- yy1061:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1059;
- goto yy958;
- yy1062:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x8F)
- goto yy1059;
- goto yy958;
- yy1063:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x9F)
- goto yy1057;
- goto yy958;
- yy1064:
- yyaccept = 2;
- marker = ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= 0x1F) {
- if (yych <= '\n') {
- if (yych <= 0x00)
- goto yy1019;
- if (yych <= 0x08)
- goto yy1029;
- goto yy1019;
- } else {
- if (yych == '\r')
- goto yy1019;
- goto yy1029;
- }
- } else {
- if (yych <= '(') {
- if (yych <= ' ')
- goto yy1019;
- if (yych <= '\'')
- goto yy1052;
- goto yy1027;
- } else {
- if (yych <= ')')
- goto yy1016;
- if (yych == '<')
- goto yy997;
- goto yy1052;
- }
- }
- } else {
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= '>')
- goto yy1055;
- if (yych <= '[')
- goto yy1052;
- goto yy1056;
- } else {
- if (yych <= 0x7F)
- goto yy1052;
- if (yych <= 0xC1)
- goto yy1019;
- if (yych <= 0xDF)
- goto yy1057;
- goto yy1058;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED)
- goto yy1063;
- goto yy1059;
- } else {
- if (yych <= 0xF0)
- goto yy1060;
- if (yych <= 0xF3)
- goto yy1061;
- if (yych <= 0xF4)
- goto yy1062;
- goto yy1019;
- }
- }
- }
- yy1065:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
- if (yych <= '[') {
- if (yych <= 0x1F) {
- if (yych <= '\n') {
- if (yych <= 0x00)
- goto yy951;
- if (yych <= 0x08)
- goto yy1029;
- goto yy951;
- } else {
- if (yych == '\r')
- goto yy951;
- goto yy1029;
- }
- } else {
- if (yych <= '(') {
- if (yych <= ' ')
- goto yy951;
- if (yych <= '\'')
- goto yy1052;
- goto yy1027;
- } else {
- if (yych == '>')
- goto yy1064;
- goto yy1052;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\\')
- goto yy1056;
- if (yych <= 0x7F)
- goto yy1052;
- goto yy951;
- } else {
- if (yych <= 0xDF)
- goto yy1057;
- if (yych <= 0xE0)
- goto yy1058;
- goto yy1059;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED)
- goto yy1063;
- if (yych <= 0xEF)
- goto yy1059;
- goto yy1060;
- } else {
- if (yych <= 0xF3)
- goto yy1061;
- if (yych <= 0xF4)
- goto yy1062;
- goto yy951;
- }
- }
- }
- yy1066:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1052;
- goto yy958;
- yy1067:
- ++p;
- yych = *p;
- if (yych <= 0x9F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1066;
- goto yy958;
- yy1068:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1066;
- goto yy958;
- yy1069:
- ++p;
- yych = *p;
- if (yych <= 0x8F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1068;
- goto yy958;
- yy1070:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1068;
- goto yy958;
- yy1071:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x8F)
- goto yy1068;
- goto yy958;
- yy1072:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x9F)
- goto yy1066;
- goto yy958;
- yy1073:
- yyaccept = 2;
- marker = ++p;
- yych = *p;
- if (yybm[0 + yych] & 64) {
- goto yy1016;
- }
- if (yych <= '>') {
- if (yych <= '\r') {
- if (yych <= 0x08) {
- if (yych <= 0x00)
- goto yy1019;
- goto yy1029;
- } else {
- if (yych <= '\n')
- goto yy1019;
- if (yych <= '\f')
- goto yy1029;
- goto yy1019;
- }
- } else {
- if (yych <= '(') {
- if (yych <= 0x1F)
- goto yy1029;
- if (yych <= ' ')
- goto yy1019;
- goto yy1027;
- } else {
- if (yych <= ')')
- goto yy1029;
- if (yych <= '<')
- goto yy980;
- goto yy1018;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\\')
- goto yy1015;
- goto yy1019;
- } else {
- if (yych <= 0xDF)
- goto yy1020;
- if (yych <= 0xE0)
- goto yy1021;
- goto yy1022;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED)
- goto yy1026;
- if (yych <= 0xEF)
- goto yy1022;
- goto yy1023;
- } else {
- if (yych <= 0xF3)
- goto yy1024;
- if (yych <= 0xF4)
- goto yy1025;
- goto yy1019;
- }
- }
- }
- yy1074:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
- if (yych <= '>') {
- if (yych <= 0x1F) {
- if (yych <= '\n') {
- if (yych <= 0x00)
- goto yy951;
- if (yych <= 0x08)
- goto yy1029;
- goto yy951;
- } else {
- if (yych == '\r')
- goto yy951;
- goto yy1029;
- }
- } else {
- if (yych <= '(') {
- if (yych <= ' ')
- goto yy951;
- if (yych <= '\'')
- goto yy1016;
- goto yy1027;
- } else {
- if (yych <= ')')
- goto yy1029;
- if (yych <= '=')
- goto yy1016;
- goto yy1073;
- }
- }
- } else {
- if (yych <= 0xE0) {
- if (yych <= 0x7F) {
- if (yych == '\\')
- goto yy1015;
- goto yy1016;
- } else {
- if (yych <= 0xC1)
- goto yy951;
- if (yych <= 0xDF)
- goto yy1020;
- goto yy1021;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED)
- goto yy1026;
- goto yy1022;
- } else {
- if (yych <= 0xF0)
- goto yy1023;
- if (yych <= 0xF3)
- goto yy1024;
- if (yych <= 0xF4)
- goto yy1025;
- goto yy951;
- }
- }
- }
- yy1075:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1016;
- goto yy958;
- yy1076:
- ++p;
- yych = *p;
- if (yych <= 0x9F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1075;
- goto yy958;
- yy1077:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1075;
- goto yy958;
- yy1078:
- ++p;
- yych = *p;
- if (yych <= 0x8F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1077;
- goto yy958;
- yy1079:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0xBF)
- goto yy1077;
- goto yy958;
- yy1080:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x8F)
- goto yy1077;
- goto yy958;
- yy1081:
- ++p;
- yych = *p;
- if (yych <= 0x7F)
- goto yy958;
- if (yych <= 0x9F)
- goto yy1075;
- goto yy958;
- }
-}
-
// Try to match a link title (in single quotes, in double quotes, or
// in parentheses), returning number of chars matched. Allow one
// level of internal nesting (quotes within quotes).
@@ -17352,640 +15268,640 @@ bufsize_t _scan_link_title(const unsigned char *p) {
if (yych <= 0xC1) {
if (yych <= '"') {
if (yych == '\n')
- goto yy1084;
+ goto yy951;
if (yych <= '!')
- goto yy1088;
- goto yy1085;
+ goto yy955;
+ goto yy952;
} else {
if (yych <= '\'') {
if (yych <= '&')
- goto yy1088;
- goto yy1086;
+ goto yy955;
+ goto yy953;
} else {
if (yych <= '(')
- goto yy1087;
+ goto yy954;
if (yych <= 0x7F)
- goto yy1088;
+ goto yy955;
}
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
- goto yy1089;
+ goto yy956;
if (yych <= 0xE0)
- goto yy1091;
+ goto yy958;
if (yych <= 0xEC)
- goto yy1092;
- goto yy1096;
+ goto yy959;
+ goto yy963;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
- goto yy1092;
- goto yy1093;
+ goto yy959;
+ goto yy960;
} else {
if (yych <= 0xF3)
- goto yy1094;
+ goto yy961;
if (yych <= 0xF4)
- goto yy1095;
+ goto yy962;
}
}
}
- yy1084 : { return 0; }
- yy1085:
+ yy951 : { return 0; }
+ yy952:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x00)
- goto yy1084;
+ goto yy951;
if (yych <= 0x7F)
- goto yy1128;
+ goto yy995;
if (yych <= 0xC1)
- goto yy1084;
+ goto yy951;
if (yych <= 0xF4)
- goto yy1128;
- goto yy1084;
- yy1086:
+ goto yy995;
+ goto yy951;
+ yy953:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x00)
- goto yy1084;
+ goto yy951;
if (yych <= 0x7F)
- goto yy1114;
+ goto yy981;
if (yych <= 0xC1)
- goto yy1084;
+ goto yy951;
if (yych <= 0xF4)
- goto yy1114;
- goto yy1084;
- yy1087:
+ goto yy981;
+ goto yy951;
+ yy954:
yyaccept = 0;
yych = *(marker = ++p);
if (yych <= 0x00)
- goto yy1084;
+ goto yy951;
if (yych <= 0x7F)
- goto yy1100;
+ goto yy967;
if (yych <= 0xC1)
- goto yy1084;
+ goto yy951;
if (yych <= 0xF4)
- goto yy1100;
- goto yy1084;
- yy1088:
+ goto yy967;
+ goto yy951;
+ yy955:
yych = *++p;
- goto yy1084;
- yy1089:
+ goto yy951;
+ yy956:
yych = *++p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1088;
- yy1090:
+ goto yy955;
+ yy957:
p = marker;
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy1084;
+ goto yy951;
} else {
- goto yy1109;
+ goto yy976;
}
} else {
if (yyaccept == 2) {
- goto yy1123;
+ goto yy990;
} else {
- goto yy1137;
+ goto yy1004;
}
}
- yy1091:
+ yy958:
yych = *++p;
if (yych <= 0x9F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1089;
- goto yy1090;
- yy1092:
+ goto yy956;
+ goto yy957;
+ yy959:
yych = *++p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1089;
- goto yy1090;
- yy1093:
+ goto yy956;
+ goto yy957;
+ yy960:
yych = *++p;
if (yych <= 0x8F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1092;
- goto yy1090;
- yy1094:
+ goto yy959;
+ goto yy957;
+ yy961:
yych = *++p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1092;
- goto yy1090;
- yy1095:
+ goto yy959;
+ goto yy957;
+ yy962:
yych = *++p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0x8F)
- goto yy1092;
- goto yy1090;
- yy1096:
+ goto yy959;
+ goto yy957;
+ yy963:
yych = *++p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0x9F)
- goto yy1089;
- goto yy1090;
- yy1097:
+ goto yy956;
+ goto yy957;
+ yy964:
++p;
yych = *p;
if (yybm[0 + yych] & 32) {
- goto yy1099;
+ goto yy966;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
- goto yy1090;
+ goto yy957;
if (yych <= ')')
- goto yy1110;
- goto yy1097;
+ goto yy977;
+ goto yy964;
} else {
if (yych <= 0xC1)
- goto yy1090;
+ goto yy957;
if (yych <= 0xDF)
- goto yy1101;
- goto yy1102;
+ goto yy968;
+ goto yy969;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
- goto yy1107;
- goto yy1103;
+ goto yy974;
+ goto yy970;
} else {
if (yych <= 0xF0)
- goto yy1104;
+ goto yy971;
if (yych <= 0xF3)
- goto yy1105;
+ goto yy972;
if (yych <= 0xF4)
- goto yy1106;
- goto yy1090;
+ goto yy973;
+ goto yy957;
}
}
- yy1099:
+ yy966:
++p;
yych = *p;
- yy1100:
+ yy967:
if (yybm[0 + yych] & 32) {
- goto yy1099;
+ goto yy966;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
- goto yy1090;
+ goto yy957;
if (yych <= ')')
- goto yy1108;
- goto yy1097;
+ goto yy975;
+ goto yy964;
} else {
if (yych <= 0xC1)
- goto yy1090;
+ goto yy957;
if (yych >= 0xE0)
- goto yy1102;
+ goto yy969;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
- goto yy1107;
- goto yy1103;
+ goto yy974;
+ goto yy970;
} else {
if (yych <= 0xF0)
- goto yy1104;
+ goto yy971;
if (yych <= 0xF3)
- goto yy1105;
+ goto yy972;
if (yych <= 0xF4)
- goto yy1106;
- goto yy1090;
+ goto yy973;
+ goto yy957;
}
}
- yy1101:
+ yy968:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1099;
- goto yy1090;
- yy1102:
+ goto yy966;
+ goto yy957;
+ yy969:
++p;
yych = *p;
if (yych <= 0x9F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1101;
- goto yy1090;
- yy1103:
+ goto yy968;
+ goto yy957;
+ yy970:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1101;
- goto yy1090;
- yy1104:
+ goto yy968;
+ goto yy957;
+ yy971:
++p;
yych = *p;
if (yych <= 0x8F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1103;
- goto yy1090;
- yy1105:
+ goto yy970;
+ goto yy957;
+ yy972:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1103;
- goto yy1090;
- yy1106:
+ goto yy970;
+ goto yy957;
+ yy973:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0x8F)
- goto yy1103;
- goto yy1090;
- yy1107:
+ goto yy970;
+ goto yy957;
+ yy974:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0x9F)
- goto yy1101;
- goto yy1090;
- yy1108:
+ goto yy968;
+ goto yy957;
+ yy975:
++p;
- yy1109 : { return (bufsize_t)(p - start); }
- yy1110:
+ yy976 : { return (bufsize_t)(p - start); }
+ yy977:
yyaccept = 1;
marker = ++p;
yych = *p;
if (yybm[0 + yych] & 32) {
- goto yy1099;
+ goto yy966;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
- goto yy1109;
+ goto yy976;
if (yych <= ')')
- goto yy1108;
- goto yy1097;
+ goto yy975;
+ goto yy964;
} else {
if (yych <= 0xC1)
- goto yy1109;
+ goto yy976;
if (yych <= 0xDF)
- goto yy1101;
- goto yy1102;
+ goto yy968;
+ goto yy969;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
- goto yy1107;
- goto yy1103;
+ goto yy974;
+ goto yy970;
} else {
if (yych <= 0xF0)
- goto yy1104;
+ goto yy971;
if (yych <= 0xF3)
- goto yy1105;
+ goto yy972;
if (yych <= 0xF4)
- goto yy1106;
- goto yy1109;
+ goto yy973;
+ goto yy976;
}
}
- yy1111:
+ yy978:
++p;
yych = *p;
if (yybm[0 + yych] & 64) {
- goto yy1113;
+ goto yy980;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
- goto yy1090;
+ goto yy957;
if (yych <= '\'')
- goto yy1124;
- goto yy1111;
+ goto yy991;
+ goto yy978;
} else {
if (yych <= 0xC1)
- goto yy1090;
+ goto yy957;
if (yych <= 0xDF)
- goto yy1115;
- goto yy1116;
+ goto yy982;
+ goto yy983;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
- goto yy1121;
- goto yy1117;
+ goto yy988;
+ goto yy984;
} else {
if (yych <= 0xF0)
- goto yy1118;
+ goto yy985;
if (yych <= 0xF3)
- goto yy1119;
+ goto yy986;
if (yych <= 0xF4)
- goto yy1120;
- goto yy1090;
+ goto yy987;
+ goto yy957;
}
}
- yy1113:
+ yy980:
++p;
yych = *p;
- yy1114:
+ yy981:
if (yybm[0 + yych] & 64) {
- goto yy1113;
+ goto yy980;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
- goto yy1090;
+ goto yy957;
if (yych <= '\'')
- goto yy1122;
- goto yy1111;
+ goto yy989;
+ goto yy978;
} else {
if (yych <= 0xC1)
- goto yy1090;
+ goto yy957;
if (yych >= 0xE0)
- goto yy1116;
+ goto yy983;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
- goto yy1121;
- goto yy1117;
+ goto yy988;
+ goto yy984;
} else {
if (yych <= 0xF0)
- goto yy1118;
+ goto yy985;
if (yych <= 0xF3)
- goto yy1119;
+ goto yy986;
if (yych <= 0xF4)
- goto yy1120;
- goto yy1090;
+ goto yy987;
+ goto yy957;
}
}
- yy1115:
+ yy982:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1113;
- goto yy1090;
- yy1116:
+ goto yy980;
+ goto yy957;
+ yy983:
++p;
yych = *p;
if (yych <= 0x9F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1115;
- goto yy1090;
- yy1117:
+ goto yy982;
+ goto yy957;
+ yy984:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1115;
- goto yy1090;
- yy1118:
+ goto yy982;
+ goto yy957;
+ yy985:
++p;
yych = *p;
if (yych <= 0x8F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1117;
- goto yy1090;
- yy1119:
+ goto yy984;
+ goto yy957;
+ yy986:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1117;
- goto yy1090;
- yy1120:
+ goto yy984;
+ goto yy957;
+ yy987:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0x8F)
- goto yy1117;
- goto yy1090;
- yy1121:
+ goto yy984;
+ goto yy957;
+ yy988:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0x9F)
- goto yy1115;
- goto yy1090;
- yy1122:
+ goto yy982;
+ goto yy957;
+ yy989:
++p;
- yy1123 : { return (bufsize_t)(p - start); }
- yy1124:
+ yy990 : { return (bufsize_t)(p - start); }
+ yy991:
yyaccept = 2;
marker = ++p;
yych = *p;
if (yybm[0 + yych] & 64) {
- goto yy1113;
+ goto yy980;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
- goto yy1123;
+ goto yy990;
if (yych <= '\'')
- goto yy1122;
- goto yy1111;
+ goto yy989;
+ goto yy978;
} else {
if (yych <= 0xC1)
- goto yy1123;
+ goto yy990;
if (yych <= 0xDF)
- goto yy1115;
- goto yy1116;
+ goto yy982;
+ goto yy983;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
- goto yy1121;
- goto yy1117;
+ goto yy988;
+ goto yy984;
} else {
if (yych <= 0xF0)
- goto yy1118;
+ goto yy985;
if (yych <= 0xF3)
- goto yy1119;
+ goto yy986;
if (yych <= 0xF4)
- goto yy1120;
- goto yy1123;
+ goto yy987;
+ goto yy990;
}
}
- yy1125:
+ yy992:
++p;
yych = *p;
if (yybm[0 + yych] & 128) {
- goto yy1127;
+ goto yy994;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
- goto yy1090;
+ goto yy957;
if (yych <= '"')
- goto yy1138;
- goto yy1125;
+ goto yy1005;
+ goto yy992;
} else {
if (yych <= 0xC1)
- goto yy1090;
+ goto yy957;
if (yych <= 0xDF)
- goto yy1129;
- goto yy1130;
+ goto yy996;
+ goto yy997;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
- goto yy1135;
- goto yy1131;
+ goto yy1002;
+ goto yy998;
} else {
if (yych <= 0xF0)
- goto yy1132;
+ goto yy999;
if (yych <= 0xF3)
- goto yy1133;
+ goto yy1000;
if (yych <= 0xF4)
- goto yy1134;
- goto yy1090;
+ goto yy1001;
+ goto yy957;
}
}
- yy1127:
+ yy994:
++p;
yych = *p;
- yy1128:
+ yy995:
if (yybm[0 + yych] & 128) {
- goto yy1127;
+ goto yy994;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
- goto yy1090;
+ goto yy957;
if (yych <= '"')
- goto yy1136;
- goto yy1125;
+ goto yy1003;
+ goto yy992;
} else {
if (yych <= 0xC1)
- goto yy1090;
+ goto yy957;
if (yych >= 0xE0)
- goto yy1130;
+ goto yy997;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
- goto yy1135;
- goto yy1131;
+ goto yy1002;
+ goto yy998;
} else {
if (yych <= 0xF0)
- goto yy1132;
+ goto yy999;
if (yych <= 0xF3)
- goto yy1133;
+ goto yy1000;
if (yych <= 0xF4)
- goto yy1134;
- goto yy1090;
+ goto yy1001;
+ goto yy957;
}
}
- yy1129:
+ yy996:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1127;
- goto yy1090;
- yy1130:
+ goto yy994;
+ goto yy957;
+ yy997:
++p;
yych = *p;
if (yych <= 0x9F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1129;
- goto yy1090;
- yy1131:
+ goto yy996;
+ goto yy957;
+ yy998:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1129;
- goto yy1090;
- yy1132:
+ goto yy996;
+ goto yy957;
+ yy999:
++p;
yych = *p;
if (yych <= 0x8F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1131;
- goto yy1090;
- yy1133:
+ goto yy998;
+ goto yy957;
+ yy1000:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0xBF)
- goto yy1131;
- goto yy1090;
- yy1134:
+ goto yy998;
+ goto yy957;
+ yy1001:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0x8F)
- goto yy1131;
- goto yy1090;
- yy1135:
+ goto yy998;
+ goto yy957;
+ yy1002:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1090;
+ goto yy957;
if (yych <= 0x9F)
- goto yy1129;
- goto yy1090;
- yy1136:
+ goto yy996;
+ goto yy957;
+ yy1003:
++p;
- yy1137 : { return (bufsize_t)(p - start); }
- yy1138:
+ yy1004 : { return (bufsize_t)(p - start); }
+ yy1005:
yyaccept = 3;
marker = ++p;
yych = *p;
if (yybm[0 + yych] & 128) {
- goto yy1127;
+ goto yy994;
}
if (yych <= 0xE0) {
if (yych <= '\\') {
if (yych <= 0x00)
- goto yy1137;
+ goto yy1004;
if (yych <= '"')
- goto yy1136;
- goto yy1125;
+ goto yy1003;
+ goto yy992;
} else {
if (yych <= 0xC1)
- goto yy1137;
+ goto yy1004;
if (yych <= 0xDF)
- goto yy1129;
- goto yy1130;
+ goto yy996;
+ goto yy997;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
- goto yy1135;
- goto yy1131;
+ goto yy1002;
+ goto yy998;
} else {
if (yych <= 0xF0)
- goto yy1132;
+ goto yy999;
if (yych <= 0xF3)
- goto yy1133;
+ goto yy1000;
if (yych <= 0xF4)
- goto yy1134;
- goto yy1137;
+ goto yy1001;
+ goto yy1004;
}
}
}
@@ -18017,104 +15933,104 @@ bufsize_t _scan_spacechars(const unsigned char *p) {
if (yych <= 0xC1) {
if (yych <= '\r') {
if (yych <= 0x08)
- goto yy1145;
+ goto yy1012;
if (yych == '\n')
- goto yy1143;
- goto yy1142;
+ goto yy1010;
+ goto yy1009;
} else {
if (yych == ' ')
- goto yy1142;
+ goto yy1009;
if (yych <= 0x7F)
- goto yy1145;
+ goto yy1012;
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
- goto yy1147;
+ goto yy1014;
if (yych <= 0xE0)
- goto yy1149;
+ goto yy1016;
if (yych <= 0xEC)
- goto yy1150;
- goto yy1154;
+ goto yy1017;
+ goto yy1021;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
- goto yy1150;
- goto yy1151;
+ goto yy1017;
+ goto yy1018;
} else {
if (yych <= 0xF3)
- goto yy1152;
+ goto yy1019;
if (yych <= 0xF4)
- goto yy1153;
+ goto yy1020;
}
}
}
- yy1141 : { return (bufsize_t)(p - start); }
- yy1142:
+ yy1008 : { return (bufsize_t)(p - start); }
+ yy1009:
yych = *++p;
- goto yy1144;
- yy1143:
+ goto yy1011;
+ yy1010:
++p;
yych = *p;
- yy1144:
+ yy1011:
if (yybm[0 + yych] & 128) {
- goto yy1143;
+ goto yy1010;
}
- goto yy1141;
- yy1145:
+ goto yy1008;
+ yy1012:
++p;
{ return 0; }
- yy1147:
+ yy1014:
yych = *++p;
if (yych <= 0x7F)
- goto yy1148;
+ goto yy1015;
if (yych <= 0xBF)
- goto yy1145;
- yy1148:
+ goto yy1012;
+ yy1015:
p = marker;
- goto yy1141;
- yy1149:
+ goto yy1008;
+ yy1016:
yych = *++p;
if (yych <= 0x9F)
- goto yy1148;
+ goto yy1015;
if (yych <= 0xBF)
- goto yy1147;
- goto yy1148;
- yy1150:
+ goto yy1014;
+ goto yy1015;
+ yy1017:
yych = *++p;
if (yych <= 0x7F)
- goto yy1148;
+ goto yy1015;
if (yych <= 0xBF)
- goto yy1147;
- goto yy1148;
- yy1151:
+ goto yy1014;
+ goto yy1015;
+ yy1018:
yych = *++p;
if (yych <= 0x8F)
- goto yy1148;
+ goto yy1015;
if (yych <= 0xBF)
- goto yy1150;
- goto yy1148;
- yy1152:
+ goto yy1017;
+ goto yy1015;
+ yy1019:
yych = *++p;
if (yych <= 0x7F)
- goto yy1148;
+ goto yy1015;
if (yych <= 0xBF)
- goto yy1150;
- goto yy1148;
- yy1153:
+ goto yy1017;
+ goto yy1015;
+ yy1020:
yych = *++p;
if (yych <= 0x7F)
- goto yy1148;
+ goto yy1015;
if (yych <= 0x8F)
- goto yy1150;
- goto yy1148;
- yy1154:
+ goto yy1017;
+ goto yy1015;
+ yy1021:
++p;
if ((yych = *p) <= 0x7F)
- goto yy1148;
+ goto yy1015;
if (yych <= 0x9F)
- goto yy1147;
- goto yy1148;
+ goto yy1014;
+ goto yy1015;
}
}
@@ -18143,190 +16059,190 @@ bufsize_t _scan_atx_heading_start(const unsigned char *p) {
if (yych <= 0xDF) {
if (yych <= '"') {
if (yych != '\n')
- goto yy1159;
+ goto yy1026;
} else {
if (yych <= '#')
- goto yy1158;
+ goto yy1025;
if (yych <= 0x7F)
- goto yy1159;
+ goto yy1026;
if (yych >= 0xC2)
- goto yy1160;
+ goto yy1027;
}
} else {
if (yych <= 0xEF) {
if (yych <= 0xE0)
- goto yy1162;
+ goto yy1029;
if (yych == 0xED)
- goto yy1167;
- goto yy1163;
+ goto yy1034;
+ goto yy1030;
} else {
if (yych <= 0xF0)
- goto yy1164;
+ goto yy1031;
if (yych <= 0xF3)
- goto yy1165;
+ goto yy1032;
if (yych <= 0xF4)
- goto yy1166;
+ goto yy1033;
}
}
- yy1157 : { return 0; }
- yy1158:
+ yy1024 : { return 0; }
+ yy1025:
yych = *(marker = ++p);
if (yybm[0 + yych] & 128) {
- goto yy1170;
+ goto yy1037;
}
if (yych <= '\f') {
if (yych <= 0x08)
- goto yy1157;
+ goto yy1024;
if (yych <= '\n')
- goto yy1168;
- goto yy1157;
+ goto yy1035;
+ goto yy1024;
} else {
if (yych <= '\r')
- goto yy1168;
+ goto yy1035;
if (yych == '#')
- goto yy1172;
- goto yy1157;
+ goto yy1039;
+ goto yy1024;
}
- yy1159:
+ yy1026:
yych = *++p;
- goto yy1157;
- yy1160:
+ goto yy1024;
+ yy1027:
yych = *++p;
if (yych <= 0x7F)
- goto yy1161;
+ goto yy1028;
if (yych <= 0xBF)
- goto yy1159;
- yy1161:
+ goto yy1026;
+ yy1028:
p = marker;
- goto yy1157;
- yy1162:
+ goto yy1024;
+ yy1029:
yych = *++p;
if (yych <= 0x9F)
- goto yy1161;
+ goto yy1028;
if (yych <= 0xBF)
- goto yy1160;
- goto yy1161;
- yy1163:
+ goto yy1027;
+ goto yy1028;
+ yy1030:
yych = *++p;
if (yych <= 0x7F)
- goto yy1161;
+ goto yy1028;
if (yych <= 0xBF)
- goto yy1160;
- goto yy1161;
- yy1164:
+ goto yy1027;
+ goto yy1028;
+ yy1031:
yych = *++p;
if (yych <= 0x8F)
- goto yy1161;
+ goto yy1028;
if (yych <= 0xBF)
- goto yy1163;
- goto yy1161;
- yy1165:
+ goto yy1030;
+ goto yy1028;
+ yy1032:
yych = *++p;
if (yych <= 0x7F)
- goto yy1161;
+ goto yy1028;
if (yych <= 0xBF)
- goto yy1163;
- goto yy1161;
- yy1166:
+ goto yy1030;
+ goto yy1028;
+ yy1033:
yych = *++p;
if (yych <= 0x7F)
- goto yy1161;
+ goto yy1028;
if (yych <= 0x8F)
- goto yy1163;
- goto yy1161;
- yy1167:
+ goto yy1030;
+ goto yy1028;
+ yy1034:
yych = *++p;
if (yych <= 0x7F)
- goto yy1161;
+ goto yy1028;
if (yych <= 0x9F)
- goto yy1160;
- goto yy1161;
- yy1168:
+ goto yy1027;
+ goto yy1028;
+ yy1035:
++p;
- yy1169 : { return (bufsize_t)(p - start); }
- yy1170:
+ yy1036 : { return (bufsize_t)(p - start); }
+ yy1037:
++p;
yych = *p;
if (yybm[0 + yych] & 128) {
- goto yy1170;
+ goto yy1037;
}
- goto yy1169;
- yy1172:
+ goto yy1036;
+ yy1039:
yych = *++p;
if (yybm[0 + yych] & 128) {
- goto yy1170;
+ goto yy1037;
}
if (yych <= '\f') {
if (yych <= 0x08)
- goto yy1161;
+ goto yy1028;
if (yych <= '\n')
- goto yy1168;
- goto yy1161;
+ goto yy1035;
+ goto yy1028;
} else {
if (yych <= '\r')
- goto yy1168;
+ goto yy1035;
if (yych != '#')
- goto yy1161;
+ goto yy1028;
}
yych = *++p;
if (yybm[0 + yych] & 128) {
- goto yy1170;
+ goto yy1037;
}
if (yych <= '\f') {
if (yych <= 0x08)
- goto yy1161;
+ goto yy1028;
if (yych <= '\n')
- goto yy1168;
- goto yy1161;
+ goto yy1035;
+ goto yy1028;
} else {
if (yych <= '\r')
- goto yy1168;
+ goto yy1035;
if (yych != '#')
- goto yy1161;
+ goto yy1028;
}
yych = *++p;
if (yybm[0 + yych] & 128) {
- goto yy1170;
+ goto yy1037;
}
if (yych <= '\f') {
if (yych <= 0x08)
- goto yy1161;
+ goto yy1028;
if (yych <= '\n')
- goto yy1168;
- goto yy1161;
+ goto yy1035;
+ goto yy1028;
} else {
if (yych <= '\r')
- goto yy1168;
+ goto yy1035;
if (yych != '#')
- goto yy1161;
+ goto yy1028;
}
yych = *++p;
if (yybm[0 + yych] & 128) {
- goto yy1170;
+ goto yy1037;
}
if (yych <= '\f') {
if (yych <= 0x08)
- goto yy1161;
+ goto yy1028;
if (yych <= '\n')
- goto yy1168;
- goto yy1161;
+ goto yy1035;
+ goto yy1028;
} else {
if (yych <= '\r')
- goto yy1168;
+ goto yy1035;
if (yych != '#')
- goto yy1161;
+ goto yy1028;
}
++p;
if (yybm[0 + (yych = *p)] & 128) {
- goto yy1170;
+ goto yy1037;
}
if (yych <= 0x08)
- goto yy1161;
+ goto yy1028;
if (yych <= '\n')
- goto yy1168;
+ goto yy1035;
if (yych == '\r')
- goto yy1168;
- goto yy1161;
+ goto yy1035;
+ goto yy1028;
}
}
@@ -18355,205 +16271,205 @@ bufsize_t _scan_setext_heading_line(const unsigned char *p) {
if (yych <= 0xC1) {
if (yych <= '-') {
if (yych == '\n')
- goto yy1179;
+ goto yy1046;
if (yych <= ',')
- goto yy1182;
- goto yy1181;
+ goto yy1049;
+ goto yy1048;
} else {
if (yych == '=')
- goto yy1180;
+ goto yy1047;
if (yych <= 0x7F)
- goto yy1182;
+ goto yy1049;
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
- goto yy1183;
+ goto yy1050;
if (yych <= 0xE0)
- goto yy1185;
+ goto yy1052;
if (yych <= 0xEC)
- goto yy1186;
- goto yy1190;
+ goto yy1053;
+ goto yy1057;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
- goto yy1186;
- goto yy1187;
+ goto yy1053;
+ goto yy1054;
} else {
if (yych <= 0xF3)
- goto yy1188;
+ goto yy1055;
if (yych <= 0xF4)
- goto yy1189;
+ goto yy1056;
}
}
}
- yy1179 : { return 0; }
- yy1180:
+ yy1046 : { return 0; }
+ yy1047:
yych = *(marker = ++p);
if (yybm[0 + yych] & 128) {
- goto yy1201;
+ goto yy1068;
}
if (yych <= '\f') {
if (yych <= 0x08)
- goto yy1179;
+ goto yy1046;
if (yych <= '\n')
- goto yy1198;
- goto yy1179;
+ goto yy1065;
+ goto yy1046;
} else {
if (yych <= '\r')
- goto yy1198;
+ goto yy1065;
if (yych == ' ')
- goto yy1198;
- goto yy1179;
+ goto yy1065;
+ goto yy1046;
}
- yy1181:
+ yy1048:
yych = *(marker = ++p);
if (yybm[0 + yych] & 64) {
- goto yy1195;
+ goto yy1062;
}
if (yych <= '\f') {
if (yych <= 0x08)
- goto yy1179;
+ goto yy1046;
if (yych <= '\n')
- goto yy1192;
- goto yy1179;
+ goto yy1059;
+ goto yy1046;
} else {
if (yych <= '\r')
- goto yy1192;
+ goto yy1059;
if (yych == ' ')
- goto yy1192;
- goto yy1179;
+ goto yy1059;
+ goto yy1046;
}
- yy1182:
+ yy1049:
yych = *++p;
- goto yy1179;
- yy1183:
+ goto yy1046;
+ yy1050:
yych = *++p;
if (yych <= 0x7F)
- goto yy1184;
+ goto yy1051;
if (yych <= 0xBF)
- goto yy1182;
- yy1184:
+ goto yy1049;
+ yy1051:
p = marker;
- goto yy1179;
- yy1185:
+ goto yy1046;
+ yy1052:
yych = *++p;
if (yych <= 0x9F)
- goto yy1184;
+ goto yy1051;
if (yych <= 0xBF)
- goto yy1183;
- goto yy1184;
- yy1186:
+ goto yy1050;
+ goto yy1051;
+ yy1053:
yych = *++p;
if (yych <= 0x7F)
- goto yy1184;
+ goto yy1051;
if (yych <= 0xBF)
- goto yy1183;
- goto yy1184;
- yy1187:
+ goto yy1050;
+ goto yy1051;
+ yy1054:
yych = *++p;
if (yych <= 0x8F)
- goto yy1184;
+ goto yy1051;
if (yych <= 0xBF)
- goto yy1186;
- goto yy1184;
- yy1188:
+ goto yy1053;
+ goto yy1051;
+ yy1055:
yych = *++p;
if (yych <= 0x7F)
- goto yy1184;
+ goto yy1051;
if (yych <= 0xBF)
- goto yy1186;
- goto yy1184;
- yy1189:
+ goto yy1053;
+ goto yy1051;
+ yy1056:
yych = *++p;
if (yych <= 0x7F)
- goto yy1184;
+ goto yy1051;
if (yych <= 0x8F)
- goto yy1186;
- goto yy1184;
- yy1190:
+ goto yy1053;
+ goto yy1051;
+ yy1057:
yych = *++p;
if (yych <= 0x7F)
- goto yy1184;
+ goto yy1051;
if (yych <= 0x9F)
- goto yy1183;
- goto yy1184;
- yy1191:
+ goto yy1050;
+ goto yy1051;
+ yy1058:
++p;
yych = *p;
- yy1192:
+ yy1059:
if (yybm[0 + yych] & 32) {
- goto yy1191;
+ goto yy1058;
}
if (yych <= 0x08)
- goto yy1184;
+ goto yy1051;
if (yych <= '\n')
- goto yy1193;
+ goto yy1060;
if (yych != '\r')
- goto yy1184;
- yy1193:
+ goto yy1051;
+ yy1060:
++p;
{ return 2; }
- yy1195:
+ yy1062:
++p;
yych = *p;
if (yybm[0 + yych] & 32) {
- goto yy1191;
+ goto yy1058;
}
if (yych <= '\f') {
if (yych <= 0x08)
- goto yy1184;
+ goto yy1051;
if (yych <= '\n')
- goto yy1193;
- goto yy1184;
+ goto yy1060;
+ goto yy1051;
} else {
if (yych <= '\r')
- goto yy1193;
+ goto yy1060;
if (yych == '-')
- goto yy1195;
- goto yy1184;
+ goto yy1062;
+ goto yy1051;
}
- yy1197:
+ yy1064:
++p;
yych = *p;
- yy1198:
+ yy1065:
if (yych <= '\f') {
if (yych <= 0x08)
- goto yy1184;
+ goto yy1051;
if (yych <= '\t')
- goto yy1197;
+ goto yy1064;
if (yych >= '\v')
- goto yy1184;
+ goto yy1051;
} else {
if (yych <= '\r')
- goto yy1199;
+ goto yy1066;
if (yych == ' ')
- goto yy1197;
- goto yy1184;
+ goto yy1064;
+ goto yy1051;
}
- yy1199:
+ yy1066:
++p;
{ return 1; }
- yy1201:
+ yy1068:
++p;
yych = *p;
if (yybm[0 + yych] & 128) {
- goto yy1201;
+ goto yy1068;
}
if (yych <= '\f') {
if (yych <= 0x08)
- goto yy1184;
+ goto yy1051;
if (yych <= '\t')
- goto yy1197;
+ goto yy1064;
if (yych <= '\n')
- goto yy1199;
- goto yy1184;
+ goto yy1066;
+ goto yy1051;
} else {
if (yych <= '\r')
- goto yy1199;
+ goto yy1066;
if (yych == ' ')
- goto yy1197;
- goto yy1184;
+ goto yy1064;
+ goto yy1051;
}
}
}
@@ -18586,331 +16502,331 @@ bufsize_t _scan_thematic_break(const unsigned char *p) {
if (yych <= 0x7F) {
if (yych <= '*') {
if (yych == '\n')
- goto yy1205;
+ goto yy1072;
if (yych <= ')')
- goto yy1209;
- goto yy1206;
+ goto yy1076;
+ goto yy1073;
} else {
if (yych <= '-') {
if (yych <= ',')
- goto yy1209;
- goto yy1208;
+ goto yy1076;
+ goto yy1075;
} else {
if (yych == '_')
- goto yy1207;
- goto yy1209;
+ goto yy1074;
+ goto yy1076;
}
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF) {
if (yych >= 0xC2)
- goto yy1210;
+ goto yy1077;
} else {
if (yych <= 0xE0)
- goto yy1212;
+ goto yy1079;
if (yych <= 0xEC)
- goto yy1213;
- goto yy1217;
+ goto yy1080;
+ goto yy1084;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
- goto yy1213;
- goto yy1214;
+ goto yy1080;
+ goto yy1081;
} else {
if (yych <= 0xF3)
- goto yy1215;
+ goto yy1082;
if (yych <= 0xF4)
- goto yy1216;
+ goto yy1083;
}
}
}
- yy1205 : { return 0; }
- yy1206:
+ yy1072 : { return 0; }
+ yy1073:
yych = *(marker = ++p);
if (yych <= 0x1F) {
if (yych == '\t')
- goto yy1238;
- goto yy1205;
+ goto yy1105;
+ goto yy1072;
} else {
if (yych <= ' ')
- goto yy1238;
+ goto yy1105;
if (yych == '*')
- goto yy1240;
- goto yy1205;
+ goto yy1107;
+ goto yy1072;
}
- yy1207:
+ yy1074:
yych = *(marker = ++p);
if (yych <= 0x1F) {
if (yych == '\t')
- goto yy1228;
- goto yy1205;
+ goto yy1095;
+ goto yy1072;
} else {
if (yych <= ' ')
- goto yy1228;
+ goto yy1095;
if (yych == '_')
- goto yy1230;
- goto yy1205;
+ goto yy1097;
+ goto yy1072;
}
- yy1208:
+ yy1075:
yych = *(marker = ++p);
if (yybm[0 + yych] & 16) {
- goto yy1218;
+ goto yy1085;
}
if (yych == '-')
- goto yy1220;
- goto yy1205;
- yy1209:
+ goto yy1087;
+ goto yy1072;
+ yy1076:
yych = *++p;
- goto yy1205;
- yy1210:
+ goto yy1072;
+ yy1077:
yych = *++p;
if (yych <= 0x7F)
- goto yy1211;
+ goto yy1078;
if (yych <= 0xBF)
- goto yy1209;
- yy1211:
+ goto yy1076;
+ yy1078:
p = marker;
- goto yy1205;
- yy1212:
+ goto yy1072;
+ yy1079:
yych = *++p;
if (yych <= 0x9F)
- goto yy1211;
+ goto yy1078;
if (yych <= 0xBF)
- goto yy1210;
- goto yy1211;
- yy1213:
+ goto yy1077;
+ goto yy1078;
+ yy1080:
yych = *++p;
if (yych <= 0x7F)
- goto yy1211;
+ goto yy1078;
if (yych <= 0xBF)
- goto yy1210;
- goto yy1211;
- yy1214:
+ goto yy1077;
+ goto yy1078;
+ yy1081:
yych = *++p;
if (yych <= 0x8F)
- goto yy1211;
+ goto yy1078;
if (yych <= 0xBF)
- goto yy1213;
- goto yy1211;
- yy1215:
+ goto yy1080;
+ goto yy1078;
+ yy1082:
yych = *++p;
if (yych <= 0x7F)
- goto yy1211;
+ goto yy1078;
if (yych <= 0xBF)
- goto yy1213;
- goto yy1211;
- yy1216:
+ goto yy1080;
+ goto yy1078;
+ yy1083:
yych = *++p;
if (yych <= 0x7F)
- goto yy1211;
+ goto yy1078;
if (yych <= 0x8F)
- goto yy1213;
- goto yy1211;
- yy1217:
+ goto yy1080;
+ goto yy1078;
+ yy1084:
yych = *++p;
if (yych <= 0x7F)
- goto yy1211;
+ goto yy1078;
if (yych <= 0x9F)
- goto yy1210;
- goto yy1211;
- yy1218:
+ goto yy1077;
+ goto yy1078;
+ yy1085:
++p;
yych = *p;
if (yybm[0 + yych] & 16) {
- goto yy1218;
+ goto yy1085;
}
if (yych != '-')
- goto yy1211;
- yy1220:
+ goto yy1078;
+ yy1087:
++p;
yych = *p;
if (yych <= 0x1F) {
if (yych == '\t')
- goto yy1220;
- goto yy1211;
+ goto yy1087;
+ goto yy1078;
} else {
if (yych <= ' ')
- goto yy1220;
+ goto yy1087;
if (yych != '-')
- goto yy1211;
+ goto yy1078;
}
- yy1222:
+ yy1089:
++p;
yych = *p;
if (yych <= '\r') {
if (yych <= '\t') {
if (yych <= 0x08)
- goto yy1211;
- goto yy1222;
+ goto yy1078;
+ goto yy1089;
} else {
if (yych <= '\n')
- goto yy1224;
+ goto yy1091;
if (yych <= '\f')
- goto yy1211;
+ goto yy1078;
}
} else {
if (yych <= ' ') {
if (yych <= 0x1F)
- goto yy1211;
- goto yy1222;
+ goto yy1078;
+ goto yy1089;
} else {
if (yych == '-')
- goto yy1226;
- goto yy1211;
+ goto yy1093;
+ goto yy1078;
}
}
- yy1224:
+ yy1091:
++p;
{ return (bufsize_t)(p - start); }
- yy1226:
+ yy1093:
++p;
yych = *p;
if (yybm[0 + yych] & 32) {
- goto yy1226;
+ goto yy1093;
}
if (yych <= 0x08)
- goto yy1211;
+ goto yy1078;
if (yych <= '\n')
- goto yy1224;
+ goto yy1091;
if (yych == '\r')
- goto yy1224;
- goto yy1211;
- yy1228:
+ goto yy1091;
+ goto yy1078;
+ yy1095:
++p;
yych = *p;
if (yych <= 0x1F) {
if (yych == '\t')
- goto yy1228;
- goto yy1211;
+ goto yy1095;
+ goto yy1078;
} else {
if (yych <= ' ')
- goto yy1228;
+ goto yy1095;
if (yych != '_')
- goto yy1211;
+ goto yy1078;
}
- yy1230:
+ yy1097:
++p;
yych = *p;
if (yych <= 0x1F) {
if (yych == '\t')
- goto yy1230;
- goto yy1211;
+ goto yy1097;
+ goto yy1078;
} else {
if (yych <= ' ')
- goto yy1230;
+ goto yy1097;
if (yych != '_')
- goto yy1211;
+ goto yy1078;
}
- yy1232:
+ yy1099:
++p;
yych = *p;
if (yych <= '\r') {
if (yych <= '\t') {
if (yych <= 0x08)
- goto yy1211;
- goto yy1232;
+ goto yy1078;
+ goto yy1099;
} else {
if (yych <= '\n')
- goto yy1234;
+ goto yy1101;
if (yych <= '\f')
- goto yy1211;
+ goto yy1078;
}
} else {
if (yych <= ' ') {
if (yych <= 0x1F)
- goto yy1211;
- goto yy1232;
+ goto yy1078;
+ goto yy1099;
} else {
if (yych == '_')
- goto yy1236;
- goto yy1211;
+ goto yy1103;
+ goto yy1078;
}
}
- yy1234:
+ yy1101:
++p;
{ return (bufsize_t)(p - start); }
- yy1236:
+ yy1103:
++p;
yych = *p;
if (yybm[0 + yych] & 64) {
- goto yy1236;
+ goto yy1103;
}
if (yych <= 0x08)
- goto yy1211;
+ goto yy1078;
if (yych <= '\n')
- goto yy1234;
+ goto yy1101;
if (yych == '\r')
- goto yy1234;
- goto yy1211;
- yy1238:
+ goto yy1101;
+ goto yy1078;
+ yy1105:
++p;
yych = *p;
if (yych <= 0x1F) {
if (yych == '\t')
- goto yy1238;
- goto yy1211;
+ goto yy1105;
+ goto yy1078;
} else {
if (yych <= ' ')
- goto yy1238;
+ goto yy1105;
if (yych != '*')
- goto yy1211;
+ goto yy1078;
}
- yy1240:
+ yy1107:
++p;
yych = *p;
if (yych <= 0x1F) {
if (yych == '\t')
- goto yy1240;
- goto yy1211;
+ goto yy1107;
+ goto yy1078;
} else {
if (yych <= ' ')
- goto yy1240;
+ goto yy1107;
if (yych != '*')
- goto yy1211;
+ goto yy1078;
}
- yy1242:
+ yy1109:
++p;
yych = *p;
if (yych <= '\r') {
if (yych <= '\t') {
if (yych <= 0x08)
- goto yy1211;
- goto yy1242;
+ goto yy1078;
+ goto yy1109;
} else {
if (yych <= '\n')
- goto yy1244;
+ goto yy1111;
if (yych <= '\f')
- goto yy1211;
+ goto yy1078;
}
} else {
if (yych <= ' ') {
if (yych <= 0x1F)
- goto yy1211;
- goto yy1242;
+ goto yy1078;
+ goto yy1109;
} else {
if (yych == '*')
- goto yy1246;
- goto yy1211;
+ goto yy1113;
+ goto yy1078;
}
}
- yy1244:
+ yy1111:
++p;
{ return (bufsize_t)(p - start); }
- yy1246:
+ yy1113:
++p;
yych = *p;
if (yybm[0 + yych] & 128) {
- goto yy1246;
+ goto yy1113;
}
if (yych <= 0x08)
- goto yy1211;
+ goto yy1078;
if (yych <= '\n')
- goto yy1244;
+ goto yy1111;
if (yych == '\r')
- goto yy1244;
- goto yy1211;
+ goto yy1111;
+ goto yy1078;
}
}
@@ -18946,374 +16862,374 @@ bufsize_t _scan_open_code_fence(const unsigned char *p) {
if (yych <= 0xC1) {
if (yych <= '`') {
if (yych == '\n')
- goto yy1250;
+ goto yy1117;
if (yych <= '_')
- goto yy1253;
- goto yy1251;
+ goto yy1120;
+ goto yy1118;
} else {
if (yych == '~')
- goto yy1252;
+ goto yy1119;
if (yych <= 0x7F)
- goto yy1253;
+ goto yy1120;
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
- goto yy1254;
+ goto yy1121;
if (yych <= 0xE0)
- goto yy1256;
+ goto yy1123;
if (yych <= 0xEC)
- goto yy1257;
- goto yy1261;
+ goto yy1124;
+ goto yy1128;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
- goto yy1257;
- goto yy1258;
+ goto yy1124;
+ goto yy1125;
} else {
if (yych <= 0xF3)
- goto yy1259;
+ goto yy1126;
if (yych <= 0xF4)
- goto yy1260;
+ goto yy1127;
}
}
}
- yy1250 : { return 0; }
- yy1251:
+ yy1117 : { return 0; }
+ yy1118:
yych = *(marker = ++p);
if (yych == '`')
- goto yy1276;
- goto yy1250;
- yy1252:
+ goto yy1143;
+ goto yy1117;
+ yy1119:
yych = *(marker = ++p);
if (yych == '~')
- goto yy1262;
- goto yy1250;
- yy1253:
+ goto yy1129;
+ goto yy1117;
+ yy1120:
yych = *++p;
- goto yy1250;
- yy1254:
+ goto yy1117;
+ yy1121:
yych = *++p;
if (yych <= 0x7F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0xBF)
- goto yy1253;
- yy1255:
+ goto yy1120;
+ yy1122:
p = marker;
- goto yy1250;
- yy1256:
+ goto yy1117;
+ yy1123:
yych = *++p;
if (yych <= 0x9F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0xBF)
- goto yy1254;
- goto yy1255;
- yy1257:
+ goto yy1121;
+ goto yy1122;
+ yy1124:
yych = *++p;
if (yych <= 0x7F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0xBF)
- goto yy1254;
- goto yy1255;
- yy1258:
+ goto yy1121;
+ goto yy1122;
+ yy1125:
yych = *++p;
if (yych <= 0x8F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0xBF)
- goto yy1257;
- goto yy1255;
- yy1259:
+ goto yy1124;
+ goto yy1122;
+ yy1126:
yych = *++p;
if (yych <= 0x7F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0xBF)
- goto yy1257;
- goto yy1255;
- yy1260:
+ goto yy1124;
+ goto yy1122;
+ yy1127:
yych = *++p;
if (yych <= 0x7F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0x8F)
- goto yy1257;
- goto yy1255;
- yy1261:
+ goto yy1124;
+ goto yy1122;
+ yy1128:
yych = *++p;
if (yych <= 0x7F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0x9F)
- goto yy1254;
- goto yy1255;
- yy1262:
+ goto yy1121;
+ goto yy1122;
+ yy1129:
yych = *++p;
if (yybm[0 + yych] & 16) {
- goto yy1263;
+ goto yy1130;
}
- goto yy1255;
- yy1263:
+ goto yy1122;
+ yy1130:
++p;
yych = *p;
marker = p;
if (yybm[0 + yych] & 32) {
- goto yy1265;
+ goto yy1132;
}
if (yych <= 0xE0) {
if (yych <= '~') {
if (yych <= 0x00)
- goto yy1255;
+ goto yy1122;
if (yych <= '\r')
- goto yy1274;
- goto yy1263;
+ goto yy1141;
+ goto yy1130;
} else {
if (yych <= 0xC1)
- goto yy1255;
+ goto yy1122;
if (yych <= 0xDF)
- goto yy1267;
- goto yy1268;
+ goto yy1134;
+ goto yy1135;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
- goto yy1273;
- goto yy1269;
+ goto yy1140;
+ goto yy1136;
} else {
if (yych <= 0xF0)
- goto yy1270;
+ goto yy1137;
if (yych <= 0xF3)
- goto yy1271;
+ goto yy1138;
if (yych <= 0xF4)
- goto yy1272;
- goto yy1255;
+ goto yy1139;
+ goto yy1122;
}
}
- yy1265:
+ yy1132:
++p;
yych = *p;
if (yybm[0 + yych] & 32) {
- goto yy1265;
+ goto yy1132;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 0x00)
- goto yy1255;
+ goto yy1122;
if (yych <= '\r')
- goto yy1274;
- goto yy1255;
+ goto yy1141;
+ goto yy1122;
} else {
if (yych <= 0xDF)
- goto yy1267;
+ goto yy1134;
if (yych <= 0xE0)
- goto yy1268;
- goto yy1269;
+ goto yy1135;
+ goto yy1136;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
- goto yy1273;
+ goto yy1140;
if (yych <= 0xEF)
- goto yy1269;
- goto yy1270;
+ goto yy1136;
+ goto yy1137;
} else {
if (yych <= 0xF3)
- goto yy1271;
+ goto yy1138;
if (yych <= 0xF4)
- goto yy1272;
- goto yy1255;
+ goto yy1139;
+ goto yy1122;
}
}
- yy1267:
+ yy1134:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0xBF)
- goto yy1265;
- goto yy1255;
- yy1268:
+ goto yy1132;
+ goto yy1122;
+ yy1135:
++p;
yych = *p;
if (yych <= 0x9F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0xBF)
- goto yy1267;
- goto yy1255;
- yy1269:
+ goto yy1134;
+ goto yy1122;
+ yy1136:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0xBF)
- goto yy1267;
- goto yy1255;
- yy1270:
+ goto yy1134;
+ goto yy1122;
+ yy1137:
++p;
yych = *p;
if (yych <= 0x8F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0xBF)
- goto yy1269;
- goto yy1255;
- yy1271:
+ goto yy1136;
+ goto yy1122;
+ yy1138:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0xBF)
- goto yy1269;
- goto yy1255;
- yy1272:
+ goto yy1136;
+ goto yy1122;
+ yy1139:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0x8F)
- goto yy1269;
- goto yy1255;
- yy1273:
+ goto yy1136;
+ goto yy1122;
+ yy1140:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0x9F)
- goto yy1267;
- goto yy1255;
- yy1274:
+ goto yy1134;
+ goto yy1122;
+ yy1141:
++p;
p = marker;
{ return (bufsize_t)(p - start); }
- yy1276:
+ yy1143:
yych = *++p;
if (yybm[0 + yych] & 64) {
- goto yy1277;
+ goto yy1144;
}
- goto yy1255;
- yy1277:
+ goto yy1122;
+ yy1144:
++p;
yych = *p;
marker = p;
if (yybm[0 + yych] & 128) {
- goto yy1279;
+ goto yy1146;
}
if (yych <= 0xE0) {
if (yych <= '`') {
if (yych <= 0x00)
- goto yy1255;
+ goto yy1122;
if (yych <= '\r')
- goto yy1288;
- goto yy1277;
+ goto yy1155;
+ goto yy1144;
} else {
if (yych <= 0xC1)
- goto yy1255;
+ goto yy1122;
if (yych <= 0xDF)
- goto yy1281;
- goto yy1282;
+ goto yy1148;
+ goto yy1149;
}
} else {
if (yych <= 0xEF) {
if (yych == 0xED)
- goto yy1287;
- goto yy1283;
+ goto yy1154;
+ goto yy1150;
} else {
if (yych <= 0xF0)
- goto yy1284;
+ goto yy1151;
if (yych <= 0xF3)
- goto yy1285;
+ goto yy1152;
if (yych <= 0xF4)
- goto yy1286;
- goto yy1255;
+ goto yy1153;
+ goto yy1122;
}
}
- yy1279:
+ yy1146:
++p;
yych = *p;
if (yybm[0 + yych] & 128) {
- goto yy1279;
+ goto yy1146;
}
if (yych <= 0xEC) {
if (yych <= 0xC1) {
if (yych <= 0x00)
- goto yy1255;
+ goto yy1122;
if (yych <= '\r')
- goto yy1288;
- goto yy1255;
+ goto yy1155;
+ goto yy1122;
} else {
if (yych <= 0xDF)
- goto yy1281;
+ goto yy1148;
if (yych <= 0xE0)
- goto yy1282;
- goto yy1283;
+ goto yy1149;
+ goto yy1150;
}
} else {
if (yych <= 0xF0) {
if (yych <= 0xED)
- goto yy1287;
+ goto yy1154;
if (yych <= 0xEF)
- goto yy1283;
- goto yy1284;
+ goto yy1150;
+ goto yy1151;
} else {
if (yych <= 0xF3)
- goto yy1285;
+ goto yy1152;
if (yych <= 0xF4)
- goto yy1286;
- goto yy1255;
+ goto yy1153;
+ goto yy1122;
}
}
- yy1281:
+ yy1148:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0xBF)
- goto yy1279;
- goto yy1255;
- yy1282:
+ goto yy1146;
+ goto yy1122;
+ yy1149:
++p;
yych = *p;
if (yych <= 0x9F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0xBF)
- goto yy1281;
- goto yy1255;
- yy1283:
+ goto yy1148;
+ goto yy1122;
+ yy1150:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0xBF)
- goto yy1281;
- goto yy1255;
- yy1284:
+ goto yy1148;
+ goto yy1122;
+ yy1151:
++p;
yych = *p;
if (yych <= 0x8F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0xBF)
- goto yy1283;
- goto yy1255;
- yy1285:
+ goto yy1150;
+ goto yy1122;
+ yy1152:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0xBF)
- goto yy1283;
- goto yy1255;
- yy1286:
+ goto yy1150;
+ goto yy1122;
+ yy1153:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0x8F)
- goto yy1283;
- goto yy1255;
- yy1287:
+ goto yy1150;
+ goto yy1122;
+ yy1154:
++p;
yych = *p;
if (yych <= 0x7F)
- goto yy1255;
+ goto yy1122;
if (yych <= 0x9F)
- goto yy1281;
- goto yy1255;
- yy1288:
+ goto yy1148;
+ goto yy1122;
+ yy1155:
++p;
p = marker;
{ return (bufsize_t)(p - start); }
@@ -19345,190 +17261,190 @@ bufsize_t _scan_close_code_fence(const unsigned char *p) {
if (yych <= 0xC1) {
if (yych <= '`') {
if (yych == '\n')
- goto yy1292;
+ goto yy1159;
if (yych <= '_')
- goto yy1295;
- goto yy1293;
+ goto yy1162;
+ goto yy1160;
} else {
if (yych == '~')
- goto yy1294;
+ goto yy1161;
if (yych <= 0x7F)
- goto yy1295;
+ goto yy1162;
}
} else {
if (yych <= 0xED) {
if (yych <= 0xDF)
- goto yy1296;
+ goto yy1163;
if (yych <= 0xE0)
- goto yy1298;
+ goto yy1165;
if (yych <= 0xEC)
- goto yy1299;
- goto yy1303;
+ goto yy1166;
+ goto yy1170;
} else {
if (yych <= 0xF0) {
if (yych <= 0xEF)
- goto yy1299;
- goto yy1300;
+ goto yy1166;
+ goto yy1167;
} else {
if (yych <= 0xF3)
- goto yy1301;
+ goto yy1168;
if (yych <= 0xF4)
- goto yy1302;
+ goto yy1169;
}
}
}
- yy1292 : { return 0; }
- yy1293:
+ yy1159 : { return 0; }
+ yy1160:
yych = *(marker = ++p);
if (yych == '`')
- goto yy1311;
- goto yy1292;
- yy1294:
+ goto yy1178;
+ goto yy1159;
+ yy1161:
yych = *(marker = ++p);
if (yych == '~')
- goto yy1304;
- goto yy1292;
- yy1295:
+ goto yy1171;
+ goto yy1159;
+ yy1162:
yych = *++p;
- goto yy1292;
- yy1296:
+ goto yy1159;
+ yy1163:
yych = *++p;
if (yych <= 0x7F)
- goto yy1297;
+ goto yy1164;
if (yych <= 0xBF)
- goto yy1295;
- yy1297:
+ goto yy1162;
+ yy1164:
p = marker;
- goto yy1292;
- yy1298:
+ goto yy1159;
+ yy1165:
yych = *++p;
if (yych <= 0x9F)
- goto yy1297;
+ goto yy1164;
if (yych <= 0xBF)
- goto yy1296;
- goto yy1297;
- yy1299:
+ goto yy1163;
+ goto yy1164;
+ yy1166:
yych = *++p;
if (yych <= 0x7F)
- goto yy1297;
+ goto yy1164;
if (yych <= 0xBF)
- goto yy1296;
- goto yy1297;
- yy1300:
+ goto yy1163;
+ goto yy1164;
+ yy1167:
yych = *++p;
if (yych <= 0x8F)
- goto yy1297;
+ goto yy1164;
if (yych <= 0xBF)
- goto yy1299;
- goto yy1297;
- yy1301:
+ goto yy1166;
+ goto yy1164;
+ yy1168:
yych = *++p;
if (yych <= 0x7F)
- goto yy1297;
+ goto yy1164;
if (yych <= 0xBF)
- goto yy1299;
- goto yy1297;
- yy1302:
+ goto yy1166;
+ goto yy1164;
+ yy1169:
yych = *++p;
if (yych <= 0x7F)
- goto yy1297;
+ goto yy1164;
if (yych <= 0x8F)
- goto yy1299;
- goto yy1297;
- yy1303:
+ goto yy1166;
+ goto yy1164;
+ yy1170:
yych = *++p;
if (yych <= 0x7F)
- goto yy1297;
+ goto yy1164;
if (yych <= 0x9F)
- goto yy1296;
- goto yy1297;
- yy1304:
+ goto yy1163;
+ goto yy1164;
+ yy1171:
yych = *++p;
if (yybm[0 + yych] & 32) {
- goto yy1305;
+ goto yy1172;
}
- goto yy1297;
- yy1305:
+ goto yy1164;
+ yy1172:
++p;
yych = *p;
marker = p;
if (yybm[0 + yych] & 64) {
- goto yy1307;
+ goto yy1174;
}
if (yych <= '\f') {
if (yych <= 0x08)
- goto yy1297;
+ goto yy1164;
if (yych <= '\n')
- goto yy1309;
- goto yy1297;
+ goto yy1176;
+ goto yy1164;
} else {
if (yych <= '\r')
- goto yy1309;
+ goto yy1176;
if (yych == '~')
- goto yy1305;
- goto yy1297;
+ goto yy1172;
+ goto yy1164;
}
- yy1307:
+ yy1174:
++p;
yych = *p;
if (yybm[0 + yych] & 64) {
- goto yy1307;
+ goto yy1174;
}
if (yych <= 0x08)
- goto yy1297;
+ goto yy1164;
if (yych <= '\n')
- goto yy1309;
+ goto yy1176;
if (yych != '\r')
- goto yy1297;
- yy1309:
+ goto yy1164;
+ yy1176:
++p;
p = marker;
{ return (bufsize_t)(p - start); }
- yy1311:
+ yy1178:
yych = *++p;
if (yybm[0 + yych] & 128) {
- goto yy1312;
+ goto yy1179;
}
- goto yy1297;
- yy1312:
+ goto yy1164;
+ yy1179:
++p;
yych = *p;
marker = p;
if (yybm[0 + yych] & 128) {
- goto yy1312;
+ goto yy1179;
}
if (yych <= '\f') {
if (yych <= 0x08)
- goto yy1297;
+ goto yy1164;
if (yych <= '\t')
- goto yy1314;
+ goto yy1181;
if (yych <= '\n')
- goto yy1316;
- goto yy1297;
+ goto yy1183;
+ goto yy1164;
} else {
if (yych <= '\r')
- goto yy1316;
+ goto yy1183;
if (yych != ' ')
- goto yy1297;
+ goto yy1164;
}
- yy1314:
+ yy1181:
++p;
yych = *p;
if (yych <= '\f') {
if (yych <= 0x08)
- goto yy1297;
+ goto yy1164;
if (yych <= '\t')
- goto yy1314;
+ goto yy1181;
if (yych >= '\v')
- goto yy1297;
+ goto yy1164;
} else {
if (yych <= '\r')
- goto yy1316;
+ goto yy1183;
if (yych == ' ')
- goto yy1314;
- goto yy1297;
+ goto yy1181;
+ goto yy1164;
}
- yy1316:
+ yy1183:
++p;
p = marker;
{ return (bufsize_t)(p - start); }
@@ -19547,997 +17463,997 @@ bufsize_t _scan_entity(const unsigned char *p) {
if (yych <= 0xDF) {
if (yych <= '%') {
if (yych != '\n')
- goto yy1322;
+ goto yy1189;
} else {
if (yych <= '&')
- goto yy1321;
+ goto yy1188;
if (yych <= 0x7F)
- goto yy1322;
+ goto yy1189;
if (yych >= 0xC2)
- goto yy1323;
+ goto yy1190;
}
} else {
if (yych <= 0xEF) {
if (yych <= 0xE0)
- goto yy1325;
+ goto yy1192;
if (yych == 0xED)
- goto yy1330;
- goto yy1326;
+ goto yy1197;
+ goto yy1193;
} else {
if (yych <= 0xF0)
- goto yy1327;
+ goto yy1194;
if (yych <= 0xF3)
- goto yy1328;
+ goto yy1195;
if (yych <= 0xF4)
- goto yy1329;
+ goto yy1196;
}
}
- yy1320 : { return 0; }
- yy1321:
+ yy1187 : { return 0; }
+ yy1188:
yych = *(marker = ++p);
if (yych <= '@') {
if (yych == '#')
- goto yy1331;
- goto yy1320;
+ goto yy1198;
+ goto yy1187;
} else {
if (yych <= 'Z')
- goto yy1332;
+ goto yy1199;
if (yych <= '`')
- goto yy1320;
+ goto yy1187;
if (yych <= 'z')
- goto yy1332;
- goto yy1320;
+ goto yy1199;
+ goto yy1187;
}
- yy1322:
+ yy1189:
yych = *++p;
- goto yy1320;
- yy1323:
+ goto yy1187;
+ yy1190:
yych = *++p;
if (yych <= 0x7F)
- goto yy1324;
+ goto yy1191;
if (yych <= 0xBF)
- goto yy1322;
- yy1324:
+ goto yy1189;
+ yy1191:
p = marker;
- goto yy1320;
- yy1325:
+ goto yy1187;
+ yy1192:
yych = *++p;
if (yych <= 0x9F)
- goto yy1324;
+ goto yy1191;
if (yych <= 0xBF)
- goto yy1323;
- goto yy1324;
- yy1326:
+ goto yy1190;
+ goto yy1191;
+ yy1193:
yych = *++p;
if (yych <= 0x7F)
- goto yy1324;
+ goto yy1191;
if (yych <= 0xBF)
- goto yy1323;
- goto yy1324;
- yy1327:
+ goto yy1190;
+ goto yy1191;
+ yy1194:
yych = *++p;
if (yych <= 0x8F)
- goto yy1324;
+ goto yy1191;
if (yych <= 0xBF)
- goto yy1326;
- goto yy1324;
- yy1328:
+ goto yy1193;
+ goto yy1191;
+ yy1195:
yych = *++p;
if (yych <= 0x7F)
- goto yy1324;
+ goto yy1191;
if (yych <= 0xBF)
- goto yy1326;
- goto yy1324;
- yy1329:
+ goto yy1193;
+ goto yy1191;
+ yy1196:
yych = *++p;
if (yych <= 0x7F)
- goto yy1324;
+ goto yy1191;
if (yych <= 0x8F)
- goto yy1326;
- goto yy1324;
- yy1330:
+ goto yy1193;
+ goto yy1191;
+ yy1197:
yych = *++p;
if (yych <= 0x7F)
- goto yy1324;
+ goto yy1191;
if (yych <= 0x9F)
- goto yy1323;
- goto yy1324;
- yy1331:
+ goto yy1190;
+ goto yy1191;
+ yy1198:
yych = *++p;
if (yych <= 'W') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1367;
- goto yy1324;
+ goto yy1234;
+ goto yy1191;
} else {
if (yych <= 'X')
- goto yy1366;
+ goto yy1233;
if (yych == 'x')
- goto yy1366;
- goto yy1324;
+ goto yy1233;
+ goto yy1191;
}
- yy1332:
+ yy1199:
yych = *++p;
if (yych <= '@') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych >= ':')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= 'Z')
- goto yy1333;
+ goto yy1200;
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
- yy1333:
+ yy1200:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1336;
+ goto yy1203;
if (yych <= ':')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
- goto yy1336;
+ goto yy1191;
+ goto yy1203;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych <= 'z')
- goto yy1336;
- goto yy1324;
+ goto yy1203;
+ goto yy1191;
}
}
- yy1334:
+ yy1201:
++p;
{ return (bufsize_t)(p - start); }
- yy1336:
+ yy1203:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1337;
+ goto yy1204;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1337:
+ yy1204:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1338;
+ goto yy1205;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1338:
+ yy1205:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1339;
+ goto yy1206;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1339:
+ yy1206:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1340;
+ goto yy1207;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1340:
+ yy1207:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1341;
+ goto yy1208;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1341:
+ yy1208:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1342;
+ goto yy1209;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1342:
+ yy1209:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1343;
+ goto yy1210;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1343:
+ yy1210:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1344;
+ goto yy1211;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1344:
+ yy1211:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1345;
+ goto yy1212;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1345:
+ yy1212:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1346;
+ goto yy1213;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1346:
+ yy1213:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1347;
+ goto yy1214;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1347:
+ yy1214:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1348;
+ goto yy1215;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1348:
+ yy1215:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1349;
+ goto yy1216;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1349:
+ yy1216:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1350;
+ goto yy1217;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1350:
+ yy1217:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1351;
+ goto yy1218;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1351:
+ yy1218:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1352;
+ goto yy1219;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1352:
+ yy1219:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1353;
+ goto yy1220;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1353:
+ yy1220:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1354;
+ goto yy1221;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1354:
+ yy1221:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1355;
+ goto yy1222;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1355:
+ yy1222:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1356;
+ goto yy1223;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1356:
+ yy1223:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1357;
+ goto yy1224;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1357:
+ yy1224:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1358;
+ goto yy1225;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1358:
+ yy1225:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1359;
+ goto yy1226;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1359:
+ yy1226:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1360;
+ goto yy1227;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1360:
+ yy1227:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1361;
+ goto yy1228;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1361:
+ yy1228:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1362;
+ goto yy1229;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1362:
+ yy1229:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1363;
+ goto yy1230;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1363:
+ yy1230:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1364;
+ goto yy1231;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1364:
+ yy1231:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1365;
+ goto yy1232;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'Z') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= '{')
- goto yy1324;
+ goto yy1191;
}
}
- yy1365:
+ yy1232:
yych = *++p;
if (yych == ';')
- goto yy1334;
- goto yy1324;
- yy1366:
+ goto yy1201;
+ goto yy1191;
+ yy1233:
yych = *++p;
if (yych <= '@') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1374;
- goto yy1324;
+ goto yy1241;
+ goto yy1191;
} else {
if (yych <= 'F')
- goto yy1374;
+ goto yy1241;
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych <= 'f')
- goto yy1374;
- goto yy1324;
+ goto yy1241;
+ goto yy1191;
}
- yy1367:
+ yy1234:
yych = *++p;
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1368;
+ goto yy1235;
if (yych == ';')
- goto yy1334;
- goto yy1324;
- yy1368:
+ goto yy1201;
+ goto yy1191;
+ yy1235:
yych = *++p;
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1369;
+ goto yy1236;
if (yych == ';')
- goto yy1334;
- goto yy1324;
- yy1369:
+ goto yy1201;
+ goto yy1191;
+ yy1236:
yych = *++p;
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1370;
+ goto yy1237;
if (yych == ';')
- goto yy1334;
- goto yy1324;
- yy1370:
+ goto yy1201;
+ goto yy1191;
+ yy1237:
yych = *++p;
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1371;
+ goto yy1238;
if (yych == ';')
- goto yy1334;
- goto yy1324;
- yy1371:
+ goto yy1201;
+ goto yy1191;
+ yy1238:
yych = *++p;
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1372;
+ goto yy1239;
if (yych == ';')
- goto yy1334;
- goto yy1324;
- yy1372:
+ goto yy1201;
+ goto yy1191;
+ yy1239:
yych = *++p;
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1373;
+ goto yy1240;
if (yych == ';')
- goto yy1334;
- goto yy1324;
- yy1373:
+ goto yy1201;
+ goto yy1191;
+ yy1240:
yych = *++p;
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1365;
+ goto yy1232;
if (yych == ';')
- goto yy1334;
- goto yy1324;
- yy1374:
+ goto yy1201;
+ goto yy1191;
+ yy1241:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1375;
+ goto yy1242;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'F') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= 'g')
- goto yy1324;
+ goto yy1191;
}
}
- yy1375:
+ yy1242:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1376;
+ goto yy1243;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'F') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= 'g')
- goto yy1324;
+ goto yy1191;
}
}
- yy1376:
+ yy1243:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1377;
+ goto yy1244;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'F') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= 'g')
- goto yy1324;
+ goto yy1191;
}
}
- yy1377:
+ yy1244:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1378;
+ goto yy1245;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'F') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= 'g')
- goto yy1324;
+ goto yy1191;
}
}
- yy1378:
+ yy1245:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1379;
+ goto yy1246;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'F') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= 'g')
- goto yy1324;
+ goto yy1191;
}
}
- yy1379:
+ yy1246:
yych = *++p;
if (yych <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1380;
+ goto yy1247;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'F') {
if (yych <= '@')
- goto yy1324;
+ goto yy1191;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych >= 'g')
- goto yy1324;
+ goto yy1191;
}
}
- yy1380:
+ yy1247:
++p;
if ((yych = *p) <= ';') {
if (yych <= '/')
- goto yy1324;
+ goto yy1191;
if (yych <= '9')
- goto yy1365;
+ goto yy1232;
if (yych <= ':')
- goto yy1324;
- goto yy1334;
+ goto yy1191;
+ goto yy1201;
} else {
if (yych <= 'F') {
if (yych <= '@')
- goto yy1324;
- goto yy1365;
+ goto yy1191;
+ goto yy1232;
} else {
if (yych <= '`')
- goto yy1324;
+ goto yy1191;
if (yych <= 'f')
- goto yy1365;
- goto yy1324;
+ goto yy1232;
+ goto yy1191;
}
}
}
@@ -20557,415 +18473,415 @@ bufsize_t _scan_dangerous_url(const unsigned char *p) {
if (yych <= 'I') {
if (yych <= 'C') {
if (yych != '\n')
- goto yy1388;
+ goto yy1255;
} else {
if (yych <= 'D')
- goto yy1384;
+ goto yy1251;
if (yych == 'F')
- goto yy1387;
- goto yy1388;
+ goto yy1254;
+ goto yy1255;
}
} else {
if (yych <= 'V') {
if (yych <= 'J')
- goto yy1385;
+ goto yy1252;
if (yych <= 'U')
- goto yy1388;
- goto yy1386;
+ goto yy1255;
+ goto yy1253;
} else {
if (yych == 'd')
- goto yy1384;
+ goto yy1251;
if (yych <= 'e')
- goto yy1388;
- goto yy1387;
+ goto yy1255;
+ goto yy1254;
}
}
} else {
if (yych <= 0xDF) {
if (yych <= 'u') {
if (yych == 'j')
- goto yy1385;
- goto yy1388;
+ goto yy1252;
+ goto yy1255;
} else {
if (yych <= 'v')
- goto yy1386;
+ goto yy1253;
if (yych <= 0x7F)
- goto yy1388;
+ goto yy1255;
if (yych >= 0xC2)
- goto yy1389;
+ goto yy1256;
}
} else {
if (yych <= 0xEF) {
if (yych <= 0xE0)
- goto yy1391;
+ goto yy1258;
if (yych == 0xED)
- goto yy1396;
- goto yy1392;
+ goto yy1263;
+ goto yy1259;
} else {
if (yych <= 0xF0)
- goto yy1393;
+ goto yy1260;
if (yych <= 0xF3)
- goto yy1394;
+ goto yy1261;
if (yych <= 0xF4)
- goto yy1395;
+ goto yy1262;
}
}
}
- yy1383 : { return 0; }
- yy1384:
+ yy1250 : { return 0; }
+ yy1251:
yyaccept = 0;
yych = *(marker = ++p);
if (yych == 'A')
- goto yy1418;
+ goto yy1285;
if (yych == 'a')
- goto yy1418;
- goto yy1383;
- yy1385:
+ goto yy1285;
+ goto yy1250;
+ yy1252:
yyaccept = 0;
yych = *(marker = ++p);
if (yych == 'A')
- goto yy1409;
+ goto yy1276;
if (yych == 'a')
- goto yy1409;
- goto yy1383;
- yy1386:
+ goto yy1276;
+ goto yy1250;
+ yy1253:
yyaccept = 0;
yych = *(marker = ++p);
if (yych == 'B')
- goto yy1402;
+ goto yy1269;
if (yych == 'b')
- goto yy1402;
- goto yy1383;
- yy1387:
+ goto yy1269;
+ goto yy1250;
+ yy1254:
yyaccept = 0;
yych = *(marker = ++p);
if (yych == 'I')
- goto yy1397;
+ goto yy1264;
if (yych == 'i')
- goto yy1397;
- goto yy1383;
- yy1388:
+ goto yy1264;
+ goto yy1250;
+ yy1255:
yych = *++p;
- goto yy1383;
- yy1389:
+ goto yy1250;
+ yy1256:
yych = *++p;
if (yych <= 0x7F)
- goto yy1390;
+ goto yy1257;
if (yych <= 0xBF)
- goto yy1388;
- yy1390:
+ goto yy1255;
+ yy1257:
p = marker;
if (yyaccept == 0) {
- goto yy1383;
+ goto yy1250;
} else {
- goto yy1401;
+ goto yy1268;
}
- yy1391:
+ yy1258:
yych = *++p;
if (yych <= 0x9F)
- goto yy1390;
+ goto yy1257;
if (yych <= 0xBF)
- goto yy1389;
- goto yy1390;
- yy1392:
+ goto yy1256;
+ goto yy1257;
+ yy1259:
yych = *++p;
if (yych <= 0x7F)
- goto yy1390;
+ goto yy1257;
if (yych <= 0xBF)
- goto yy1389;
- goto yy1390;
- yy1393:
+ goto yy1256;
+ goto yy1257;
+ yy1260:
yych = *++p;
if (yych <= 0x8F)
- goto yy1390;
+ goto yy1257;
if (yych <= 0xBF)
- goto yy1392;
- goto yy1390;
- yy1394:
+ goto yy1259;
+ goto yy1257;
+ yy1261:
yych = *++p;
if (yych <= 0x7F)
- goto yy1390;
+ goto yy1257;
if (yych <= 0xBF)
- goto yy1392;
- goto yy1390;
- yy1395:
+ goto yy1259;
+ goto yy1257;
+ yy1262:
yych = *++p;
if (yych <= 0x7F)
- goto yy1390;
+ goto yy1257;
if (yych <= 0x8F)
- goto yy1392;
- goto yy1390;
- yy1396:
+ goto yy1259;
+ goto yy1257;
+ yy1263:
yych = *++p;
if (yych <= 0x7F)
- goto yy1390;
+ goto yy1257;
if (yych <= 0x9F)
- goto yy1389;
- goto yy1390;
- yy1397:
+ goto yy1256;
+ goto yy1257;
+ yy1264:
yych = *++p;
if (yych == 'L')
- goto yy1398;
+ goto yy1265;
if (yych != 'l')
- goto yy1390;
- yy1398:
+ goto yy1257;
+ yy1265:
yych = *++p;
if (yych == 'E')
- goto yy1399;
+ goto yy1266;
if (yych != 'e')
- goto yy1390;
- yy1399:
+ goto yy1257;
+ yy1266:
yych = *++p;
if (yych != ':')
- goto yy1390;
- yy1400:
+ goto yy1257;
+ yy1267:
++p;
- yy1401 : { return (bufsize_t)(p - start); }
- yy1402:
+ yy1268 : { return (bufsize_t)(p - start); }
+ yy1269:
yych = *++p;
if (yych == 'S')
- goto yy1403;
+ goto yy1270;
if (yych != 's')
- goto yy1390;
- yy1403:
+ goto yy1257;
+ yy1270:
yych = *++p;
if (yych == 'C')
- goto yy1404;
+ goto yy1271;
if (yych != 'c')
- goto yy1390;
- yy1404:
+ goto yy1257;
+ yy1271:
yych = *++p;
if (yych == 'R')
- goto yy1405;
+ goto yy1272;
if (yych != 'r')
- goto yy1390;
- yy1405:
+ goto yy1257;
+ yy1272:
yych = *++p;
if (yych == 'I')
- goto yy1406;
+ goto yy1273;
if (yych != 'i')
- goto yy1390;
- yy1406:
+ goto yy1257;
+ yy1273:
yych = *++p;
if (yych == 'P')
- goto yy1407;
+ goto yy1274;
if (yych != 'p')
- goto yy1390;
- yy1407:
+ goto yy1257;
+ yy1274:
yych = *++p;
if (yych == 'T')
- goto yy1408;
+ goto yy1275;
if (yych != 't')
- goto yy1390;
- yy1408:
+ goto yy1257;
+ yy1275:
yych = *++p;
if (yych == ':')
- goto yy1400;
- goto yy1390;
- yy1409:
+ goto yy1267;
+ goto yy1257;
+ yy1276:
yych = *++p;
if (yych == 'V')
- goto yy1410;
+ goto yy1277;
if (yych != 'v')
- goto yy1390;
- yy1410:
+ goto yy1257;
+ yy1277:
yych = *++p;
if (yych == 'A')
- goto yy1411;
+ goto yy1278;
if (yych != 'a')
- goto yy1390;
- yy1411:
+ goto yy1257;
+ yy1278:
yych = *++p;
if (yych == 'S')
- goto yy1412;
+ goto yy1279;
if (yych != 's')
- goto yy1390;
- yy1412:
+ goto yy1257;
+ yy1279:
yych = *++p;
if (yych == 'C')
- goto yy1413;
+ goto yy1280;
if (yych != 'c')
- goto yy1390;
- yy1413:
+ goto yy1257;
+ yy1280:
yych = *++p;
if (yych == 'R')
- goto yy1414;
+ goto yy1281;
if (yych != 'r')
- goto yy1390;
- yy1414:
+ goto yy1257;
+ yy1281:
yych = *++p;
if (yych == 'I')
- goto yy1415;
+ goto yy1282;
if (yych != 'i')
- goto yy1390;
- yy1415:
+ goto yy1257;
+ yy1282:
yych = *++p;
if (yych == 'P')
- goto yy1416;
+ goto yy1283;
if (yych != 'p')
- goto yy1390;
- yy1416:
+ goto yy1257;
+ yy1283:
yych = *++p;
if (yych == 'T')
- goto yy1417;
+ goto yy1284;
if (yych != 't')
- goto yy1390;
- yy1417:
+ goto yy1257;
+ yy1284:
yych = *++p;
if (yych == ':')
- goto yy1400;
- goto yy1390;
- yy1418:
+ goto yy1267;
+ goto yy1257;
+ yy1285:
yych = *++p;
if (yych == 'T')
- goto yy1419;
+ goto yy1286;
if (yych != 't')
- goto yy1390;
- yy1419:
+ goto yy1257;
+ yy1286:
yych = *++p;
if (yych == 'A')
- goto yy1420;
+ goto yy1287;
if (yych != 'a')
- goto yy1390;
- yy1420:
+ goto yy1257;
+ yy1287:
yych = *++p;
if (yych != ':')
- goto yy1390;
+ goto yy1257;
yyaccept = 1;
yych = *(marker = ++p);
if (yych == 'I')
- goto yy1422;
+ goto yy1289;
if (yych != 'i')
- goto yy1401;
- yy1422:
+ goto yy1268;
+ yy1289:
yych = *++p;
if (yych == 'M')
- goto yy1423;
+ goto yy1290;
if (yych != 'm')
- goto yy1390;
- yy1423:
+ goto yy1257;
+ yy1290:
yych = *++p;
if (yych == 'A')
- goto yy1424;
+ goto yy1291;
if (yych != 'a')
- goto yy1390;
- yy1424:
+ goto yy1257;
+ yy1291:
yych = *++p;
if (yych == 'G')
- goto yy1425;
+ goto yy1292;
if (yych != 'g')
- goto yy1390;
- yy1425:
+ goto yy1257;
+ yy1292:
yych = *++p;
if (yych == 'E')
- goto yy1426;
+ goto yy1293;
if (yych != 'e')
- goto yy1390;
- yy1426:
+ goto yy1257;
+ yy1293:
yych = *++p;
if (yych != '/')
- goto yy1390;
+ goto yy1257;
yych = *++p;
if (yych <= 'W') {
if (yych <= 'J') {
if (yych == 'G')
- goto yy1429;
+ goto yy1296;
if (yych <= 'I')
- goto yy1390;
- goto yy1430;
+ goto yy1257;
+ goto yy1297;
} else {
if (yych == 'P')
- goto yy1428;
+ goto yy1295;
if (yych <= 'V')
- goto yy1390;
- goto yy1431;
+ goto yy1257;
+ goto yy1298;
}
} else {
if (yych <= 'j') {
if (yych == 'g')
- goto yy1429;
+ goto yy1296;
if (yych <= 'i')
- goto yy1390;
- goto yy1430;
+ goto yy1257;
+ goto yy1297;
} else {
if (yych <= 'p') {
if (yych <= 'o')
- goto yy1390;
+ goto yy1257;
} else {
if (yych == 'w')
- goto yy1431;
- goto yy1390;
+ goto yy1298;
+ goto yy1257;
}
}
}
- yy1428:
+ yy1295:
yych = *++p;
if (yych == 'N')
- goto yy1439;
+ goto yy1306;
if (yych == 'n')
- goto yy1439;
- goto yy1390;
- yy1429:
+ goto yy1306;
+ goto yy1257;
+ yy1296:
yych = *++p;
if (yych == 'I')
- goto yy1438;
+ goto yy1305;
if (yych == 'i')
- goto yy1438;
- goto yy1390;
- yy1430:
+ goto yy1305;
+ goto yy1257;
+ yy1297:
yych = *++p;
if (yych == 'P')
- goto yy1436;
+ goto yy1303;
if (yych == 'p')
- goto yy1436;
- goto yy1390;
- yy1431:
+ goto yy1303;
+ goto yy1257;
+ yy1298:
yych = *++p;
if (yych == 'E')
- goto yy1432;
+ goto yy1299;
if (yych != 'e')
- goto yy1390;
- yy1432:
+ goto yy1257;
+ yy1299:
yych = *++p;
if (yych == 'B')
- goto yy1433;
+ goto yy1300;
if (yych != 'b')
- goto yy1390;
- yy1433:
+ goto yy1257;
+ yy1300:
yych = *++p;
if (yych == 'P')
- goto yy1434;
+ goto yy1301;
if (yych != 'p')
- goto yy1390;
- yy1434:
+ goto yy1257;
+ yy1301:
++p;
{ return 0; }
- yy1436:
+ yy1303:
yych = *++p;
if (yych == 'E')
- goto yy1437;
+ goto yy1304;
if (yych != 'e')
- goto yy1390;
- yy1437:
+ goto yy1257;
+ yy1304:
yych = *++p;
if (yych == 'G')
- goto yy1434;
+ goto yy1301;
if (yych == 'g')
- goto yy1434;
- goto yy1390;
- yy1438:
+ goto yy1301;
+ goto yy1257;
+ yy1305:
yych = *++p;
if (yych == 'F')
- goto yy1434;
+ goto yy1301;
if (yych == 'f')
- goto yy1434;
- goto yy1390;
- yy1439:
+ goto yy1301;
+ goto yy1257;
+ yy1306:
++p;
if ((yych = *p) == 'G')
- goto yy1434;
+ goto yy1301;
if (yych == 'g')
- goto yy1434;
- goto yy1390;
+ goto yy1301;
+ goto yy1257;
}
}
diff --git a/src/scanners.h b/src/scanners.h
index 5e3cbe7..207f91a 100644
--- a/src/scanners.h
+++ b/src/scanners.h
@@ -18,7 +18,6 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p);
bufsize_t _scan_html_block_end_3(const unsigned char *p);
bufsize_t _scan_html_block_end_4(const unsigned char *p);
bufsize_t _scan_html_block_end_5(const unsigned char *p);
-bufsize_t _scan_link_url(const unsigned char *p);
bufsize_t _scan_link_title(const unsigned char *p);
bufsize_t _scan_spacechars(const unsigned char *p);
bufsize_t _scan_atx_heading_start(const unsigned char *p);
@@ -40,7 +39,6 @@ bufsize_t _scan_dangerous_url(const unsigned char *p);
#define scan_html_block_end_3(c, n) _scan_at(&_scan_html_block_end_3, c, n)
#define scan_html_block_end_4(c, n) _scan_at(&_scan_html_block_end_4, c, n)
#define scan_html_block_end_5(c, n) _scan_at(&_scan_html_block_end_5, c, n)
-#define scan_link_url(c, n) _scan_at(&_scan_link_url, c, n)
#define scan_link_title(c, n) _scan_at(&_scan_link_title, c, n)
#define scan_spacechars(c, n) _scan_at(&_scan_spacechars, c, n)
#define scan_atx_heading_start(c, n) _scan_at(&_scan_atx_heading_start, c, n)
diff --git a/src/scanners.re b/src/scanners.re
index 77d30cd..02b393a 100644
--- a/src/scanners.re
+++ b/src/scanners.re
@@ -205,21 +205,6 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p)
*/
}
-// Try to match a URL in a link or reference, return number of chars matched.
-// This may optionally be contained in <..>; otherwise
-// whitespace and unbalanced right parentheses aren't allowed.
-// Newlines aren't ever allowed.
-bufsize_t _scan_link_url(const unsigned char *p)
-{
- const unsigned char *marker = NULL;
- const unsigned char *start = p;
-/*!re2c
- [ \r\n]* [<] ([^<> \t\r\n\\\x00] | escaped_char | [\\])* [>] { return (bufsize_t)(p - start); }
- [ \r\n]* (reg_char+ | escaped_char | [\\] [^() \t\v\f\r\n] | in_parens_nosp)* [\\]? { return (bufsize_t)(p - start); }
- .? { return 0; }
-*/
-}
-
// Try to match a link title (in single quotes, in double quotes, or
// in parentheses), returning number of chars matched. Allow one
// level of internal nesting (quotes within quotes).
diff --git a/test/spec.txt b/test/spec.txt
index c66f93b..c49e85b 100644
--- a/test/spec.txt
+++ b/test/spec.txt
@@ -7148,8 +7148,7 @@ A [link destination](@) consists of either
- a nonempty sequence of characters that does not include
ASCII space or control characters, and includes parentheses
only if (a) they are backslash-escaped or (b) they are part of
- a balanced pair of unescaped parentheses that is not itself
- inside a balanced pair of unescaped parentheses.
+ a balanced pair of unescaped parentheses.
A [link title](@) consists of either
@@ -7255,35 +7254,29 @@ Parentheses inside the link destination may be escaped:
<p><a href="(foo)">link</a></p>
````````````````````````````````
-One level of balanced parentheses is allowed without escaping:
-
-```````````````````````````````` example
-[link]((foo)and(bar))
-.
-<p><a href="(foo)and(bar)">link</a></p>
-````````````````````````````````
-
-However, if you have parentheses within parentheses, you need to escape
-or use the `<...>` form:
+Any number parentheses are allowed without escaping, as long as they are
+balanced:
```````````````````````````````` example
[link](foo(and(bar)))
.
-<p>[link](foo(and(bar)))</p>
+<p><a href="foo(and(bar))">link</a></p>
````````````````````````````````
+However, if you have unbalanced parentheses, you need to escape or use the
+`<...>` form:
```````````````````````````````` example
-[link](foo(and\(bar\)))
+[link](foo\(and\(bar\))
.
-<p><a href="foo(and(bar))">link</a></p>
+<p><a href="foo(and(bar)">link</a></p>
````````````````````````````````
```````````````````````````````` example
-[link](<foo(and(bar))>)
+[link](<foo(and(bar)>)
.
-<p><a href="foo(and(bar))">link</a></p>
+<p><a href="foo(and(bar)">link</a></p>
````````````````````````````````