python-cmarkgfm/cmark-gfm-13.patch

26743 lines
590 KiB
Diff

Index: cmarkgfm-2022.10.27/generated/unix/cmark-gfm_version.h
===================================================================
--- cmarkgfm-2022.10.27.orig/generated/unix/cmark-gfm_version.h
+++ cmarkgfm-2022.10.27/generated/unix/cmark-gfm_version.h
@@ -1,7 +1,7 @@
#ifndef CMARK_GFM_VERSION_H
#define CMARK_GFM_VERSION_H
-#define CMARK_GFM_VERSION ((0 << 24) | (29 << 16) | (0 << 8) | 6)
-#define CMARK_GFM_VERSION_STRING "0.29.0.gfm.6"
+#define CMARK_GFM_VERSION ((0 << 24) | (29 << 16) | (0 << 8) | 13)
+#define CMARK_GFM_VERSION_STRING "0.29.0.gfm.13"
#endif
Index: cmarkgfm-2022.10.27/generated/windows/cmark-gfm_version.h
===================================================================
--- cmarkgfm-2022.10.27.orig/generated/windows/cmark-gfm_version.h
+++ cmarkgfm-2022.10.27/generated/windows/cmark-gfm_version.h
@@ -1,7 +1,7 @@
#ifndef CMARK_GFM_VERSION_H
#define CMARK_GFM_VERSION_H
-#define CMARK_GFM_VERSION ((0 << 24) | (29 << 16) | (0 << 8) | 6)
-#define CMARK_GFM_VERSION_STRING "0.29.0.gfm.6"
+#define CMARK_GFM_VERSION ((0 << 24) | (29 << 16) | (0 << 8) | 13)
+#define CMARK_GFM_VERSION_STRING "0.29.0.gfm.13"
#endif
Index: cmarkgfm-2022.10.27/third_party/cmark/extensions/autolink.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/extensions/autolink.c
+++ cmarkgfm-2022.10.27/third_party/cmark/extensions/autolink.c
@@ -2,6 +2,7 @@
#include <parser.h>
#include <string.h>
#include <utf8.h>
+#include <stddef.h>
#if defined(_WIN32)
#define strncasecmp _strnicmp
@@ -35,44 +36,25 @@ static int sd_autolink_issafe(const uint
}
static size_t autolink_delim(uint8_t *data, size_t link_end) {
- uint8_t cclose, copen;
size_t i;
+ size_t closing = 0;
+ size_t opening = 0;
- for (i = 0; i < link_end; ++i)
- if (data[i] == '<') {
+ for (i = 0; i < link_end; ++i) {
+ const uint8_t c = data[i];
+ if (c == '<') {
link_end = i;
break;
+ } else if (c == '(') {
+ opening++;
+ } else if (c == ')') {
+ closing++;
}
+ }
while (link_end > 0) {
- cclose = data[link_end - 1];
-
- switch (cclose) {
+ switch (data[link_end - 1]) {
case ')':
- copen = '(';
- break;
- default:
- copen = 0;
- }
-
- if (strchr("?!.,:*_~'\"", data[link_end - 1]) != NULL)
- link_end--;
-
- else if (data[link_end - 1] == ';') {
- size_t new_end = link_end - 2;
-
- while (new_end > 0 && cmark_isalpha(data[new_end]))
- new_end--;
-
- if (new_end < link_end - 2 && data[new_end] == '&')
- link_end = new_end;
- else
- link_end--;
- } else if (copen != 0) {
- size_t closing = 0;
- size_t opening = 0;
- i = 0;
-
/* Allow any number of matching brackets (as recognised in copen/cclose)
* at the end of the URL. If there is a greater number of closing
* brackets than opening ones, we remove one character from the end of
@@ -80,34 +62,52 @@ static size_t autolink_delim(uint8_t *da
*
* Examples (input text => output linked portion):
*
- * http://www.pokemon.com/Pikachu_(Electric)
- * => http://www.pokemon.com/Pikachu_(Electric)
+ * http://www.pokemon.com/Pikachu_(Electric)
+ * => http://www.pokemon.com/Pikachu_(Electric)
*
- * http://www.pokemon.com/Pikachu_((Electric)
- * => http://www.pokemon.com/Pikachu_((Electric)
+ * http://www.pokemon.com/Pikachu_((Electric)
+ * => http://www.pokemon.com/Pikachu_((Electric)
*
- * http://www.pokemon.com/Pikachu_(Electric))
- * => http://www.pokemon.com/Pikachu_(Electric)
+ * http://www.pokemon.com/Pikachu_(Electric))
+ * => http://www.pokemon.com/Pikachu_(Electric)
*
- * http://www.pokemon.com/Pikachu_((Electric))
- * => http://www.pokemon.com/Pikachu_((Electric))
+ * http://www.pokemon.com/Pikachu_((Electric))
+ * => http://www.pokemon.com/Pikachu_((Electric))
*/
-
- while (i < link_end) {
- if (data[i] == copen)
- opening++;
- else if (data[i] == cclose)
- closing++;
-
- i++;
+ if (closing <= opening) {
+ return link_end;
}
+ closing--;
+ link_end--;
+ break;
+ case '?':
+ case '!':
+ case '.':
+ case ',':
+ case ':':
+ case '*':
+ case '_':
+ case '~':
+ case '\'':
+ case '"':
+ link_end--;
+ break;
+ case ';': {
+ size_t new_end = link_end - 2;
- if (closing <= opening)
- break;
+ while (new_end > 0 && cmark_isalpha(data[new_end]))
+ new_end--;
- link_end--;
- } else
+ if (new_end < link_end - 2 && data[new_end] == '&')
+ link_end = new_end;
+ else
+ link_end--;
break;
+ }
+
+ default:
+ return link_end;
+ }
}
return link_end;
@@ -116,7 +116,20 @@ static size_t autolink_delim(uint8_t *da
static size_t check_domain(uint8_t *data, size_t size, int allow_short) {
size_t i, np = 0, uscore1 = 0, uscore2 = 0;
+ /* The purpose of this code is to reject urls that contain an underscore
+ * in one of the last two segments. Examples:
+ *
+ * www.xxx.yyy.zzz autolinked
+ * www.xxx.yyy._zzz not autolinked
+ * www.xxx._yyy.zzz not autolinked
+ * www._xxx.yyy.zzz autolinked
+ *
+ * The reason is that domain names are allowed to include underscores,
+ * but host names are not. See: https://stackoverflow.com/a/2183140
+ */
for (i = 1; i < size - 1; i++) {
+ if (data[i] == '\\' && i < size - 2)
+ i++;
if (data[i] == '_')
uscore2++;
else if (data[i] == '.') {
@@ -127,8 +140,17 @@ static size_t check_domain(uint8_t *data
break;
}
- if (uscore1 > 0 || uscore2 > 0)
- return 0;
+ if (uscore1 > 0 || uscore2 > 0) {
+ /* If the url is very long then accept it despite the underscores,
+ * to avoid quadratic behavior causing a denial of service. See:
+ * https://github.com/github/cmark-gfm/security/advisories/GHSA-29g3-96g3-jg6c
+ * Reasonable urls are unlikely to have more than 10 segments, so
+ * this extra condition shouldn't have any impact on normal usage.
+ */
+ if (np <= 10) {
+ return 0;
+ }
+ }
if (allow_short) {
/* We don't need a valid domain in the strict sense (with
@@ -165,7 +187,7 @@ static cmark_node *www_match(cmark_parse
if (link_end == 0)
return NULL;
- while (link_end < size && !cmark_isspace(data[link_end]))
+ while (link_end < size && !cmark_isspace(data[link_end]) && data[link_end] != '<')
link_end++;
link_end = autolink_delim(data, link_end);
@@ -225,7 +247,7 @@ static cmark_node *url_match(cmark_parse
return 0;
link_end += domain_len;
- while (link_end < size && !cmark_isspace(data[link_end]))
+ while (link_end < size && !cmark_isspace(data[link_end]) && data[link_end] != '<')
link_end++;
link_end = autolink_delim(data, link_end);
@@ -245,6 +267,11 @@ static cmark_node *url_match(cmark_parse
cmark_node *text = cmark_node_new_with_mem(CMARK_NODE_TEXT, parser->mem);
text->as.literal = url;
cmark_node_append_child(node, text);
+
+ node->start_line = text->start_line = node->end_line = text->end_line = cmark_inline_parser_get_line(inline_parser);
+
+ node->start_column = text->start_column = max_rewind - rewind;
+ node->end_column = text->end_column = cmark_inline_parser_get_column(inline_parser) - 1;
return node;
}
@@ -269,142 +296,167 @@ static cmark_node *match(cmark_syntax_ex
// inline was finished in inlines.c.
}
-static bool validate_protocol(char protocol[], uint8_t *data, int rewind) {
+static bool validate_protocol(const char protocol[], uint8_t *data, size_t rewind, size_t max_rewind) {
size_t len = strlen(protocol);
+ if (len > (max_rewind - rewind)) {
+ return false;
+ }
+
// Check that the protocol matches
- for (int i = 1; i <= len; i++) {
- if (data[-rewind - i] != protocol[len - i]) {
- return false;
- }
+ if (memcmp(data - rewind - len, protocol, len) != 0) {
+ return false;
+ }
+
+ if (len == (max_rewind - rewind)) {
+ return true;
}
- char prev_char = data[-rewind - len - 1];
+ char prev_char = data[-((ptrdiff_t)rewind) - len - 1];
// Make sure the character before the protocol is non-alphanumeric
return !cmark_isalnum(prev_char);
}
-static void postprocess_text(cmark_parser *parser, cmark_node *text, int offset, int depth) {
- // postprocess_text can recurse very deeply if there is a very long line of
- // '@' only. Stop at a reasonable depth to ensure it cannot crash.
- if (depth > 1000) return;
+static void postprocess_text(cmark_parser *parser, cmark_node *text) {
+ size_t start = 0;
+ size_t offset = 0;
+ // `text` is going to be split into a list of nodes containing shorter segments
+ // of text, so we detach the memory buffer from text and use `cmark_chunk_dup` to
+ // create references to it. Later, `cmark_chunk_to_cstr` is used to convert
+ // the references into allocated buffers. The detached buffer is freed before we
+ // return.
+ cmark_chunk detached_chunk = text->as.literal;
+ text->as.literal = cmark_chunk_dup(&detached_chunk, 0, detached_chunk.len);
+
+ uint8_t *data = text->as.literal.data;
+ size_t remaining = text->as.literal.len;
+
+ while (true) {
+ size_t link_end;
+ uint8_t *at;
+ bool auto_mailto = true;
+ bool is_xmpp = false;
+ size_t rewind;
+ size_t max_rewind;
+ size_t np = 0;
- size_t link_end;
- uint8_t *data = text->as.literal.data,
- *at;
- size_t size = text->as.literal.len;
- bool auto_mailto = true;
- bool is_xmpp = false;
- int rewind, max_rewind,
- nb = 0, np = 0, ns = 0;
-
- if (offset < 0 || (size_t)offset >= size)
- return;
-
- data += offset;
- size -= offset;
-
- at = (uint8_t *)memchr(data, '@', size);
- if (!at)
- return;
-
- max_rewind = (int)(at - data);
- data += max_rewind;
- size -= max_rewind;
+ if (offset >= remaining)
+ break;
- for (rewind = 0; rewind < max_rewind; ++rewind) {
- uint8_t c = data[-rewind - 1];
+ at = (uint8_t *)memchr(data + start + offset, '@', remaining - offset);
+ if (!at)
+ break;
- if (cmark_isalnum(c))
- continue;
+ max_rewind = at - (data + start + offset);
- if (strchr(".+-_", c) != NULL)
- continue;
+found_at:
+ for (rewind = 0; rewind < max_rewind; ++rewind) {
+ uint8_t c = data[start + offset + max_rewind - rewind - 1];
- if (strchr(":", c) != NULL) {
- if (validate_protocol("mailto:", data, rewind)) {
- auto_mailto = false;
+ if (cmark_isalnum(c))
continue;
- }
- if (validate_protocol("xmpp:", data, rewind)) {
- auto_mailto = false;
- is_xmpp = true;
+ if (strchr(".+-_", c) != NULL)
continue;
+
+ if (strchr(":", c) != NULL) {
+ if (validate_protocol("mailto:", data + start + offset + max_rewind, rewind, max_rewind)) {
+ auto_mailto = false;
+ continue;
+ }
+
+ if (validate_protocol("xmpp:", data + start + offset + max_rewind, rewind, max_rewind)) {
+ auto_mailto = false;
+ is_xmpp = true;
+ continue;
+ }
}
+
+ break;
}
- break;
- }
+ if (rewind == 0) {
+ offset += max_rewind + 1;
+ continue;
+ }
- if (rewind == 0 || ns > 0) {
- postprocess_text(parser, text, max_rewind + 1 + offset, depth + 1);
- return;
- }
+ assert(data[start + offset + max_rewind] == '@');
+ for (link_end = 1; link_end < remaining - offset - max_rewind; ++link_end) {
+ uint8_t c = data[start + offset + max_rewind + link_end];
- for (link_end = 0; link_end < size; ++link_end) {
- uint8_t c = data[link_end];
+ if (cmark_isalnum(c))
+ continue;
- if (cmark_isalnum(c))
- continue;
+ if (c == '@') {
+ // Found another '@', so go back and try again with an updated offset and max_rewind.
+ offset += max_rewind + 1;
+ max_rewind = link_end - 1;
+ goto found_at;
+ } else if (c == '.' && link_end < remaining - offset - max_rewind - 1 &&
+ cmark_isalnum(data[start + offset + max_rewind + link_end + 1]))
+ np++;
+ else if (c == '/' && is_xmpp)
+ continue;
+ else if (c != '-' && c != '_')
+ break;
+ }
- if (c == '@')
- nb++;
- else if (c == '.' && link_end < size - 1 && cmark_isalnum(data[link_end + 1]))
- np++;
- else if (c == '/' && is_xmpp)
+ if (link_end < 2 || np == 0 ||
+ (!cmark_isalpha(data[start + offset + max_rewind + link_end - 1]) &&
+ data[start + offset + max_rewind + link_end - 1] != '.')) {
+ offset += max_rewind + link_end;
continue;
- else if (c != '-' && c != '_')
- break;
- }
+ }
- if (link_end < 2 || nb != 1 || np == 0 ||
- (!cmark_isalpha(data[link_end - 1]) && data[link_end - 1] != '.')) {
- postprocess_text(parser, text, max_rewind + 1 + offset, depth + 1);
- return;
- }
+ link_end = autolink_delim(data + start + offset + max_rewind, link_end);
- link_end = autolink_delim(data, link_end);
+ if (link_end == 0) {
+ offset += max_rewind + 1;
+ continue;
+ }
- if (link_end == 0) {
- postprocess_text(parser, text, max_rewind + 1 + offset, depth + 1);
- return;
- }
+ cmark_node *link_node = cmark_node_new_with_mem(CMARK_NODE_LINK, parser->mem);
+ cmark_strbuf buf;
+ cmark_strbuf_init(parser->mem, &buf, 10);
+ if (auto_mailto)
+ cmark_strbuf_puts(&buf, "mailto:");
+ cmark_strbuf_put(&buf, data + start + offset + max_rewind - rewind, (bufsize_t)(link_end + rewind));
+ link_node->as.link.url = cmark_chunk_buf_detach(&buf);
+
+ cmark_node *link_text = cmark_node_new_with_mem(CMARK_NODE_TEXT, parser->mem);
+ cmark_chunk email = cmark_chunk_dup(
+ &detached_chunk,
+ (bufsize_t)(start + offset + max_rewind - rewind),
+ (bufsize_t)(link_end + rewind));
+ cmark_chunk_to_cstr(parser->mem, &email);
+ link_text->as.literal = email;
+ cmark_node_append_child(link_node, link_text);
- cmark_chunk_to_cstr(parser->mem, &text->as.literal);
+ cmark_node_insert_after(text, link_node);
- cmark_node *link_node = cmark_node_new_with_mem(CMARK_NODE_LINK, parser->mem);
- cmark_strbuf buf;
- cmark_strbuf_init(parser->mem, &buf, 10);
- if (auto_mailto)
- cmark_strbuf_puts(&buf, "mailto:");
- cmark_strbuf_put(&buf, data - rewind, (bufsize_t)(link_end + rewind));
- link_node->as.link.url = cmark_chunk_buf_detach(&buf);
-
- cmark_node *link_text = cmark_node_new_with_mem(CMARK_NODE_TEXT, parser->mem);
- cmark_chunk email = cmark_chunk_dup(
- &text->as.literal,
- offset + max_rewind - rewind,
- (bufsize_t)(link_end + rewind));
- cmark_chunk_to_cstr(parser->mem, &email);
- link_text->as.literal = email;
- cmark_node_append_child(link_node, link_text);
+ cmark_node *post = cmark_node_new_with_mem(CMARK_NODE_TEXT, parser->mem);
+ post->as.literal = cmark_chunk_dup(&detached_chunk,
+ (bufsize_t)(start + offset + max_rewind + link_end),
+ (bufsize_t)(remaining - offset - max_rewind - link_end));
- cmark_node_insert_after(text, link_node);
+ cmark_node_insert_after(link_node, post);
- cmark_node *post = cmark_node_new_with_mem(CMARK_NODE_TEXT, parser->mem);
- post->as.literal = cmark_chunk_dup(&text->as.literal,
- (bufsize_t)(offset + max_rewind + link_end),
- (bufsize_t)(size - link_end));
- cmark_chunk_to_cstr(parser->mem, &post->as.literal);
+ text->as.literal = cmark_chunk_dup(&detached_chunk, (bufsize_t)start, (bufsize_t)(offset + max_rewind - rewind));
+ cmark_chunk_to_cstr(parser->mem, &text->as.literal);
- cmark_node_insert_after(link_node, post);
+ text = post;
+ start += offset + max_rewind + link_end;
+ remaining -= offset + max_rewind + link_end;
+ offset = 0;
+ }
- text->as.literal.len = offset + max_rewind - rewind;
- text->as.literal.data[text->as.literal.len] = 0;
+ // Convert the reference to allocated memory.
+ assert(!text->as.literal.alloc);
+ cmark_chunk_to_cstr(parser->mem, &text->as.literal);
- postprocess_text(parser, post, 0, depth + 1);
+ // Free the detached buffer.
+ cmark_chunk_free(parser->mem, &detached_chunk);
}
static cmark_node *postprocess(cmark_syntax_extension *ext, cmark_parser *parser, cmark_node *root) {
@@ -431,7 +483,7 @@ static cmark_node *postprocess(cmark_syn
}
if (ev == CMARK_EVENT_ENTER && node->type == CMARK_NODE_TEXT) {
- postprocess_text(parser, node, 0, /*depth*/0);
+ postprocess_text(parser, node);
}
}
Index: cmarkgfm-2022.10.27/third_party/cmark/extensions/cmark-gfm-core-extensions.h
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/extensions/cmark-gfm-core-extensions.h
+++ cmarkgfm-2022.10.27/third_party/cmark/extensions/cmark-gfm-core-extensions.h
@@ -6,45 +6,45 @@ extern "C" {
#endif
#include "cmark-gfm-extension_api.h"
-#include "cmark-gfm-extensions_export.h"
-#include "config.h" // for bool
+#include "cmark-gfm_export.h"
+#include <stdbool.h>
#include <stdint.h>
-CMARK_GFM_EXTENSIONS_EXPORT
+CMARK_GFM_EXPORT
void cmark_gfm_core_extensions_ensure_registered(void);
-CMARK_GFM_EXTENSIONS_EXPORT
+CMARK_GFM_EXPORT
uint16_t cmark_gfm_extensions_get_table_columns(cmark_node *node);
/** Sets the number of columns for the table, returning 1 on success and 0 on error.
*/
-CMARK_GFM_EXTENSIONS_EXPORT
+CMARK_GFM_EXPORT
int cmark_gfm_extensions_set_table_columns(cmark_node *node, uint16_t n_columns);
-CMARK_GFM_EXTENSIONS_EXPORT
+CMARK_GFM_EXPORT
uint8_t *cmark_gfm_extensions_get_table_alignments(cmark_node *node);
/** Sets the alignments for the table, returning 1 on success and 0 on error.
*/
-CMARK_GFM_EXTENSIONS_EXPORT
+CMARK_GFM_EXPORT
int cmark_gfm_extensions_set_table_alignments(cmark_node *node, uint16_t ncols, uint8_t *alignments);
-CMARK_GFM_EXTENSIONS_EXPORT
+CMARK_GFM_EXPORT
int cmark_gfm_extensions_get_table_row_is_header(cmark_node *node);
/** Sets whether the node is a table header row, returning 1 on success and 0 on error.
*/
-CMARK_GFM_EXTENSIONS_EXPORT
+CMARK_GFM_EXPORT
int cmark_gfm_extensions_set_table_row_is_header(cmark_node *node, int is_header);
-CMARK_GFM_EXTENSIONS_EXPORT
+CMARK_GFM_EXPORT
bool cmark_gfm_extensions_get_tasklist_item_checked(cmark_node *node);
/* For backwards compatibility */
#define cmark_gfm_extensions_tasklist_is_checked cmark_gfm_extensions_get_tasklist_item_checked
/** Sets whether a tasklist item is "checked" (completed), returning 1 on success and 0 on error.
*/
-CMARK_GFM_EXTENSIONS_EXPORT
+CMARK_GFM_EXPORT
int cmark_gfm_extensions_set_tasklist_item_checked(cmark_node *node, bool is_checked);
#ifdef __cplusplus
Index: cmarkgfm-2022.10.27/third_party/cmark/extensions/strikethrough.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/extensions/strikethrough.c
+++ cmarkgfm-2022.10.27/third_party/cmark/extensions/strikethrough.c
@@ -67,6 +67,7 @@ static delimiter *insert(cmark_syntax_ex
strikethrough->end_column = closer->inl_text->start_column + closer->inl_text->as.literal.len - 1;
cmark_node_free(closer->inl_text);
+done:
delim = closer;
while (delim != NULL && delim != opener) {
tmp_delim = delim->previous;
@@ -76,7 +77,6 @@ static delimiter *insert(cmark_syntax_ex
cmark_inline_parser_remove_delimiter(inline_parser, opener);
-done:
return res;
}
Index: cmarkgfm-2022.10.27/third_party/cmark/extensions/table.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/extensions/table.c
+++ cmarkgfm-2022.10.27/third_party/cmark/extensions/table.c
@@ -11,42 +11,55 @@
#include "table.h"
#include "cmark-gfm-core-extensions.h"
+// Limit to prevent a malicious input from causing a denial of service.
+#define MAX_AUTOCOMPLETED_CELLS 0x80000
+
+// Custom node flag, initialized in `create_table_extension`.
+static cmark_node_internal_flags CMARK_NODE__TABLE_VISITED;
+
cmark_node_type CMARK_NODE_TABLE, CMARK_NODE_TABLE_ROW,
CMARK_NODE_TABLE_CELL;
typedef struct {
+ cmark_strbuf *buf;
+ int start_offset, end_offset, internal_offset;
+} node_cell;
+
+typedef struct {
uint16_t n_columns;
int paragraph_offset;
- cmark_llist *cells;
+ node_cell *cells;
} table_row;
typedef struct {
uint16_t n_columns;
uint8_t *alignments;
+ int n_rows;
+ int n_nonempty_cells;
} node_table;
typedef struct {
bool is_header;
} node_table_row;
-typedef struct {
- cmark_strbuf *buf;
- int start_offset, end_offset, internal_offset;
-} node_cell;
-
-static void free_table_cell(cmark_mem *mem, void *data) {
- node_cell *cell = (node_cell *)data;
+static void free_table_cell(cmark_mem *mem, node_cell *cell) {
cmark_strbuf_free((cmark_strbuf *)cell->buf);
mem->free(cell->buf);
- mem->free(cell);
+}
+
+static void free_row_cells(cmark_mem *mem, table_row *row) {
+ while (row->n_columns > 0) {
+ free_table_cell(mem, &row->cells[--row->n_columns]);
+ }
+ mem->free(row->cells);
+ row->cells = NULL;
}
static void free_table_row(cmark_mem *mem, table_row *row) {
if (!row)
return;
- cmark_llist_free_full(mem, row->cells, (cmark_free_func)free_table_cell);
-
+ free_row_cells(mem, row);
mem->free(row);
}
@@ -75,6 +88,33 @@ static int set_n_table_columns(cmark_nod
return 1;
}
+// Increment the number of rows in the table. Also update n_nonempty_cells,
+// which keeps track of the number of cells which were parsed from the
+// input file. (If one of the rows is too short, then the trailing cells
+// are autocompleted. Autocompleted cells are not counted in n_nonempty_cells.)
+// The purpose of this is to prevent a malicious input from generating a very
+// large number of autocompleted cells, which could cause a denial of service
+// vulnerability.
+static int incr_table_row_count(cmark_node *node, int i) {
+ if (!node || node->type != CMARK_NODE_TABLE) {
+ return 0;
+ }
+
+ ((node_table *)node->as.opaque)->n_rows++;
+ ((node_table *)node->as.opaque)->n_nonempty_cells += i;
+ return 1;
+}
+
+// Calculate the number of autocompleted cells.
+static int get_n_autocompleted_cells(cmark_node *node) {
+ if (!node || node->type != CMARK_NODE_TABLE) {
+ return 0;
+ }
+
+ const node_table *nt = (node_table *)node->as.opaque;
+ return (nt->n_columns * nt->n_rows) - nt->n_nonempty_cells;
+}
+
static uint8_t *get_table_alignments(cmark_node *node) {
if (!node || node->type != CMARK_NODE_TABLE)
return 0;
@@ -90,6 +130,23 @@ static int set_table_alignments(cmark_no
return 1;
}
+static uint8_t get_cell_alignment(cmark_node *node) {
+ if (!node || node->type != CMARK_NODE_TABLE_CELL)
+ return 0;
+
+ const uint8_t *alignments = get_table_alignments(node->parent->parent);
+ int i = node->as.cell_index;
+ return alignments[i];
+}
+
+static int set_cell_index(cmark_node *node, int i) {
+ if (!node || node->type != CMARK_NODE_TABLE_CELL)
+ return 0;
+
+ node->as.cell_index = i;
+ return 1;
+}
+
static cmark_strbuf *unescape_pipes(cmark_mem *mem, unsigned char *string, bufsize_t len)
{
cmark_strbuf *res = (cmark_strbuf *)mem->calloc(1, sizeof(cmark_strbuf));
@@ -111,6 +168,24 @@ static cmark_strbuf *unescape_pipes(cmar
return res;
}
+// Adds a new cell to the end of the row. A pointer to the new cell is returned
+// for the caller to initialize.
+static node_cell* append_row_cell(cmark_mem *mem, table_row *row) {
+ const uint32_t n_columns = row->n_columns + 1;
+ // realloc when n_columns is a power of 2
+ if ((n_columns & (n_columns-1)) == 0) {
+ // make sure we never wrap row->n_columns
+ // offset will != len and our exit will clean up as intended
+ if (n_columns > UINT16_MAX) {
+ return NULL;
+ }
+ // Use realloc to double the size of the buffer.
+ row->cells = (node_cell *)mem->realloc(row->cells, (2 * n_columns - 1) * sizeof(node_cell));
+ }
+ row->n_columns = (uint16_t)n_columns;
+ return &row->cells[n_columns-1];
+}
+
static table_row *row_from_string(cmark_syntax_extension *self,
cmark_parser *parser, unsigned char *string,
int len) {
@@ -152,24 +227,22 @@ static table_row *row_from_string(cmark_
cell_matched);
cmark_strbuf_trim(cell_buf);
- node_cell *cell = (node_cell *)parser->mem->calloc(1, sizeof(*cell));
+ node_cell *cell = append_row_cell(parser->mem, row);
+ if (!cell) {
+ int_overflow_abort = 1;
+ cmark_strbuf_free(cell_buf);
+ parser->mem->free(cell_buf);
+ break;
+ }
cell->buf = cell_buf;
cell->start_offset = offset;
cell->end_offset = offset + cell_matched - 1;
+ cell->internal_offset = 0;
- while (cell->start_offset > 0 && string[cell->start_offset - 1] != '|') {
+ while (cell->start_offset > row->paragraph_offset && string[cell->start_offset - 1] != '|') {
--cell->start_offset;
++cell->internal_offset;
}
-
- // make sure we never wrap row->n_columns
- // offset will != len and our exit will clean up as intended
- if (row->n_columns == UINT16_MAX) {
- int_overflow_abort = 1;
- break;
- }
- row->n_columns += 1;
- row->cells = cmark_llist_append(parser->mem, row->cells, cell);
}
offset += cell_matched + pipe_matched;
@@ -187,9 +260,7 @@ static table_row *row_from_string(cmark_
if (row_end_offset && offset != len) {
row->paragraph_offset = offset;
- cmark_llist_free_full(parser->mem, row->cells, (cmark_free_func)free_table_cell);
- row->cells = NULL;
- row->n_columns = 0;
+ free_row_cells(parser->mem, row);
// Scan past the (optional) leading pipe.
offset += scan_table_cell_end(string, len, offset);
@@ -235,25 +306,29 @@ static cmark_node *try_opening_table_hea
unsigned char *input, int len) {
cmark_node *table_header;
table_row *header_row = NULL;
- table_row *marker_row = NULL;
+ table_row *delimiter_row = NULL;
node_table_row *ntr;
const char *parent_string;
uint16_t i;
+ if (parent_container->flags & CMARK_NODE__TABLE_VISITED) {
+ return parent_container;
+ }
+
if (!scan_table_start(input, len, cmark_parser_get_first_nonspace(parser))) {
return parent_container;
}
- // Since scan_table_start was successful, we must have a marker row.
- marker_row = row_from_string(self, parser,
- input + cmark_parser_get_first_nonspace(parser),
- len - cmark_parser_get_first_nonspace(parser));
+ // Since scan_table_start was successful, we must have a delimiter row.
+ delimiter_row = row_from_string(
+ self, parser, input + cmark_parser_get_first_nonspace(parser),
+ len - cmark_parser_get_first_nonspace(parser));
// assert may be optimized out, don't rely on it for security boundaries
- if (!marker_row) {
+ if (!delimiter_row) {
return parent_container;
}
-
- assert(marker_row);
+
+ assert(delimiter_row);
cmark_arena_push();
@@ -263,22 +338,23 @@ static cmark_node *try_opening_table_hea
parent_string = cmark_node_get_string_content(parent_container);
header_row = row_from_string(self, parser, (unsigned char *)parent_string,
(int)strlen(parent_string));
- if (!header_row || header_row->n_columns != marker_row->n_columns) {
- free_table_row(parser->mem, marker_row);
+ if (!header_row || header_row->n_columns != delimiter_row->n_columns) {
+ free_table_row(parser->mem, delimiter_row);
free_table_row(parser->mem, header_row);
cmark_arena_pop();
+ parent_container->flags |= CMARK_NODE__TABLE_VISITED;
return parent_container;
}
if (cmark_arena_pop()) {
- marker_row = row_from_string(
+ delimiter_row = row_from_string(
self, parser, input + cmark_parser_get_first_nonspace(parser),
len - cmark_parser_get_first_nonspace(parser));
header_row = row_from_string(self, parser, (unsigned char *)parent_string,
(int)strlen(parent_string));
// row_from_string can return NULL, add additional check to ensure n_columns match
- if (!marker_row || !header_row || header_row->n_columns != marker_row->n_columns) {
- free_table_row(parser->mem, marker_row);
+ if (!delimiter_row || !header_row || header_row->n_columns != delimiter_row->n_columns) {
+ free_table_row(parser->mem, delimiter_row);
free_table_row(parser->mem, header_row);
return parent_container;
}
@@ -286,7 +362,7 @@ static cmark_node *try_opening_table_hea
if (!cmark_node_set_type(parent_container, CMARK_NODE_TABLE)) {
free_table_row(parser->mem, header_row);
- free_table_row(parser->mem, marker_row);
+ free_table_row(parser->mem, delimiter_row);
return parent_container;
}
@@ -299,13 +375,12 @@ static cmark_node *try_opening_table_hea
parent_container->as.opaque = parser->mem->calloc(1, sizeof(node_table));
set_n_table_columns(parent_container, header_row->n_columns);
- // allocate alignments based on marker_row->n_columns
- // since we populate the alignments array based on marker_row->cells
+ // allocate alignments based on delimiter_row->n_columns
+ // since we populate the alignments array based on delimiter_row->cells
uint8_t *alignments =
- (uint8_t *)parser->mem->calloc(marker_row->n_columns, sizeof(uint8_t));
- cmark_llist *it = marker_row->cells;
- for (i = 0; it; it = it->next, ++i) {
- node_cell *node = (node_cell *)it->data;
+ (uint8_t *)parser->mem->calloc(delimiter_row->n_columns, sizeof(uint8_t));
+ for (i = 0; i < delimiter_row->n_columns; ++i) {
+ node_cell *node = &delimiter_row->cells[i];
bool left = node->buf->ptr[0] == ':', right = node->buf->ptr[node->buf->size - 1] == ':';
if (left && right)
@@ -327,27 +402,26 @@ static cmark_node *try_opening_table_hea
table_header->as.opaque = ntr = (node_table_row *)parser->mem->calloc(1, sizeof(node_table_row));
ntr->is_header = true;
- {
- cmark_llist *tmp;
-
- for (tmp = header_row->cells; tmp; tmp = tmp->next) {
- node_cell *cell = (node_cell *) tmp->data;
- cmark_node *header_cell = cmark_parser_add_child(parser, table_header,
- CMARK_NODE_TABLE_CELL, parent_container->start_column + cell->start_offset);
- header_cell->start_line = header_cell->end_line = parent_container->start_line;
- header_cell->internal_offset = cell->internal_offset;
- header_cell->end_column = parent_container->start_column + cell->end_offset;
- cmark_node_set_string_content(header_cell, (char *) cell->buf->ptr);
- cmark_node_set_syntax_extension(header_cell, self);
- }
+ for (i = 0; i < header_row->n_columns; ++i) {
+ node_cell *cell = &header_row->cells[i];
+ cmark_node *header_cell = cmark_parser_add_child(parser, table_header,
+ CMARK_NODE_TABLE_CELL, parent_container->start_column + cell->start_offset);
+ header_cell->start_line = header_cell->end_line = parent_container->start_line;
+ header_cell->internal_offset = cell->internal_offset;
+ header_cell->end_column = parent_container->start_column + cell->end_offset;
+ cmark_node_set_string_content(header_cell, (char *) cell->buf->ptr);
+ cmark_node_set_syntax_extension(header_cell, self);
+ set_cell_index(header_cell, i);
}
+ incr_table_row_count(parent_container, i);
+
cmark_parser_advance_offset(
parser, (char *)input,
(int)strlen((char *)input) - 1 - cmark_parser_get_offset(parser), false);
free_table_row(parser->mem, header_row);
- free_table_row(parser->mem, marker_row);
+ free_table_row(parser->mem, delimiter_row);
return parent_container;
}
@@ -361,6 +435,10 @@ static cmark_node *try_opening_table_row
if (cmark_parser_is_blank(parser))
return NULL;
+ if (get_n_autocompleted_cells(parent_container) > MAX_AUTOCOMPLETED_CELLS) {
+ return NULL;
+ }
+
table_row_block =
cmark_parser_add_child(parser, parent_container, CMARK_NODE_TABLE_ROW,
parent_container->start_column);
@@ -378,23 +456,26 @@ static cmark_node *try_opening_table_row
}
{
- cmark_llist *tmp;
int i, table_columns = get_n_table_columns(parent_container);
- for (tmp = row->cells, i = 0; tmp && i < table_columns; tmp = tmp->next, ++i) {
- node_cell *cell = (node_cell *) tmp->data;
+ for (i = 0; i < row->n_columns && i < table_columns; ++i) {
+ node_cell *cell = &row->cells[i];
cmark_node *node = cmark_parser_add_child(parser, table_row_block,
CMARK_NODE_TABLE_CELL, parent_container->start_column + cell->start_offset);
node->internal_offset = cell->internal_offset;
node->end_column = parent_container->start_column + cell->end_offset;
cmark_node_set_string_content(node, (char *) cell->buf->ptr);
cmark_node_set_syntax_extension(node, self);
+ set_cell_index(node, i);
}
+ incr_table_row_count(parent_container, i);
+
for (; i < table_columns; ++i) {
cmark_node *node = cmark_parser_add_child(
parser, table_row_block, CMARK_NODE_TABLE_CELL, 0);
cmark_node_set_syntax_extension(node, self);
+ set_cell_index(node, i);
}
}
@@ -579,13 +660,7 @@ static const char *xml_attr(cmark_syntax
cmark_node *node) {
if (node->type == CMARK_NODE_TABLE_CELL) {
if (cmark_gfm_extensions_get_table_row_is_header(node->parent)) {
- uint8_t *alignments = get_table_alignments(node->parent->parent);
- int i = 0;
- cmark_node *n;
- for (n = node->parent->first_child; n; n = n->next, ++i)
- if (n == node)
- break;
- switch (alignments[i]) {
+ switch (get_cell_alignment(node)) {
case 'l': return " align=\"left\"";
case 'c': return " align=\"center\"";
case 'r': return " align=\"right\"";
@@ -673,7 +748,6 @@ static void html_render(cmark_syntax_ext
cmark_event_type ev_type, int options) {
bool entering = (ev_type == CMARK_EVENT_ENTER);
cmark_strbuf *html = renderer->html;
- cmark_node *n;
// XXX: we just monopolise renderer->opaque.
struct html_table_state *table_state =
@@ -722,7 +796,6 @@ static void html_render(cmark_syntax_ext
}
}
} else if (node->type == CMARK_NODE_TABLE_CELL) {
- uint8_t *alignments = get_table_alignments(node->parent->parent);
if (entering) {
cmark_html_render_cr(html);
if (table_state->in_table_header) {
@@ -731,12 +804,7 @@ static void html_render(cmark_syntax_ext
cmark_strbuf_puts(html, "<td");
}
- int i = 0;
- for (n = node->parent->first_child; n; n = n->next, ++i)
- if (n == node)
- break;
-
- switch (alignments[i]) {
+ switch (get_cell_alignment(node)) {
case 'l': html_table_add_align(html, "left", options); break;
case 'c': html_table_add_align(html, "center", options); break;
case 'r': html_table_add_align(html, "right", options); break;
@@ -785,6 +853,7 @@ static int escape(cmark_syntax_extension
cmark_syntax_extension *create_table_extension(void) {
cmark_syntax_extension *self = cmark_syntax_extension_new("table");
+ cmark_register_node_flag(&CMARK_NODE__TABLE_VISITED);
cmark_syntax_extension_set_match_block_func(self, matches);
cmark_syntax_extension_set_open_block_func(self, try_opening_table_block);
cmark_syntax_extension_set_get_type_string_func(self, get_type_string);
Index: cmarkgfm-2022.10.27/third_party/cmark/src/arena.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/arena.c
+++ cmarkgfm-2022.10.27/third_party/cmark/src/arena.c
@@ -68,15 +68,16 @@ static void *arena_calloc(size_t nmem, s
const size_t align = sizeof(size_t) - 1;
sz = (sz + align) & ~align;
+ struct arena_chunk *chunk;
if (sz > A->sz) {
- A->prev = alloc_arena_chunk(sz, A->prev);
- return (uint8_t *) A->prev->ptr + sizeof(size_t);
+ A->prev = chunk = alloc_arena_chunk(sz, A->prev);
+ } else if (sz > A->sz - A->used) {
+ A = chunk = alloc_arena_chunk(A->sz + A->sz / 2, A);
+ } else {
+ chunk = A;
}
- if (sz > A->sz - A->used) {
- A = alloc_arena_chunk(A->sz + A->sz / 2, A);
- }
- void *ptr = (uint8_t *) A->ptr + A->used;
- A->used += sz;
+ void *ptr = (uint8_t *) chunk->ptr + chunk->used;
+ chunk->used += sz;
*((size_t *) ptr) = sz - sizeof(size_t);
return (uint8_t *) ptr + sizeof(size_t);
}
@@ -98,6 +99,6 @@ static void arena_free(void *ptr) {
cmark_mem CMARK_ARENA_MEM_ALLOCATOR = {arena_calloc, arena_realloc, arena_free};
-cmark_mem *cmark_get_arena_mem_allocator() {
+cmark_mem *cmark_get_arena_mem_allocator(void) {
return &CMARK_ARENA_MEM_ALLOCATOR;
}
Index: cmarkgfm-2022.10.27/third_party/cmark/src/blocks.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/blocks.c
+++ cmarkgfm-2022.10.27/third_party/cmark/src/blocks.c
@@ -8,6 +8,7 @@
#include <stdlib.h>
#include <assert.h>
#include <stdio.h>
+#include <limits.h>
#include "cmark_ctype.h"
#include "syntax_extension.h"
@@ -26,6 +27,14 @@
#define CODE_INDENT 4
#define TAB_STOP 4
+/**
+ * Very deeply nested lists can cause quadratic performance issues.
+ * This constant is used in open_new_blocks() to limit the nesting
+ * depth. It is unlikely that a non-contrived markdown document will
+ * be nested this deeply.
+ */
+#define MAX_LIST_DEPTH 100
+
#ifndef MIN
#define MIN(x, y) ((x < y) ? x : y)
#endif
@@ -639,6 +648,14 @@ static cmark_node *finalize_document(cma
}
finalize(parser, parser->root);
+
+ // Limit total size of extra content created from reference links to
+ // document size to avoid superlinear growth. Always allow 100KB.
+ if (parser->total_size > 100000)
+ parser->refmap->max_ref_size = parser->total_size;
+ else
+ parser->refmap->max_ref_size = 100000;
+
process_inlines(parser, parser->refmap, parser->options);
if (parser->options & CMARK_OPT_FOOTNOTES)
process_footnotes(parser);
@@ -698,6 +715,11 @@ static void S_parser_feed(cmark_parser *
const unsigned char *end = buffer + len;
static const uint8_t repl[] = {239, 191, 189};
+ if (len > UINT_MAX - parser->total_size)
+ parser->total_size = UINT_MAX;
+ else
+ parser->total_size += len;
+
if (parser->last_buffer_ended_with_cr && *buffer == '\n') {
// skip NL if last buffer ended with CR ; see #117
buffer++;
@@ -1105,10 +1127,11 @@ static void open_new_blocks(cmark_parser
bool has_content;
int save_offset;
int save_column;
+ size_t depth = 0;
while (cont_type != CMARK_NODE_CODE_BLOCK &&
cont_type != CMARK_NODE_HTML_BLOCK) {
-
+ depth++;
S_find_first_nonspace(parser, input);
indented = parser->indent >= CODE_INDENT;
@@ -1194,15 +1217,17 @@ static void open_new_blocks(cmark_parser
parser->first_nonspace + 1);
S_advance_offset(parser, input, input->len - 1 - parser->offset, false);
} else if (!indented &&
- parser->options & CMARK_OPT_FOOTNOTES &&
+ (parser->options & CMARK_OPT_FOOTNOTES) &&
+ depth < MAX_LIST_DEPTH &&
(matched = scan_footnote_definition(input, parser->first_nonspace))) {
cmark_chunk c = cmark_chunk_dup(input, parser->first_nonspace + 2, matched - 2);
- cmark_chunk_to_cstr(parser->mem, &c);
while (c.data[c.len - 1] != ']')
--c.len;
--c.len;
+ cmark_chunk_to_cstr(parser->mem, &c);
+
S_advance_offset(parser, input, parser->first_nonspace + matched - parser->offset, false);
*container = add_child(parser, *container, CMARK_NODE_FOOTNOTE_DEFINITION, parser->first_nonspace + matched + 1);
(*container)->as.literal = c;
@@ -1210,6 +1235,7 @@ static void open_new_blocks(cmark_parser
(*container)->internal_offset = matched;
} else if ((!indented || cont_type == CMARK_NODE_LIST) &&
parser->indent < 4 &&
+ depth < MAX_LIST_DEPTH &&
(matched = parse_list_marker(
parser->mem, input, parser->first_nonspace,
(*container)->type == CMARK_NODE_PARAGRAPH, &data))) {
Index: cmarkgfm-2022.10.27/third_party/cmark/src/cmark-gfm-extension_api.h
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/cmark-gfm-extension_api.h
+++ cmarkgfm-2022.10.27/third_party/cmark/src/cmark-gfm-extension_api.h
@@ -114,6 +114,7 @@ typedef struct delimiter {
struct delimiter *previous;
struct delimiter *next;
cmark_node *inl_text;
+ bufsize_t position;
bufsize_t length;
unsigned char delim_char;
int can_open;
Index: cmarkgfm-2022.10.27/third_party/cmark/src/cmark-gfm.h
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/cmark-gfm.h
+++ cmarkgfm-2022.10.27/third_party/cmark/src/cmark-gfm.h
@@ -111,13 +111,13 @@ typedef struct cmark_mem {
* realloc and free.
*/
CMARK_GFM_EXPORT
-cmark_mem *cmark_get_default_mem_allocator();
+cmark_mem *cmark_get_default_mem_allocator(void);
/** An arena allocator; uses system calloc to allocate large
* slabs of memory. Memory in these slabs is not reused at all.
*/
CMARK_GFM_EXPORT
-cmark_mem *cmark_get_arena_mem_allocator();
+cmark_mem *cmark_get_arena_mem_allocator(void);
/** Resets the arena allocator, quickly returning all used memory
* to the operating system.
@@ -225,6 +225,11 @@ CMARK_GFM_EXPORT cmark_node *cmark_node_
*/
CMARK_GFM_EXPORT cmark_node *cmark_node_last_child(cmark_node *node);
+/** Returns the footnote reference of 'node', or NULL if 'node' doesn't have a
+ * footnote reference.
+ */
+CMARK_GFM_EXPORT cmark_node *cmark_node_parent_footnote_def(cmark_node *node);
+
/**
* ## Iterator
*
@@ -408,6 +413,17 @@ CMARK_GFM_EXPORT int cmark_node_get_list
*/
CMARK_GFM_EXPORT int cmark_node_set_list_tight(cmark_node *node, int tight);
+/**
+ * Returns item index of 'node'. This is only used when rendering output
+ * formats such as commonmark, which need to output the index. It is not
+ * required for formats such as html or latex.
+ */
+CMARK_GFM_EXPORT int cmark_node_get_item_index(cmark_node *node);
+
+/** Sets item index of 'node'. Returns 1 on success, 0 on failure.
+ */
+CMARK_GFM_EXPORT int cmark_node_set_item_index(cmark_node *node, int idx);
+
/** Returns the info string from a fenced code block.
*/
CMARK_GFM_EXPORT const char *cmark_node_get_fence_info(cmark_node *node);
Index: cmarkgfm-2022.10.27/third_party/cmark/src/cmark.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/cmark.c
+++ cmarkgfm-2022.10.27/third_party/cmark/src/cmark.c
@@ -10,9 +10,9 @@
cmark_node_type CMARK_NODE_LAST_BLOCK = CMARK_NODE_FOOTNOTE_DEFINITION;
cmark_node_type CMARK_NODE_LAST_INLINE = CMARK_NODE_FOOTNOTE_REFERENCE;
-int cmark_version() { return CMARK_GFM_VERSION; }
+int cmark_version(void) { return CMARK_GFM_VERSION; }
-const char *cmark_version_string() { return CMARK_GFM_VERSION_STRING; }
+const char *cmark_version_string(void) { return CMARK_GFM_VERSION_STRING; }
static void *xcalloc(size_t nmem, size_t size) {
void *ptr = calloc(nmem, size);
@@ -38,7 +38,7 @@ static void xfree(void *ptr) {
cmark_mem CMARK_DEFAULT_MEM_ALLOCATOR = {xcalloc, xrealloc, xfree};
-cmark_mem *cmark_get_default_mem_allocator() {
+cmark_mem *cmark_get_default_mem_allocator(void) {
return &CMARK_DEFAULT_MEM_ALLOCATOR;
}
Index: cmarkgfm-2022.10.27/third_party/cmark/src/commonmark.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/commonmark.c
+++ cmarkgfm-2022.10.27/third_party/cmark/src/commonmark.c
@@ -153,23 +153,8 @@ static bool is_autolink(cmark_node *node
link_text->as.literal.len) == 0);
}
-// if node is a block node, returns node.
-// otherwise returns first block-level node that is an ancestor of node.
-// if there is no block-level ancestor, returns NULL.
-static cmark_node *get_containing_block(cmark_node *node) {
- while (node) {
- if (CMARK_NODE_BLOCK_P(node)) {
- return node;
- } else {
- node = node->parent;
- }
- }
- return NULL;
-}
-
static int S_render_node(cmark_renderer *renderer, cmark_node *node,
cmark_event_type ev_type, int options) {
- cmark_node *tmp;
int list_number;
cmark_delim_type list_delim;
int numticks;
@@ -180,7 +165,7 @@ static int S_render_node(cmark_renderer
char fencechar[2] = {'\0', '\0'};
size_t info_len, code_len;
char listmarker[LISTMARKER_SIZE];
- char *emph_delim;
+ const char *emph_delim;
bool first_in_list_item;
bufsize_t marker_width;
bool allow_wrap = renderer->width > 0 && !(CMARK_OPT_NOBREAKS & options) &&
@@ -189,14 +174,17 @@ static int S_render_node(cmark_renderer
// Don't adjust tight list status til we've started the list.
// Otherwise we loose the blank line between a paragraph and
// a following list.
- if (!(node->type == CMARK_NODE_ITEM && node->prev == NULL && entering)) {
- tmp = get_containing_block(node);
- renderer->in_tight_list_item =
- tmp && // tmp might be NULL if there is no containing block
- ((tmp->type == CMARK_NODE_ITEM &&
- cmark_node_get_list_tight(tmp->parent)) ||
- (tmp && tmp->parent && tmp->parent->type == CMARK_NODE_ITEM &&
- cmark_node_get_list_tight(tmp->parent->parent)));
+ if (entering) {
+ if (node->parent && node->parent->type == CMARK_NODE_ITEM) {
+ renderer->in_tight_list_item = node->parent->parent->as.list.tight;
+ }
+ } else {
+ if (node->type == CMARK_NODE_LIST) {
+ renderer->in_tight_list_item =
+ node->parent &&
+ node->parent->type == CMARK_NODE_ITEM &&
+ node->parent->parent->as.list.tight;
+ }
}
if (node->extension && node->extension->commonmark_render_func) {
@@ -234,13 +222,8 @@ static int S_render_node(cmark_renderer
if (cmark_node_get_list_type(node->parent) == CMARK_BULLET_LIST) {
marker_width = 4;
} else {
- list_number = cmark_node_get_list_start(node->parent);
+ list_number = cmark_node_get_item_index(node);
list_delim = cmark_node_get_list_delim(node->parent);
- tmp = node;
- while (tmp->prev) {
- tmp = tmp->prev;
- list_number += 1;
- }
// we ensure a width of at least 4 so
// we get nice transition from single digits
// to double
@@ -405,10 +388,12 @@ static int S_render_node(cmark_renderer
break;
case CMARK_NODE_STRONG:
- if (entering) {
- LIT("**");
- } else {
- LIT("**");
+ if (node->parent == NULL || node->parent->type != CMARK_NODE_STRONG) {
+ if (entering) {
+ LIT("**");
+ } else {
+ LIT("**");
+ }
}
break;
Index: cmarkgfm-2022.10.27/third_party/cmark/src/html.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/html.c
+++ cmarkgfm-2022.10.27/third_party/cmark/src/html.c
@@ -63,10 +63,16 @@ static bool S_put_footnote_backref(cmark
if (renderer->written_footnote_ix >= renderer->footnote_ix)
return false;
renderer->written_footnote_ix = renderer->footnote_ix;
+ char m[32];
+ snprintf(m, sizeof(m), "%d", renderer->written_footnote_ix);
cmark_strbuf_puts(html, "<a href=\"#fnref-");
houdini_escape_href(html, node->as.literal.data, node->as.literal.len);
- cmark_strbuf_puts(html, "\" class=\"footnote-backref\" data-footnote-backref aria-label=\"Back to content\">↩</a>");
+ cmark_strbuf_puts(html, "\" class=\"footnote-backref\" data-footnote-backref data-footnote-backref-idx=\"");
+ cmark_strbuf_puts(html, m);
+ cmark_strbuf_puts(html, "\" aria-label=\"Back to reference ");
+ cmark_strbuf_puts(html, m);
+ cmark_strbuf_puts(html, "\">↩</a>");
if (node->footnote.def_count > 1)
{
@@ -78,7 +84,15 @@ static bool S_put_footnote_backref(cmark
houdini_escape_href(html, node->as.literal.data, node->as.literal.len);
cmark_strbuf_puts(html, "-");
cmark_strbuf_puts(html, n);
- cmark_strbuf_puts(html, "\" class=\"footnote-backref\" data-footnote-backref aria-label=\"Back to content\">↩<sup class=\"footnote-ref\">");
+ cmark_strbuf_puts(html, "\" class=\"footnote-backref\" data-footnote-backref data-footnote-backref-idx=\"");
+ cmark_strbuf_puts(html, m);
+ cmark_strbuf_puts(html, "-");
+ cmark_strbuf_puts(html, n);
+ cmark_strbuf_puts(html, "\" aria-label=\"Back to reference ");
+ cmark_strbuf_puts(html, m);
+ cmark_strbuf_puts(html, "-");
+ cmark_strbuf_puts(html, n);
+ cmark_strbuf_puts(html, "\">↩<sup class=\"footnote-ref\">");
cmark_strbuf_puts(html, n);
cmark_strbuf_puts(html, "</sup></a>");
}
@@ -350,10 +364,12 @@ static int S_render_node(cmark_html_rend
break;
case CMARK_NODE_STRONG:
- if (entering) {
- cmark_strbuf_puts(html, "<strong>");
- } else {
- cmark_strbuf_puts(html, "</strong>");
+ if (node->parent == NULL || node->parent->type != CMARK_NODE_STRONG) {
+ if (entering) {
+ cmark_strbuf_puts(html, "<strong>");
+ } else {
+ cmark_strbuf_puts(html, "</strong>");
+ }
}
break;
Index: cmarkgfm-2022.10.27/third_party/cmark/src/inlines.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/inlines.c
+++ cmarkgfm-2022.10.27/third_party/cmark/src/inlines.c
@@ -35,7 +35,6 @@ static const char *RIGHTSINGLEQUOTE = "\
typedef struct bracket {
struct bracket *previous;
- struct delimiter *previous_delimiter;
cmark_node *inl_text;
bufsize_t position;
bool image;
@@ -45,9 +44,15 @@ typedef struct bracket {
bool in_bracket_image1;
} bracket;
+#define FLAG_SKIP_HTML_CDATA (1u << 0)
+#define FLAG_SKIP_HTML_DECLARATION (1u << 1)
+#define FLAG_SKIP_HTML_PI (1u << 2)
+#define FLAG_SKIP_HTML_COMMENT (1u << 3)
+
typedef struct subject{
cmark_mem *mem;
cmark_chunk input;
+ unsigned flags;
int line;
bufsize_t pos;
int block_offset;
@@ -57,6 +62,7 @@ typedef struct subject{
bracket *last_bracket;
bufsize_t backticks[MAXBACKTICKS + 1];
bool scanned_for_backticks;
+ bool no_link_openers;
} subject;
// Extensions may populate this.
@@ -111,6 +117,24 @@ static cmark_node *make_str_with_entitie
}
}
+// Like cmark_node_append_child but without costly sanity checks.
+// Assumes that child was newly created.
+static void append_child(cmark_node *node, cmark_node *child) {
+ cmark_node *old_last_child = node->last_child;
+
+ child->next = NULL;
+ child->prev = old_last_child;
+ child->parent = node;
+ node->last_child = child;
+
+ if (old_last_child) {
+ old_last_child->next = child;
+ } else {
+ // Also set first_child if node previously had no children.
+ node->first_child = child;
+ }
+}
+
// Duplicate a chunk by creating a copy of the buffer not by reusing the
// buffer like cmark_chunk_dup does.
static cmark_chunk chunk_clone(cmark_mem *mem, cmark_chunk *src) {
@@ -154,7 +178,7 @@ static CMARK_INLINE cmark_node *make_aut
link->start_line = link->end_line = subj->line;
link->start_column = start_column + 1;
link->end_column = end_column + 1;
- cmark_node_append_child(link, make_str_with_entities(subj, start_column + 1, end_column - 1, &url));
+ append_child(link, make_str_with_entities(subj, start_column + 1, end_column - 1, &url));
return link;
}
@@ -163,6 +187,7 @@ static void subject_from_buf(cmark_mem *
int i;
e->mem = mem;
e->input = *chunk;
+ e->flags = 0;
e->line = line_number;
e->pos = 0;
e->block_offset = block_offset;
@@ -174,6 +199,7 @@ static void subject_from_buf(cmark_mem *
e->backticks[i] = 0;
}
e->scanned_for_backticks = false;
+ e->no_link_openers = true;
}
static CMARK_INLINE int isbacktick(int c) { return (c == '`'); }
@@ -505,6 +531,7 @@ static void push_delimiter(subject *subj
delim->can_open = can_open;
delim->can_close = can_close;
delim->inl_text = inl_text;
+ delim->position = subj->pos;
delim->length = inl_text->as.literal.len;
delim->previous = subj->last_delim;
delim->next = NULL;
@@ -525,7 +552,6 @@ static void push_bracket(subject *subj,
b->active = true;
b->inl_text = inl_text;
b->previous = subj->last_bracket;
- b->previous_delimiter = subj->last_delim;
b->position = subj->pos;
b->bracket_after = false;
if (image) {
@@ -534,6 +560,9 @@ static void push_bracket(subject *subj,
b->in_bracket_image0 = true;
}
subj->last_bracket = b;
+ if (!image) {
+ subj->no_link_openers = false;
+ }
}
// Assumes the subject has a c at the current position.
@@ -640,12 +669,13 @@ static cmark_syntax_extension *get_exten
return NULL;
}
-static void process_emphasis(cmark_parser *parser, subject *subj, delimiter *stack_bottom) {
- delimiter *closer = subj->last_delim;
+static void process_emphasis(cmark_parser *parser, subject *subj, bufsize_t stack_bottom) {
+ delimiter *candidate;
+ delimiter *closer = NULL;
delimiter *opener;
delimiter *old_closer;
bool opener_found;
- delimiter *openers_bottom[3][128];
+ bufsize_t openers_bottom[3][128];
int i;
// initialize openers_bottom:
@@ -658,8 +688,10 @@ static void process_emphasis(cmark_parse
}
// move back to first relevant delim.
- while (closer != NULL && closer->previous != stack_bottom) {
- closer = closer->previous;
+ candidate = subj->last_delim;
+ while (candidate != NULL && candidate->position >= stack_bottom) {
+ closer = candidate;
+ candidate = candidate->previous;
}
// now move forward, looking for closers, and handling each
@@ -669,8 +701,8 @@ static void process_emphasis(cmark_parse
// Now look backwards for first matching opener:
opener = closer->previous;
opener_found = false;
- while (opener != NULL && opener != stack_bottom &&
- opener != openers_bottom[closer->length % 3][closer->delim_char]) {
+ while (opener != NULL && opener->position >= stack_bottom &&
+ opener->position >= openers_bottom[closer->length % 3][closer->delim_char]) {
if (opener->can_open && opener->delim_char == closer->delim_char) {
// interior closer of size 2 can't match opener of size 1
// or of size 1 can't match 2
@@ -696,27 +728,29 @@ static void process_emphasis(cmark_parse
} else {
closer = closer->next;
}
- } else if (closer->delim_char == '\'') {
+ } else if (closer->delim_char == '\'' || closer->delim_char == '"') {
cmark_chunk_free(subj->mem, &closer->inl_text->as.literal);
- closer->inl_text->as.literal = cmark_chunk_literal(RIGHTSINGLEQUOTE);
- if (opener_found) {
- cmark_chunk_free(subj->mem, &opener->inl_text->as.literal);
- opener->inl_text->as.literal = cmark_chunk_literal(LEFTSINGLEQUOTE);
+ if (closer->delim_char == '\'') {
+ closer->inl_text->as.literal = cmark_chunk_literal(RIGHTSINGLEQUOTE);
+ } else {
+ closer->inl_text->as.literal = cmark_chunk_literal(RIGHTDOUBLEQUOTE);
}
closer = closer->next;
- } else if (closer->delim_char == '"') {
- cmark_chunk_free(subj->mem, &closer->inl_text->as.literal);
- closer->inl_text->as.literal = cmark_chunk_literal(RIGHTDOUBLEQUOTE);
if (opener_found) {
cmark_chunk_free(subj->mem, &opener->inl_text->as.literal);
- opener->inl_text->as.literal = cmark_chunk_literal(LEFTDOUBLEQUOTE);
+ if (old_closer->delim_char == '\'') {
+ opener->inl_text->as.literal = cmark_chunk_literal(LEFTSINGLEQUOTE);
+ } else {
+ opener->inl_text->as.literal = cmark_chunk_literal(LEFTDOUBLEQUOTE);
+ }
+ remove_delimiter(subj, opener);
+ remove_delimiter(subj, old_closer);
}
- closer = closer->next;
}
if (!opener_found) {
// set lower bound for future searches for openers
openers_bottom[old_closer->length % 3][old_closer->delim_char] =
- old_closer->previous;
+ old_closer->position;
if (!old_closer->can_open) {
// we can remove a closer that can't be an
// opener, once we've seen there's no
@@ -729,7 +763,8 @@ static void process_emphasis(cmark_parse
}
}
// free all delimiters in list until stack_bottom:
- while (subj->last_delim != NULL && subj->last_delim != stack_bottom) {
+ while (subj->last_delim != NULL &&
+ subj->last_delim->position >= stack_bottom) {
remove_delimiter(subj, subj->last_delim);
}
}
@@ -768,7 +803,8 @@ static delimiter *S_insert_emph(subject
tmp = opener_inl->next;
while (tmp && tmp != closer_inl) {
tmpnext = tmp->next;
- cmark_node_append_child(emph, tmp);
+ cmark_node_unlink(tmp);
+ append_child(emph, tmp);
tmp = tmpnext;
}
cmark_node_insert_after(opener_inl, emph);
@@ -899,7 +935,63 @@ static cmark_node *handle_pointy_brace(s
}
// finally, try to match an html tag
- matchlen = scan_html_tag(&subj->input, subj->pos);
+ if (subj->pos + 2 <= subj->input.len) {
+ int c = subj->input.data[subj->pos];
+ if (c == '!' && (subj->flags & FLAG_SKIP_HTML_COMMENT) == 0) {
+ c = subj->input.data[subj->pos+1];
+ if (c == '-' && subj->input.data[subj->pos+2] == '-') {
+ if (subj->input.data[subj->pos+3] == '>') {
+ matchlen = 4;
+ } else if (subj->input.data[subj->pos+3] == '-' &&
+ subj->input.data[subj->pos+4] == '>') {
+ matchlen = 5;
+ } else {
+ matchlen = scan_html_comment(&subj->input, subj->pos + 1);
+ if (matchlen > 0) {
+ matchlen += 1; // prefix "<"
+ } else { // no match through end of input: set a flag so
+ // we don't reparse looking for -->:
+ subj->flags |= FLAG_SKIP_HTML_COMMENT;
+ }
+ }
+ } else if (c == '[') {
+ if ((subj->flags & FLAG_SKIP_HTML_CDATA) == 0) {
+ matchlen = scan_html_cdata(&subj->input, subj->pos + 2);
+ if (matchlen > 0) {
+ // The regex doesn't require the final "]]>". But if we're not at
+ // the end of input, it must come after the match. Otherwise,
+ // disable subsequent scans to avoid quadratic behavior.
+ matchlen += 5; // prefix "![", suffix "]]>"
+ if (subj->pos + matchlen > subj->input.len) {
+ subj->flags |= FLAG_SKIP_HTML_CDATA;
+ matchlen = 0;
+ }
+ }
+ }
+ } else if ((subj->flags & FLAG_SKIP_HTML_DECLARATION) == 0) {
+ matchlen = scan_html_declaration(&subj->input, subj->pos + 1);
+ if (matchlen > 0) {
+ matchlen += 2; // prefix "!", suffix ">"
+ if (subj->pos + matchlen > subj->input.len) {
+ subj->flags |= FLAG_SKIP_HTML_DECLARATION;
+ matchlen = 0;
+ }
+ }
+ }
+ } else if (c == '?') {
+ if ((subj->flags & FLAG_SKIP_HTML_PI) == 0) {
+ // Note that we allow an empty match.
+ matchlen = scan_html_pi(&subj->input, subj->pos + 1);
+ matchlen += 3; // prefix "?", suffix "?>"
+ if (subj->pos + matchlen > subj->input.len) {
+ subj->flags |= FLAG_SKIP_HTML_PI;
+ matchlen = 0;
+ }
+ }
+ } else {
+ matchlen = scan_html_tag(&subj->input, subj->pos);
+ }
+ }
if (matchlen > 0) {
contents = cmark_chunk_dup(&subj->input, subj->pos - 1, matchlen + 1);
subj->pos += matchlen;
@@ -1065,16 +1157,16 @@ static cmark_node *handle_close_bracket(
return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("]"));
}
- if (!opener->active) {
+ // If we got here, we matched a potential link/image text.
+ // Now we check to see if it's a link/image.
+ is_image = opener->image;
+
+ if (!is_image && subj->no_link_openers) {
// take delimiter off stack
pop_bracket(subj);
return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("]"));
}
- // If we got here, we matched a potential link/image text.
- // Now we check to see if it's a link/image.
- is_image = opener->image;
-
after_link_text_pos = subj->pos;
// First, look for an inline link.
@@ -1193,7 +1285,7 @@ noMatch:
// being replacing the opening '[' text node with a `^footnote-ref]` node.
cmark_node_insert_before(opener->inl_text, fnref);
- process_emphasis(parser, subj, opener->previous_delimiter);
+ process_emphasis(parser, subj, opener->position);
// sometimes, the footnote reference text gets parsed into multiple nodes
// i.e. '[^example]' parsed into '[', '^exam', 'ple]'.
// this happens for ex with the autolink extension. when the autolinker
@@ -1238,42 +1330,22 @@ match:
tmp = opener->inl_text->next;
while (tmp) {
tmpnext = tmp->next;
- cmark_node_append_child(inl, tmp);
+ cmark_node_unlink(tmp);
+ append_child(inl, tmp);
tmp = tmpnext;
}
// Free the bracket [:
cmark_node_free(opener->inl_text);
- process_emphasis(parser, subj, opener->previous_delimiter);
+ process_emphasis(parser, subj, opener->position);
pop_bracket(subj);
- // Now, if we have a link, we also want to deactivate earlier link
- // delimiters. (This code can be removed if we decide to allow links
+ // Now, if we have a link, we also want to deactivate links until
+ // we get a new opener. (This code can be removed if we decide to allow links
// inside links.)
if (!is_image) {
- opener = subj->last_bracket;
- while (opener != NULL) {
- if (!opener->image) {
- if (!opener->active) {
- break;
- } else {
- opener->active = false;
- }
- }
- opener = opener->previous;
- }
- bool in_bracket_image1 = false;
- if (opener) {
- in_bracket_image1 = opener->in_bracket_image1;
- }
- bracket *opener2 = subj->last_bracket;
- while (opener2 != opener) {
- if (opener2->image) {
- opener2->in_bracket_image1 = in_bracket_image1;
- }
- opener2 = opener2->previous;
- }
+ subj->no_link_openers = true;
}
return NULL;
@@ -1451,7 +1523,7 @@ static int parse_inline(cmark_parser *pa
new_inl = make_str(subj, startpos, endpos - 1, contents);
}
if (new_inl != NULL) {
- cmark_node_append_child(parent, new_inl);
+ append_child(parent, new_inl);
}
return 1;
@@ -1470,7 +1542,7 @@ void cmark_parse_inlines(cmark_parser *p
while (!is_eof(&subj) && parse_inline(parser, &subj, parent, options))
;
- process_emphasis(parser, &subj, NULL);
+ process_emphasis(parser, &subj, 0);
// free bracket and delim stack
while (subj.last_delim) {
remove_delimiter(&subj, subj.last_delim);
Index: cmarkgfm-2022.10.27/third_party/cmark/src/latex.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/latex.c
+++ cmarkgfm-2022.10.27/third_party/cmark/src/latex.c
@@ -385,10 +385,12 @@ static int S_render_node(cmark_renderer
break;
case CMARK_NODE_STRONG:
- if (entering) {
- LIT("\\textbf{");
- } else {
- LIT("}");
+ if (node->parent == NULL || node->parent->type != CMARK_NODE_STRONG) {
+ if (entering) {
+ LIT("\\textbf{");
+ } else {
+ LIT("}");
+ }
}
break;
Index: cmarkgfm-2022.10.27/third_party/cmark/src/man.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/man.c
+++ cmarkgfm-2022.10.27/third_party/cmark/src/man.c
@@ -74,7 +74,6 @@ static void S_outc(cmark_renderer *rende
static int S_render_node(cmark_renderer *renderer, cmark_node *node,
cmark_event_type ev_type, int options) {
- cmark_node *tmp;
int list_number;
bool entering = (ev_type == CMARK_EVENT_ENTER);
bool allow_wrap = renderer->width > 0 && !(CMARK_OPT_NOBREAKS & options);
@@ -123,12 +122,7 @@ static int S_render_node(cmark_renderer
if (cmark_node_get_list_type(node->parent) == CMARK_BULLET_LIST) {
LIT("\\[bu] 2");
} else {
- list_number = cmark_node_get_list_start(node->parent);
- tmp = node;
- while (tmp->prev) {
- tmp = tmp->prev;
- list_number += 1;
- }
+ list_number = cmark_node_get_item_index(node);
char list_number_s[LIST_NUMBER_SIZE];
snprintf(list_number_s, LIST_NUMBER_SIZE, "\"%d.\" 4", list_number);
LIT(list_number_s);
@@ -225,10 +219,12 @@ static int S_render_node(cmark_renderer
break;
case CMARK_NODE_STRONG:
- if (entering) {
- LIT("\\f[B]");
- } else {
- LIT("\\f[]");
+ if (node->parent == NULL || node->parent->type != CMARK_NODE_STRONG) {
+ if (entering) {
+ LIT("\\f[B]");
+ } else {
+ LIT("\\f[]");
+ }
}
break;
Index: cmarkgfm-2022.10.27/third_party/cmark/src/map.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/map.c
+++ cmarkgfm-2022.10.27/third_party/cmark/src/map.c
@@ -51,7 +51,7 @@ refsearch(const void *label, const void
}
static void sort_map(cmark_map *map) {
- unsigned int i = 0, last = 0, size = map->size;
+ size_t i = 0, last = 0, size = map->size;
cmark_map_entry *r = map->refs, **sorted = NULL;
sorted = (cmark_map_entry **)map->mem->calloc(size, sizeof(cmark_map_entry *));
@@ -73,6 +73,7 @@ static void sort_map(cmark_map *map) {
cmark_map_entry *cmark_map_lookup(cmark_map *map, cmark_chunk *label) {
cmark_map_entry **ref = NULL;
+ cmark_map_entry *r = NULL;
unsigned char *norm;
if (label->len < 1 || label->len > MAX_LINK_LABEL_LENGTH)
@@ -91,10 +92,15 @@ cmark_map_entry *cmark_map_lookup(cmark_
ref = (cmark_map_entry **)bsearch(norm, map->sorted, map->size, sizeof(cmark_map_entry *), refsearch);
map->mem->free(norm);
- if (!ref)
- return NULL;
+ if (ref != NULL) {
+ r = ref[0];
+ /* Check for expansion limit */
+ if (r->size > map->max_ref_size - map->ref_size)
+ return NULL;
+ map->ref_size += r->size;
+ }
- return ref[0];
+ return r;
}
void cmark_map_free(cmark_map *map) {
@@ -118,5 +124,6 @@ cmark_map *cmark_map_new(cmark_mem *mem,
cmark_map *map = (cmark_map *)mem->calloc(1, sizeof(cmark_map));
map->mem = mem;
map->free = free;
+ map->max_ref_size = UINT_MAX;
return map;
}
Index: cmarkgfm-2022.10.27/third_party/cmark/src/map.h
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/map.h
+++ cmarkgfm-2022.10.27/third_party/cmark/src/map.h
@@ -10,7 +10,8 @@ extern "C" {
struct cmark_map_entry {
struct cmark_map_entry *next;
unsigned char *label;
- unsigned int age;
+ size_t age;
+ size_t size;
};
typedef struct cmark_map_entry cmark_map_entry;
@@ -23,7 +24,9 @@ struct cmark_map {
cmark_mem *mem;
cmark_map_entry *refs;
cmark_map_entry **sorted;
- unsigned int size;
+ size_t size;
+ size_t ref_size;
+ size_t max_ref_size;
cmark_map_free_f free;
};
Index: cmarkgfm-2022.10.27/third_party/cmark/src/node.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/node.c
+++ cmarkgfm-2022.10.27/third_party/cmark/src/node.c
@@ -5,10 +5,42 @@
#include "node.h"
#include "syntax_extension.h"
+/**
+ * Expensive safety checks are off by default, but can be enabled
+ * by calling cmark_enable_safety_checks().
+ */
+static bool enable_safety_checks = false;
+
+void cmark_enable_safety_checks(bool enable) {
+ enable_safety_checks = enable;
+}
+
static void S_node_unlink(cmark_node *node);
#define NODE_MEM(node) cmark_node_mem(node)
+void cmark_register_node_flag(cmark_node_internal_flags *flags) {
+ static cmark_node_internal_flags nextflag = CMARK_NODE__REGISTER_FIRST;
+
+ // flags should be a pointer to a global variable and this function
+ // should only be called once to initialize its value.
+ if (*flags) {
+ fprintf(stderr, "flag initialization error in cmark_register_node_flag\n");
+ abort();
+ }
+
+ // Check that we haven't run out of bits.
+ if (nextflag == 0) {
+ fprintf(stderr, "too many flags in cmark_register_node_flag\n");
+ abort();
+ }
+
+ *flags = nextflag;
+ nextflag <<= 1;
+}
+
+void cmark_init_standard_node_flags(void) {}
+
bool cmark_node_can_contain_type(cmark_node *node, cmark_node_type child_type) {
if (child_type == CMARK_NODE_DOCUMENT) {
return false;
@@ -48,8 +80,6 @@ bool cmark_node_can_contain_type(cmark_n
}
static bool S_can_contain(cmark_node *node, cmark_node *child) {
- cmark_node *cur;
-
if (node == NULL || child == NULL) {
return false;
}
@@ -57,14 +87,16 @@ static bool S_can_contain(cmark_node *no
return 0;
}
- // Verify that child is not an ancestor of node or equal to node.
- cur = node;
- do {
- if (cur == child) {
- return false;
- }
- cur = cur->parent;
- } while (cur != NULL);
+ if (enable_safety_checks) {
+ // Verify that child is not an ancestor of node or equal to node.
+ cmark_node *cur = node;
+ do {
+ if (cur == child) {
+ return false;
+ }
+ cur = cur->parent;
+ } while (cur != NULL);
+ }
return cmark_node_can_contain_type(node, (cmark_node_type) child->type);
}
@@ -301,6 +333,14 @@ cmark_node *cmark_node_last_child(cmark_
}
}
+cmark_node *cmark_node_parent_footnote_def(cmark_node *node) {
+ if (node == NULL) {
+ return NULL;
+ } else {
+ return node->parent_footnote_def;
+ }
+}
+
void *cmark_node_get_user_data(cmark_node *node) {
if (node == NULL) {
return NULL;
@@ -337,6 +377,7 @@ const char *cmark_node_get_literal(cmark
case CMARK_NODE_HTML_INLINE:
case CMARK_NODE_CODE:
case CMARK_NODE_FOOTNOTE_REFERENCE:
+ case CMARK_NODE_FOOTNOTE_DEFINITION:
return cmark_chunk_to_cstr(NODE_MEM(node), &node->as.literal);
case CMARK_NODE_CODE_BLOCK:
@@ -521,6 +562,31 @@ int cmark_node_set_list_tight(cmark_node
return 1;
} else {
return 0;
+ }
+}
+
+int cmark_node_get_item_index(cmark_node *node) {
+ if (node == NULL) {
+ return 0;
+ }
+
+ if (node->type == CMARK_NODE_ITEM) {
+ return node->as.list.start;
+ } else {
+ return 0;
+ }
+}
+
+int cmark_node_set_item_index(cmark_node *node, int idx) {
+ if (node == NULL || idx < 0) {
+ return 0;
+ }
+
+ if (node->type == CMARK_NODE_ITEM) {
+ node->as.list.start = idx;
+ return 1;
+ } else {
+ return 0;
}
}
Index: cmarkgfm-2022.10.27/third_party/cmark/src/node.h
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/node.h
+++ cmarkgfm-2022.10.27/third_party/cmark/src/node.h
@@ -52,8 +52,14 @@ enum cmark_node__internal_flags {
CMARK_NODE__OPEN = (1 << 0),
CMARK_NODE__LAST_LINE_BLANK = (1 << 1),
CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
+
+ // Extensions can register custom flags by calling `cmark_register_node_flag`.
+ // This is the starting value for the custom flags.
+ CMARK_NODE__REGISTER_FIRST = (1 << 3),
};
+typedef uint16_t cmark_node_internal_flags;
+
struct cmark_node {
cmark_strbuf content;
@@ -72,10 +78,18 @@ struct cmark_node {
int end_column;
int internal_offset;
uint16_t type;
- uint16_t flags;
+ cmark_node_internal_flags flags;
cmark_syntax_extension *extension;
+ /**
+ * Used during cmark_render() to cache the most recent non-NULL
+ * extension, if you go up the parent chain like this:
+ *
+ * node->parent->...parent->extension
+ */
+ cmark_syntax_extension *ancestor_extension;
+
union {
int ref_ix;
int def_count;
@@ -91,10 +105,31 @@ struct cmark_node {
cmark_link link;
cmark_custom custom;
int html_block_type;
+ int cell_index; // For keeping track of TABLE_CELL table alignments
void *opaque;
} as;
};
+/**
+ * Syntax extensions can use this function to register a custom node
+ * flag. The flags are stored in the `flags` field of the `cmark_node`
+ * struct. The `flags` parameter should be the address of a global variable
+ * which will store the flag value.
+ */
+CMARK_GFM_EXPORT
+void cmark_register_node_flag(cmark_node_internal_flags *flags);
+
+/**
+ * DEPRECATED.
+ *
+ * This function was added in cmark-gfm version 0.29.0.gfm.7, and was
+ * required to be called at program start time, which caused
+ * backwards-compatibility issues in applications that use cmark-gfm as a
+ * library. It is now a no-op.
+ */
+CMARK_GFM_EXPORT
+void cmark_init_standard_node_flags(void);
+
static CMARK_INLINE cmark_mem *cmark_node_mem(cmark_node *node) {
return node->content.mem;
}
@@ -118,6 +153,13 @@ static CMARK_INLINE bool CMARK_NODE_INLI
CMARK_GFM_EXPORT bool cmark_node_can_contain_type(cmark_node *node, cmark_node_type child_type);
+/**
+ * Enable (or disable) extra safety checks. These extra checks cause
+ * extra performance overhead (in some cases quadratic), so they are only
+ * intended to be used during testing.
+ */
+CMARK_GFM_EXPORT void cmark_enable_safety_checks(bool enable);
+
#ifdef __cplusplus
}
#endif
Index: cmarkgfm-2022.10.27/third_party/cmark/src/parser.h
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/parser.h
+++ cmarkgfm-2022.10.27/third_party/cmark/src/parser.h
@@ -46,6 +46,7 @@ struct cmark_parser {
/* Options set by the user, see the Options section in cmark.h */
int options;
bool last_buffer_ended_with_cr;
+ size_t total_size;
cmark_llist *syntax_extensions;
cmark_llist *inline_syntax_extensions;
cmark_ispunct_func backslash_ispunct;
Index: cmarkgfm-2022.10.27/third_party/cmark/src/plaintext.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/plaintext.c
+++ cmarkgfm-2022.10.27/third_party/cmark/src/plaintext.c
@@ -16,23 +16,8 @@ static CMARK_INLINE void outc(cmark_rend
cmark_render_code_point(renderer, c);
}
-// if node is a block node, returns node.
-// otherwise returns first block-level node that is an ancestor of node.
-// if there is no block-level ancestor, returns NULL.
-static cmark_node *get_containing_block(cmark_node *node) {
- while (node) {
- if (CMARK_NODE_BLOCK_P(node)) {
- return node;
- } else {
- node = node->parent;
- }
- }
- return NULL;
-}
-
static int S_render_node(cmark_renderer *renderer, cmark_node *node,
cmark_event_type ev_type, int options) {
- cmark_node *tmp;
int list_number;
cmark_delim_type list_delim;
int i;
@@ -46,14 +31,17 @@ static int S_render_node(cmark_renderer
// Don't adjust tight list status til we've started the list.
// Otherwise we loose the blank line between a paragraph and
// a following list.
- if (!(node->type == CMARK_NODE_ITEM && node->prev == NULL && entering)) {
- tmp = get_containing_block(node);
- renderer->in_tight_list_item =
- tmp && // tmp might be NULL if there is no containing block
- ((tmp->type == CMARK_NODE_ITEM &&
- cmark_node_get_list_tight(tmp->parent)) ||
- (tmp && tmp->parent && tmp->parent->type == CMARK_NODE_ITEM &&
- cmark_node_get_list_tight(tmp->parent->parent)));
+ if (entering) {
+ if (node->parent && node->parent->type == CMARK_NODE_ITEM) {
+ renderer->in_tight_list_item = node->parent->parent->as.list.tight;
+ }
+ } else {
+ if (node->type == CMARK_NODE_LIST) {
+ renderer->in_tight_list_item =
+ node->parent &&
+ node->parent->type == CMARK_NODE_ITEM &&
+ node->parent->parent->as.list.tight;
+ }
}
if (node->extension && node->extension->plaintext_render_func) {
@@ -79,13 +67,8 @@ static int S_render_node(cmark_renderer
if (cmark_node_get_list_type(node->parent) == CMARK_BULLET_LIST) {
marker_width = 4;
} else {
- list_number = cmark_node_get_list_start(node->parent);
+ list_number = cmark_node_get_item_index(node);
list_delim = cmark_node_get_list_delim(node->parent);
- tmp = node;
- while (tmp->prev) {
- tmp = tmp->prev;
- list_number += 1;
- }
// we ensure a width of at least 4 so
// we get nice transition from single digits
// to double
Index: cmarkgfm-2022.10.27/third_party/cmark/src/references.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/references.c
+++ cmarkgfm-2022.10.27/third_party/cmark/src/references.c
@@ -32,6 +32,7 @@ void cmark_reference_create(cmark_map *m
ref->title = cmark_clean_title(map->mem, title);
ref->entry.age = map->size;
ref->entry.next = map->refs;
+ ref->entry.size = ref->url.len + ref->title.len;
map->refs = (cmark_map_entry *)ref;
map->size++;
Index: cmarkgfm-2022.10.27/third_party/cmark/src/render.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/render.c
+++ cmarkgfm-2022.10.27/third_party/cmark/src/render.c
@@ -31,13 +31,7 @@ static void S_out(cmark_renderer *render
cmark_chunk remainder = cmark_chunk_literal("");
int k = renderer->buffer->size - 1;
- cmark_syntax_extension *ext = NULL;
- cmark_node *n = node;
- while (n && !ext) {
- ext = n->extension;
- if (!ext)
- n = n->parent;
- }
+ cmark_syntax_extension *ext = node->ancestor_extension;
if (ext && !ext->commonmark_escape_func)
ext = NULL;
@@ -182,6 +176,20 @@ char *cmark_render(cmark_mem *mem, cmark
while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
cur = cmark_iter_get_node(iter);
+ if (cur->extension) {
+ cur->ancestor_extension = cur->extension;
+ } else if (cur->parent) {
+ cur->ancestor_extension = cur->parent->ancestor_extension;
+ }
+ if (cur->type == CMARK_NODE_ITEM) {
+ // Calculate the list item's index, for the benefit of output formats
+ // like commonmark and plaintext.
+ if (cur->prev) {
+ cmark_node_set_item_index(cur, 1 + cmark_node_get_item_index(cur->prev));
+ } else {
+ cmark_node_set_item_index(cur, cmark_node_get_list_start(cur->parent));
+ }
+ }
if (!render_node(&renderer, cur, ev_type, options)) {
// a false value causes us to skip processing
// the node's contents. this is used for
Index: cmarkgfm-2022.10.27/third_party/cmark/src/scanners.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/scanners.c
+++ cmarkgfm-2022.10.27/third_party/cmark/src/scanners.c
@@ -1,10508 +1,14056 @@
-/* Generated by re2c 1.3 */
-#include <stdlib.h>
-#include "chunk.h"
+/* Generated by re2c 3.0 */
#include "scanners.h"
+#include "chunk.h"
+#include <stdlib.h>
-bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, bufsize_t offset)
-{
- bufsize_t res;
- unsigned char *ptr = (unsigned char *)c->data;
-
- if (ptr == NULL || offset > c->len) {
- return 0;
- } else {
- unsigned char lim = ptr[c->len];
-
- ptr[c->len] = '\0';
- res = scanner(ptr + offset);
- ptr[c->len] = lim;
- }
+bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c,
+ bufsize_t offset) {
+ bufsize_t res;
+ unsigned char *ptr = (unsigned char *)c->data;
+
+ if (ptr == NULL || offset > c->len) {
+ return 0;
+ } else {
+ unsigned char lim = ptr[c->len];
+
+ ptr[c->len] = '\0';
+ res = scanner(ptr + offset);
+ ptr[c->len] = lim;
+ }
- return res;
+ return res;
}
-
-
// Try to match a scheme including colon.
-bufsize_t _scan_scheme(const unsigned char *p)
-{
+bufsize_t _scan_scheme(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
-{
- unsigned char yych;
- yych = *p;
- if (yych <= '@') goto yy2;
- if (yych <= 'Z') goto yy4;
- if (yych <= '`') goto yy2;
- if (yych <= 'z') goto yy4;
-yy2:
- ++p;
-yy3:
- { return 0; }
-yy4:
- yych = *(marker = ++p);
- if (yych <= '/') {
- if (yych <= '+') {
- if (yych <= '*') goto yy3;
- } else {
- if (yych <= ',') goto yy3;
- if (yych >= '/') goto yy3;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '9') goto yy5;
- if (yych <= '@') goto yy3;
- } else {
- if (yych <= '`') goto yy3;
- if (yych >= '{') goto yy3;
- }
- }
-yy5:
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych == '+') goto yy7;
- } else {
- if (yych != '/') goto yy7;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych >= 'A') goto yy7;
- } else {
- if (yych <= '`') goto yy6;
- if (yych <= 'z') goto yy7;
- }
- }
-yy6:
- p = marker;
- goto yy3;
-yy7:
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych == '+') goto yy10;
- goto yy6;
- } else {
- if (yych == '/') goto yy6;
- goto yy10;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- goto yy10;
- } else {
- if (yych <= '`') goto yy6;
- if (yych <= 'z') goto yy10;
- goto yy6;
- }
- }
-yy8:
- ++p;
- { return (bufsize_t)(p - start); }
-yy10:
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy6;
- } else {
- if (yych == '/') goto yy6;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy8;
- if (yych <= '@') goto yy6;
- } else {
- if (yych <= '`') goto yy6;
- if (yych >= '{') goto yy6;
- }
- }
- yych = *++p;
- if (yych == ':') goto yy8;
- goto yy6;
-}
-
+ {
+ unsigned char yych;
+ yych = *p;
+ if (yych <= '@')
+ goto yy1;
+ if (yych <= 'Z')
+ goto yy3;
+ if (yych <= '`')
+ goto yy1;
+ if (yych <= 'z')
+ goto yy3;
+ yy1:
+ ++p;
+ yy2 : { return 0; }
+ yy3:
+ yych = *(marker = ++p);
+ if (yych <= '/') {
+ if (yych <= '+') {
+ if (yych <= '*')
+ goto yy2;
+ } else {
+ if (yych <= ',')
+ goto yy2;
+ if (yych >= '/')
+ goto yy2;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '9')
+ goto yy4;
+ if (yych <= '@')
+ goto yy2;
+ } else {
+ if (yych <= '`')
+ goto yy2;
+ if (yych >= '{')
+ goto yy2;
+ }
+ }
+ yy4:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych == '+')
+ goto yy6;
+ } else {
+ if (yych != '/')
+ goto yy6;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych >= 'A')
+ goto yy6;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych <= 'z')
+ goto yy6;
+ }
+ }
+ yy5:
+ p = marker;
+ goto yy2;
+ yy6:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych == '+')
+ goto yy8;
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ goto yy8;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ goto yy8;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych <= 'z')
+ goto yy8;
+ goto yy5;
+ }
+ }
+ yy7:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy8:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy5;
+ } else {
+ if (yych == '/')
+ goto yy5;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy7;
+ if (yych <= '@')
+ goto yy5;
+ } else {
+ if (yych <= '`')
+ goto yy5;
+ if (yych >= '{')
+ goto yy5;
+ }
+ }
+ yych = *++p;
+ if (yych == ':')
+ goto yy7;
+ goto yy5;
+ }
}
// Try to match URI autolink after first <, returning number of chars matched.
-bufsize_t _scan_autolink_uri(const unsigned char *p)
-{
+bufsize_t _scan_autolink_uri(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
-{
- unsigned char yych;
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 0, 128, 0, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *p;
- if (yych <= '@') goto yy41;
- if (yych <= 'Z') goto yy43;
- if (yych <= '`') goto yy41;
- if (yych <= 'z') goto yy43;
-yy41:
- ++p;
-yy42:
- { return 0; }
-yy43:
- yych = *(marker = ++p);
- if (yych <= '/') {
- if (yych <= '+') {
- if (yych <= '*') goto yy42;
- } else {
- if (yych <= ',') goto yy42;
- if (yych >= '/') goto yy42;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '9') goto yy44;
- if (yych <= '@') goto yy42;
- } else {
- if (yych <= '`') goto yy42;
- if (yych >= '{') goto yy42;
- }
- }
-yy44:
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych == '+') goto yy46;
- } else {
- if (yych != '/') goto yy46;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych >= 'A') goto yy46;
- } else {
- if (yych <= '`') goto yy45;
- if (yych <= 'z') goto yy46;
- }
- }
-yy45:
- p = marker;
- goto yy42;
-yy46:
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych == '+') goto yy49;
- goto yy45;
- } else {
- if (yych == '/') goto yy45;
- goto yy49;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- goto yy49;
- } else {
- if (yych <= '`') goto yy45;
- if (yych <= 'z') goto yy49;
- goto yy45;
- }
- }
-yy47:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy47;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '<') goto yy45;
- if (yych <= '>') goto yy50;
- goto yy45;
- } else {
- if (yych <= 0xDF) goto yy52;
- if (yych <= 0xE0) goto yy53;
- goto yy54;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy55;
- if (yych <= 0xEF) goto yy54;
- goto yy56;
- } else {
- if (yych <= 0xF3) goto yy57;
- if (yych <= 0xF4) goto yy58;
- goto yy45;
- }
- }
-yy49:
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych == '+') goto yy59;
- goto yy45;
- } else {
- if (yych == '/') goto yy45;
- goto yy59;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- goto yy59;
- } else {
- if (yych <= '`') goto yy45;
- if (yych <= 'z') goto yy59;
- goto yy45;
- }
- }
-yy50:
- ++p;
- { return (bufsize_t)(p - start); }
-yy52:
- yych = *++p;
- if (yych <= 0x7F) goto yy45;
- if (yych <= 0xBF) goto yy47;
- goto yy45;
-yy53:
- yych = *++p;
- if (yych <= 0x9F) goto yy45;
- if (yych <= 0xBF) goto yy52;
- goto yy45;
-yy54:
- yych = *++p;
- if (yych <= 0x7F) goto yy45;
- if (yych <= 0xBF) goto yy52;
- goto yy45;
-yy55:
- yych = *++p;
- if (yych <= 0x7F) goto yy45;
- if (yych <= 0x9F) goto yy52;
- goto yy45;
-yy56:
- yych = *++p;
- if (yych <= 0x8F) goto yy45;
- if (yych <= 0xBF) goto yy54;
- goto yy45;
-yy57:
- yych = *++p;
- if (yych <= 0x7F) goto yy45;
- if (yych <= 0xBF) goto yy54;
- goto yy45;
-yy58:
- yych = *++p;
- if (yych <= 0x7F) goto yy45;
- if (yych <= 0x8F) goto yy54;
- goto yy45;
-yy59:
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych <= ',') {
- if (yych != '+') goto yy45;
- } else {
- if (yych == '/') goto yy45;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= ':') goto yy47;
- if (yych <= '@') goto yy45;
- } else {
- if (yych <= '`') goto yy45;
- if (yych >= '{') goto yy45;
- }
- }
- yych = *++p;
- if (yych == ':') goto yy47;
- goto yy45;
-}
-
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 0, 128, 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych <= '@')
+ goto yy10;
+ if (yych <= 'Z')
+ goto yy12;
+ if (yych <= '`')
+ goto yy10;
+ if (yych <= 'z')
+ goto yy12;
+ yy10:
+ ++p;
+ yy11 : { return 0; }
+ yy12:
+ yych = *(marker = ++p);
+ if (yych <= '/') {
+ if (yych <= '+') {
+ if (yych <= '*')
+ goto yy11;
+ } else {
+ if (yych <= ',')
+ goto yy11;
+ if (yych >= '/')
+ goto yy11;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '9')
+ goto yy13;
+ if (yych <= '@')
+ goto yy11;
+ } else {
+ if (yych <= '`')
+ goto yy11;
+ if (yych >= '{')
+ goto yy11;
+ }
+ }
+ yy13:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych == '+')
+ goto yy15;
+ } else {
+ if (yych != '/')
+ goto yy15;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych >= 'A')
+ goto yy15;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych <= 'z')
+ goto yy15;
+ }
+ }
+ yy14:
+ p = marker;
+ goto yy11;
+ yy15:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych == '+')
+ goto yy17;
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ goto yy17;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ goto yy17;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych <= 'z')
+ goto yy17;
+ goto yy14;
+ }
+ }
+ yy16:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy16;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '<')
+ goto yy14;
+ if (yych <= '>')
+ goto yy18;
+ goto yy14;
+ } else {
+ if (yych <= 0xDF)
+ goto yy19;
+ if (yych <= 0xE0)
+ goto yy20;
+ goto yy21;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy22;
+ if (yych <= 0xEF)
+ goto yy21;
+ goto yy23;
+ } else {
+ if (yych <= 0xF3)
+ goto yy24;
+ if (yych <= 0xF4)
+ goto yy25;
+ goto yy14;
+ }
+ }
+ yy17:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych == '+')
+ goto yy26;
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ goto yy26;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych <= 'z')
+ goto yy26;
+ goto yy14;
+ }
+ }
+ yy18:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy19:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy14;
+ if (yych <= 0xBF)
+ goto yy16;
+ goto yy14;
+ yy20:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy14;
+ if (yych <= 0xBF)
+ goto yy19;
+ goto yy14;
+ yy21:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy14;
+ if (yych <= 0xBF)
+ goto yy19;
+ goto yy14;
+ yy22:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy14;
+ if (yych <= 0x9F)
+ goto yy19;
+ goto yy14;
+ yy23:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy14;
+ if (yych <= 0xBF)
+ goto yy21;
+ goto yy14;
+ yy24:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy14;
+ if (yych <= 0xBF)
+ goto yy21;
+ goto yy14;
+ yy25:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy14;
+ if (yych <= 0x8F)
+ goto yy21;
+ goto yy14;
+ yy26:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych <= ',') {
+ if (yych != '+')
+ goto yy14;
+ } else {
+ if (yych == '/')
+ goto yy14;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= ':')
+ goto yy16;
+ if (yych <= '@')
+ goto yy14;
+ } else {
+ if (yych <= '`')
+ goto yy14;
+ if (yych >= '{')
+ goto yy14;
+ }
+ }
+ yych = *++p;
+ if (yych == ':')
+ goto yy16;
+ goto yy14;
+ }
}
// Try to match email autolink after first <, returning num of chars matched.
-bufsize_t _scan_autolink_email(const unsigned char *p)
-{
+bufsize_t _scan_autolink_email(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
-{
- unsigned char yych;
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 128, 0, 128, 128, 128, 128, 128,
- 0, 0, 128, 128, 0, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 128, 0, 128,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *p;
- if (yych <= '9') {
- if (yych <= '\'') {
- if (yych == '!') goto yy91;
- if (yych >= '#') goto yy91;
- } else {
- if (yych <= ')') goto yy89;
- if (yych != ',') goto yy91;
- }
- } else {
- if (yych <= '?') {
- if (yych == '=') goto yy91;
- if (yych >= '?') goto yy91;
- } else {
- if (yych <= 'Z') {
- if (yych >= 'A') goto yy91;
- } else {
- if (yych <= ']') goto yy89;
- if (yych <= '~') goto yy91;
- }
- }
- }
-yy89:
- ++p;
-yy90:
- { return 0; }
-yy91:
- yych = *(marker = ++p);
- if (yych <= ',') {
- if (yych <= '"') {
- if (yych == '!') goto yy93;
- goto yy90;
- } else {
- if (yych <= '\'') goto yy93;
- if (yych <= ')') goto yy90;
- if (yych <= '+') goto yy93;
- goto yy90;
- }
- } else {
- if (yych <= '>') {
- if (yych <= '9') goto yy93;
- if (yych == '=') goto yy93;
- goto yy90;
- } else {
- if (yych <= 'Z') goto yy93;
- if (yych <= ']') goto yy90;
- if (yych <= '~') goto yy93;
- goto yy90;
- }
- }
-yy92:
- yych = *++p;
-yy93:
- if (yybm[0+yych] & 128) {
- goto yy92;
- }
- if (yych <= '>') goto yy94;
- if (yych <= '@') goto yy95;
-yy94:
- p = marker;
- goto yy90;
-yy95:
- yych = *++p;
- if (yych <= '@') {
- if (yych <= '/') goto yy94;
- if (yych >= ':') goto yy94;
- } else {
- if (yych <= 'Z') goto yy96;
- if (yych <= '`') goto yy94;
- if (yych >= '{') goto yy94;
- }
-yy96:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy98;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy98;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy98;
- goto yy94;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy101;
- if (yych <= '/') goto yy94;
- goto yy102;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy102;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy102;
- goto yy94;
- }
- }
-yy98:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych <= '-') goto yy101;
- goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy102;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy102;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy102;
- goto yy94;
- }
- }
-yy99:
- ++p;
- { return (bufsize_t)(p - start); }
-yy101:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy103;
- if (yych <= '/') goto yy94;
- goto yy104;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy104;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy104;
- goto yy94;
- }
- }
-yy102:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy104;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy104;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy104;
- goto yy94;
- }
- }
-yy103:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy105;
- if (yych <= '/') goto yy94;
- goto yy106;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy106;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy106;
- goto yy94;
- }
- }
-yy104:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy106;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy106;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy106;
- goto yy94;
- }
- }
-yy105:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy107;
- if (yych <= '/') goto yy94;
- goto yy108;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy108;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy108;
- goto yy94;
- }
- }
-yy106:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy108;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy108;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy108;
- goto yy94;
- }
- }
-yy107:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy109;
- if (yych <= '/') goto yy94;
- goto yy110;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy110;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy110;
- goto yy94;
- }
- }
-yy108:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy110;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy110;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy110;
- goto yy94;
- }
- }
-yy109:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy111;
- if (yych <= '/') goto yy94;
- goto yy112;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy112;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy112;
- goto yy94;
- }
- }
-yy110:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy112;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy112;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy112;
- goto yy94;
- }
- }
-yy111:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy113;
- if (yych <= '/') goto yy94;
- goto yy114;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy114;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy114;
- goto yy94;
- }
- }
-yy112:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy114;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy114;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy114;
- goto yy94;
- }
- }
-yy113:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy115;
- if (yych <= '/') goto yy94;
- goto yy116;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy116;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy116;
- goto yy94;
- }
- }
-yy114:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy116;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy116;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy116;
- goto yy94;
- }
- }
-yy115:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy117;
- if (yych <= '/') goto yy94;
- goto yy118;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy118;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy118;
- goto yy94;
- }
- }
-yy116:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy118;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy118;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy118;
- goto yy94;
- }
- }
-yy117:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy119;
- if (yych <= '/') goto yy94;
- goto yy120;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy120;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy120;
- goto yy94;
- }
- }
-yy118:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy120;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy120;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy120;
- goto yy94;
- }
- }
-yy119:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy121;
- if (yych <= '/') goto yy94;
- goto yy122;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy122;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy122;
- goto yy94;
- }
- }
-yy120:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy122;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy122;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy122;
- goto yy94;
- }
- }
-yy121:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy123;
- if (yych <= '/') goto yy94;
- goto yy124;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy124;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy124;
- goto yy94;
- }
- }
-yy122:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy124;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy124;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy124;
- goto yy94;
- }
- }
-yy123:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy125;
- if (yych <= '/') goto yy94;
- goto yy126;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy126;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy126;
- goto yy94;
- }
- }
-yy124:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy126;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy126;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy126;
- goto yy94;
- }
- }
-yy125:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy127;
- if (yych <= '/') goto yy94;
- goto yy128;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy128;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy128;
- goto yy94;
- }
- }
-yy126:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy128;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy128;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy128;
- goto yy94;
- }
- }
-yy127:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy129;
- if (yych <= '/') goto yy94;
- goto yy130;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy130;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy130;
- goto yy94;
- }
- }
-yy128:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy130;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy130;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy130;
- goto yy94;
- }
- }
-yy129:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy131;
- if (yych <= '/') goto yy94;
- goto yy132;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy132;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy132;
- goto yy94;
- }
- }
-yy130:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy132;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy132;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy132;
- goto yy94;
- }
- }
-yy131:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy133;
- if (yych <= '/') goto yy94;
- goto yy134;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy134;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy134;
- goto yy94;
- }
- }
-yy132:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy134;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy134;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy134;
- goto yy94;
- }
- }
-yy133:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy135;
- if (yych <= '/') goto yy94;
- goto yy136;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy136;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy136;
- goto yy94;
- }
- }
-yy134:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy136;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy136;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy136;
- goto yy94;
- }
- }
-yy135:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy137;
- if (yych <= '/') goto yy94;
- goto yy138;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy138;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy138;
- goto yy94;
- }
- }
-yy136:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy138;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy138;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy138;
- goto yy94;
- }
- }
-yy137:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy139;
- if (yych <= '/') goto yy94;
- goto yy140;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy140;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy140;
- goto yy94;
- }
- }
-yy138:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy140;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy140;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy140;
- goto yy94;
- }
- }
-yy139:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy141;
- if (yych <= '/') goto yy94;
- goto yy142;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy142;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy142;
- goto yy94;
- }
- }
-yy140:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy142;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy142;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy142;
- goto yy94;
- }
- }
-yy141:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy143;
- if (yych <= '/') goto yy94;
- goto yy144;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy144;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy144;
- goto yy94;
- }
- }
-yy142:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy144;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy144;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy144;
- goto yy94;
- }
- }
-yy143:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy145;
- if (yych <= '/') goto yy94;
- goto yy146;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy146;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy146;
- goto yy94;
- }
- }
-yy144:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy146;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy146;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy146;
- goto yy94;
- }
- }
-yy145:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy147;
- if (yych <= '/') goto yy94;
- goto yy148;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy148;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy148;
- goto yy94;
- }
- }
-yy146:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy148;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy148;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy148;
- goto yy94;
- }
- }
-yy147:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy149;
- if (yych <= '/') goto yy94;
- goto yy150;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy150;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy150;
- goto yy94;
- }
- }
-yy148:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy150;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy150;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy150;
- goto yy94;
- }
- }
-yy149:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy151;
- if (yych <= '/') goto yy94;
- goto yy152;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy152;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy152;
- goto yy94;
- }
- }
-yy150:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy152;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy152;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy152;
- goto yy94;
- }
- }
-yy151:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy153;
- if (yych <= '/') goto yy94;
- goto yy154;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy154;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy154;
- goto yy94;
- }
- }
-yy152:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy154;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy154;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy154;
- goto yy94;
- }
- }
-yy153:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy155;
- if (yych <= '/') goto yy94;
- goto yy156;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy156;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy156;
- goto yy94;
- }
- }
-yy154:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy156;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy156;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy156;
- goto yy94;
- }
- }
-yy155:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy157;
- if (yych <= '/') goto yy94;
- goto yy158;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy158;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy158;
- goto yy94;
- }
- }
-yy156:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy158;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy158;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy158;
- goto yy94;
- }
- }
-yy157:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy159;
- if (yych <= '/') goto yy94;
- goto yy160;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy160;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy160;
- goto yy94;
- }
- }
-yy158:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy160;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy160;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy160;
- goto yy94;
- }
- }
-yy159:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy161;
- if (yych <= '/') goto yy94;
- goto yy162;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy162;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy162;
- goto yy94;
- }
- }
-yy160:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy162;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy162;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy162;
- goto yy94;
- }
- }
-yy161:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy163;
- if (yych <= '/') goto yy94;
- goto yy164;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy164;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy164;
- goto yy94;
- }
- }
-yy162:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy164;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy164;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy164;
- goto yy94;
- }
- }
-yy163:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy165;
- if (yych <= '/') goto yy94;
- goto yy166;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy166;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy166;
- goto yy94;
- }
- }
-yy164:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy166;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy166;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy166;
- goto yy94;
- }
- }
-yy165:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy167;
- if (yych <= '/') goto yy94;
- goto yy168;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy168;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy168;
- goto yy94;
- }
- }
-yy166:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy168;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy168;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy168;
- goto yy94;
- }
- }
-yy167:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy169;
- if (yych <= '/') goto yy94;
- goto yy170;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy170;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy170;
- goto yy94;
- }
- }
-yy168:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy170;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy170;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy170;
- goto yy94;
- }
- }
-yy169:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy171;
- if (yych <= '/') goto yy94;
- goto yy172;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy172;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy172;
- goto yy94;
- }
- }
-yy170:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy172;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy172;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy172;
- goto yy94;
- }
- }
-yy171:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy173;
- if (yych <= '/') goto yy94;
- goto yy174;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy174;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy174;
- goto yy94;
- }
- }
-yy172:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy174;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy174;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy174;
- goto yy94;
- }
- }
-yy173:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy175;
- if (yych <= '/') goto yy94;
- goto yy176;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy176;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy176;
- goto yy94;
- }
- }
-yy174:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy176;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy176;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy176;
- goto yy94;
- }
- }
-yy175:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy177;
- if (yych <= '/') goto yy94;
- goto yy178;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy178;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy178;
- goto yy94;
- }
- }
-yy176:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy178;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy178;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy178;
- goto yy94;
- }
- }
-yy177:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy179;
- if (yych <= '/') goto yy94;
- goto yy180;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy180;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy180;
- goto yy94;
- }
- }
-yy178:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy180;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy180;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy180;
- goto yy94;
- }
- }
-yy179:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy181;
- if (yych <= '/') goto yy94;
- goto yy182;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy182;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy182;
- goto yy94;
- }
- }
-yy180:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy182;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy182;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy182;
- goto yy94;
- }
- }
-yy181:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy183;
- if (yych <= '/') goto yy94;
- goto yy184;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy184;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy184;
- goto yy94;
- }
- }
-yy182:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy184;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy184;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy184;
- goto yy94;
- }
- }
-yy183:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy185;
- if (yych <= '/') goto yy94;
- goto yy186;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy186;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy186;
- goto yy94;
- }
- }
-yy184:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy186;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy186;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy186;
- goto yy94;
- }
- }
-yy185:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy187;
- if (yych <= '/') goto yy94;
- goto yy188;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy188;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy188;
- goto yy94;
- }
- }
-yy186:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy188;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy188;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy188;
- goto yy94;
- }
- }
-yy187:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy189;
- if (yych <= '/') goto yy94;
- goto yy190;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy190;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy190;
- goto yy94;
- }
- }
-yy188:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy190;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy190;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy190;
- goto yy94;
- }
- }
-yy189:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy191;
- if (yych <= '/') goto yy94;
- goto yy192;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy192;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy192;
- goto yy94;
- }
- }
-yy190:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy192;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy192;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy192;
- goto yy94;
- }
- }
-yy191:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy193;
- if (yych <= '/') goto yy94;
- goto yy194;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy194;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy194;
- goto yy94;
- }
- }
-yy192:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy194;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy194;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy194;
- goto yy94;
- }
- }
-yy193:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy195;
- if (yych <= '/') goto yy94;
- goto yy196;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy196;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy196;
- goto yy94;
- }
- }
-yy194:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy196;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy196;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy196;
- goto yy94;
- }
- }
-yy195:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy197;
- if (yych <= '/') goto yy94;
- goto yy198;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy198;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy198;
- goto yy94;
- }
- }
-yy196:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy198;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy198;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy198;
- goto yy94;
- }
- }
-yy197:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy199;
- if (yych <= '/') goto yy94;
- goto yy200;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy200;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy200;
- goto yy94;
- }
- }
-yy198:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy200;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy200;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy200;
- goto yy94;
- }
- }
-yy199:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy201;
- if (yych <= '/') goto yy94;
- goto yy202;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy202;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy202;
- goto yy94;
- }
- }
-yy200:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy202;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy202;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy202;
- goto yy94;
- }
- }
-yy201:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy203;
- if (yych <= '/') goto yy94;
- goto yy204;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy204;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy204;
- goto yy94;
- }
- }
-yy202:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy204;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy204;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy204;
- goto yy94;
- }
- }
-yy203:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy205;
- if (yych <= '/') goto yy94;
- goto yy206;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy206;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy206;
- goto yy94;
- }
- }
-yy204:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy206;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy206;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy206;
- goto yy94;
- }
- }
-yy205:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy207;
- if (yych <= '/') goto yy94;
- goto yy208;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy208;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy208;
- goto yy94;
- }
- }
-yy206:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy208;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy208;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy208;
- goto yy94;
- }
- }
-yy207:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy209;
- if (yych <= '/') goto yy94;
- goto yy210;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy210;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy210;
- goto yy94;
- }
- }
-yy208:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy210;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy210;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy210;
- goto yy94;
- }
- }
-yy209:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy211;
- if (yych <= '/') goto yy94;
- goto yy212;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy212;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy212;
- goto yy94;
- }
- }
-yy210:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy212;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy212;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy212;
- goto yy94;
- }
- }
-yy211:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy213;
- if (yych <= '/') goto yy94;
- goto yy214;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy214;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy214;
- goto yy94;
- }
- }
-yy212:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy214;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy214;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy214;
- goto yy94;
- }
- }
-yy213:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy215;
- if (yych <= '/') goto yy94;
- goto yy216;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy216;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy216;
- goto yy94;
- }
- }
-yy214:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy216;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy216;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy216;
- goto yy94;
- }
- }
-yy215:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy217;
- if (yych <= '/') goto yy94;
- goto yy218;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy218;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy218;
- goto yy94;
- }
- }
-yy216:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy218;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy218;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy218;
- goto yy94;
- }
- }
-yy217:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy219;
- if (yych <= '/') goto yy94;
- goto yy220;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy94;
- goto yy220;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy220;
- goto yy94;
- }
- }
-yy218:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy94;
- if (yych >= '.') goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy220;
- goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- goto yy220;
- } else {
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy220;
- goto yy94;
- }
- }
-yy219:
- yych = *++p;
- if (yych <= '@') {
- if (yych <= '/') goto yy94;
- if (yych <= '9') goto yy221;
- goto yy94;
- } else {
- if (yych <= 'Z') goto yy221;
- if (yych <= '`') goto yy94;
- if (yych <= 'z') goto yy221;
- goto yy94;
- }
-yy220:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= '-') goto yy94;
- goto yy95;
- } else {
- if (yych <= '/') goto yy94;
- if (yych >= ':') goto yy94;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy99;
- if (yych <= '@') goto yy94;
- } else {
- if (yych <= '`') goto yy94;
- if (yych >= '{') goto yy94;
- }
- }
-yy221:
- yych = *++p;
- if (yych == '.') goto yy95;
- if (yych == '>') goto yy99;
- goto yy94;
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 128, 0, 128, 128, 128, 128, 128, 0, 0,
+ 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 128, 0, 128, 0, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych <= '9') {
+ if (yych <= '\'') {
+ if (yych == '!')
+ goto yy30;
+ if (yych >= '#')
+ goto yy30;
+ } else {
+ if (yych <= ')')
+ goto yy28;
+ if (yych != ',')
+ goto yy30;
+ }
+ } else {
+ if (yych <= '?') {
+ if (yych == '=')
+ goto yy30;
+ if (yych >= '?')
+ goto yy30;
+ } else {
+ if (yych <= 'Z') {
+ if (yych >= 'A')
+ goto yy30;
+ } else {
+ if (yych <= ']')
+ goto yy28;
+ if (yych <= '~')
+ goto yy30;
+ }
+ }
+ }
+ yy28:
+ ++p;
+ yy29 : { return 0; }
+ yy30:
+ yych = *(marker = ++p);
+ if (yych <= ',') {
+ if (yych <= '"') {
+ if (yych == '!')
+ goto yy32;
+ goto yy29;
+ } else {
+ if (yych <= '\'')
+ goto yy32;
+ if (yych <= ')')
+ goto yy29;
+ if (yych <= '+')
+ goto yy32;
+ goto yy29;
+ }
+ } else {
+ if (yych <= '>') {
+ if (yych <= '9')
+ goto yy32;
+ if (yych == '=')
+ goto yy32;
+ goto yy29;
+ } else {
+ if (yych <= 'Z')
+ goto yy32;
+ if (yych <= ']')
+ goto yy29;
+ if (yych <= '~')
+ goto yy32;
+ goto yy29;
+ }
+ }
+ yy31:
+ yych = *++p;
+ yy32:
+ if (yybm[0 + yych] & 128) {
+ goto yy31;
+ }
+ if (yych <= '>')
+ goto yy33;
+ if (yych <= '@')
+ goto yy34;
+ yy33:
+ p = marker;
+ goto yy29;
+ yy34:
+ yych = *++p;
+ if (yych <= '@') {
+ if (yych <= '/')
+ goto yy33;
+ if (yych >= ':')
+ goto yy33;
+ } else {
+ if (yych <= 'Z')
+ goto yy35;
+ if (yych <= '`')
+ goto yy33;
+ if (yych >= '{')
+ goto yy33;
+ }
+ yy35:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy36;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy36;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy36;
+ goto yy33;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy38;
+ if (yych <= '/')
+ goto yy33;
+ goto yy39;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy39;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy39;
+ goto yy33;
+ }
+ }
+ yy36:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych <= '-')
+ goto yy38;
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy39;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy39;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy39;
+ goto yy33;
+ }
+ }
+ yy37:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy38:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy40;
+ if (yych <= '/')
+ goto yy33;
+ goto yy41;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy41;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy41;
+ goto yy33;
+ }
+ }
+ yy39:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy41;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy41;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy41;
+ goto yy33;
+ }
+ }
+ yy40:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy42;
+ if (yych <= '/')
+ goto yy33;
+ goto yy43;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy43;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy43;
+ goto yy33;
+ }
+ }
+ yy41:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy43;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy43;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy43;
+ goto yy33;
+ }
+ }
+ yy42:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy44;
+ if (yych <= '/')
+ goto yy33;
+ goto yy45;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy45;
+ goto yy33;
+ }
+ }
+ yy43:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy45;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy45;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy45;
+ goto yy33;
+ }
+ }
+ yy44:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy46;
+ if (yych <= '/')
+ goto yy33;
+ goto yy47;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy47;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy47;
+ goto yy33;
+ }
+ }
+ yy45:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy47;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy47;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy47;
+ goto yy33;
+ }
+ }
+ yy46:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy48;
+ if (yych <= '/')
+ goto yy33;
+ goto yy49;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy49;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy49;
+ goto yy33;
+ }
+ }
+ yy47:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy49;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy49;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy49;
+ goto yy33;
+ }
+ }
+ yy48:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy50;
+ if (yych <= '/')
+ goto yy33;
+ goto yy51;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy51;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy51;
+ goto yy33;
+ }
+ }
+ yy49:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy51;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy51;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy51;
+ goto yy33;
+ }
+ }
+ yy50:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy52;
+ if (yych <= '/')
+ goto yy33;
+ goto yy53;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy53;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy53;
+ goto yy33;
+ }
+ }
+ yy51:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy53;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy53;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy53;
+ goto yy33;
+ }
+ }
+ yy52:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy54;
+ if (yych <= '/')
+ goto yy33;
+ goto yy55;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy55;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy55;
+ goto yy33;
+ }
+ }
+ yy53:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy55;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy55;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy55;
+ goto yy33;
+ }
+ }
+ yy54:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy56;
+ if (yych <= '/')
+ goto yy33;
+ goto yy57;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy57;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy57;
+ goto yy33;
+ }
+ }
+ yy55:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy57;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy57;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy57;
+ goto yy33;
+ }
+ }
+ yy56:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy58;
+ if (yych <= '/')
+ goto yy33;
+ goto yy59;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy59;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy59;
+ goto yy33;
+ }
+ }
+ yy57:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy59;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy59;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy59;
+ goto yy33;
+ }
+ }
+ yy58:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy60;
+ if (yych <= '/')
+ goto yy33;
+ goto yy61;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy61;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy61;
+ goto yy33;
+ }
+ }
+ yy59:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy61;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy61;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy61;
+ goto yy33;
+ }
+ }
+ yy60:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy62;
+ if (yych <= '/')
+ goto yy33;
+ goto yy63;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy63;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy63;
+ goto yy33;
+ }
+ }
+ yy61:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy63;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy63;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy63;
+ goto yy33;
+ }
+ }
+ yy62:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy64;
+ if (yych <= '/')
+ goto yy33;
+ goto yy65;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy65;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy65;
+ goto yy33;
+ }
+ }
+ yy63:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy65;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy65;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy65;
+ goto yy33;
+ }
+ }
+ yy64:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy66;
+ if (yych <= '/')
+ goto yy33;
+ goto yy67;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy67;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy67;
+ goto yy33;
+ }
+ }
+ yy65:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy67;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy67;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy67;
+ goto yy33;
+ }
+ }
+ yy66:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy68;
+ if (yych <= '/')
+ goto yy33;
+ goto yy69;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy69;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy69;
+ goto yy33;
+ }
+ }
+ yy67:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy69;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy69;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy69;
+ goto yy33;
+ }
+ }
+ yy68:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy70;
+ if (yych <= '/')
+ goto yy33;
+ goto yy71;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy71;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy71;
+ goto yy33;
+ }
+ }
+ yy69:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy71;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy71;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy71;
+ goto yy33;
+ }
+ }
+ yy70:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy72;
+ if (yych <= '/')
+ goto yy33;
+ goto yy73;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy73;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy73;
+ goto yy33;
+ }
+ }
+ yy71:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy73;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy73;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy73;
+ goto yy33;
+ }
+ }
+ yy72:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy74;
+ if (yych <= '/')
+ goto yy33;
+ goto yy75;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy75;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy75;
+ goto yy33;
+ }
+ }
+ yy73:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy75;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy75;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy75;
+ goto yy33;
+ }
+ }
+ yy74:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy76;
+ if (yych <= '/')
+ goto yy33;
+ goto yy77;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy77;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy77;
+ goto yy33;
+ }
+ }
+ yy75:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy77;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy77;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy77;
+ goto yy33;
+ }
+ }
+ yy76:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy78;
+ if (yych <= '/')
+ goto yy33;
+ goto yy79;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy79;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy79;
+ goto yy33;
+ }
+ }
+ yy77:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy79;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy79;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy79;
+ goto yy33;
+ }
+ }
+ yy78:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy80;
+ if (yych <= '/')
+ goto yy33;
+ goto yy81;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy81;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy81;
+ goto yy33;
+ }
+ }
+ yy79:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy81;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy81;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy81;
+ goto yy33;
+ }
+ }
+ yy80:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy82;
+ if (yych <= '/')
+ goto yy33;
+ goto yy83;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy83;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy83;
+ goto yy33;
+ }
+ }
+ yy81:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy83;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy83;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy83;
+ goto yy33;
+ }
+ }
+ yy82:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy84;
+ if (yych <= '/')
+ goto yy33;
+ goto yy85;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy85;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy85;
+ goto yy33;
+ }
+ }
+ yy83:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy85;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy85;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy85;
+ goto yy33;
+ }
+ }
+ yy84:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy86;
+ if (yych <= '/')
+ goto yy33;
+ goto yy87;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy87;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy87;
+ goto yy33;
+ }
+ }
+ yy85:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy87;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy87;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy87;
+ goto yy33;
+ }
+ }
+ yy86:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy88;
+ if (yych <= '/')
+ goto yy33;
+ goto yy89;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy89;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy89;
+ goto yy33;
+ }
+ }
+ yy87:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy89;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy89;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy89;
+ goto yy33;
+ }
+ }
+ yy88:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy90;
+ if (yych <= '/')
+ goto yy33;
+ goto yy91;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy91;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy91;
+ goto yy33;
+ }
+ }
+ yy89:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy91;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy91;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy91;
+ goto yy33;
+ }
+ }
+ yy90:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy92;
+ if (yych <= '/')
+ goto yy33;
+ goto yy93;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy93;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy93;
+ goto yy33;
+ }
+ }
+ yy91:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy93;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy93;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy93;
+ goto yy33;
+ }
+ }
+ yy92:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy94;
+ if (yych <= '/')
+ goto yy33;
+ goto yy95;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy95;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy95;
+ goto yy33;
+ }
+ }
+ yy93:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy95;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy95;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy95;
+ goto yy33;
+ }
+ }
+ yy94:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy96;
+ if (yych <= '/')
+ goto yy33;
+ goto yy97;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy97;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy97;
+ goto yy33;
+ }
+ }
+ yy95:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy97;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy97;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy97;
+ goto yy33;
+ }
+ }
+ yy96:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy98;
+ if (yych <= '/')
+ goto yy33;
+ goto yy99;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy99;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy99;
+ goto yy33;
+ }
+ }
+ yy97:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy99;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy99;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy99;
+ goto yy33;
+ }
+ }
+ yy98:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy100;
+ if (yych <= '/')
+ goto yy33;
+ goto yy101;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy101;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy101;
+ goto yy33;
+ }
+ }
+ yy99:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy101;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy101;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy101;
+ goto yy33;
+ }
+ }
+ yy100:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy102;
+ if (yych <= '/')
+ goto yy33;
+ goto yy103;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy103;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy103;
+ goto yy33;
+ }
+ }
+ yy101:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy103;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy103;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy103;
+ goto yy33;
+ }
+ }
+ yy102:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy104;
+ if (yych <= '/')
+ goto yy33;
+ goto yy105;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy105;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy105;
+ goto yy33;
+ }
+ }
+ yy103:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy105;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy105;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy105;
+ goto yy33;
+ }
+ }
+ yy104:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy106;
+ if (yych <= '/')
+ goto yy33;
+ goto yy107;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy107;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy107;
+ goto yy33;
+ }
+ }
+ yy105:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy107;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy107;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy107;
+ goto yy33;
+ }
+ }
+ yy106:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy108;
+ if (yych <= '/')
+ goto yy33;
+ goto yy109;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy109;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy109;
+ goto yy33;
+ }
+ }
+ yy107:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy109;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy109;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy109;
+ goto yy33;
+ }
+ }
+ yy108:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy110;
+ if (yych <= '/')
+ goto yy33;
+ goto yy111;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy111;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy111;
+ goto yy33;
+ }
+ }
+ yy109:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy111;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy111;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy111;
+ goto yy33;
+ }
+ }
+ yy110:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy112;
+ if (yych <= '/')
+ goto yy33;
+ goto yy113;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy113;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy113;
+ goto yy33;
+ }
+ }
+ yy111:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy113;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy113;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy113;
+ goto yy33;
+ }
+ }
+ yy112:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy114;
+ if (yych <= '/')
+ goto yy33;
+ goto yy115;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy115;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy115;
+ goto yy33;
+ }
+ }
+ yy113:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy115;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy115;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy115;
+ goto yy33;
+ }
+ }
+ yy114:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy116;
+ if (yych <= '/')
+ goto yy33;
+ goto yy117;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy117;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy117;
+ goto yy33;
+ }
+ }
+ yy115:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy117;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy117;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy117;
+ goto yy33;
+ }
+ }
+ yy116:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy118;
+ if (yych <= '/')
+ goto yy33;
+ goto yy119;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy119;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy119;
+ goto yy33;
+ }
+ }
+ yy117:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy119;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy119;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy119;
+ goto yy33;
+ }
+ }
+ yy118:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy120;
+ if (yych <= '/')
+ goto yy33;
+ goto yy121;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy121;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy121;
+ goto yy33;
+ }
+ }
+ yy119:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy121;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy121;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy121;
+ goto yy33;
+ }
+ }
+ yy120:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy122;
+ if (yych <= '/')
+ goto yy33;
+ goto yy123;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy123;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy123;
+ goto yy33;
+ }
+ }
+ yy121:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy123;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy123;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy123;
+ goto yy33;
+ }
+ }
+ yy122:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy124;
+ if (yych <= '/')
+ goto yy33;
+ goto yy125;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy125;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy125;
+ goto yy33;
+ }
+ }
+ yy123:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy125;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy125;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy125;
+ goto yy33;
+ }
+ }
+ yy124:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy126;
+ if (yych <= '/')
+ goto yy33;
+ goto yy127;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy127;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy127;
+ goto yy33;
+ }
+ }
+ yy125:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy127;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy127;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy127;
+ goto yy33;
+ }
+ }
+ yy126:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy128;
+ if (yych <= '/')
+ goto yy33;
+ goto yy129;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy129;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy129;
+ goto yy33;
+ }
+ }
+ yy127:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy129;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy129;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy129;
+ goto yy33;
+ }
+ }
+ yy128:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy130;
+ if (yych <= '/')
+ goto yy33;
+ goto yy131;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy131;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy131;
+ goto yy33;
+ }
+ }
+ yy129:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy131;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy131;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy131;
+ goto yy33;
+ }
+ }
+ yy130:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy132;
+ if (yych <= '/')
+ goto yy33;
+ goto yy133;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy133;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy133;
+ goto yy33;
+ }
+ }
+ yy131:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy133;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy133;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy133;
+ goto yy33;
+ }
+ }
+ yy132:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy134;
+ if (yych <= '/')
+ goto yy33;
+ goto yy135;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy135;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy135;
+ goto yy33;
+ }
+ }
+ yy133:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy135;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy135;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy135;
+ goto yy33;
+ }
+ }
+ yy134:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy136;
+ if (yych <= '/')
+ goto yy33;
+ goto yy137;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy137;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy137;
+ goto yy33;
+ }
+ }
+ yy135:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy137;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy137;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy137;
+ goto yy33;
+ }
+ }
+ yy136:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy138;
+ if (yych <= '/')
+ goto yy33;
+ goto yy139;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy139;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy139;
+ goto yy33;
+ }
+ }
+ yy137:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy139;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy139;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy139;
+ goto yy33;
+ }
+ }
+ yy138:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy140;
+ if (yych <= '/')
+ goto yy33;
+ goto yy141;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy141;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy141;
+ goto yy33;
+ }
+ }
+ yy139:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy141;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy141;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy141;
+ goto yy33;
+ }
+ }
+ yy140:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy142;
+ if (yych <= '/')
+ goto yy33;
+ goto yy143;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy143;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy143;
+ goto yy33;
+ }
+ }
+ yy141:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy143;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy143;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy143;
+ goto yy33;
+ }
+ }
+ yy142:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy144;
+ if (yych <= '/')
+ goto yy33;
+ goto yy145;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy145;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy145;
+ goto yy33;
+ }
+ }
+ yy143:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy145;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy145;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy145;
+ goto yy33;
+ }
+ }
+ yy144:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy146;
+ if (yych <= '/')
+ goto yy33;
+ goto yy147;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy147;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy147;
+ goto yy33;
+ }
+ }
+ yy145:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy147;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy147;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy147;
+ goto yy33;
+ }
+ }
+ yy146:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy148;
+ if (yych <= '/')
+ goto yy33;
+ goto yy149;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy149;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy149;
+ goto yy33;
+ }
+ }
+ yy147:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy149;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy149;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy149;
+ goto yy33;
+ }
+ }
+ yy148:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy150;
+ if (yych <= '/')
+ goto yy33;
+ goto yy151;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy151;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy151;
+ goto yy33;
+ }
+ }
+ yy149:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy151;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy151;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy151;
+ goto yy33;
+ }
+ }
+ yy150:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy152;
+ if (yych <= '/')
+ goto yy33;
+ goto yy153;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy153;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy153;
+ goto yy33;
+ }
+ }
+ yy151:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy153;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy153;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy153;
+ goto yy33;
+ }
+ }
+ yy152:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy154;
+ if (yych <= '/')
+ goto yy33;
+ goto yy155;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy155;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy155;
+ goto yy33;
+ }
+ }
+ yy153:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy155;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy155;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy155;
+ goto yy33;
+ }
+ }
+ yy154:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy156;
+ if (yych <= '/')
+ goto yy33;
+ goto yy157;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy33;
+ goto yy157;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy157;
+ goto yy33;
+ }
+ }
+ yy155:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy33;
+ if (yych >= '.')
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy157;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ goto yy157;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy157;
+ goto yy33;
+ }
+ }
+ yy156:
+ yych = *++p;
+ if (yych <= '@') {
+ if (yych <= '/')
+ goto yy33;
+ if (yych <= '9')
+ goto yy158;
+ goto yy33;
+ } else {
+ if (yych <= 'Z')
+ goto yy158;
+ if (yych <= '`')
+ goto yy33;
+ if (yych <= 'z')
+ goto yy158;
+ goto yy33;
+ }
+ yy157:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= '-')
+ goto yy33;
+ goto yy34;
+ } else {
+ if (yych <= '/')
+ goto yy33;
+ if (yych >= ':')
+ goto yy33;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy37;
+ if (yych <= '@')
+ goto yy33;
+ } else {
+ if (yych <= '`')
+ goto yy33;
+ if (yych >= '{')
+ goto yy33;
+ }
+ }
+ yy158:
+ yych = *++p;
+ if (yych == '.')
+ goto yy34;
+ if (yych == '>')
+ goto yy37;
+ goto yy33;
+ }
}
+// Try to match an HTML tag after first <, returning num of chars matched.
+bufsize_t _scan_html_tag(const unsigned char *p) {
+ const unsigned char *marker = NULL;
+ const unsigned char *start = p;
+
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 224, 224, 224, 224, 224, 224, 224, 224, 200, 200, 200, 200, 200,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 200, 224, 128, 224, 224, 224, 224, 64, 224, 224,
+ 224, 224, 224, 244, 240, 224, 244, 244, 244, 244, 244, 244, 244, 244,
+ 244, 244, 240, 224, 192, 192, 192, 224, 224, 244, 244, 244, 244, 244,
+ 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
+ 244, 244, 244, 244, 244, 244, 244, 224, 224, 224, 224, 240, 192, 244,
+ 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
+ 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 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 = *p;
+ if (yych <= '@') {
+ if (yych == '/')
+ goto yy162;
+ } else {
+ if (yych <= 'Z')
+ goto yy163;
+ if (yych <= '`')
+ goto yy160;
+ if (yych <= 'z')
+ goto yy163;
+ }
+ yy160:
+ ++p;
+ yy161 : { return 0; }
+ yy162:
+ yych = *(marker = ++p);
+ if (yych <= '@')
+ goto yy161;
+ if (yych <= 'Z')
+ goto yy164;
+ if (yych <= '`')
+ goto yy161;
+ if (yych <= 'z')
+ goto yy164;
+ goto yy161;
+ yy163:
+ yych = *(marker = ++p);
+ if (yych <= '.') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy161;
+ if (yych <= '\r')
+ goto yy168;
+ goto yy161;
+ } else {
+ if (yych <= ' ')
+ goto yy168;
+ if (yych == '-')
+ goto yy168;
+ goto yy161;
+ }
+ } else {
+ if (yych <= '@') {
+ if (yych <= '9')
+ goto yy168;
+ if (yych == '>')
+ goto yy168;
+ goto yy161;
+ } else {
+ if (yych <= 'Z')
+ goto yy168;
+ if (yych <= '`')
+ goto yy161;
+ if (yych <= 'z')
+ goto yy168;
+ goto yy161;
+ }
+ }
+ yy164:
+ yych = *++p;
+ if (yybm[0 + yych] & 4) {
+ goto yy164;
+ }
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy165;
+ if (yych <= '\r')
+ goto yy171;
+ } else {
+ if (yych <= ' ')
+ goto yy171;
+ if (yych == '>')
+ goto yy170;
+ }
+ yy165:
+ p = marker;
+ goto yy161;
+ yy166:
+ yych = *++p;
+ if (yybm[0 + yych] & 8) {
+ goto yy166;
+ }
+ if (yych <= '>') {
+ if (yych <= '9') {
+ if (yych == '/')
+ goto yy169;
+ goto yy165;
+ } else {
+ if (yych <= ':')
+ goto yy172;
+ if (yych <= '=')
+ goto yy165;
+ goto yy170;
+ }
+ } else {
+ if (yych <= '^') {
+ if (yych <= '@')
+ goto yy165;
+ if (yych <= 'Z')
+ goto yy172;
+ goto yy165;
+ } else {
+ if (yych == '`')
+ goto yy165;
+ if (yych <= 'z')
+ goto yy172;
+ goto yy165;
+ }
+ }
+ yy167:
+ yych = *++p;
+ yy168:
+ if (yybm[0 + yych] & 8) {
+ goto yy166;
+ }
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych == '-')
+ goto yy167;
+ goto yy165;
+ } else {
+ if (yych <= '/')
+ goto yy169;
+ if (yych <= '9')
+ goto yy167;
+ goto yy165;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy170;
+ if (yych <= '@')
+ goto yy165;
+ goto yy167;
+ } else {
+ if (yych <= '`')
+ goto yy165;
+ if (yych <= 'z')
+ goto yy167;
+ goto yy165;
+ }
+ }
+ yy169:
+ yych = *++p;
+ if (yych != '>')
+ goto yy165;
+ yy170:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy171:
+ yych = *++p;
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy165;
+ if (yych <= '\r')
+ goto yy171;
+ goto yy165;
+ } else {
+ if (yych <= ' ')
+ goto yy171;
+ if (yych == '>')
+ goto yy170;
+ goto yy165;
+ }
+ yy172:
+ yych = *++p;
+ if (yybm[0 + yych] & 16) {
+ goto yy172;
+ }
+ if (yych <= ',') {
+ if (yych <= '\r') {
+ if (yych <= 0x08)
+ goto yy165;
+ } else {
+ if (yych != ' ')
+ goto yy165;
+ }
+ } else {
+ if (yych <= '<') {
+ if (yych <= '/')
+ goto yy169;
+ goto yy165;
+ } else {
+ if (yych <= '=')
+ goto yy174;
+ if (yych <= '>')
+ goto yy170;
+ goto yy165;
+ }
+ }
+ yy173:
+ yych = *++p;
+ if (yych <= '<') {
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy165;
+ if (yych <= '\r')
+ goto yy173;
+ if (yych <= 0x1F)
+ goto yy165;
+ goto yy173;
+ } else {
+ if (yych <= '/') {
+ if (yych <= '.')
+ goto yy165;
+ goto yy169;
+ } else {
+ if (yych == ':')
+ goto yy172;
+ goto yy165;
+ }
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '=')
+ goto yy174;
+ if (yych <= '>')
+ goto yy170;
+ if (yych <= '@')
+ goto yy165;
+ goto yy172;
+ } else {
+ if (yych <= '_') {
+ if (yych <= '^')
+ goto yy165;
+ goto yy172;
+ } else {
+ if (yych <= '`')
+ goto yy165;
+ if (yych <= 'z')
+ goto yy172;
+ goto yy165;
+ }
+ }
+ }
+ yy174:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy175;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '"') {
+ if (yych <= 0x00)
+ goto yy165;
+ if (yych <= ' ')
+ goto yy174;
+ goto yy176;
+ } else {
+ if (yych <= '\'')
+ goto yy177;
+ if (yych <= 0xC1)
+ goto yy165;
+ if (yych <= 0xDF)
+ goto yy178;
+ goto yy179;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy181;
+ goto yy180;
+ } else {
+ if (yych <= 0xF0)
+ goto yy182;
+ if (yych <= 0xF3)
+ goto yy183;
+ if (yych <= 0xF4)
+ goto yy184;
+ goto yy165;
+ }
+ }
+ yy175:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy175;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '=') {
+ if (yych <= 0x00)
+ goto yy165;
+ if (yych <= ' ')
+ goto yy166;
+ goto yy165;
+ } else {
+ if (yych <= '>')
+ goto yy170;
+ if (yych <= 0xC1)
+ goto yy165;
+ if (yych <= 0xDF)
+ goto yy178;
+ goto yy179;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy181;
+ goto yy180;
+ } else {
+ if (yych <= 0xF0)
+ goto yy182;
+ if (yych <= 0xF3)
+ goto yy183;
+ if (yych <= 0xF4)
+ goto yy184;
+ goto yy165;
+ }
+ }
+ yy176:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy176;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy165;
+ if (yych <= '"')
+ goto yy185;
+ goto yy165;
+ } else {
+ if (yych <= 0xDF)
+ goto yy186;
+ if (yych <= 0xE0)
+ goto yy187;
+ goto yy188;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy189;
+ if (yych <= 0xEF)
+ goto yy188;
+ goto yy190;
+ } else {
+ if (yych <= 0xF3)
+ goto yy191;
+ if (yych <= 0xF4)
+ goto yy192;
+ goto yy165;
+ }
+ }
+ yy177:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy177;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy165;
+ if (yych <= '\'')
+ goto yy185;
+ goto yy165;
+ } else {
+ if (yych <= 0xDF)
+ goto yy193;
+ if (yych <= 0xE0)
+ goto yy194;
+ goto yy195;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy196;
+ if (yych <= 0xEF)
+ goto yy195;
+ goto yy197;
+ } else {
+ if (yych <= 0xF3)
+ goto yy198;
+ if (yych <= 0xF4)
+ goto yy199;
+ goto yy165;
+ }
+ }
+ yy178:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy165;
+ if (yych <= 0xBF)
+ goto yy175;
+ goto yy165;
+ yy179:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy165;
+ if (yych <= 0xBF)
+ goto yy178;
+ goto yy165;
+ yy180:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy165;
+ if (yych <= 0xBF)
+ goto yy178;
+ goto yy165;
+ yy181:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy165;
+ if (yych <= 0x9F)
+ goto yy178;
+ goto yy165;
+ yy182:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy165;
+ if (yych <= 0xBF)
+ goto yy180;
+ goto yy165;
+ yy183:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy165;
+ if (yych <= 0xBF)
+ goto yy180;
+ goto yy165;
+ yy184:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy165;
+ if (yych <= 0x8F)
+ goto yy180;
+ goto yy165;
+ yy185:
+ yych = *++p;
+ if (yybm[0 + yych] & 8) {
+ goto yy166;
+ }
+ if (yych == '/')
+ goto yy169;
+ if (yych == '>')
+ goto yy170;
+ goto yy165;
+ yy186:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy165;
+ if (yych <= 0xBF)
+ goto yy176;
+ goto yy165;
+ yy187:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy165;
+ if (yych <= 0xBF)
+ goto yy186;
+ goto yy165;
+ yy188:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy165;
+ if (yych <= 0xBF)
+ goto yy186;
+ goto yy165;
+ yy189:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy165;
+ if (yych <= 0x9F)
+ goto yy186;
+ goto yy165;
+ yy190:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy165;
+ if (yych <= 0xBF)
+ goto yy188;
+ goto yy165;
+ yy191:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy165;
+ if (yych <= 0xBF)
+ goto yy188;
+ goto yy165;
+ yy192:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy165;
+ if (yych <= 0x8F)
+ goto yy188;
+ goto yy165;
+ yy193:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy165;
+ if (yych <= 0xBF)
+ goto yy177;
+ goto yy165;
+ yy194:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy165;
+ if (yych <= 0xBF)
+ goto yy193;
+ goto yy165;
+ yy195:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy165;
+ if (yych <= 0xBF)
+ goto yy193;
+ goto yy165;
+ yy196:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy165;
+ if (yych <= 0x9F)
+ goto yy193;
+ goto yy165;
+ yy197:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy165;
+ if (yych <= 0xBF)
+ goto yy195;
+ goto yy165;
+ yy198:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy165;
+ if (yych <= 0xBF)
+ goto yy195;
+ goto yy165;
+ yy199:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy165;
+ if (yych <= 0x8F)
+ goto yy195;
+ goto yy165;
+ }
+}
+
+// Try to (liberally) match an HTML tag after first <, returning num of chars
+// matched.
+bufsize_t _scan_liberal_html_tag(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, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych <= 0xE0) {
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy201;
+ if (yych <= '\t')
+ goto yy203;
+ } else {
+ if (yych <= 0x7F)
+ goto yy203;
+ if (yych <= 0xC1)
+ goto yy201;
+ if (yych <= 0xDF)
+ goto yy204;
+ goto yy205;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy207;
+ goto yy206;
+ } else {
+ if (yych <= 0xF0)
+ goto yy208;
+ if (yych <= 0xF3)
+ goto yy209;
+ if (yych <= 0xF4)
+ goto yy210;
+ }
+ }
+ yy201:
+ ++p;
+ yy202 : { return 0; }
+ yy203:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy202;
+ if (yych <= '\t')
+ goto yy212;
+ goto yy202;
+ } else {
+ if (yych <= 0x7F)
+ goto yy212;
+ if (yych <= 0xC1)
+ goto yy202;
+ if (yych <= 0xF4)
+ goto yy212;
+ goto yy202;
+ }
+ yy204:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy202;
+ if (yych <= 0xBF)
+ goto yy211;
+ goto yy202;
+ yy205:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x9F)
+ goto yy202;
+ if (yych <= 0xBF)
+ goto yy216;
+ goto yy202;
+ yy206:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy202;
+ if (yych <= 0xBF)
+ goto yy216;
+ goto yy202;
+ yy207:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy202;
+ if (yych <= 0x9F)
+ goto yy216;
+ goto yy202;
+ yy208:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x8F)
+ goto yy202;
+ if (yych <= 0xBF)
+ goto yy218;
+ goto yy202;
+ yy209:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy202;
+ if (yych <= 0xBF)
+ goto yy218;
+ goto yy202;
+ yy210:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy202;
+ if (yych <= 0x8F)
+ goto yy218;
+ goto yy202;
+ yy211:
+ yych = *++p;
+ yy212:
+ if (yybm[0 + yych] & 64) {
+ goto yy211;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy213;
+ if (yych <= '>')
+ goto yy214;
+ } else {
+ if (yych <= 0xDF)
+ goto yy216;
+ if (yych <= 0xE0)
+ goto yy217;
+ goto yy218;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy219;
+ if (yych <= 0xEF)
+ goto yy218;
+ goto yy220;
+ } else {
+ if (yych <= 0xF3)
+ goto yy221;
+ if (yych <= 0xF4)
+ goto yy222;
+ }
+ }
+ yy213:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy202;
+ } else {
+ goto yy215;
+ }
+ yy214:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy211;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy215;
+ if (yych <= '>')
+ goto yy214;
+ } else {
+ if (yych <= 0xDF)
+ goto yy216;
+ if (yych <= 0xE0)
+ goto yy217;
+ goto yy218;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy219;
+ if (yych <= 0xEF)
+ goto yy218;
+ goto yy220;
+ } else {
+ if (yych <= 0xF3)
+ goto yy221;
+ if (yych <= 0xF4)
+ goto yy222;
+ }
+ }
+ yy215 : { return (bufsize_t)(p - start); }
+ yy216:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy213;
+ if (yych <= 0xBF)
+ goto yy211;
+ goto yy213;
+ yy217:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy213;
+ if (yych <= 0xBF)
+ goto yy216;
+ goto yy213;
+ yy218:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy213;
+ if (yych <= 0xBF)
+ goto yy216;
+ goto yy213;
+ yy219:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy213;
+ if (yych <= 0x9F)
+ goto yy216;
+ goto yy213;
+ yy220:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy213;
+ if (yych <= 0xBF)
+ goto yy218;
+ goto yy213;
+ yy221:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy213;
+ if (yych <= 0xBF)
+ goto yy218;
+ goto yy213;
+ yy222:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy213;
+ if (yych <= 0x8F)
+ goto yy218;
+ goto yy213;
+ }
}
-// Try to match an HTML tag after first <, returning num of chars matched.
-bufsize_t _scan_html_tag(const unsigned char *p)
-{
+bufsize_t _scan_html_comment(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
-{
- unsigned char yych;
- static const unsigned char yybm[] = {
- /* table 1 .. 8: 0 */
- 0, 250, 250, 250, 250, 250, 250, 250,
- 250, 235, 235, 235, 235, 235, 250, 250,
- 250, 250, 250, 250, 250, 250, 250, 250,
- 250, 250, 250, 250, 250, 250, 250, 250,
- 235, 250, 202, 250, 250, 250, 250, 170,
- 250, 250, 250, 250, 250, 246, 254, 250,
- 254, 254, 254, 254, 254, 254, 254, 254,
- 254, 254, 254, 250, 234, 234, 232, 250,
- 250, 254, 254, 254, 254, 254, 254, 254,
- 254, 254, 254, 254, 254, 254, 254, 254,
- 254, 254, 254, 254, 254, 254, 254, 254,
- 254, 254, 254, 250, 250, 122, 250, 254,
- 234, 254, 254, 254, 254, 254, 254, 254,
- 254, 254, 254, 254, 254, 254, 254, 254,
- 254, 254, 254, 254, 254, 254, 254, 254,
- 254, 254, 254, 250, 250, 250, 250, 250,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- /* table 9 .. 11: 256 */
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 192, 128, 128,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 128, 128, 128, 128, 128, 0,
- 128, 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, 128, 128, 128, 128, 128,
- 128, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 128, 128, 128, 128, 128,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *p;
- if (yych <= '>') {
- if (yych <= '!') {
- if (yych >= '!') goto yy226;
- } else {
- if (yych == '/') goto yy227;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '?') goto yy228;
- if (yych >= 'A') goto yy229;
- } else {
- if (yych <= '`') goto yy224;
- if (yych <= 'z') goto yy229;
- }
- }
-yy224:
- ++p;
-yy225:
- { return 0; }
-yy226:
- yych = *(marker = ++p);
- if (yybm[256+yych] & 32) {
- goto yy232;
- }
- if (yych == '-') goto yy230;
- if (yych <= '@') goto yy225;
- if (yych <= '[') goto yy234;
- goto yy225;
-yy227:
- yych = *(marker = ++p);
- if (yych <= '@') goto yy225;
- if (yych <= 'Z') goto yy235;
- if (yych <= '`') goto yy225;
- if (yych <= 'z') goto yy235;
- goto yy225;
-yy228:
- yych = *(marker = ++p);
- if (yych <= 0x00) goto yy225;
- if (yych <= 0x7F) goto yy238;
- if (yych <= 0xC1) goto yy225;
- if (yych <= 0xF4) goto yy238;
- goto yy225;
-yy229:
- yych = *(marker = ++p);
- if (yych <= '.') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy225;
- if (yych <= '\r') goto yy250;
- goto yy225;
- } else {
- if (yych <= ' ') goto yy250;
- if (yych == '-') goto yy250;
- goto yy225;
- }
- } else {
- if (yych <= '@') {
- if (yych <= '9') goto yy250;
- if (yych == '>') goto yy250;
- goto yy225;
- } else {
- if (yych <= 'Z') goto yy250;
- if (yych <= '`') goto yy225;
- if (yych <= 'z') goto yy250;
- goto yy225;
- }
- }
-yy230:
- yych = *++p;
- if (yych == '-') goto yy254;
-yy231:
- p = marker;
- goto yy225;
-yy232:
- yych = *++p;
- if (yybm[256+yych] & 32) {
- goto yy232;
- }
- if (yych <= 0x08) goto yy231;
- if (yych <= '\r') goto yy255;
- if (yych == ' ') goto yy255;
- goto yy231;
-yy234:
- yych = *++p;
- if (yych == 'C') goto yy257;
- if (yych == 'c') goto yy257;
- goto yy231;
-yy235:
- yych = *++p;
- if (yybm[256+yych] & 64) {
- goto yy235;
- }
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy231;
- if (yych <= '\r') goto yy258;
- goto yy231;
- } else {
- if (yych <= ' ') goto yy258;
- if (yych == '>') goto yy252;
- goto yy231;
- }
-yy237:
- yych = *++p;
-yy238:
- if (yybm[256+yych] & 128) {
- goto yy237;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy231;
- if (yych >= '@') goto yy231;
- } else {
- if (yych <= 0xDF) goto yy240;
- if (yych <= 0xE0) goto yy241;
- goto yy242;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy243;
- if (yych <= 0xEF) goto yy242;
- goto yy244;
- } else {
- if (yych <= 0xF3) goto yy245;
- if (yych <= 0xF4) goto yy246;
- goto yy231;
- }
- }
- yych = *++p;
- if (yych <= 0xE0) {
- if (yych <= '>') {
- if (yych <= 0x00) goto yy231;
- if (yych <= '=') goto yy237;
- goto yy252;
- } else {
- if (yych <= 0x7F) goto yy237;
- if (yych <= 0xC1) goto yy231;
- if (yych >= 0xE0) goto yy241;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy243;
- goto yy242;
- } else {
- if (yych <= 0xF0) goto yy244;
- if (yych <= 0xF3) goto yy245;
- if (yych <= 0xF4) goto yy246;
- goto yy231;
- }
- }
-yy240:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy237;
- goto yy231;
-yy241:
- yych = *++p;
- if (yych <= 0x9F) goto yy231;
- if (yych <= 0xBF) goto yy240;
- goto yy231;
-yy242:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy240;
- goto yy231;
-yy243:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0x9F) goto yy240;
- goto yy231;
-yy244:
- yych = *++p;
- if (yych <= 0x8F) goto yy231;
- if (yych <= 0xBF) goto yy242;
- goto yy231;
-yy245:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy242;
- goto yy231;
-yy246:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0x8F) goto yy242;
- goto yy231;
-yy247:
- yych = *++p;
- if (yybm[0+yych] & 1) {
- goto yy247;
- }
- if (yych <= '>') {
- if (yych <= '9') {
- if (yych == '/') goto yy251;
- goto yy231;
- } else {
- if (yych <= ':') goto yy260;
- if (yych <= '=') goto yy231;
- goto yy252;
- }
- } else {
- if (yych <= '^') {
- if (yych <= '@') goto yy231;
- if (yych <= 'Z') goto yy260;
- goto yy231;
- } else {
- if (yych == '`') goto yy231;
- if (yych <= 'z') goto yy260;
- goto yy231;
- }
- }
-yy249:
- yych = *++p;
-yy250:
- if (yybm[0+yych] & 1) {
- goto yy247;
- }
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych == '-') goto yy249;
- goto yy231;
- } else {
- if (yych <= '/') goto yy251;
- if (yych <= '9') goto yy249;
- goto yy231;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy252;
- if (yych <= '@') goto yy231;
- goto yy249;
- } else {
- if (yych <= '`') goto yy231;
- if (yych <= 'z') goto yy249;
- goto yy231;
- }
- }
-yy251:
- yych = *++p;
- if (yych != '>') goto yy231;
-yy252:
- ++p;
- { return (bufsize_t)(p - start); }
-yy254:
- yych = *++p;
- if (yych == '-') goto yy264;
- if (yych == '>') goto yy231;
- goto yy263;
-yy255:
- yych = *++p;
- if (yybm[0+yych] & 2) {
- goto yy255;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy231;
- if (yych <= '>') goto yy252;
- goto yy231;
- } else {
- if (yych <= 0xDF) goto yy272;
- if (yych <= 0xE0) goto yy273;
- goto yy274;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy275;
- if (yych <= 0xEF) goto yy274;
- goto yy276;
- } else {
- if (yych <= 0xF3) goto yy277;
- if (yych <= 0xF4) goto yy278;
- goto yy231;
- }
- }
-yy257:
- yych = *++p;
- if (yych == 'D') goto yy279;
- if (yych == 'd') goto yy279;
- goto yy231;
-yy258:
- yych = *++p;
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy231;
- if (yych <= '\r') goto yy258;
- goto yy231;
- } else {
- if (yych <= ' ') goto yy258;
- if (yych == '>') goto yy252;
- goto yy231;
- }
-yy260:
- yych = *++p;
- if (yybm[0+yych] & 4) {
- goto yy260;
- }
- if (yych <= ',') {
- if (yych <= '\r') {
- if (yych <= 0x08) goto yy231;
- goto yy280;
- } else {
- if (yych == ' ') goto yy280;
- goto yy231;
- }
- } else {
- if (yych <= '<') {
- if (yych <= '/') goto yy251;
- goto yy231;
- } else {
- if (yych <= '=') goto yy282;
- if (yych <= '>') goto yy252;
- goto yy231;
- }
- }
-yy262:
- yych = *++p;
-yy263:
- if (yybm[0+yych] & 8) {
- goto yy262;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy231;
- if (yych <= '-') goto yy284;
- goto yy231;
- } else {
- if (yych <= 0xDF) goto yy265;
- if (yych <= 0xE0) goto yy266;
- goto yy267;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy268;
- if (yych <= 0xEF) goto yy267;
- goto yy269;
- } else {
- if (yych <= 0xF3) goto yy270;
- if (yych <= 0xF4) goto yy271;
- goto yy231;
- }
- }
-yy264:
- yych = *++p;
- if (yych == '-') goto yy251;
- if (yych == '>') goto yy231;
- goto yy263;
-yy265:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy262;
- goto yy231;
-yy266:
- yych = *++p;
- if (yych <= 0x9F) goto yy231;
- if (yych <= 0xBF) goto yy265;
- goto yy231;
-yy267:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy265;
- goto yy231;
-yy268:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0x9F) goto yy265;
- goto yy231;
-yy269:
- yych = *++p;
- if (yych <= 0x8F) goto yy231;
- if (yych <= 0xBF) goto yy267;
- goto yy231;
-yy270:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy267;
- goto yy231;
-yy271:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0x8F) goto yy267;
- goto yy231;
-yy272:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy255;
- goto yy231;
-yy273:
- yych = *++p;
- if (yych <= 0x9F) goto yy231;
- if (yych <= 0xBF) goto yy272;
- goto yy231;
-yy274:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy272;
- goto yy231;
-yy275:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0x9F) goto yy272;
- goto yy231;
-yy276:
- yych = *++p;
- if (yych <= 0x8F) goto yy231;
- if (yych <= 0xBF) goto yy274;
- goto yy231;
-yy277:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy274;
- goto yy231;
-yy278:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0x8F) goto yy274;
- goto yy231;
-yy279:
- yych = *++p;
- if (yych == 'A') goto yy285;
- if (yych == 'a') goto yy285;
- goto yy231;
-yy280:
- yych = *++p;
- if (yych <= '<') {
- if (yych <= ' ') {
- if (yych <= 0x08) goto yy231;
- if (yych <= '\r') goto yy280;
- if (yych <= 0x1F) goto yy231;
- goto yy280;
- } else {
- if (yych <= '/') {
- if (yych <= '.') goto yy231;
- goto yy251;
- } else {
- if (yych == ':') goto yy260;
- goto yy231;
- }
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '=') goto yy282;
- if (yych <= '>') goto yy252;
- if (yych <= '@') goto yy231;
- goto yy260;
- } else {
- if (yych <= '_') {
- if (yych <= '^') goto yy231;
- goto yy260;
- } else {
- if (yych <= '`') goto yy231;
- if (yych <= 'z') goto yy260;
- goto yy231;
- }
- }
- }
-yy282:
- yych = *++p;
- if (yybm[0+yych] & 16) {
- goto yy286;
- }
- if (yych <= 0xE0) {
- if (yych <= '"') {
- if (yych <= 0x00) goto yy231;
- if (yych <= ' ') goto yy282;
- goto yy288;
- } else {
- if (yych <= '\'') goto yy290;
- if (yych <= 0xC1) goto yy231;
- if (yych <= 0xDF) goto yy292;
- goto yy293;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy295;
- goto yy294;
- } else {
- if (yych <= 0xF0) goto yy296;
- if (yych <= 0xF3) goto yy297;
- if (yych <= 0xF4) goto yy298;
- goto yy231;
- }
- }
-yy284:
- yych = *++p;
- if (yybm[0+yych] & 8) {
- goto yy262;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy231;
- if (yych <= '-') goto yy251;
- goto yy231;
- } else {
- if (yych <= 0xDF) goto yy265;
- if (yych <= 0xE0) goto yy266;
- goto yy267;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy268;
- if (yych <= 0xEF) goto yy267;
- goto yy269;
- } else {
- if (yych <= 0xF3) goto yy270;
- if (yych <= 0xF4) goto yy271;
- goto yy231;
- }
- }
-yy285:
- yych = *++p;
- if (yych == 'T') goto yy299;
- if (yych == 't') goto yy299;
- goto yy231;
-yy286:
- yych = *++p;
- if (yybm[0+yych] & 16) {
- goto yy286;
- }
- if (yych <= 0xE0) {
- if (yych <= '=') {
- if (yych <= 0x00) goto yy231;
- if (yych <= ' ') goto yy247;
- goto yy231;
- } else {
- if (yych <= '>') goto yy252;
- if (yych <= 0xC1) goto yy231;
- if (yych <= 0xDF) goto yy292;
- goto yy293;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy295;
- goto yy294;
- } else {
- if (yych <= 0xF0) goto yy296;
- if (yych <= 0xF3) goto yy297;
- if (yych <= 0xF4) goto yy298;
- goto yy231;
- }
- }
-yy288:
- yych = *++p;
- if (yybm[0+yych] & 32) {
- goto yy288;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy231;
- if (yych <= '"') goto yy300;
- goto yy231;
- } else {
- if (yych <= 0xDF) goto yy301;
- if (yych <= 0xE0) goto yy302;
- goto yy303;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy304;
- if (yych <= 0xEF) goto yy303;
- goto yy305;
- } else {
- if (yych <= 0xF3) goto yy306;
- if (yych <= 0xF4) goto yy307;
- goto yy231;
- }
- }
-yy290:
- yych = *++p;
- if (yybm[0+yych] & 64) {
- goto yy290;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy231;
- if (yych <= '\'') goto yy300;
- goto yy231;
- } else {
- if (yych <= 0xDF) goto yy308;
- if (yych <= 0xE0) goto yy309;
- goto yy310;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy311;
- if (yych <= 0xEF) goto yy310;
- goto yy312;
- } else {
- if (yych <= 0xF3) goto yy313;
- if (yych <= 0xF4) goto yy314;
- goto yy231;
- }
- }
-yy292:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy286;
- goto yy231;
-yy293:
- yych = *++p;
- if (yych <= 0x9F) goto yy231;
- if (yych <= 0xBF) goto yy292;
- goto yy231;
-yy294:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy292;
- goto yy231;
-yy295:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0x9F) goto yy292;
- goto yy231;
-yy296:
- yych = *++p;
- if (yych <= 0x8F) goto yy231;
- if (yych <= 0xBF) goto yy294;
- goto yy231;
-yy297:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy294;
- goto yy231;
-yy298:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0x8F) goto yy294;
- goto yy231;
-yy299:
- yych = *++p;
- if (yych == 'A') goto yy315;
- if (yych == 'a') goto yy315;
- goto yy231;
-yy300:
- yych = *++p;
- if (yybm[0+yych] & 1) {
- goto yy247;
- }
- if (yych == '/') goto yy251;
- if (yych == '>') goto yy252;
- goto yy231;
-yy301:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy288;
- goto yy231;
-yy302:
- yych = *++p;
- if (yych <= 0x9F) goto yy231;
- if (yych <= 0xBF) goto yy301;
- goto yy231;
-yy303:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy301;
- goto yy231;
-yy304:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0x9F) goto yy301;
- goto yy231;
-yy305:
- yych = *++p;
- if (yych <= 0x8F) goto yy231;
- if (yych <= 0xBF) goto yy303;
- goto yy231;
-yy306:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy303;
- goto yy231;
-yy307:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0x8F) goto yy303;
- goto yy231;
-yy308:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy290;
- goto yy231;
-yy309:
- yych = *++p;
- if (yych <= 0x9F) goto yy231;
- if (yych <= 0xBF) goto yy308;
- goto yy231;
-yy310:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy308;
- goto yy231;
-yy311:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0x9F) goto yy308;
- goto yy231;
-yy312:
- yych = *++p;
- if (yych <= 0x8F) goto yy231;
- if (yych <= 0xBF) goto yy310;
- goto yy231;
-yy313:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy310;
- goto yy231;
-yy314:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0x8F) goto yy310;
- goto yy231;
-yy315:
- yych = *++p;
- if (yych != '[') goto yy231;
-yy316:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy316;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy231;
- if (yych >= '^') goto yy231;
- } else {
- if (yych <= 0xDF) goto yy319;
- if (yych <= 0xE0) goto yy320;
- goto yy321;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy322;
- if (yych <= 0xEF) goto yy321;
- goto yy323;
- } else {
- if (yych <= 0xF3) goto yy324;
- if (yych <= 0xF4) goto yy325;
- goto yy231;
- }
- }
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy316;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy231;
- if (yych <= ']') goto yy326;
- goto yy231;
- } else {
- if (yych <= 0xDF) goto yy319;
- if (yych <= 0xE0) goto yy320;
- goto yy321;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy322;
- if (yych <= 0xEF) goto yy321;
- goto yy323;
- } else {
- if (yych <= 0xF3) goto yy324;
- if (yych <= 0xF4) goto yy325;
- goto yy231;
- }
- }
-yy319:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy316;
- goto yy231;
-yy320:
- yych = *++p;
- if (yych <= 0x9F) goto yy231;
- if (yych <= 0xBF) goto yy319;
- goto yy231;
-yy321:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy319;
- goto yy231;
-yy322:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0x9F) goto yy319;
- goto yy231;
-yy323:
- yych = *++p;
- if (yych <= 0x8F) goto yy231;
- if (yych <= 0xBF) goto yy321;
- goto yy231;
-yy324:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0xBF) goto yy321;
- goto yy231;
-yy325:
- yych = *++p;
- if (yych <= 0x7F) goto yy231;
- if (yych <= 0x8F) goto yy321;
- goto yy231;
-yy326:
- yych = *++p;
- if (yych <= 0xE0) {
- if (yych <= '>') {
- if (yych <= 0x00) goto yy231;
- if (yych <= '=') goto yy316;
- goto yy252;
- } else {
- if (yych <= 0x7F) goto yy316;
- if (yych <= 0xC1) goto yy231;
- if (yych <= 0xDF) goto yy319;
- goto yy320;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy322;
- goto yy321;
- } else {
- if (yych <= 0xF0) goto yy323;
- if (yych <= 0xF3) goto yy324;
- if (yych <= 0xF4) goto yy325;
- goto yy231;
- }
- }
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych == '-')
+ goto yy225;
+ ++p;
+ yy224 : { return 0; }
+ yy225:
+ yych = *(marker = ++p);
+ if (yych != '-')
+ goto yy224;
+ yy226:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy226;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy227;
+ if (yych <= '-')
+ goto yy228;
+ } else {
+ if (yych <= 0xDF)
+ goto yy229;
+ if (yych <= 0xE0)
+ goto yy230;
+ goto yy231;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy232;
+ if (yych <= 0xEF)
+ goto yy231;
+ goto yy233;
+ } else {
+ if (yych <= 0xF3)
+ goto yy234;
+ if (yych <= 0xF4)
+ goto yy235;
+ }
+ }
+ yy227:
+ p = marker;
+ goto yy224;
+ yy228:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy226;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy227;
+ if (yych <= '-')
+ goto yy236;
+ goto yy227;
+ } else {
+ if (yych <= 0xDF)
+ goto yy229;
+ if (yych <= 0xE0)
+ goto yy230;
+ goto yy231;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy232;
+ if (yych <= 0xEF)
+ goto yy231;
+ goto yy233;
+ } else {
+ if (yych <= 0xF3)
+ goto yy234;
+ if (yych <= 0xF4)
+ goto yy235;
+ goto yy227;
+ }
+ }
+ yy229:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy227;
+ if (yych <= 0xBF)
+ goto yy226;
+ goto yy227;
+ yy230:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy227;
+ if (yych <= 0xBF)
+ goto yy229;
+ goto yy227;
+ yy231:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy227;
+ if (yych <= 0xBF)
+ goto yy229;
+ goto yy227;
+ yy232:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy227;
+ if (yych <= 0x9F)
+ goto yy229;
+ goto yy227;
+ yy233:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy227;
+ if (yych <= 0xBF)
+ goto yy231;
+ goto yy227;
+ yy234:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy227;
+ if (yych <= 0xBF)
+ goto yy231;
+ goto yy227;
+ yy235:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy227;
+ if (yych <= 0x8F)
+ goto yy231;
+ goto yy227;
+ yy236:
+ yych = *++p;
+ if (yych <= 0xE0) {
+ if (yych <= '>') {
+ if (yych <= 0x00)
+ goto yy227;
+ if (yych <= '=')
+ goto yy226;
+ } else {
+ if (yych <= 0x7F)
+ goto yy226;
+ if (yych <= 0xC1)
+ goto yy227;
+ if (yych <= 0xDF)
+ goto yy229;
+ goto yy230;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy232;
+ goto yy231;
+ } else {
+ if (yych <= 0xF0)
+ goto yy233;
+ if (yych <= 0xF3)
+ goto yy234;
+ if (yych <= 0xF4)
+ goto yy235;
+ goto yy227;
+ }
+ }
+ ++p;
+ { return (bufsize_t)(p - start); }
+ }
}
+bufsize_t _scan_html_pi(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, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy240;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy238;
+ if (yych <= '?')
+ goto yy243;
+ } else {
+ if (yych <= 0xDF)
+ goto yy244;
+ if (yych <= 0xE0)
+ goto yy245;
+ goto yy246;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy247;
+ if (yych <= 0xEF)
+ goto yy246;
+ goto yy248;
+ } else {
+ if (yych <= 0xF3)
+ goto yy249;
+ if (yych <= 0xF4)
+ goto yy250;
+ }
+ }
+ yy238:
+ ++p;
+ yy239 : { return 0; }
+ yy240:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ yy241:
+ if (yybm[0 + yych] & 128) {
+ goto yy240;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy242;
+ if (yych <= '?')
+ goto yy251;
+ } else {
+ if (yych <= 0xDF)
+ goto yy253;
+ if (yych <= 0xE0)
+ goto yy254;
+ goto yy255;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy256;
+ if (yych <= 0xEF)
+ goto yy255;
+ goto yy257;
+ } else {
+ if (yych <= 0xF3)
+ goto yy258;
+ if (yych <= 0xF4)
+ goto yy259;
+ }
+ }
+ yy242 : { return (bufsize_t)(p - start); }
+ yy243:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yych <= '?') {
+ if (yych <= 0x00)
+ goto yy239;
+ if (yych <= '=')
+ goto yy241;
+ if (yych <= '>')
+ goto yy239;
+ goto yy240;
+ } else {
+ if (yych <= 0x7F)
+ goto yy241;
+ if (yych <= 0xC1)
+ goto yy239;
+ if (yych <= 0xF4)
+ goto yy241;
+ goto yy239;
+ }
+ yy244:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy239;
+ if (yych <= 0xBF)
+ goto yy240;
+ goto yy239;
+ yy245:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yych <= 0x9F)
+ goto yy239;
+ if (yych <= 0xBF)
+ goto yy253;
+ goto yy239;
+ yy246:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy239;
+ if (yych <= 0xBF)
+ goto yy253;
+ goto yy239;
+ yy247:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy239;
+ if (yych <= 0x9F)
+ goto yy253;
+ goto yy239;
+ yy248:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yych <= 0x8F)
+ goto yy239;
+ if (yych <= 0xBF)
+ goto yy255;
+ goto yy239;
+ yy249:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy239;
+ if (yych <= 0xBF)
+ goto yy255;
+ goto yy239;
+ yy250:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy239;
+ if (yych <= 0x8F)
+ goto yy255;
+ goto yy239;
+ yy251:
+ yych = *++p;
+ if (yych <= 0xE0) {
+ if (yych <= '>') {
+ if (yych <= 0x00)
+ goto yy252;
+ if (yych <= '=')
+ goto yy240;
+ } else {
+ if (yych <= 0x7F)
+ goto yy240;
+ if (yych <= 0xC1)
+ goto yy252;
+ if (yych <= 0xDF)
+ goto yy253;
+ goto yy254;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy256;
+ goto yy255;
+ } else {
+ if (yych <= 0xF0)
+ goto yy257;
+ if (yych <= 0xF3)
+ goto yy258;
+ if (yych <= 0xF4)
+ goto yy259;
+ }
+ }
+ yy252:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy242;
+ } else {
+ goto yy239;
+ }
+ yy253:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy252;
+ if (yych <= 0xBF)
+ goto yy240;
+ goto yy252;
+ yy254:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy252;
+ if (yych <= 0xBF)
+ goto yy253;
+ goto yy252;
+ yy255:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy252;
+ if (yych <= 0xBF)
+ goto yy253;
+ goto yy252;
+ yy256:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy252;
+ if (yych <= 0x9F)
+ goto yy253;
+ goto yy252;
+ yy257:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy252;
+ if (yych <= 0xBF)
+ goto yy255;
+ goto yy252;
+ yy258:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy252;
+ if (yych <= 0xBF)
+ goto yy255;
+ goto yy252;
+ yy259:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy252;
+ if (yych <= 0x8F)
+ goto yy255;
+ goto yy252;
+ }
}
-// Try to (liberally) match an HTML tag after first <, returning num of chars matched.
-bufsize_t _scan_liberal_html_tag(const unsigned char *p)
-{
+bufsize_t _scan_html_declaration(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, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 0, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 128, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *p;
- if (yych <= 0xE0) {
- if (yych <= '\n') {
- if (yych <= 0x00) goto yy329;
- if (yych <= '\t') goto yy331;
- } else {
- if (yych <= 0x7F) goto yy331;
- if (yych <= 0xC1) goto yy329;
- if (yych <= 0xDF) goto yy332;
- goto yy333;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy335;
- goto yy334;
- } else {
- if (yych <= 0xF0) goto yy336;
- if (yych <= 0xF3) goto yy337;
- if (yych <= 0xF4) goto yy338;
- }
- }
-yy329:
- ++p;
-yy330:
- { return 0; }
-yy331:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= '\n') {
- if (yych <= 0x00) goto yy330;
- if (yych <= '\t') goto yy340;
- goto yy330;
- } else {
- if (yych <= 0x7F) goto yy340;
- if (yych <= 0xC1) goto yy330;
- if (yych <= 0xF4) goto yy340;
- goto yy330;
- }
-yy332:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy330;
- if (yych <= 0xBF) goto yy339;
- goto yy330;
-yy333:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x9F) goto yy330;
- if (yych <= 0xBF) goto yy345;
- goto yy330;
-yy334:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy330;
- if (yych <= 0xBF) goto yy345;
- goto yy330;
-yy335:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy330;
- if (yych <= 0x9F) goto yy345;
- goto yy330;
-yy336:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x8F) goto yy330;
- if (yych <= 0xBF) goto yy347;
- goto yy330;
-yy337:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy330;
- if (yych <= 0xBF) goto yy347;
- goto yy330;
-yy338:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy330;
- if (yych <= 0x8F) goto yy347;
- goto yy330;
-yy339:
- yych = *++p;
-yy340:
- if (yybm[0+yych] & 64) {
- goto yy339;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy341;
- if (yych <= '>') goto yy342;
- } else {
- if (yych <= 0xDF) goto yy345;
- if (yych <= 0xE0) goto yy346;
- goto yy347;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy348;
- if (yych <= 0xEF) goto yy347;
- goto yy349;
- } else {
- if (yych <= 0xF3) goto yy350;
- if (yych <= 0xF4) goto yy351;
- }
- }
-yy341:
- p = marker;
- if (yyaccept == 0) {
- goto yy330;
- } else {
- goto yy344;
- }
-yy342:
- yyaccept = 1;
- yych = *(marker = ++p);
- if (yybm[0+yych] & 64) {
- goto yy339;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy344;
- if (yych <= '>') goto yy342;
- } else {
- if (yych <= 0xDF) goto yy345;
- if (yych <= 0xE0) goto yy346;
- goto yy347;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy348;
- if (yych <= 0xEF) goto yy347;
- goto yy349;
- } else {
- if (yych <= 0xF3) goto yy350;
- if (yych <= 0xF4) goto yy351;
- }
- }
-yy344:
- { return (bufsize_t)(p - start); }
-yy345:
- yych = *++p;
- if (yych <= 0x7F) goto yy341;
- if (yych <= 0xBF) goto yy339;
- goto yy341;
-yy346:
- yych = *++p;
- if (yych <= 0x9F) goto yy341;
- if (yych <= 0xBF) goto yy345;
- goto yy341;
-yy347:
- yych = *++p;
- if (yych <= 0x7F) goto yy341;
- if (yych <= 0xBF) goto yy345;
- goto yy341;
-yy348:
- yych = *++p;
- if (yych <= 0x7F) goto yy341;
- if (yych <= 0x9F) goto yy345;
- goto yy341;
-yy349:
- yych = *++p;
- if (yych <= 0x8F) goto yy341;
- if (yych <= 0xBF) goto yy347;
- goto yy341;
-yy350:
- yych = *++p;
- if (yych <= 0x7F) goto yy341;
- if (yych <= 0xBF) goto yy347;
- goto yy341;
-yy351:
- yych = *++p;
- if (yych <= 0x7F) goto yy341;
- if (yych <= 0x8F) goto yy347;
- goto yy341;
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 0, 64, 64, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych <= '@')
+ goto yy261;
+ if (yych <= 'Z')
+ goto yy263;
+ yy261:
+ ++p;
+ yy262 : { return 0; }
+ yy263:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy266;
+ }
+ if (yych <= 0x08)
+ goto yy262;
+ if (yych <= '\r')
+ goto yy264;
+ if (yych != ' ')
+ goto yy262;
+ yy264:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy264;
+ }
+ if (yych <= 0xED) {
+ if (yych <= 0xDF) {
+ if (yych >= 0xC2)
+ goto yy268;
+ } else {
+ if (yych <= 0xE0)
+ goto yy269;
+ if (yych <= 0xEC)
+ goto yy270;
+ goto yy271;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy270;
+ goto yy272;
+ } else {
+ if (yych <= 0xF3)
+ goto yy273;
+ if (yych <= 0xF4)
+ goto yy274;
+ }
+ }
+ yy265 : { return (bufsize_t)(p - start); }
+ yy266:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy266;
+ }
+ if (yych <= 0x08)
+ goto yy267;
+ if (yych <= '\r')
+ goto yy264;
+ if (yych == ' ')
+ goto yy264;
+ yy267:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy262;
+ } else {
+ goto yy265;
+ }
+ yy268:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy267;
+ if (yych <= 0xBF)
+ goto yy264;
+ goto yy267;
+ yy269:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy267;
+ if (yych <= 0xBF)
+ goto yy268;
+ goto yy267;
+ yy270:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy267;
+ if (yych <= 0xBF)
+ goto yy268;
+ goto yy267;
+ yy271:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy267;
+ if (yych <= 0x9F)
+ goto yy268;
+ goto yy267;
+ yy272:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy267;
+ if (yych <= 0xBF)
+ goto yy270;
+ goto yy267;
+ yy273:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy267;
+ if (yych <= 0xBF)
+ goto yy270;
+ goto yy267;
+ yy274:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy267;
+ if (yych <= 0x8F)
+ goto yy270;
+ goto yy267;
+ }
}
+bufsize_t _scan_html_cdata(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, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych == 'C')
+ goto yy277;
+ if (yych == 'c')
+ goto yy277;
+ ++p;
+ yy276 : { return 0; }
+ yy277:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'D')
+ goto yy278;
+ if (yych != 'd')
+ goto yy276;
+ yy278:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy280;
+ if (yych == 'a')
+ goto yy280;
+ yy279:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy276;
+ } else {
+ goto yy284;
+ }
+ yy280:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy281;
+ if (yych != 't')
+ goto yy279;
+ yy281:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy282;
+ if (yych != 'a')
+ goto yy279;
+ yy282:
+ yych = *++p;
+ if (yych != '[')
+ goto yy279;
+ yy283:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy283;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy284;
+ if (yych <= ']')
+ goto yy285;
+ } else {
+ if (yych <= 0xDF)
+ goto yy286;
+ if (yych <= 0xE0)
+ goto yy287;
+ goto yy288;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy289;
+ if (yych <= 0xEF)
+ goto yy288;
+ goto yy290;
+ } else {
+ if (yych <= 0xF3)
+ goto yy291;
+ if (yych <= 0xF4)
+ goto yy292;
+ }
+ }
+ yy284 : { return (bufsize_t)(p - start); }
+ yy285:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy283;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy279;
+ if (yych <= ']')
+ goto yy293;
+ goto yy279;
+ } else {
+ if (yych <= 0xDF)
+ goto yy286;
+ if (yych <= 0xE0)
+ goto yy287;
+ goto yy288;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy289;
+ if (yych <= 0xEF)
+ goto yy288;
+ goto yy290;
+ } else {
+ if (yych <= 0xF3)
+ goto yy291;
+ if (yych <= 0xF4)
+ goto yy292;
+ goto yy279;
+ }
+ }
+ yy286:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy279;
+ if (yych <= 0xBF)
+ goto yy283;
+ goto yy279;
+ yy287:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy279;
+ if (yych <= 0xBF)
+ goto yy286;
+ goto yy279;
+ yy288:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy279;
+ if (yych <= 0xBF)
+ goto yy286;
+ goto yy279;
+ yy289:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy279;
+ if (yych <= 0x9F)
+ goto yy286;
+ goto yy279;
+ yy290:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy279;
+ if (yych <= 0xBF)
+ goto yy288;
+ goto yy279;
+ yy291:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy279;
+ if (yych <= 0xBF)
+ goto yy288;
+ goto yy279;
+ yy292:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy279;
+ if (yych <= 0x8F)
+ goto yy288;
+ goto yy279;
+ yy293:
+ yych = *++p;
+ if (yych <= 0xE0) {
+ if (yych <= '>') {
+ if (yych <= 0x00)
+ goto yy279;
+ if (yych <= '=')
+ goto yy283;
+ goto yy279;
+ } else {
+ if (yych <= 0x7F)
+ goto yy283;
+ if (yych <= 0xC1)
+ goto yy279;
+ if (yych <= 0xDF)
+ goto yy286;
+ goto yy287;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy289;
+ goto yy288;
+ } else {
+ if (yych <= 0xF0)
+ goto yy290;
+ if (yych <= 0xF3)
+ goto yy291;
+ if (yych <= 0xF4)
+ goto yy292;
+ goto yy279;
+ }
+ }
+ }
}
// Try to match an HTML block tag start line, returning
// an integer code for the type of block (1-6, matching the spec).
// #7 is handled by a separate function, below.
-bufsize_t _scan_html_block_start(const unsigned char *p)
-{
+bufsize_t _scan_html_block_start(const unsigned char *p) {
const unsigned char *marker = NULL;
-{
- unsigned char yych;
- yych = *p;
- if (yych == '<') goto yy356;
- ++p;
-yy355:
- { return 0; }
-yy356:
- yych = *(marker = ++p);
- switch (yych) {
- case '!': goto yy357;
- case '/': goto yy359;
- case '?': goto yy360;
- case 'A':
- case 'a': goto yy362;
- case 'B':
- case 'b': goto yy363;
- case 'C':
- case 'c': goto yy364;
- case 'D':
- case 'd': goto yy365;
- case 'F':
- case 'f': goto yy366;
- case 'H':
- case 'h': goto yy367;
- case 'I':
- case 'i': goto yy368;
- case 'L':
- case 'l': goto yy369;
- case 'M':
- case 'm': goto yy370;
- case 'N':
- case 'n': goto yy371;
- case 'O':
- case 'o': goto yy372;
- case 'P':
- case 'p': goto yy373;
- case 'S':
- case 's': goto yy374;
- case 'T':
- case 't': goto yy375;
- case 'U':
- case 'u': goto yy376;
- default: goto yy355;
- }
-yy357:
- yych = *++p;
- if (yych <= '@') {
- if (yych == '-') goto yy377;
- } else {
- if (yych <= 'Z') goto yy378;
- if (yych <= '[') goto yy380;
- }
-yy358:
- p = marker;
- goto yy355;
-yy359:
- yych = *++p;
- switch (yych) {
- case 'A':
- case 'a': goto yy362;
- case 'B':
- case 'b': goto yy363;
- case 'C':
- case 'c': goto yy364;
- case 'D':
- case 'd': goto yy365;
- case 'F':
- case 'f': goto yy366;
- case 'H':
- case 'h': goto yy367;
- case 'I':
- case 'i': goto yy368;
- case 'L':
- case 'l': goto yy369;
- case 'M':
- case 'm': goto yy370;
- case 'N':
- case 'n': goto yy371;
- case 'O':
- case 'o': goto yy372;
- case 'P':
- case 'p': goto yy381;
- case 'S':
- case 's': goto yy382;
- case 'T':
- case 't': goto yy375;
- case 'U':
- case 'u': goto yy376;
- default: goto yy358;
- }
-yy360:
- ++p;
- { return 3; }
-yy362:
- yych = *++p;
- if (yych <= 'S') {
- if (yych <= 'D') {
- if (yych <= 'C') goto yy358;
- goto yy383;
- } else {
- if (yych <= 'Q') goto yy358;
- if (yych <= 'R') goto yy384;
- goto yy385;
- }
- } else {
- if (yych <= 'q') {
- if (yych == 'd') goto yy383;
- goto yy358;
- } else {
- if (yych <= 'r') goto yy384;
- if (yych <= 's') goto yy385;
- goto yy358;
- }
- }
-yy363:
- yych = *++p;
- if (yych <= 'O') {
- if (yych <= 'K') {
- if (yych == 'A') goto yy386;
- goto yy358;
- } else {
- if (yych <= 'L') goto yy387;
- if (yych <= 'N') goto yy358;
- goto yy388;
- }
- } else {
- if (yych <= 'k') {
- if (yych == 'a') goto yy386;
- goto yy358;
- } else {
- if (yych <= 'l') goto yy387;
- if (yych == 'o') goto yy388;
- goto yy358;
- }
- }
-yy364:
- yych = *++p;
- if (yych <= 'O') {
- if (yych <= 'D') {
- if (yych == 'A') goto yy389;
- goto yy358;
- } else {
- if (yych <= 'E') goto yy390;
- if (yych <= 'N') goto yy358;
- goto yy391;
- }
- } else {
- if (yych <= 'd') {
- if (yych == 'a') goto yy389;
- goto yy358;
- } else {
- if (yych <= 'e') goto yy390;
- if (yych == 'o') goto yy391;
- goto yy358;
- }
- }
-yy365:
- yych = *++p;
- switch (yych) {
- case 'D':
- case 'L':
- case 'T':
- case 'd':
- case 'l':
- case 't': goto yy392;
- case 'E':
- case 'e': goto yy393;
- case 'I':
- case 'i': goto yy394;
- default: goto yy358;
- }
-yy366:
- yych = *++p;
- if (yych <= 'R') {
- if (yych <= 'N') {
- if (yych == 'I') goto yy395;
- goto yy358;
- } else {
- if (yych <= 'O') goto yy396;
- if (yych <= 'Q') goto yy358;
- goto yy397;
- }
- } else {
- if (yych <= 'n') {
- if (yych == 'i') goto yy395;
- goto yy358;
- } else {
- if (yych <= 'o') goto yy396;
- if (yych == 'r') goto yy397;
- goto yy358;
- }
- }
-yy367:
- yych = *++p;
- if (yych <= 'S') {
- if (yych <= 'D') {
- if (yych <= '0') goto yy358;
- if (yych <= '6') goto yy392;
- goto yy358;
- } else {
- if (yych <= 'E') goto yy398;
- if (yych == 'R') goto yy392;
- goto yy358;
- }
- } else {
- if (yych <= 'q') {
- if (yych <= 'T') goto yy399;
- if (yych == 'e') goto yy398;
- goto yy358;
- } else {
- if (yych <= 'r') goto yy392;
- if (yych == 't') goto yy399;
- goto yy358;
- }
- }
-yy368:
- yych = *++p;
- if (yych == 'F') goto yy400;
- if (yych == 'f') goto yy400;
- goto yy358;
-yy369:
- yych = *++p;
- if (yych <= 'I') {
- if (yych == 'E') goto yy401;
- if (yych <= 'H') goto yy358;
- goto yy402;
- } else {
- if (yych <= 'e') {
- if (yych <= 'd') goto yy358;
- goto yy401;
- } else {
- if (yych == 'i') goto yy402;
- goto yy358;
- }
- }
-yy370:
- yych = *++p;
- if (yych <= 'E') {
- if (yych == 'A') goto yy403;
- if (yych <= 'D') goto yy358;
- goto yy404;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy358;
- goto yy403;
- } else {
- if (yych == 'e') goto yy404;
- goto yy358;
- }
- }
-yy371:
- yych = *++p;
- if (yych <= 'O') {
- if (yych == 'A') goto yy405;
- if (yych <= 'N') goto yy358;
- goto yy406;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy358;
- goto yy405;
- } else {
- if (yych == 'o') goto yy406;
- goto yy358;
- }
- }
-yy372:
- yych = *++p;
- if (yych <= 'P') {
- if (yych == 'L') goto yy392;
- if (yych <= 'O') goto yy358;
- goto yy407;
- } else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy358;
- goto yy392;
- } else {
- if (yych == 'p') goto yy407;
- goto yy358;
- }
- }
-yy373:
- yych = *++p;
- if (yych <= '>') {
- if (yych <= ' ') {
- if (yych <= 0x08) goto yy358;
- if (yych <= '\r') goto yy408;
- if (yych <= 0x1F) goto yy358;
- goto yy408;
- } else {
- if (yych == '/') goto yy410;
- if (yych <= '=') goto yy358;
- goto yy408;
- }
- } else {
- if (yych <= 'R') {
- if (yych == 'A') goto yy411;
- if (yych <= 'Q') goto yy358;
- goto yy412;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy358;
- goto yy411;
- } else {
- if (yych == 'r') goto yy412;
- goto yy358;
- }
- }
- }
-yy374:
- yych = *++p;
- if (yych <= 'U') {
- if (yych <= 'D') {
- if (yych == 'C') goto yy413;
- goto yy358;
- } else {
- if (yych <= 'E') goto yy414;
- if (yych <= 'S') goto yy358;
- if (yych <= 'T') goto yy415;
- goto yy416;
- }
- } else {
- if (yych <= 'e') {
- if (yych == 'c') goto yy413;
- if (yych <= 'd') goto yy358;
- goto yy414;
- } else {
- if (yych <= 's') goto yy358;
- if (yych <= 't') goto yy415;
- if (yych <= 'u') goto yy416;
- goto yy358;
- }
- }
-yy375:
- yych = *++p;
- switch (yych) {
- case 'A':
- case 'a': goto yy417;
- case 'B':
- case 'b': goto yy418;
- case 'D':
- case 'd': goto yy392;
- case 'F':
- case 'f': goto yy419;
- case 'H':
- case 'h': goto yy420;
- case 'I':
- case 'i': goto yy421;
- case 'R':
- case 'r': goto yy422;
- default: goto yy358;
- }
-yy376:
- yych = *++p;
- if (yych == 'L') goto yy392;
- if (yych == 'l') goto yy392;
- goto yy358;
-yy377:
- yych = *++p;
- if (yych == '-') goto yy423;
- goto yy358;
-yy378:
- ++p;
- { return 4; }
-yy380:
- yych = *++p;
- if (yych == 'C') goto yy425;
- if (yych == 'c') goto yy425;
- goto yy358;
-yy381:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy358;
- if (yych <= '\r') goto yy408;
- goto yy358;
- } else {
- if (yych <= ' ') goto yy408;
- if (yych <= '.') goto yy358;
- goto yy410;
- }
- } else {
- if (yych <= '@') {
- if (yych == '>') goto yy408;
- goto yy358;
- } else {
- if (yych <= 'A') goto yy411;
- if (yych == 'a') goto yy411;
- goto yy358;
- }
- }
-yy382:
- yych = *++p;
- if (yych <= 'U') {
- if (yych == 'E') goto yy414;
- if (yych <= 'T') goto yy358;
- goto yy416;
- } else {
- if (yych <= 'e') {
- if (yych <= 'd') goto yy358;
- goto yy414;
- } else {
- if (yych == 'u') goto yy416;
- goto yy358;
- }
- }
-yy383:
- yych = *++p;
- if (yych == 'D') goto yy426;
- if (yych == 'd') goto yy426;
- goto yy358;
-yy384:
- yych = *++p;
- if (yych == 'T') goto yy427;
- if (yych == 't') goto yy427;
- goto yy358;
-yy385:
- yych = *++p;
- if (yych == 'I') goto yy428;
- if (yych == 'i') goto yy428;
- goto yy358;
-yy386:
- yych = *++p;
- if (yych == 'S') goto yy429;
- if (yych == 's') goto yy429;
- goto yy358;
-yy387:
- yych = *++p;
- if (yych == 'O') goto yy430;
- if (yych == 'o') goto yy430;
- goto yy358;
-yy388:
- yych = *++p;
- if (yych == 'D') goto yy431;
- if (yych == 'd') goto yy431;
- goto yy358;
-yy389:
- yych = *++p;
- if (yych == 'P') goto yy432;
- if (yych == 'p') goto yy432;
- goto yy358;
-yy390:
- yych = *++p;
- if (yych == 'N') goto yy433;
- if (yych == 'n') goto yy433;
- goto yy358;
-yy391:
- yych = *++p;
- if (yych == 'L') goto yy434;
- if (yych == 'l') goto yy434;
- goto yy358;
-yy392:
- yych = *++p;
- if (yych <= ' ') {
- if (yych <= 0x08) goto yy358;
- if (yych <= '\r') goto yy408;
- if (yych <= 0x1F) goto yy358;
- goto yy408;
- } else {
- if (yych <= '/') {
- if (yych <= '.') goto yy358;
- goto yy410;
- } else {
- if (yych == '>') goto yy408;
- goto yy358;
- }
- }
-yy393:
- yych = *++p;
- if (yych == 'T') goto yy435;
- if (yych == 't') goto yy435;
- goto yy358;
-yy394:
- yych = *++p;
- if (yych <= 'V') {
- if (yych <= 'Q') {
- if (yych == 'A') goto yy436;
- goto yy358;
- } else {
- if (yych <= 'R') goto yy392;
- if (yych <= 'U') goto yy358;
- goto yy392;
- }
- } else {
- if (yych <= 'q') {
- if (yych == 'a') goto yy436;
- goto yy358;
- } else {
- if (yych <= 'r') goto yy392;
- if (yych == 'v') goto yy392;
- goto yy358;
- }
- }
-yy395:
- yych = *++p;
- if (yych <= 'G') {
- if (yych == 'E') goto yy437;
- if (yych <= 'F') goto yy358;
- goto yy438;
- } else {
- if (yych <= 'e') {
- if (yych <= 'd') goto yy358;
- goto yy437;
- } else {
- if (yych == 'g') goto yy438;
- goto yy358;
- }
- }
-yy396:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == 'O') goto yy433;
- if (yych <= 'Q') goto yy358;
- goto yy439;
- } else {
- if (yych <= 'o') {
- if (yych <= 'n') goto yy358;
- goto yy433;
- } else {
- if (yych == 'r') goto yy439;
- goto yy358;
- }
- }
-yy397:
- yych = *++p;
- if (yych == 'A') goto yy440;
- if (yych == 'a') goto yy440;
- goto yy358;
-yy398:
- yych = *++p;
- if (yych == 'A') goto yy441;
- if (yych == 'a') goto yy441;
- goto yy358;
-yy399:
- yych = *++p;
- if (yych == 'M') goto yy376;
- if (yych == 'm') goto yy376;
- goto yy358;
-yy400:
- yych = *++p;
- if (yych == 'R') goto yy442;
- if (yych == 'r') goto yy442;
- goto yy358;
-yy401:
- yych = *++p;
- if (yych == 'G') goto yy443;
- if (yych == 'g') goto yy443;
- goto yy358;
-yy402:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy358;
- if (yych <= '\r') goto yy408;
- goto yy358;
- } else {
- if (yych <= ' ') goto yy408;
- if (yych <= '.') goto yy358;
- goto yy410;
- }
- } else {
- if (yych <= 'M') {
- if (yych == '>') goto yy408;
- goto yy358;
- } else {
- if (yych <= 'N') goto yy444;
- if (yych == 'n') goto yy444;
- goto yy358;
- }
- }
-yy403:
- yych = *++p;
- if (yych == 'I') goto yy445;
- if (yych == 'i') goto yy445;
- goto yy358;
-yy404:
- yych = *++p;
- if (yych == 'N') goto yy446;
- if (yych == 'n') goto yy446;
- goto yy358;
-yy405:
- yych = *++p;
- if (yych == 'V') goto yy392;
- if (yych == 'v') goto yy392;
- goto yy358;
-yy406:
- yych = *++p;
- if (yych == 'F') goto yy447;
- if (yych == 'f') goto yy447;
- goto yy358;
-yy407:
- yych = *++p;
- if (yych == 'T') goto yy448;
- if (yych == 't') goto yy448;
- goto yy358;
-yy408:
- ++p;
- { return 6; }
-yy410:
- yych = *++p;
- if (yych == '>') goto yy408;
- goto yy358;
-yy411:
- yych = *++p;
- if (yych == 'R') goto yy449;
- if (yych == 'r') goto yy449;
- goto yy358;
-yy412:
- yych = *++p;
- if (yych == 'E') goto yy450;
- if (yych == 'e') goto yy450;
- goto yy358;
-yy413:
- yych = *++p;
- if (yych == 'R') goto yy451;
- if (yych == 'r') goto yy451;
- goto yy358;
-yy414:
- yych = *++p;
- if (yych == 'C') goto yy432;
- if (yych == 'c') goto yy432;
- goto yy358;
-yy415:
- yych = *++p;
- if (yych == 'Y') goto yy452;
- if (yych == 'y') goto yy452;
- goto yy358;
-yy416:
- yych = *++p;
- if (yych == 'M') goto yy453;
- if (yych == 'm') goto yy453;
- goto yy358;
-yy417:
- yych = *++p;
- if (yych == 'B') goto yy454;
- if (yych == 'b') goto yy454;
- goto yy358;
-yy418:
- yych = *++p;
- if (yych == 'O') goto yy388;
- if (yych == 'o') goto yy388;
- goto yy358;
-yy419:
- yych = *++p;
- if (yych == 'O') goto yy455;
- if (yych == 'o') goto yy455;
- goto yy358;
-yy420:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy358;
- if (yych <= '\r') goto yy408;
- goto yy358;
- } else {
- if (yych <= ' ') goto yy408;
- if (yych <= '.') goto yy358;
- goto yy410;
- }
- } else {
- if (yych <= 'D') {
- if (yych == '>') goto yy408;
- goto yy358;
- } else {
- if (yych <= 'E') goto yy456;
- if (yych == 'e') goto yy456;
- goto yy358;
- }
- }
-yy421:
- yych = *++p;
- if (yych == 'T') goto yy454;
- if (yych == 't') goto yy454;
- goto yy358;
-yy422:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy358;
- if (yych <= '\r') goto yy408;
- goto yy358;
- } else {
- if (yych <= ' ') goto yy408;
- if (yych <= '.') goto yy358;
- goto yy410;
- }
- } else {
- if (yych <= '@') {
- if (yych == '>') goto yy408;
- goto yy358;
- } else {
- if (yych <= 'A') goto yy457;
- if (yych == 'a') goto yy457;
- goto yy358;
- }
- }
-yy423:
- ++p;
- { return 2; }
-yy425:
- yych = *++p;
- if (yych == 'D') goto yy458;
- if (yych == 'd') goto yy458;
- goto yy358;
-yy426:
- yych = *++p;
- if (yych == 'R') goto yy459;
- if (yych == 'r') goto yy459;
- goto yy358;
-yy427:
- yych = *++p;
- if (yych == 'I') goto yy460;
- if (yych == 'i') goto yy460;
- goto yy358;
-yy428:
- yych = *++p;
- if (yych == 'D') goto yy461;
- if (yych == 'd') goto yy461;
- goto yy358;
-yy429:
- yych = *++p;
- if (yych == 'E') goto yy462;
- if (yych == 'e') goto yy462;
- goto yy358;
-yy430:
- yych = *++p;
- if (yych == 'C') goto yy463;
- if (yych == 'c') goto yy463;
- goto yy358;
-yy431:
- yych = *++p;
- if (yych == 'Y') goto yy392;
- if (yych == 'y') goto yy392;
- goto yy358;
-yy432:
- yych = *++p;
- if (yych == 'T') goto yy464;
- if (yych == 't') goto yy464;
- goto yy358;
-yy433:
- yych = *++p;
- if (yych == 'T') goto yy465;
- if (yych == 't') goto yy465;
- goto yy358;
-yy434:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy358;
- if (yych <= '\r') goto yy408;
- goto yy358;
- } else {
- if (yych <= ' ') goto yy408;
- if (yych <= '.') goto yy358;
- goto yy410;
- }
- } else {
- if (yych <= 'F') {
- if (yych == '>') goto yy408;
- goto yy358;
- } else {
- if (yych <= 'G') goto yy466;
- if (yych == 'g') goto yy466;
- goto yy358;
- }
- }
-yy435:
- yych = *++p;
- if (yych == 'A') goto yy467;
- if (yych == 'a') goto yy467;
- goto yy358;
-yy436:
- yych = *++p;
- if (yych == 'L') goto yy468;
- if (yych == 'l') goto yy468;
- goto yy358;
-yy437:
- yych = *++p;
- if (yych == 'L') goto yy469;
- if (yych == 'l') goto yy469;
- goto yy358;
-yy438:
- yych = *++p;
- if (yych <= 'U') {
- if (yych == 'C') goto yy470;
- if (yych <= 'T') goto yy358;
- goto yy471;
- } else {
- if (yych <= 'c') {
- if (yych <= 'b') goto yy358;
- goto yy470;
- } else {
- if (yych == 'u') goto yy471;
- goto yy358;
- }
- }
-yy439:
- yych = *++p;
- if (yych == 'M') goto yy392;
- if (yych == 'm') goto yy392;
- goto yy358;
-yy440:
- yych = *++p;
- if (yych == 'M') goto yy472;
- if (yych == 'm') goto yy472;
- goto yy358;
-yy441:
- yych = *++p;
- if (yych == 'D') goto yy473;
- if (yych == 'd') goto yy473;
- goto yy358;
-yy442:
- yych = *++p;
- if (yych == 'A') goto yy474;
- if (yych == 'a') goto yy474;
- goto yy358;
-yy443:
- yych = *++p;
- if (yych == 'E') goto yy475;
- if (yych == 'e') goto yy475;
- goto yy358;
-yy444:
- yych = *++p;
- if (yych == 'K') goto yy392;
- if (yych == 'k') goto yy392;
- goto yy358;
-yy445:
- yych = *++p;
- if (yych == 'N') goto yy392;
- if (yych == 'n') goto yy392;
- goto yy358;
-yy446:
- yych = *++p;
- if (yych == 'U') goto yy476;
- if (yych == 'u') goto yy476;
- goto yy358;
-yy447:
- yych = *++p;
- if (yych == 'R') goto yy477;
- if (yych == 'r') goto yy477;
- goto yy358;
-yy448:
- yych = *++p;
- if (yych <= 'I') {
- if (yych == 'G') goto yy466;
- if (yych <= 'H') goto yy358;
- goto yy478;
- } else {
- if (yych <= 'g') {
- if (yych <= 'f') goto yy358;
- goto yy466;
- } else {
- if (yych == 'i') goto yy478;
- goto yy358;
- }
- }
-yy449:
- yych = *++p;
- if (yych == 'A') goto yy439;
- if (yych == 'a') goto yy439;
- goto yy358;
-yy450:
- yych = *++p;
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy358;
- if (yych <= '\r') goto yy479;
- goto yy358;
- } else {
- if (yych <= ' ') goto yy479;
- if (yych == '>') goto yy479;
- goto yy358;
- }
-yy451:
- yych = *++p;
- if (yych == 'I') goto yy481;
- if (yych == 'i') goto yy481;
- goto yy358;
-yy452:
- yych = *++p;
- if (yych == 'L') goto yy412;
- if (yych == 'l') goto yy412;
- goto yy358;
-yy453:
- yych = *++p;
- if (yych == 'M') goto yy482;
- if (yych == 'm') goto yy482;
- goto yy358;
-yy454:
- yych = *++p;
- if (yych == 'L') goto yy461;
- if (yych == 'l') goto yy461;
- goto yy358;
-yy455:
- yych = *++p;
- if (yych == 'O') goto yy483;
- if (yych == 'o') goto yy483;
- goto yy358;
-yy456:
- yych = *++p;
- if (yych == 'A') goto yy484;
- if (yych == 'a') goto yy484;
- goto yy358;
-yy457:
- yych = *++p;
- if (yych == 'C') goto yy444;
- if (yych == 'c') goto yy444;
- goto yy358;
-yy458:
- yych = *++p;
- if (yych == 'A') goto yy485;
- if (yych == 'a') goto yy485;
- goto yy358;
-yy459:
- yych = *++p;
- if (yych == 'E') goto yy486;
- if (yych == 'e') goto yy486;
- goto yy358;
-yy460:
- yych = *++p;
- if (yych == 'C') goto yy454;
- if (yych == 'c') goto yy454;
- goto yy358;
-yy461:
- yych = *++p;
- if (yych == 'E') goto yy392;
- if (yych == 'e') goto yy392;
- goto yy358;
-yy462:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy358;
- if (yych <= '\r') goto yy408;
- goto yy358;
- } else {
- if (yych <= ' ') goto yy408;
- if (yych <= '.') goto yy358;
- goto yy410;
- }
- } else {
- if (yych <= 'E') {
- if (yych == '>') goto yy408;
- goto yy358;
- } else {
- if (yych <= 'F') goto yy487;
- if (yych == 'f') goto yy487;
- goto yy358;
- }
- }
-yy463:
- yych = *++p;
- if (yych == 'K') goto yy488;
- if (yych == 'k') goto yy488;
- goto yy358;
-yy464:
- yych = *++p;
- if (yych == 'I') goto yy478;
- if (yych == 'i') goto yy478;
- goto yy358;
-yy465:
- yych = *++p;
- if (yych == 'E') goto yy489;
- if (yych == 'e') goto yy489;
- goto yy358;
-yy466:
- yych = *++p;
- if (yych == 'R') goto yy490;
- if (yych == 'r') goto yy490;
- goto yy358;
-yy467:
- yych = *++p;
- if (yych == 'I') goto yy491;
- if (yych == 'i') goto yy491;
- goto yy358;
-yy468:
- yych = *++p;
- if (yych == 'O') goto yy492;
- if (yych == 'o') goto yy492;
- goto yy358;
-yy469:
- yych = *++p;
- if (yych == 'D') goto yy493;
- if (yych == 'd') goto yy493;
- goto yy358;
-yy470:
- yych = *++p;
- if (yych == 'A') goto yy389;
- if (yych == 'a') goto yy389;
- goto yy358;
-yy471:
- yych = *++p;
- if (yych == 'R') goto yy461;
- if (yych == 'r') goto yy461;
- goto yy358;
-yy472:
- yych = *++p;
- if (yych == 'E') goto yy494;
- if (yych == 'e') goto yy494;
- goto yy358;
-yy473:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy358;
- if (yych <= '\r') goto yy408;
- goto yy358;
- } else {
- if (yych <= ' ') goto yy408;
- if (yych <= '.') goto yy358;
- goto yy410;
- }
- } else {
- if (yych <= 'D') {
- if (yych == '>') goto yy408;
- goto yy358;
- } else {
- if (yych <= 'E') goto yy489;
- if (yych == 'e') goto yy489;
- goto yy358;
- }
- }
-yy474:
- yych = *++p;
- if (yych == 'M') goto yy461;
- if (yych == 'm') goto yy461;
- goto yy358;
-yy475:
- yych = *++p;
- if (yych == 'N') goto yy484;
- if (yych == 'n') goto yy484;
- goto yy358;
-yy476:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy358;
- if (yych <= '\r') goto yy408;
- goto yy358;
- } else {
- if (yych <= ' ') goto yy408;
- if (yych <= '.') goto yy358;
- goto yy410;
- }
- } else {
- if (yych <= 'H') {
- if (yych == '>') goto yy408;
- goto yy358;
- } else {
- if (yych <= 'I') goto yy495;
- if (yych == 'i') goto yy495;
- goto yy358;
- }
- }
-yy477:
- yych = *++p;
- if (yych == 'A') goto yy496;
- if (yych == 'a') goto yy496;
- goto yy358;
-yy478:
- yych = *++p;
- if (yych == 'O') goto yy445;
- if (yych == 'o') goto yy445;
- goto yy358;
-yy479:
- ++p;
- { return 1; }
-yy481:
- yych = *++p;
- if (yych == 'P') goto yy497;
- if (yych == 'p') goto yy497;
- goto yy358;
-yy482:
- yych = *++p;
- if (yych == 'A') goto yy498;
- if (yych == 'a') goto yy498;
- goto yy358;
-yy483:
- yych = *++p;
- if (yych == 'T') goto yy392;
- if (yych == 't') goto yy392;
- goto yy358;
-yy484:
- yych = *++p;
- if (yych == 'D') goto yy392;
- if (yych == 'd') goto yy392;
- goto yy358;
-yy485:
- yych = *++p;
- if (yych == 'T') goto yy499;
- if (yych == 't') goto yy499;
- goto yy358;
-yy486:
- yych = *++p;
- if (yych == 'S') goto yy500;
- if (yych == 's') goto yy500;
- goto yy358;
-yy487:
- yych = *++p;
- if (yych == 'O') goto yy501;
- if (yych == 'o') goto yy501;
- goto yy358;
-yy488:
- yych = *++p;
- if (yych == 'Q') goto yy502;
- if (yych == 'q') goto yy502;
- goto yy358;
-yy489:
- yych = *++p;
- if (yych == 'R') goto yy392;
- if (yych == 'r') goto yy392;
- goto yy358;
-yy490:
- yych = *++p;
- if (yych == 'O') goto yy503;
- if (yych == 'o') goto yy503;
- goto yy358;
-yy491:
- yych = *++p;
- if (yych == 'L') goto yy500;
- if (yych == 'l') goto yy500;
- goto yy358;
-yy492:
- yych = *++p;
- if (yych == 'G') goto yy392;
- if (yych == 'g') goto yy392;
- goto yy358;
-yy493:
- yych = *++p;
- if (yych == 'S') goto yy504;
- if (yych == 's') goto yy504;
- goto yy358;
-yy494:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy358;
- if (yych <= '\r') goto yy408;
- goto yy358;
- } else {
- if (yych <= ' ') goto yy408;
- if (yych <= '.') goto yy358;
- goto yy410;
- }
- } else {
- if (yych <= 'R') {
- if (yych == '>') goto yy408;
- goto yy358;
- } else {
- if (yych <= 'S') goto yy504;
- if (yych == 's') goto yy504;
- goto yy358;
- }
- }
-yy495:
- yych = *++p;
- if (yych == 'T') goto yy505;
- if (yych == 't') goto yy505;
- goto yy358;
-yy496:
- yych = *++p;
- if (yych == 'M') goto yy506;
- if (yych == 'm') goto yy506;
- goto yy358;
-yy497:
- yych = *++p;
- if (yych == 'T') goto yy450;
- if (yych == 't') goto yy450;
- goto yy358;
-yy498:
- yych = *++p;
- if (yych == 'R') goto yy431;
- if (yych == 'r') goto yy431;
- goto yy358;
-yy499:
- yych = *++p;
- if (yych == 'A') goto yy507;
- if (yych == 'a') goto yy507;
- goto yy358;
-yy500:
- yych = *++p;
- if (yych == 'S') goto yy392;
- if (yych == 's') goto yy392;
- goto yy358;
-yy501:
- yych = *++p;
- if (yych == 'N') goto yy483;
- if (yych == 'n') goto yy483;
- goto yy358;
-yy502:
- yych = *++p;
- if (yych == 'U') goto yy508;
- if (yych == 'u') goto yy508;
- goto yy358;
-yy503:
- yych = *++p;
- if (yych == 'U') goto yy509;
- if (yych == 'u') goto yy509;
- goto yy358;
-yy504:
- yych = *++p;
- if (yych == 'E') goto yy483;
- if (yych == 'e') goto yy483;
- goto yy358;
-yy505:
- yych = *++p;
- if (yych == 'E') goto yy439;
- if (yych == 'e') goto yy439;
- goto yy358;
-yy506:
- yych = *++p;
- if (yych == 'E') goto yy500;
- if (yych == 'e') goto yy500;
- goto yy358;
-yy507:
- yych = *++p;
- if (yych == '[') goto yy510;
- goto yy358;
-yy508:
- yych = *++p;
- if (yych == 'O') goto yy512;
- if (yych == 'o') goto yy512;
- goto yy358;
-yy509:
- yych = *++p;
- if (yych == 'P') goto yy392;
- if (yych == 'p') goto yy392;
- goto yy358;
-yy510:
- ++p;
- { return 5; }
-yy512:
- yych = *++p;
- if (yych == 'T') goto yy461;
- if (yych == 't') goto yy461;
- goto yy358;
-}
-
+ {
+ unsigned char yych;
+ yych = *p;
+ if (yych == '<')
+ goto yy296;
+ ++p;
+ yy295 : { return 0; }
+ yy296:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case '!':
+ goto yy297;
+ case '/':
+ goto yy299;
+ case '?':
+ goto yy300;
+ case 'A':
+ case 'a':
+ goto yy301;
+ case 'B':
+ case 'b':
+ goto yy302;
+ case 'C':
+ case 'c':
+ goto yy303;
+ case 'D':
+ case 'd':
+ goto yy304;
+ case 'F':
+ case 'f':
+ goto yy305;
+ case 'H':
+ case 'h':
+ goto yy306;
+ case 'I':
+ case 'i':
+ goto yy307;
+ case 'L':
+ case 'l':
+ goto yy308;
+ case 'M':
+ case 'm':
+ goto yy309;
+ case 'N':
+ case 'n':
+ goto yy310;
+ case 'O':
+ case 'o':
+ goto yy311;
+ case 'P':
+ case 'p':
+ goto yy312;
+ case 'S':
+ case 's':
+ goto yy313;
+ case 'T':
+ case 't':
+ goto yy314;
+ case 'U':
+ case 'u':
+ goto yy315;
+ default:
+ goto yy295;
+ }
+ yy297:
+ yych = *++p;
+ if (yych <= '@') {
+ if (yych == '-')
+ goto yy316;
+ } else {
+ if (yych <= 'Z')
+ goto yy317;
+ if (yych <= '[')
+ goto yy318;
+ }
+ yy298:
+ p = marker;
+ goto yy295;
+ yy299:
+ yych = *++p;
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy301;
+ case 'B':
+ case 'b':
+ goto yy302;
+ case 'C':
+ case 'c':
+ goto yy303;
+ case 'D':
+ case 'd':
+ goto yy304;
+ case 'F':
+ case 'f':
+ goto yy305;
+ case 'H':
+ case 'h':
+ goto yy306;
+ case 'I':
+ case 'i':
+ goto yy307;
+ case 'L':
+ case 'l':
+ goto yy308;
+ case 'M':
+ case 'm':
+ goto yy309;
+ case 'N':
+ case 'n':
+ goto yy310;
+ case 'O':
+ case 'o':
+ goto yy311;
+ case 'P':
+ case 'p':
+ goto yy319;
+ case 'S':
+ case 's':
+ goto yy320;
+ case 'T':
+ case 't':
+ goto yy321;
+ case 'U':
+ case 'u':
+ goto yy315;
+ default:
+ goto yy298;
+ }
+ yy300:
+ ++p;
+ { return 3; }
+ yy301:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych <= 'D') {
+ if (yych <= 'C')
+ goto yy298;
+ goto yy322;
+ } else {
+ if (yych <= 'Q')
+ goto yy298;
+ if (yych <= 'R')
+ goto yy323;
+ goto yy324;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych == 'd')
+ goto yy322;
+ goto yy298;
+ } else {
+ if (yych <= 'r')
+ goto yy323;
+ if (yych <= 's')
+ goto yy324;
+ goto yy298;
+ }
+ }
+ yy302:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych <= 'K') {
+ if (yych == 'A')
+ goto yy325;
+ goto yy298;
+ } else {
+ if (yych <= 'L')
+ goto yy326;
+ if (yych <= 'N')
+ goto yy298;
+ goto yy327;
+ }
+ } else {
+ if (yych <= 'k') {
+ if (yych == 'a')
+ goto yy325;
+ goto yy298;
+ } else {
+ if (yych <= 'l')
+ goto yy326;
+ if (yych == 'o')
+ goto yy327;
+ goto yy298;
+ }
+ }
+ yy303:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych <= 'D') {
+ if (yych == 'A')
+ goto yy328;
+ goto yy298;
+ } else {
+ if (yych <= 'E')
+ goto yy329;
+ if (yych <= 'N')
+ goto yy298;
+ goto yy330;
+ }
+ } else {
+ if (yych <= 'd') {
+ if (yych == 'a')
+ goto yy328;
+ goto yy298;
+ } else {
+ if (yych <= 'e')
+ goto yy329;
+ if (yych == 'o')
+ goto yy330;
+ goto yy298;
+ }
+ }
+ yy304:
+ yych = *++p;
+ switch (yych) {
+ case 'D':
+ case 'L':
+ case 'T':
+ case 'd':
+ case 'l':
+ case 't':
+ goto yy331;
+ case 'E':
+ case 'e':
+ goto yy332;
+ case 'I':
+ case 'i':
+ goto yy333;
+ default:
+ goto yy298;
+ }
+ yy305:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych <= 'N') {
+ if (yych == 'I')
+ goto yy334;
+ goto yy298;
+ } else {
+ if (yych <= 'O')
+ goto yy335;
+ if (yych <= 'Q')
+ goto yy298;
+ goto yy336;
+ }
+ } else {
+ if (yych <= 'n') {
+ if (yych == 'i')
+ goto yy334;
+ goto yy298;
+ } else {
+ if (yych <= 'o')
+ goto yy335;
+ if (yych == 'r')
+ goto yy336;
+ goto yy298;
+ }
+ }
+ yy306:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych <= 'D') {
+ if (yych <= '0')
+ goto yy298;
+ if (yych <= '6')
+ goto yy331;
+ goto yy298;
+ } else {
+ if (yych <= 'E')
+ goto yy337;
+ if (yych == 'R')
+ goto yy331;
+ goto yy298;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'T')
+ goto yy338;
+ if (yych == 'e')
+ goto yy337;
+ goto yy298;
+ } else {
+ if (yych <= 'r')
+ goto yy331;
+ if (yych == 't')
+ goto yy338;
+ goto yy298;
+ }
+ }
+ yy307:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy339;
+ if (yych == 'f')
+ goto yy339;
+ goto yy298;
+ yy308:
+ yych = *++p;
+ if (yych <= 'I') {
+ if (yych == 'E')
+ goto yy340;
+ if (yych <= 'H')
+ goto yy298;
+ goto yy341;
+ } else {
+ if (yych <= 'e') {
+ if (yych <= 'd')
+ goto yy298;
+ goto yy340;
+ } else {
+ if (yych == 'i')
+ goto yy341;
+ goto yy298;
+ }
+ }
+ yy309:
+ yych = *++p;
+ if (yych <= 'E') {
+ if (yych == 'A')
+ goto yy342;
+ if (yych <= 'D')
+ goto yy298;
+ goto yy343;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy298;
+ goto yy342;
+ } else {
+ if (yych == 'e')
+ goto yy343;
+ goto yy298;
+ }
+ }
+ yy310:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych == 'A')
+ goto yy344;
+ if (yych <= 'N')
+ goto yy298;
+ goto yy345;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy298;
+ goto yy344;
+ } else {
+ if (yych == 'o')
+ goto yy345;
+ goto yy298;
+ }
+ }
+ yy311:
+ yych = *++p;
+ if (yych <= 'P') {
+ if (yych == 'L')
+ goto yy331;
+ if (yych <= 'O')
+ goto yy298;
+ goto yy346;
+ } else {
+ if (yych <= 'l') {
+ if (yych <= 'k')
+ goto yy298;
+ goto yy331;
+ } else {
+ if (yych == 'p')
+ goto yy346;
+ goto yy298;
+ }
+ }
+ yy312:
+ yych = *++p;
+ if (yych <= '>') {
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy298;
+ if (yych <= '\r')
+ goto yy347;
+ if (yych <= 0x1F)
+ goto yy298;
+ goto yy347;
+ } else {
+ if (yych == '/')
+ goto yy348;
+ if (yych <= '=')
+ goto yy298;
+ goto yy347;
+ }
+ } else {
+ if (yych <= 'R') {
+ if (yych == 'A')
+ goto yy349;
+ if (yych <= 'Q')
+ goto yy298;
+ goto yy350;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy298;
+ goto yy349;
+ } else {
+ if (yych == 'r')
+ goto yy350;
+ goto yy298;
+ }
+ }
+ }
+ yy313:
+ yych = *++p;
+ switch (yych) {
+ case 'C':
+ case 'c':
+ goto yy351;
+ case 'E':
+ case 'e':
+ goto yy352;
+ case 'O':
+ case 'o':
+ goto yy353;
+ case 'T':
+ case 't':
+ goto yy354;
+ case 'U':
+ case 'u':
+ goto yy355;
+ default:
+ goto yy298;
+ }
+ yy314:
+ yych = *++p;
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy356;
+ case 'B':
+ case 'b':
+ goto yy357;
+ case 'D':
+ case 'd':
+ goto yy331;
+ case 'E':
+ case 'e':
+ goto yy358;
+ case 'F':
+ case 'f':
+ goto yy359;
+ case 'H':
+ case 'h':
+ goto yy360;
+ case 'I':
+ case 'i':
+ goto yy361;
+ case 'R':
+ case 'r':
+ goto yy362;
+ default:
+ goto yy298;
+ }
+ yy315:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy331;
+ if (yych == 'l')
+ goto yy331;
+ goto yy298;
+ yy316:
+ yych = *++p;
+ if (yych == '-')
+ goto yy363;
+ goto yy298;
+ yy317:
+ ++p;
+ { return 4; }
+ yy318:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy364;
+ if (yych == 'c')
+ goto yy364;
+ goto yy298;
+ yy319:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy298;
+ if (yych <= '\r')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= ' ')
+ goto yy347;
+ if (yych <= '.')
+ goto yy298;
+ goto yy348;
+ }
+ } else {
+ if (yych <= '@') {
+ if (yych == '>')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= 'A')
+ goto yy349;
+ if (yych == 'a')
+ goto yy349;
+ goto yy298;
+ }
+ }
+ yy320:
+ yych = *++p;
+ if (yych <= 'U') {
+ if (yych <= 'N') {
+ if (yych == 'E')
+ goto yy352;
+ goto yy298;
+ } else {
+ if (yych <= 'O')
+ goto yy353;
+ if (yych <= 'T')
+ goto yy298;
+ goto yy355;
+ }
+ } else {
+ if (yych <= 'n') {
+ if (yych == 'e')
+ goto yy352;
+ goto yy298;
+ } else {
+ if (yych <= 'o')
+ goto yy353;
+ if (yych == 'u')
+ goto yy355;
+ goto yy298;
+ }
+ }
+ yy321:
+ yych = *++p;
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy356;
+ case 'B':
+ case 'b':
+ goto yy357;
+ case 'D':
+ case 'd':
+ goto yy331;
+ case 'F':
+ case 'f':
+ goto yy359;
+ case 'H':
+ case 'h':
+ goto yy360;
+ case 'I':
+ case 'i':
+ goto yy361;
+ case 'R':
+ case 'r':
+ goto yy362;
+ default:
+ goto yy298;
+ }
+ yy322:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy365;
+ if (yych == 'd')
+ goto yy365;
+ goto yy298;
+ yy323:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy366;
+ if (yych == 't')
+ goto yy366;
+ goto yy298;
+ yy324:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy367;
+ if (yych == 'i')
+ goto yy367;
+ goto yy298;
+ yy325:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy368;
+ if (yych == 's')
+ goto yy368;
+ goto yy298;
+ yy326:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy369;
+ if (yych == 'o')
+ goto yy369;
+ goto yy298;
+ yy327:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy370;
+ if (yych == 'd')
+ goto yy370;
+ goto yy298;
+ yy328:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy371;
+ if (yych == 'p')
+ goto yy371;
+ goto yy298;
+ yy329:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy372;
+ if (yych == 'n')
+ goto yy372;
+ goto yy298;
+ yy330:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy373;
+ if (yych == 'l')
+ goto yy373;
+ goto yy298;
+ yy331:
+ yych = *++p;
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy298;
+ if (yych <= '\r')
+ goto yy347;
+ if (yych <= 0x1F)
+ goto yy298;
+ goto yy347;
+ } else {
+ if (yych <= '/') {
+ if (yych <= '.')
+ goto yy298;
+ goto yy348;
+ } else {
+ if (yych == '>')
+ goto yy347;
+ goto yy298;
+ }
+ }
+ yy332:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy374;
+ if (yych == 't')
+ goto yy374;
+ goto yy298;
+ yy333:
+ yych = *++p;
+ if (yych <= 'V') {
+ if (yych <= 'Q') {
+ if (yych == 'A')
+ goto yy375;
+ goto yy298;
+ } else {
+ if (yych <= 'R')
+ goto yy331;
+ if (yych <= 'U')
+ goto yy298;
+ goto yy331;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych == 'a')
+ goto yy375;
+ goto yy298;
+ } else {
+ if (yych <= 'r')
+ goto yy331;
+ if (yych == 'v')
+ goto yy331;
+ goto yy298;
+ }
+ }
+ yy334:
+ yych = *++p;
+ if (yych <= 'G') {
+ if (yych == 'E')
+ goto yy376;
+ if (yych <= 'F')
+ goto yy298;
+ goto yy377;
+ } else {
+ if (yych <= 'e') {
+ if (yych <= 'd')
+ goto yy298;
+ goto yy376;
+ } else {
+ if (yych == 'g')
+ goto yy377;
+ goto yy298;
+ }
+ }
+ yy335:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == 'O')
+ goto yy372;
+ if (yych <= 'Q')
+ goto yy298;
+ goto yy378;
+ } else {
+ if (yych <= 'o') {
+ if (yych <= 'n')
+ goto yy298;
+ goto yy372;
+ } else {
+ if (yych == 'r')
+ goto yy378;
+ goto yy298;
+ }
+ }
+ yy336:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy379;
+ if (yych == 'a')
+ goto yy379;
+ goto yy298;
+ yy337:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy380;
+ if (yych == 'a')
+ goto yy380;
+ goto yy298;
+ yy338:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy315;
+ if (yych == 'm')
+ goto yy315;
+ goto yy298;
+ yy339:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy381;
+ if (yych == 'r')
+ goto yy381;
+ goto yy298;
+ yy340:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy382;
+ if (yych == 'g')
+ goto yy382;
+ goto yy298;
+ yy341:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy298;
+ if (yych <= '\r')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= ' ')
+ goto yy347;
+ if (yych <= '.')
+ goto yy298;
+ goto yy348;
+ }
+ } else {
+ if (yych <= 'M') {
+ if (yych == '>')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= 'N')
+ goto yy383;
+ if (yych == 'n')
+ goto yy383;
+ goto yy298;
+ }
+ }
+ yy342:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy384;
+ if (yych == 'i')
+ goto yy384;
+ goto yy298;
+ yy343:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy385;
+ if (yych == 'n')
+ goto yy385;
+ goto yy298;
+ yy344:
+ yych = *++p;
+ if (yych == 'V')
+ goto yy331;
+ if (yych == 'v')
+ goto yy331;
+ goto yy298;
+ yy345:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy386;
+ if (yych == 'f')
+ goto yy386;
+ goto yy298;
+ yy346:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy387;
+ if (yych == 't')
+ goto yy387;
+ goto yy298;
+ yy347:
+ ++p;
+ { return 6; }
+ yy348:
+ yych = *++p;
+ if (yych == '>')
+ goto yy347;
+ goto yy298;
+ yy349:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy388;
+ if (yych == 'r')
+ goto yy388;
+ goto yy298;
+ yy350:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy389;
+ if (yych == 'e')
+ goto yy389;
+ goto yy298;
+ yy351:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy390;
+ if (yych == 'r')
+ goto yy390;
+ goto yy298;
+ yy352:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy371;
+ if (yych == 'c')
+ goto yy371;
+ goto yy298;
+ yy353:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy391;
+ if (yych == 'u')
+ goto yy391;
+ goto yy298;
+ yy354:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy392;
+ if (yych == 'y')
+ goto yy392;
+ goto yy298;
+ yy355:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy393;
+ if (yych == 'm')
+ goto yy393;
+ goto yy298;
+ yy356:
+ yych = *++p;
+ if (yych == 'B')
+ goto yy394;
+ if (yych == 'b')
+ goto yy394;
+ goto yy298;
+ yy357:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy327;
+ if (yych == 'o')
+ goto yy327;
+ goto yy298;
+ yy358:
+ yych = *++p;
+ if (yych == 'X')
+ goto yy395;
+ if (yych == 'x')
+ goto yy395;
+ goto yy298;
+ yy359:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy396;
+ if (yych == 'o')
+ goto yy396;
+ goto yy298;
+ yy360:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy298;
+ if (yych <= '\r')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= ' ')
+ goto yy347;
+ if (yych <= '.')
+ goto yy298;
+ goto yy348;
+ }
+ } else {
+ if (yych <= 'D') {
+ if (yych == '>')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= 'E')
+ goto yy397;
+ if (yych == 'e')
+ goto yy397;
+ goto yy298;
+ }
+ }
+ yy361:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy394;
+ if (yych == 't')
+ goto yy394;
+ goto yy298;
+ yy362:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy298;
+ if (yych <= '\r')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= ' ')
+ goto yy347;
+ if (yych <= '.')
+ goto yy298;
+ goto yy348;
+ }
+ } else {
+ if (yych <= '@') {
+ if (yych == '>')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= 'A')
+ goto yy398;
+ if (yych == 'a')
+ goto yy398;
+ goto yy298;
+ }
+ }
+ yy363:
+ ++p;
+ { return 2; }
+ yy364:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy399;
+ if (yych == 'd')
+ goto yy399;
+ goto yy298;
+ yy365:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy400;
+ if (yych == 'r')
+ goto yy400;
+ goto yy298;
+ yy366:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy401;
+ if (yych == 'i')
+ goto yy401;
+ goto yy298;
+ yy367:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy402;
+ if (yych == 'd')
+ goto yy402;
+ goto yy298;
+ yy368:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy403;
+ if (yych == 'e')
+ goto yy403;
+ goto yy298;
+ yy369:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy404;
+ if (yych == 'c')
+ goto yy404;
+ goto yy298;
+ yy370:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy331;
+ if (yych == 'y')
+ goto yy331;
+ goto yy298;
+ yy371:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy405;
+ if (yych == 't')
+ goto yy405;
+ goto yy298;
+ yy372:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy406;
+ if (yych == 't')
+ goto yy406;
+ goto yy298;
+ yy373:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy298;
+ if (yych <= '\r')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= ' ')
+ goto yy347;
+ if (yych <= '.')
+ goto yy298;
+ goto yy348;
+ }
+ } else {
+ if (yych <= 'F') {
+ if (yych == '>')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= 'G')
+ goto yy407;
+ if (yych == 'g')
+ goto yy407;
+ goto yy298;
+ }
+ }
+ yy374:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy408;
+ if (yych == 'a')
+ goto yy408;
+ goto yy298;
+ yy375:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy409;
+ if (yych == 'l')
+ goto yy409;
+ goto yy298;
+ yy376:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy410;
+ if (yych == 'l')
+ goto yy410;
+ goto yy298;
+ yy377:
+ yych = *++p;
+ if (yych <= 'U') {
+ if (yych == 'C')
+ goto yy411;
+ if (yych <= 'T')
+ goto yy298;
+ goto yy412;
+ } else {
+ if (yych <= 'c') {
+ if (yych <= 'b')
+ goto yy298;
+ goto yy411;
+ } else {
+ if (yych == 'u')
+ goto yy412;
+ goto yy298;
+ }
+ }
+ yy378:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy331;
+ if (yych == 'm')
+ goto yy331;
+ goto yy298;
+ yy379:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy413;
+ if (yych == 'm')
+ goto yy413;
+ goto yy298;
+ yy380:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy414;
+ if (yych == 'd')
+ goto yy414;
+ goto yy298;
+ yy381:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy415;
+ if (yych == 'a')
+ goto yy415;
+ goto yy298;
+ yy382:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy416;
+ if (yych == 'e')
+ goto yy416;
+ goto yy298;
+ yy383:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy331;
+ if (yych == 'k')
+ goto yy331;
+ goto yy298;
+ yy384:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy331;
+ if (yych == 'n')
+ goto yy331;
+ goto yy298;
+ yy385:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy417;
+ if (yych == 'u')
+ goto yy417;
+ goto yy298;
+ yy386:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy418;
+ if (yych == 'r')
+ goto yy418;
+ goto yy298;
+ yy387:
+ yych = *++p;
+ if (yych <= 'I') {
+ if (yych == 'G')
+ goto yy407;
+ if (yych <= 'H')
+ goto yy298;
+ goto yy419;
+ } else {
+ if (yych <= 'g') {
+ if (yych <= 'f')
+ goto yy298;
+ goto yy407;
+ } else {
+ if (yych == 'i')
+ goto yy419;
+ goto yy298;
+ }
+ }
+ yy388:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy378;
+ if (yych == 'a')
+ goto yy378;
+ goto yy298;
+ yy389:
+ yych = *++p;
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy298;
+ if (yych <= '\r')
+ goto yy420;
+ goto yy298;
+ } else {
+ if (yych <= ' ')
+ goto yy420;
+ if (yych == '>')
+ goto yy420;
+ goto yy298;
+ }
+ yy390:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy421;
+ if (yych == 'i')
+ goto yy421;
+ goto yy298;
+ yy391:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy422;
+ if (yych == 'r')
+ goto yy422;
+ goto yy298;
+ yy392:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy350;
+ if (yych == 'l')
+ goto yy350;
+ goto yy298;
+ yy393:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy423;
+ if (yych == 'm')
+ goto yy423;
+ goto yy298;
+ yy394:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy402;
+ if (yych == 'l')
+ goto yy402;
+ goto yy298;
+ yy395:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy424;
+ if (yych == 't')
+ goto yy424;
+ goto yy298;
+ yy396:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy425;
+ if (yych == 'o')
+ goto yy425;
+ goto yy298;
+ yy397:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy426;
+ if (yych == 'a')
+ goto yy426;
+ goto yy298;
+ yy398:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy383;
+ if (yych == 'c')
+ goto yy383;
+ goto yy298;
+ yy399:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy427;
+ if (yych == 'a')
+ goto yy427;
+ goto yy298;
+ yy400:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy428;
+ if (yych == 'e')
+ goto yy428;
+ goto yy298;
+ yy401:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy394;
+ if (yych == 'c')
+ goto yy394;
+ goto yy298;
+ yy402:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy331;
+ if (yych == 'e')
+ goto yy331;
+ goto yy298;
+ yy403:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy298;
+ if (yych <= '\r')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= ' ')
+ goto yy347;
+ if (yych <= '.')
+ goto yy298;
+ goto yy348;
+ }
+ } else {
+ if (yych <= 'E') {
+ if (yych == '>')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= 'F')
+ goto yy429;
+ if (yych == 'f')
+ goto yy429;
+ goto yy298;
+ }
+ }
+ yy404:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy430;
+ if (yych == 'k')
+ goto yy430;
+ goto yy298;
+ yy405:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy419;
+ if (yych == 'i')
+ goto yy419;
+ goto yy298;
+ yy406:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy431;
+ if (yych == 'e')
+ goto yy431;
+ goto yy298;
+ yy407:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy432;
+ if (yych == 'r')
+ goto yy432;
+ goto yy298;
+ yy408:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy433;
+ if (yych == 'i')
+ goto yy433;
+ goto yy298;
+ yy409:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy434;
+ if (yych == 'o')
+ goto yy434;
+ goto yy298;
+ yy410:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy435;
+ if (yych == 'd')
+ goto yy435;
+ goto yy298;
+ yy411:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy328;
+ if (yych == 'a')
+ goto yy328;
+ goto yy298;
+ yy412:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy402;
+ if (yych == 'r')
+ goto yy402;
+ goto yy298;
+ yy413:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy436;
+ if (yych == 'e')
+ goto yy436;
+ goto yy298;
+ yy414:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy298;
+ if (yych <= '\r')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= ' ')
+ goto yy347;
+ if (yych <= '.')
+ goto yy298;
+ goto yy348;
+ }
+ } else {
+ if (yych <= 'D') {
+ if (yych == '>')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= 'E')
+ goto yy431;
+ if (yych == 'e')
+ goto yy431;
+ goto yy298;
+ }
+ }
+ yy415:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy402;
+ if (yych == 'm')
+ goto yy402;
+ goto yy298;
+ yy416:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy426;
+ if (yych == 'n')
+ goto yy426;
+ goto yy298;
+ yy417:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy298;
+ if (yych <= '\r')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= ' ')
+ goto yy347;
+ if (yych <= '.')
+ goto yy298;
+ goto yy348;
+ }
+ } else {
+ if (yych <= 'H') {
+ if (yych == '>')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= 'I')
+ goto yy437;
+ if (yych == 'i')
+ goto yy437;
+ goto yy298;
+ }
+ }
+ yy418:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy438;
+ if (yych == 'a')
+ goto yy438;
+ goto yy298;
+ yy419:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy384;
+ if (yych == 'o')
+ goto yy384;
+ goto yy298;
+ yy420:
+ ++p;
+ { return 1; }
+ yy421:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy439;
+ if (yych == 'p')
+ goto yy439;
+ goto yy298;
+ yy422:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy402;
+ if (yych == 'c')
+ goto yy402;
+ goto yy298;
+ yy423:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy440;
+ if (yych == 'a')
+ goto yy440;
+ goto yy298;
+ yy424:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy441;
+ if (yych == 'a')
+ goto yy441;
+ goto yy298;
+ yy425:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy331;
+ if (yych == 't')
+ goto yy331;
+ goto yy298;
+ yy426:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy331;
+ if (yych == 'd')
+ goto yy331;
+ goto yy298;
+ yy427:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy442;
+ if (yych == 't')
+ goto yy442;
+ goto yy298;
+ yy428:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy443;
+ if (yych == 's')
+ goto yy443;
+ goto yy298;
+ yy429:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy444;
+ if (yych == 'o')
+ goto yy444;
+ goto yy298;
+ yy430:
+ yych = *++p;
+ if (yych == 'Q')
+ goto yy445;
+ if (yych == 'q')
+ goto yy445;
+ goto yy298;
+ yy431:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy331;
+ if (yych == 'r')
+ goto yy331;
+ goto yy298;
+ yy432:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy446;
+ if (yych == 'o')
+ goto yy446;
+ goto yy298;
+ yy433:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy443;
+ if (yych == 'l')
+ goto yy443;
+ goto yy298;
+ yy434:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy331;
+ if (yych == 'g')
+ goto yy331;
+ goto yy298;
+ yy435:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy447;
+ if (yych == 's')
+ goto yy447;
+ goto yy298;
+ yy436:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy298;
+ if (yych <= '\r')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= ' ')
+ goto yy347;
+ if (yych <= '.')
+ goto yy298;
+ goto yy348;
+ }
+ } else {
+ if (yych <= 'R') {
+ if (yych == '>')
+ goto yy347;
+ goto yy298;
+ } else {
+ if (yych <= 'S')
+ goto yy447;
+ if (yych == 's')
+ goto yy447;
+ goto yy298;
+ }
+ }
+ yy437:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy448;
+ if (yych == 't')
+ goto yy448;
+ goto yy298;
+ yy438:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy449;
+ if (yych == 'm')
+ goto yy449;
+ goto yy298;
+ yy439:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy389;
+ if (yych == 't')
+ goto yy389;
+ goto yy298;
+ yy440:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy370;
+ if (yych == 'r')
+ goto yy370;
+ goto yy298;
+ yy441:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy450;
+ if (yych == 'r')
+ goto yy450;
+ goto yy298;
+ yy442:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy451;
+ if (yych == 'a')
+ goto yy451;
+ goto yy298;
+ yy443:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy331;
+ if (yych == 's')
+ goto yy331;
+ goto yy298;
+ yy444:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy425;
+ if (yych == 'n')
+ goto yy425;
+ goto yy298;
+ yy445:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy452;
+ if (yych == 'u')
+ goto yy452;
+ goto yy298;
+ yy446:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy453;
+ if (yych == 'u')
+ goto yy453;
+ goto yy298;
+ yy447:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy425;
+ if (yych == 'e')
+ goto yy425;
+ goto yy298;
+ yy448:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy378;
+ if (yych == 'e')
+ goto yy378;
+ goto yy298;
+ yy449:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy443;
+ if (yych == 'e')
+ goto yy443;
+ goto yy298;
+ yy450:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy454;
+ if (yych == 'e')
+ goto yy454;
+ goto yy298;
+ yy451:
+ yych = *++p;
+ if (yych == '[')
+ goto yy455;
+ goto yy298;
+ yy452:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy456;
+ if (yych == 'o')
+ goto yy456;
+ goto yy298;
+ yy453:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy331;
+ if (yych == 'p')
+ goto yy331;
+ goto yy298;
+ yy454:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy389;
+ if (yych == 'a')
+ goto yy389;
+ goto yy298;
+ yy455:
+ ++p;
+ { return 5; }
+ yy456:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy402;
+ if (yych == 't')
+ goto yy402;
+ goto yy298;
+ }
}
// Try to match an HTML block tag start line of type 7, returning
// 7 if successful, 0 if not.
-bufsize_t _scan_html_block_start_7(const unsigned char *p)
-{
+bufsize_t _scan_html_block_start_7(const unsigned char *p) {
const unsigned char *marker = NULL;
-{
- unsigned char yych;
- unsigned int yyaccept = 0;
- static const unsigned char yybm[] = {
- 0, 224, 224, 224, 224, 224, 224, 224,
- 224, 198, 210, 194, 198, 194, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 198, 224, 128, 224, 224, 224, 224, 64,
- 224, 224, 224, 224, 224, 233, 232, 224,
- 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 232, 224, 192, 192, 192, 224,
- 224, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 224, 224, 224, 224, 232,
- 192, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 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 = *p;
- if (yych == '<') goto yy517;
- ++p;
-yy516:
- { return 0; }
-yy517:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= '@') {
- if (yych != '/') goto yy516;
- } else {
- if (yych <= 'Z') goto yy520;
- if (yych <= '`') goto yy516;
- if (yych <= 'z') goto yy520;
- goto yy516;
- }
- yych = *++p;
- if (yych <= '@') goto yy519;
- if (yych <= 'Z') goto yy522;
- if (yych <= '`') goto yy519;
- if (yych <= 'z') goto yy522;
-yy519:
- p = marker;
- if (yyaccept == 0) {
- goto yy516;
- } else {
- goto yy535;
- }
-yy520:
- yych = *++p;
- if (yybm[0+yych] & 2) {
- goto yy524;
- }
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych == '-') goto yy520;
- goto yy519;
- } else {
- if (yych <= '/') goto yy526;
- if (yych <= '9') goto yy520;
- goto yy519;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy527;
- if (yych <= '@') goto yy519;
- goto yy520;
- } else {
- if (yych <= '`') goto yy519;
- if (yych <= 'z') goto yy520;
- goto yy519;
- }
- }
-yy522:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy519;
- if (yych <= '\r') goto yy529;
- goto yy519;
- } else {
- if (yych <= ' ') goto yy529;
- if (yych == '-') goto yy522;
- goto yy519;
- }
- } else {
- if (yych <= '@') {
- if (yych <= '9') goto yy522;
- if (yych == '>') goto yy527;
- goto yy519;
- } else {
- if (yych <= 'Z') goto yy522;
- if (yych <= '`') goto yy519;
- if (yych <= 'z') goto yy522;
- goto yy519;
- }
- }
-yy524:
- yych = *++p;
- if (yybm[0+yych] & 2) {
- goto yy524;
- }
- if (yych <= '>') {
- if (yych <= '9') {
- if (yych != '/') goto yy519;
- } else {
- if (yych <= ':') goto yy531;
- if (yych <= '=') goto yy519;
- goto yy527;
- }
- } else {
- if (yych <= '^') {
- if (yych <= '@') goto yy519;
- if (yych <= 'Z') goto yy531;
- goto yy519;
- } else {
- if (yych == '`') goto yy519;
- if (yych <= 'z') goto yy531;
- goto yy519;
- }
- }
-yy526:
- yych = *++p;
- if (yych != '>') goto yy519;
-yy527:
- yych = *++p;
- if (yybm[0+yych] & 4) {
- goto yy527;
- }
- if (yych <= 0x08) goto yy519;
- if (yych <= '\n') goto yy533;
- if (yych <= '\v') goto yy519;
- if (yych <= '\r') goto yy536;
- goto yy519;
-yy529:
- yych = *++p;
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy519;
- if (yych <= '\r') goto yy529;
- goto yy519;
- } else {
- if (yych <= ' ') goto yy529;
- if (yych == '>') goto yy527;
- goto yy519;
- }
-yy531:
- yych = *++p;
- if (yybm[0+yych] & 8) {
- goto yy531;
- }
- if (yych <= ',') {
- if (yych <= '\r') {
- if (yych <= 0x08) goto yy519;
- goto yy537;
- } else {
- if (yych == ' ') goto yy537;
- goto yy519;
- }
- } else {
- if (yych <= '<') {
- if (yych <= '/') goto yy526;
- goto yy519;
- } else {
- if (yych <= '=') goto yy539;
- if (yych <= '>') goto yy527;
- goto yy519;
- }
- }
-yy533:
- yyaccept = 1;
- yych = *(marker = ++p);
- if (yybm[0+yych] & 4) {
- goto yy527;
- }
- if (yych <= 0x08) goto yy535;
- if (yych <= '\n') goto yy533;
- if (yych <= '\v') goto yy535;
- if (yych <= '\r') goto yy536;
-yy535:
- { return 7; }
-yy536:
- ++p;
- goto yy535;
-yy537:
- yych = *++p;
- if (yych <= '<') {
- if (yych <= ' ') {
- if (yych <= 0x08) goto yy519;
- if (yych <= '\r') goto yy537;
- if (yych <= 0x1F) goto yy519;
- goto yy537;
- } else {
- if (yych <= '/') {
- if (yych <= '.') goto yy519;
- goto yy526;
- } else {
- if (yych == ':') goto yy531;
- goto yy519;
- }
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '=') goto yy539;
- if (yych <= '>') goto yy527;
- if (yych <= '@') goto yy519;
- goto yy531;
- } else {
- if (yych <= '_') {
- if (yych <= '^') goto yy519;
- goto yy531;
- } else {
- if (yych <= '`') goto yy519;
- if (yych <= 'z') goto yy531;
- goto yy519;
- }
- }
- }
-yy539:
- yych = *++p;
- if (yybm[0+yych] & 32) {
- goto yy541;
- }
- if (yych <= 0xE0) {
- if (yych <= '"') {
- if (yych <= 0x00) goto yy519;
- if (yych <= ' ') goto yy539;
- goto yy543;
- } else {
- if (yych <= '\'') goto yy545;
- if (yych <= 0xC1) goto yy519;
- if (yych <= 0xDF) goto yy547;
- goto yy548;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy550;
- goto yy549;
- } else {
- if (yych <= 0xF0) goto yy551;
- if (yych <= 0xF3) goto yy552;
- if (yych <= 0xF4) goto yy553;
- goto yy519;
- }
- }
-yy541:
- yych = *++p;
- if (yybm[0+yych] & 32) {
- goto yy541;
- }
- if (yych <= 0xE0) {
- if (yych <= '=') {
- if (yych <= 0x00) goto yy519;
- if (yych <= ' ') goto yy524;
- goto yy519;
- } else {
- if (yych <= '>') goto yy527;
- if (yych <= 0xC1) goto yy519;
- if (yych <= 0xDF) goto yy547;
- goto yy548;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy550;
- goto yy549;
- } else {
- if (yych <= 0xF0) goto yy551;
- if (yych <= 0xF3) goto yy552;
- if (yych <= 0xF4) goto yy553;
- goto yy519;
- }
- }
-yy543:
- yych = *++p;
- if (yybm[0+yych] & 64) {
- goto yy543;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy519;
- if (yych <= '"') goto yy554;
- goto yy519;
- } else {
- if (yych <= 0xDF) goto yy555;
- if (yych <= 0xE0) goto yy556;
- goto yy557;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy558;
- if (yych <= 0xEF) goto yy557;
- goto yy559;
- } else {
- if (yych <= 0xF3) goto yy560;
- if (yych <= 0xF4) goto yy561;
- goto yy519;
- }
- }
-yy545:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy545;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy519;
- if (yych <= '\'') goto yy554;
- goto yy519;
- } else {
- if (yych <= 0xDF) goto yy562;
- if (yych <= 0xE0) goto yy563;
- goto yy564;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy565;
- if (yych <= 0xEF) goto yy564;
- goto yy566;
- } else {
- if (yych <= 0xF3) goto yy567;
- if (yych <= 0xF4) goto yy568;
- goto yy519;
- }
- }
-yy547:
- yych = *++p;
- if (yych <= 0x7F) goto yy519;
- if (yych <= 0xBF) goto yy541;
- goto yy519;
-yy548:
- yych = *++p;
- if (yych <= 0x9F) goto yy519;
- if (yych <= 0xBF) goto yy547;
- goto yy519;
-yy549:
- yych = *++p;
- if (yych <= 0x7F) goto yy519;
- if (yych <= 0xBF) goto yy547;
- goto yy519;
-yy550:
- yych = *++p;
- if (yych <= 0x7F) goto yy519;
- if (yych <= 0x9F) goto yy547;
- goto yy519;
-yy551:
- yych = *++p;
- if (yych <= 0x8F) goto yy519;
- if (yych <= 0xBF) goto yy549;
- goto yy519;
-yy552:
- yych = *++p;
- if (yych <= 0x7F) goto yy519;
- if (yych <= 0xBF) goto yy549;
- goto yy519;
-yy553:
- yych = *++p;
- if (yych <= 0x7F) goto yy519;
- if (yych <= 0x8F) goto yy549;
- goto yy519;
-yy554:
- yych = *++p;
- if (yybm[0+yych] & 2) {
- goto yy524;
- }
- if (yych == '/') goto yy526;
- if (yych == '>') goto yy527;
- goto yy519;
-yy555:
- yych = *++p;
- if (yych <= 0x7F) goto yy519;
- if (yych <= 0xBF) goto yy543;
- goto yy519;
-yy556:
- yych = *++p;
- if (yych <= 0x9F) goto yy519;
- if (yych <= 0xBF) goto yy555;
- goto yy519;
-yy557:
- yych = *++p;
- if (yych <= 0x7F) goto yy519;
- if (yych <= 0xBF) goto yy555;
- goto yy519;
-yy558:
- yych = *++p;
- if (yych <= 0x7F) goto yy519;
- if (yych <= 0x9F) goto yy555;
- goto yy519;
-yy559:
- yych = *++p;
- if (yych <= 0x8F) goto yy519;
- if (yych <= 0xBF) goto yy557;
- goto yy519;
-yy560:
- yych = *++p;
- if (yych <= 0x7F) goto yy519;
- if (yych <= 0xBF) goto yy557;
- goto yy519;
-yy561:
- yych = *++p;
- if (yych <= 0x7F) goto yy519;
- if (yych <= 0x8F) goto yy557;
- goto yy519;
-yy562:
- yych = *++p;
- if (yych <= 0x7F) goto yy519;
- if (yych <= 0xBF) goto yy545;
- goto yy519;
-yy563:
- yych = *++p;
- if (yych <= 0x9F) goto yy519;
- if (yych <= 0xBF) goto yy562;
- goto yy519;
-yy564:
- yych = *++p;
- if (yych <= 0x7F) goto yy519;
- if (yych <= 0xBF) goto yy562;
- goto yy519;
-yy565:
- yych = *++p;
- if (yych <= 0x7F) goto yy519;
- if (yych <= 0x9F) goto yy562;
- goto yy519;
-yy566:
- yych = *++p;
- if (yych <= 0x8F) goto yy519;
- if (yych <= 0xBF) goto yy564;
- goto yy519;
-yy567:
- yych = *++p;
- if (yych <= 0x7F) goto yy519;
- if (yych <= 0xBF) goto yy564;
- goto yy519;
-yy568:
- yych = *++p;
- if (yych <= 0x7F) goto yy519;
- if (yych <= 0x8F) goto yy564;
- goto yy519;
-}
-
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 224, 224, 224, 224, 224, 224, 224, 224, 198, 210, 194, 198, 194,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 198, 224, 128, 224, 224, 224, 224, 64, 224, 224,
+ 224, 224, 224, 233, 232, 224, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 232, 224, 192, 192, 192, 224, 224, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 224, 224, 224, 224, 232, 192, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 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 = *p;
+ if (yych == '<')
+ goto yy459;
+ ++p;
+ yy458 : { return 0; }
+ yy459:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '@') {
+ if (yych != '/')
+ goto yy458;
+ } else {
+ if (yych <= 'Z')
+ goto yy461;
+ if (yych <= '`')
+ goto yy458;
+ if (yych <= 'z')
+ goto yy461;
+ goto yy458;
+ }
+ yych = *++p;
+ if (yych <= '@')
+ goto yy460;
+ if (yych <= 'Z')
+ goto yy462;
+ if (yych <= '`')
+ goto yy460;
+ if (yych <= 'z')
+ goto yy462;
+ yy460:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy458;
+ } else {
+ goto yy469;
+ }
+ yy461:
+ yych = *++p;
+ if (yybm[0 + yych] & 2) {
+ goto yy463;
+ }
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych == '-')
+ goto yy461;
+ goto yy460;
+ } else {
+ if (yych <= '/')
+ goto yy464;
+ if (yych <= '9')
+ goto yy461;
+ goto yy460;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy465;
+ if (yych <= '@')
+ goto yy460;
+ goto yy461;
+ } else {
+ if (yych <= '`')
+ goto yy460;
+ if (yych <= 'z')
+ goto yy461;
+ goto yy460;
+ }
+ }
+ yy462:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy460;
+ if (yych <= '\r')
+ goto yy466;
+ goto yy460;
+ } else {
+ if (yych <= ' ')
+ goto yy466;
+ if (yych == '-')
+ goto yy462;
+ goto yy460;
+ }
+ } else {
+ if (yych <= '@') {
+ if (yych <= '9')
+ goto yy462;
+ if (yych == '>')
+ goto yy465;
+ goto yy460;
+ } else {
+ if (yych <= 'Z')
+ goto yy462;
+ if (yych <= '`')
+ goto yy460;
+ if (yych <= 'z')
+ goto yy462;
+ goto yy460;
+ }
+ }
+ yy463:
+ yych = *++p;
+ if (yybm[0 + yych] & 2) {
+ goto yy463;
+ }
+ if (yych <= '>') {
+ if (yych <= '9') {
+ if (yych != '/')
+ goto yy460;
+ } else {
+ if (yych <= ':')
+ goto yy467;
+ if (yych <= '=')
+ goto yy460;
+ goto yy465;
+ }
+ } else {
+ if (yych <= '^') {
+ if (yych <= '@')
+ goto yy460;
+ if (yych <= 'Z')
+ goto yy467;
+ goto yy460;
+ } else {
+ if (yych == '`')
+ goto yy460;
+ if (yych <= 'z')
+ goto yy467;
+ goto yy460;
+ }
+ }
+ yy464:
+ yych = *++p;
+ if (yych != '>')
+ goto yy460;
+ yy465:
+ yych = *++p;
+ if (yybm[0 + yych] & 4) {
+ goto yy465;
+ }
+ if (yych <= 0x08)
+ goto yy460;
+ if (yych <= '\n')
+ goto yy468;
+ if (yych <= '\v')
+ goto yy460;
+ if (yych <= '\r')
+ goto yy470;
+ goto yy460;
+ yy466:
+ yych = *++p;
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy460;
+ if (yych <= '\r')
+ goto yy466;
+ goto yy460;
+ } else {
+ if (yych <= ' ')
+ goto yy466;
+ if (yych == '>')
+ goto yy465;
+ goto yy460;
+ }
+ yy467:
+ yych = *++p;
+ if (yybm[0 + yych] & 8) {
+ goto yy467;
+ }
+ if (yych <= ',') {
+ if (yych <= '\r') {
+ if (yych <= 0x08)
+ goto yy460;
+ goto yy471;
+ } else {
+ if (yych == ' ')
+ goto yy471;
+ goto yy460;
+ }
+ } else {
+ if (yych <= '<') {
+ if (yych <= '/')
+ goto yy464;
+ goto yy460;
+ } else {
+ if (yych <= '=')
+ goto yy472;
+ if (yych <= '>')
+ goto yy465;
+ goto yy460;
+ }
+ }
+ yy468:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 4) {
+ goto yy465;
+ }
+ if (yych <= 0x08)
+ goto yy469;
+ if (yych <= '\n')
+ goto yy468;
+ if (yych <= '\v')
+ goto yy469;
+ if (yych <= '\r')
+ goto yy470;
+ yy469 : { return 7; }
+ yy470:
+ ++p;
+ goto yy469;
+ yy471:
+ yych = *++p;
+ if (yych <= '<') {
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy460;
+ if (yych <= '\r')
+ goto yy471;
+ if (yych <= 0x1F)
+ goto yy460;
+ goto yy471;
+ } else {
+ if (yych <= '/') {
+ if (yych <= '.')
+ goto yy460;
+ goto yy464;
+ } else {
+ if (yych == ':')
+ goto yy467;
+ goto yy460;
+ }
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '=')
+ goto yy472;
+ if (yych <= '>')
+ goto yy465;
+ if (yych <= '@')
+ goto yy460;
+ goto yy467;
+ } else {
+ if (yych <= '_') {
+ if (yych <= '^')
+ goto yy460;
+ goto yy467;
+ } else {
+ if (yych <= '`')
+ goto yy460;
+ if (yych <= 'z')
+ goto yy467;
+ goto yy460;
+ }
+ }
+ }
+ yy472:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy473;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '"') {
+ if (yych <= 0x00)
+ goto yy460;
+ if (yych <= ' ')
+ goto yy472;
+ goto yy474;
+ } else {
+ if (yych <= '\'')
+ goto yy475;
+ if (yych <= 0xC1)
+ goto yy460;
+ if (yych <= 0xDF)
+ goto yy476;
+ goto yy477;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy479;
+ goto yy478;
+ } else {
+ if (yych <= 0xF0)
+ goto yy480;
+ if (yych <= 0xF3)
+ goto yy481;
+ if (yych <= 0xF4)
+ goto yy482;
+ goto yy460;
+ }
+ }
+ yy473:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy473;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '=') {
+ if (yych <= 0x00)
+ goto yy460;
+ if (yych <= ' ')
+ goto yy463;
+ goto yy460;
+ } else {
+ if (yych <= '>')
+ goto yy465;
+ if (yych <= 0xC1)
+ goto yy460;
+ if (yych <= 0xDF)
+ goto yy476;
+ goto yy477;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy479;
+ goto yy478;
+ } else {
+ if (yych <= 0xF0)
+ goto yy480;
+ if (yych <= 0xF3)
+ goto yy481;
+ if (yych <= 0xF4)
+ goto yy482;
+ goto yy460;
+ }
+ }
+ yy474:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy474;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy460;
+ if (yych <= '"')
+ goto yy483;
+ goto yy460;
+ } else {
+ if (yych <= 0xDF)
+ goto yy484;
+ if (yych <= 0xE0)
+ goto yy485;
+ goto yy486;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy487;
+ if (yych <= 0xEF)
+ goto yy486;
+ goto yy488;
+ } else {
+ if (yych <= 0xF3)
+ goto yy489;
+ if (yych <= 0xF4)
+ goto yy490;
+ goto yy460;
+ }
+ }
+ yy475:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy475;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy460;
+ if (yych <= '\'')
+ goto yy483;
+ goto yy460;
+ } else {
+ if (yych <= 0xDF)
+ goto yy491;
+ if (yych <= 0xE0)
+ goto yy492;
+ goto yy493;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy494;
+ if (yych <= 0xEF)
+ goto yy493;
+ goto yy495;
+ } else {
+ if (yych <= 0xF3)
+ goto yy496;
+ if (yych <= 0xF4)
+ goto yy497;
+ goto yy460;
+ }
+ }
+ yy476:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy460;
+ if (yych <= 0xBF)
+ goto yy473;
+ goto yy460;
+ yy477:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy460;
+ if (yych <= 0xBF)
+ goto yy476;
+ goto yy460;
+ yy478:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy460;
+ if (yych <= 0xBF)
+ goto yy476;
+ goto yy460;
+ yy479:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy460;
+ if (yych <= 0x9F)
+ goto yy476;
+ goto yy460;
+ yy480:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy460;
+ if (yych <= 0xBF)
+ goto yy478;
+ goto yy460;
+ yy481:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy460;
+ if (yych <= 0xBF)
+ goto yy478;
+ goto yy460;
+ yy482:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy460;
+ if (yych <= 0x8F)
+ goto yy478;
+ goto yy460;
+ yy483:
+ yych = *++p;
+ if (yybm[0 + yych] & 2) {
+ goto yy463;
+ }
+ if (yych == '/')
+ goto yy464;
+ if (yych == '>')
+ goto yy465;
+ goto yy460;
+ yy484:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy460;
+ if (yych <= 0xBF)
+ goto yy474;
+ goto yy460;
+ yy485:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy460;
+ if (yych <= 0xBF)
+ goto yy484;
+ goto yy460;
+ yy486:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy460;
+ if (yych <= 0xBF)
+ goto yy484;
+ goto yy460;
+ yy487:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy460;
+ if (yych <= 0x9F)
+ goto yy484;
+ goto yy460;
+ yy488:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy460;
+ if (yych <= 0xBF)
+ goto yy486;
+ goto yy460;
+ yy489:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy460;
+ if (yych <= 0xBF)
+ goto yy486;
+ goto yy460;
+ yy490:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy460;
+ if (yych <= 0x8F)
+ goto yy486;
+ goto yy460;
+ yy491:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy460;
+ if (yych <= 0xBF)
+ goto yy475;
+ goto yy460;
+ yy492:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy460;
+ if (yych <= 0xBF)
+ goto yy491;
+ goto yy460;
+ yy493:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy460;
+ if (yych <= 0xBF)
+ goto yy491;
+ goto yy460;
+ yy494:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy460;
+ if (yych <= 0x9F)
+ goto yy491;
+ goto yy460;
+ yy495:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy460;
+ if (yych <= 0xBF)
+ goto yy493;
+ goto yy460;
+ yy496:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy460;
+ if (yych <= 0xBF)
+ goto yy493;
+ goto yy460;
+ yy497:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy460;
+ if (yych <= 0x8F)
+ goto yy493;
+ goto yy460;
+ }
}
// Try to match an HTML block end line of type 1
-bufsize_t _scan_html_block_end_1(const unsigned char *p)
-{
+bufsize_t _scan_html_block_end_1(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, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 0, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 128, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *p;
- if (yych <= 0xDF) {
- if (yych <= ';') {
- if (yych <= 0x00) goto yy571;
- if (yych != '\n') goto yy573;
- } else {
- if (yych <= '<') goto yy574;
- if (yych <= 0x7F) goto yy573;
- if (yych >= 0xC2) goto yy575;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy576;
- if (yych == 0xED) goto yy578;
- goto yy577;
- } else {
- if (yych <= 0xF0) goto yy579;
- if (yych <= 0xF3) goto yy580;
- if (yych <= 0xF4) goto yy581;
- }
- }
-yy571:
- ++p;
-yy572:
- { return 0; }
-yy573:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= '\n') {
- if (yych <= 0x00) goto yy572;
- if (yych <= '\t') goto yy583;
- goto yy572;
- } else {
- if (yych <= 0x7F) goto yy583;
- if (yych <= 0xC1) goto yy572;
- if (yych <= 0xF4) goto yy583;
- goto yy572;
- }
-yy574:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= '.') {
- if (yych <= 0x00) goto yy572;
- if (yych == '\n') goto yy572;
- goto yy583;
- } else {
- if (yych <= 0x7F) {
- if (yych <= '/') goto yy594;
- goto yy583;
- } else {
- if (yych <= 0xC1) goto yy572;
- if (yych <= 0xF4) goto yy583;
- goto yy572;
- }
- }
-yy575:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy572;
- if (yych <= 0xBF) goto yy582;
- goto yy572;
-yy576:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x9F) goto yy572;
- if (yych <= 0xBF) goto yy587;
- goto yy572;
-yy577:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy572;
- if (yych <= 0xBF) goto yy587;
- goto yy572;
-yy578:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy572;
- if (yych <= 0x9F) goto yy587;
- goto yy572;
-yy579:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x8F) goto yy572;
- if (yych <= 0xBF) goto yy589;
- goto yy572;
-yy580:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy572;
- if (yych <= 0xBF) goto yy589;
- goto yy572;
-yy581:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy572;
- if (yych <= 0x8F) goto yy589;
- goto yy572;
-yy582:
- yych = *++p;
-yy583:
- if (yybm[0+yych] & 64) {
- goto yy582;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy584;
- if (yych <= '<') goto yy585;
- } else {
- if (yych <= 0xDF) goto yy587;
- if (yych <= 0xE0) goto yy588;
- goto yy589;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy590;
- if (yych <= 0xEF) goto yy589;
- goto yy591;
- } else {
- if (yych <= 0xF3) goto yy592;
- if (yych <= 0xF4) goto yy593;
- }
- }
-yy584:
- p = marker;
- if (yyaccept == 0) {
- goto yy572;
- } else {
- goto yy604;
- }
-yy585:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy585;
- }
- if (yych <= 0xDF) {
- if (yych <= '.') {
- if (yych <= 0x00) goto yy584;
- if (yych == '\n') goto yy584;
- goto yy582;
- } else {
- if (yych <= '/') goto yy594;
- if (yych <= 0x7F) goto yy582;
- if (yych <= 0xC1) goto yy584;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy588;
- if (yych == 0xED) goto yy590;
- goto yy589;
- } else {
- if (yych <= 0xF0) goto yy591;
- if (yych <= 0xF3) goto yy592;
- if (yych <= 0xF4) goto yy593;
- goto yy584;
- }
- }
-yy587:
- yych = *++p;
- if (yych <= 0x7F) goto yy584;
- if (yych <= 0xBF) goto yy582;
- goto yy584;
-yy588:
- yych = *++p;
- if (yych <= 0x9F) goto yy584;
- if (yych <= 0xBF) goto yy587;
- goto yy584;
-yy589:
- yych = *++p;
- if (yych <= 0x7F) goto yy584;
- if (yych <= 0xBF) goto yy587;
- goto yy584;
-yy590:
- yych = *++p;
- if (yych <= 0x7F) goto yy584;
- if (yych <= 0x9F) goto yy587;
- goto yy584;
-yy591:
- yych = *++p;
- if (yych <= 0x8F) goto yy584;
- if (yych <= 0xBF) goto yy589;
- goto yy584;
-yy592:
- yych = *++p;
- if (yych <= 0x7F) goto yy584;
- if (yych <= 0xBF) goto yy589;
- goto yy584;
-yy593:
- yych = *++p;
- if (yych <= 0x7F) goto yy584;
- if (yych <= 0x8F) goto yy589;
- goto yy584;
-yy594:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy585;
- }
- if (yych <= 's') {
- if (yych <= 'P') {
- if (yych <= '\t') {
- if (yych <= 0x00) goto yy584;
- goto yy582;
- } else {
- if (yych <= '\n') goto yy584;
- if (yych <= 'O') goto yy582;
- }
- } else {
- if (yych <= 'o') {
- if (yych == 'S') goto yy596;
- goto yy582;
- } else {
- if (yych <= 'p') goto yy595;
- if (yych <= 'r') goto yy582;
- goto yy596;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x7F) goto yy582;
- goto yy584;
- } else {
- if (yych <= 0xDF) goto yy587;
- if (yych <= 0xE0) goto yy588;
- goto yy589;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy590;
- if (yych <= 0xEF) goto yy589;
- goto yy591;
- } else {
- if (yych <= 0xF3) goto yy592;
- if (yych <= 0xF4) goto yy593;
- goto yy584;
- }
- }
- }
-yy595:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy585;
- }
- if (yych <= 0xC1) {
- if (yych <= 'Q') {
- if (yych <= 0x00) goto yy584;
- if (yych == '\n') goto yy584;
- goto yy582;
- } else {
- if (yych <= 'q') {
- if (yych <= 'R') goto yy597;
- goto yy582;
- } else {
- if (yych <= 'r') goto yy597;
- if (yych <= 0x7F) goto yy582;
- goto yy584;
- }
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy587;
- if (yych <= 0xE0) goto yy588;
- if (yych <= 0xEC) goto yy589;
- goto yy590;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy589;
- goto yy591;
- } else {
- if (yych <= 0xF3) goto yy592;
- if (yych <= 0xF4) goto yy593;
- goto yy584;
- }
- }
- }
-yy596:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy585;
- }
- if (yych <= 't') {
- if (yych <= 'C') {
- if (yych <= '\t') {
- if (yych <= 0x00) goto yy584;
- goto yy582;
- } else {
- if (yych <= '\n') goto yy584;
- if (yych <= 'B') goto yy582;
- goto yy598;
- }
- } else {
- if (yych <= 'b') {
- if (yych == 'T') goto yy599;
- goto yy582;
- } else {
- if (yych <= 'c') goto yy598;
- if (yych <= 's') goto yy582;
- goto yy599;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x7F) goto yy582;
- goto yy584;
- } else {
- if (yych <= 0xDF) goto yy587;
- if (yych <= 0xE0) goto yy588;
- goto yy589;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy590;
- if (yych <= 0xEF) goto yy589;
- goto yy591;
- } else {
- if (yych <= 0xF3) goto yy592;
- if (yych <= 0xF4) goto yy593;
- goto yy584;
- }
- }
- }
-yy597:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy585;
- }
- if (yych <= 0xC1) {
- if (yych <= 'D') {
- if (yych <= 0x00) goto yy584;
- if (yych == '\n') goto yy584;
- goto yy582;
- } else {
- if (yych <= 'd') {
- if (yych <= 'E') goto yy600;
- goto yy582;
- } else {
- if (yych <= 'e') goto yy600;
- if (yych <= 0x7F) goto yy582;
- goto yy584;
- }
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy587;
- if (yych <= 0xE0) goto yy588;
- if (yych <= 0xEC) goto yy589;
- goto yy590;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy589;
- goto yy591;
- } else {
- if (yych <= 0xF3) goto yy592;
- if (yych <= 0xF4) goto yy593;
- goto yy584;
- }
- }
- }
-yy598:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy585;
- }
- if (yych <= 0xC1) {
- if (yych <= 'Q') {
- if (yych <= 0x00) goto yy584;
- if (yych == '\n') goto yy584;
- goto yy582;
- } else {
- if (yych <= 'q') {
- if (yych <= 'R') goto yy601;
- goto yy582;
- } else {
- if (yych <= 'r') goto yy601;
- if (yych <= 0x7F) goto yy582;
- goto yy584;
- }
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy587;
- if (yych <= 0xE0) goto yy588;
- if (yych <= 0xEC) goto yy589;
- goto yy590;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy589;
- goto yy591;
- } else {
- if (yych <= 0xF3) goto yy592;
- if (yych <= 0xF4) goto yy593;
- goto yy584;
- }
- }
- }
-yy599:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy585;
- }
- if (yych <= 0xC1) {
- if (yych <= 'X') {
- if (yych <= 0x00) goto yy584;
- if (yych == '\n') goto yy584;
- goto yy582;
- } else {
- if (yych <= 'x') {
- if (yych <= 'Y') goto yy602;
- goto yy582;
- } else {
- if (yych <= 'y') goto yy602;
- if (yych <= 0x7F) goto yy582;
- goto yy584;
- }
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy587;
- if (yych <= 0xE0) goto yy588;
- if (yych <= 0xEC) goto yy589;
- goto yy590;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy589;
- goto yy591;
- } else {
- if (yych <= 0xF3) goto yy592;
- if (yych <= 0xF4) goto yy593;
- goto yy584;
- }
- }
- }
-yy600:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy585;
- }
- if (yych <= 0xDF) {
- if (yych <= '=') {
- if (yych <= 0x00) goto yy584;
- if (yych == '\n') goto yy584;
- goto yy582;
- } else {
- if (yych <= '>') goto yy603;
- if (yych <= 0x7F) goto yy582;
- if (yych <= 0xC1) goto yy584;
- goto yy587;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy588;
- if (yych == 0xED) goto yy590;
- goto yy589;
- } else {
- if (yych <= 0xF0) goto yy591;
- if (yych <= 0xF3) goto yy592;
- if (yych <= 0xF4) goto yy593;
- goto yy584;
- }
- }
-yy601:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy585;
- }
- if (yych <= 0xC1) {
- if (yych <= 'H') {
- if (yych <= 0x00) goto yy584;
- if (yych == '\n') goto yy584;
- goto yy582;
- } else {
- if (yych <= 'h') {
- if (yych <= 'I') goto yy605;
- goto yy582;
- } else {
- if (yych <= 'i') goto yy605;
- if (yych <= 0x7F) goto yy582;
- goto yy584;
- }
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy587;
- if (yych <= 0xE0) goto yy588;
- if (yych <= 0xEC) goto yy589;
- goto yy590;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy589;
- goto yy591;
- } else {
- if (yych <= 0xF3) goto yy592;
- if (yych <= 0xF4) goto yy593;
- goto yy584;
- }
- }
- }
-yy602:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy585;
- }
- if (yych <= 0xC1) {
- if (yych <= 'K') {
- if (yych <= 0x00) goto yy584;
- if (yych == '\n') goto yy584;
- goto yy582;
- } else {
- if (yych <= 'k') {
- if (yych <= 'L') goto yy597;
- goto yy582;
- } else {
- if (yych <= 'l') goto yy597;
- if (yych <= 0x7F) goto yy582;
- goto yy584;
- }
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy587;
- if (yych <= 0xE0) goto yy588;
- if (yych <= 0xEC) goto yy589;
- goto yy590;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy589;
- goto yy591;
- } else {
- if (yych <= 0xF3) goto yy592;
- if (yych <= 0xF4) goto yy593;
- goto yy584;
- }
- }
- }
-yy603:
- yyaccept = 1;
- yych = *(marker = ++p);
- if (yybm[0+yych] & 64) {
- goto yy582;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy604;
- if (yych <= '<') goto yy585;
- } else {
- if (yych <= 0xDF) goto yy587;
- if (yych <= 0xE0) goto yy588;
- goto yy589;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy590;
- if (yych <= 0xEF) goto yy589;
- goto yy591;
- } else {
- if (yych <= 0xF3) goto yy592;
- if (yych <= 0xF4) goto yy593;
- }
- }
-yy604:
- { return (bufsize_t)(p - start); }
-yy605:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy585;
- }
- if (yych <= 0xC1) {
- if (yych <= 'O') {
- if (yych <= 0x00) goto yy584;
- if (yych == '\n') goto yy584;
- goto yy582;
- } else {
- if (yych <= 'o') {
- if (yych >= 'Q') goto yy582;
- } else {
- if (yych <= 'p') goto yy606;
- if (yych <= 0x7F) goto yy582;
- goto yy584;
- }
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy587;
- if (yych <= 0xE0) goto yy588;
- if (yych <= 0xEC) goto yy589;
- goto yy590;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy589;
- goto yy591;
- } else {
- if (yych <= 0xF3) goto yy592;
- if (yych <= 0xF4) goto yy593;
- goto yy584;
- }
- }
- }
-yy606:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy585;
- }
- if (yych <= 0xC1) {
- if (yych <= 'S') {
- if (yych <= 0x00) goto yy584;
- if (yych == '\n') goto yy584;
- goto yy582;
- } else {
- if (yych <= 's') {
- if (yych <= 'T') goto yy600;
- goto yy582;
- } else {
- if (yych <= 't') goto yy600;
- if (yych <= 0x7F) goto yy582;
- goto yy584;
- }
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy587;
- if (yych <= 0xE0) goto yy588;
- if (yych <= 0xEC) goto yy589;
- goto yy590;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy589;
- goto yy591;
- } else {
- if (yych <= 0xF3) goto yy592;
- if (yych <= 0xF4) goto yy593;
- goto yy584;
- }
- }
- }
-}
-
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych <= 0xDF) {
+ if (yych <= ';') {
+ if (yych <= 0x00)
+ goto yy499;
+ if (yych != '\n')
+ goto yy501;
+ } else {
+ if (yych <= '<')
+ goto yy502;
+ if (yych <= 0x7F)
+ goto yy501;
+ if (yych >= 0xC2)
+ goto yy503;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy504;
+ if (yych == 0xED)
+ goto yy506;
+ goto yy505;
+ } else {
+ if (yych <= 0xF0)
+ goto yy507;
+ if (yych <= 0xF3)
+ goto yy508;
+ if (yych <= 0xF4)
+ goto yy509;
+ }
+ }
+ yy499:
+ ++p;
+ yy500 : { return 0; }
+ yy501:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy500;
+ if (yych <= '\t')
+ goto yy511;
+ goto yy500;
+ } else {
+ if (yych <= 0x7F)
+ goto yy511;
+ if (yych <= 0xC1)
+ goto yy500;
+ if (yych <= 0xF4)
+ goto yy511;
+ goto yy500;
+ }
+ yy502:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '.') {
+ if (yych <= 0x00)
+ goto yy500;
+ if (yych == '\n')
+ goto yy500;
+ goto yy511;
+ } else {
+ if (yych <= 0x7F) {
+ if (yych <= '/')
+ goto yy521;
+ goto yy511;
+ } else {
+ if (yych <= 0xC1)
+ goto yy500;
+ if (yych <= 0xF4)
+ goto yy511;
+ goto yy500;
+ }
+ }
+ yy503:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy500;
+ if (yych <= 0xBF)
+ goto yy510;
+ goto yy500;
+ yy504:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x9F)
+ goto yy500;
+ if (yych <= 0xBF)
+ goto yy514;
+ goto yy500;
+ yy505:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy500;
+ if (yych <= 0xBF)
+ goto yy514;
+ goto yy500;
+ yy506:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy500;
+ if (yych <= 0x9F)
+ goto yy514;
+ goto yy500;
+ yy507:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x8F)
+ goto yy500;
+ if (yych <= 0xBF)
+ goto yy516;
+ goto yy500;
+ yy508:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy500;
+ if (yych <= 0xBF)
+ goto yy516;
+ goto yy500;
+ yy509:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy500;
+ if (yych <= 0x8F)
+ goto yy516;
+ goto yy500;
+ yy510:
+ yych = *++p;
+ yy511:
+ if (yybm[0 + yych] & 64) {
+ goto yy510;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy512;
+ if (yych <= '<')
+ goto yy513;
+ } else {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ goto yy516;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy517;
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ }
+ }
+ yy512:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy500;
+ } else {
+ goto yy534;
+ }
+ yy513:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '.') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych == '\n')
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= '/')
+ goto yy521;
+ if (yych <= 0x7F)
+ goto yy510;
+ if (yych <= 0xC1)
+ goto yy512;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy515;
+ if (yych == 0xED)
+ goto yy517;
+ goto yy516;
+ } else {
+ if (yych <= 0xF0)
+ goto yy518;
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ yy514:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy512;
+ if (yych <= 0xBF)
+ goto yy510;
+ goto yy512;
+ yy515:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy512;
+ if (yych <= 0xBF)
+ goto yy514;
+ goto yy512;
+ yy516:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy512;
+ if (yych <= 0xBF)
+ goto yy514;
+ goto yy512;
+ yy517:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy512;
+ if (yych <= 0x9F)
+ goto yy514;
+ goto yy512;
+ yy518:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy512;
+ if (yych <= 0xBF)
+ goto yy516;
+ goto yy512;
+ yy519:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy512;
+ if (yych <= 0xBF)
+ goto yy516;
+ goto yy512;
+ yy520:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy512;
+ if (yych <= 0x8F)
+ goto yy516;
+ goto yy512;
+ yy521:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 's') {
+ if (yych <= 'R') {
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych <= '\t')
+ goto yy510;
+ goto yy512;
+ } else {
+ if (yych != 'P')
+ goto yy510;
+ }
+ } else {
+ if (yych <= 'o') {
+ if (yych <= 'S')
+ goto yy523;
+ if (yych <= 'T')
+ goto yy524;
+ goto yy510;
+ } else {
+ if (yych <= 'p')
+ goto yy522;
+ if (yych <= 'r')
+ goto yy510;
+ goto yy523;
+ }
+ }
+ } else {
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 't')
+ goto yy524;
+ if (yych <= 0x7F)
+ goto yy510;
+ goto yy512;
+ } else {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ goto yy516;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy517;
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ }
+ yy522:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'Q') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych == '\n')
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'R')
+ goto yy525;
+ goto yy510;
+ } else {
+ if (yych <= 'r')
+ goto yy525;
+ if (yych <= 0x7F)
+ goto yy510;
+ goto yy512;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ if (yych <= 0xEC)
+ goto yy516;
+ goto yy517;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ }
+ yy523:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 't') {
+ if (yych <= 'C') {
+ if (yych <= '\t') {
+ if (yych <= 0x00)
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= '\n')
+ goto yy512;
+ if (yych <= 'B')
+ goto yy510;
+ goto yy526;
+ }
+ } else {
+ if (yych <= 'b') {
+ if (yych == 'T')
+ goto yy527;
+ goto yy510;
+ } else {
+ if (yych <= 'c')
+ goto yy526;
+ if (yych <= 's')
+ goto yy510;
+ goto yy527;
+ }
+ }
+ } else {
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x7F)
+ goto yy510;
+ goto yy512;
+ } else {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ goto yy516;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy517;
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ }
+ yy524:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'D') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych == '\n')
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= 'd') {
+ if (yych <= 'E')
+ goto yy528;
+ goto yy510;
+ } else {
+ if (yych <= 'e')
+ goto yy528;
+ if (yych <= 0x7F)
+ goto yy510;
+ goto yy512;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ if (yych <= 0xEC)
+ goto yy516;
+ goto yy517;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ }
+ yy525:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'D') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych == '\n')
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= 'd') {
+ if (yych <= 'E')
+ goto yy529;
+ goto yy510;
+ } else {
+ if (yych <= 'e')
+ goto yy529;
+ if (yych <= 0x7F)
+ goto yy510;
+ goto yy512;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ if (yych <= 0xEC)
+ goto yy516;
+ goto yy517;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ }
+ yy526:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'Q') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych == '\n')
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'R')
+ goto yy530;
+ goto yy510;
+ } else {
+ if (yych <= 'r')
+ goto yy530;
+ if (yych <= 0x7F)
+ goto yy510;
+ goto yy512;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ if (yych <= 0xEC)
+ goto yy516;
+ goto yy517;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ }
+ yy527:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'X') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych == '\n')
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= 'x') {
+ if (yych <= 'Y')
+ goto yy531;
+ goto yy510;
+ } else {
+ if (yych <= 'y')
+ goto yy531;
+ if (yych <= 0x7F)
+ goto yy510;
+ goto yy512;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ if (yych <= 0xEC)
+ goto yy516;
+ goto yy517;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ }
+ yy528:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'W') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych == '\n')
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= 'w') {
+ if (yych <= 'X')
+ goto yy532;
+ goto yy510;
+ } else {
+ if (yych <= 'x')
+ goto yy532;
+ if (yych <= 0x7F)
+ goto yy510;
+ goto yy512;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ if (yych <= 0xEC)
+ goto yy516;
+ goto yy517;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ }
+ yy529:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych == '\n')
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= '>')
+ goto yy533;
+ if (yych <= 0x7F)
+ goto yy510;
+ if (yych <= 0xC1)
+ goto yy512;
+ goto yy514;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy515;
+ if (yych == 0xED)
+ goto yy517;
+ goto yy516;
+ } else {
+ if (yych <= 0xF0)
+ goto yy518;
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ yy530:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'H') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych == '\n')
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= 'h') {
+ if (yych <= 'I')
+ goto yy535;
+ goto yy510;
+ } else {
+ if (yych <= 'i')
+ goto yy535;
+ if (yych <= 0x7F)
+ goto yy510;
+ goto yy512;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ if (yych <= 0xEC)
+ goto yy516;
+ goto yy517;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ }
+ yy531:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'K') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych == '\n')
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= 'k') {
+ if (yych <= 'L')
+ goto yy525;
+ goto yy510;
+ } else {
+ if (yych <= 'l')
+ goto yy525;
+ if (yych <= 0x7F)
+ goto yy510;
+ goto yy512;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ if (yych <= 0xEC)
+ goto yy516;
+ goto yy517;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ }
+ yy532:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'S') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych == '\n')
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= 's') {
+ if (yych <= 'T')
+ goto yy536;
+ goto yy510;
+ } else {
+ if (yych <= 't')
+ goto yy536;
+ if (yych <= 0x7F)
+ goto yy510;
+ goto yy512;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ if (yych <= 0xEC)
+ goto yy516;
+ goto yy517;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ }
+ yy533:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy510;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy534;
+ if (yych <= '<')
+ goto yy513;
+ } else {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ goto yy516;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy517;
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ }
+ }
+ yy534 : { return (bufsize_t)(p - start); }
+ yy535:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'O') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych == '\n')
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= 'o') {
+ if (yych <= 'P')
+ goto yy537;
+ goto yy510;
+ } else {
+ if (yych <= 'p')
+ goto yy537;
+ if (yych <= 0x7F)
+ goto yy510;
+ goto yy512;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ if (yych <= 0xEC)
+ goto yy516;
+ goto yy517;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ }
+ yy536:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= '@') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych == '\n')
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'A')
+ goto yy538;
+ goto yy510;
+ } else {
+ if (yych <= 'a')
+ goto yy538;
+ if (yych <= 0x7F)
+ goto yy510;
+ goto yy512;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ if (yych <= 0xEC)
+ goto yy516;
+ goto yy517;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ }
+ yy537:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'S') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych == '\n')
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= 's') {
+ if (yych <= 'T')
+ goto yy529;
+ goto yy510;
+ } else {
+ if (yych <= 't')
+ goto yy529;
+ if (yych <= 0x7F)
+ goto yy510;
+ goto yy512;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ if (yych <= 0xEC)
+ goto yy516;
+ goto yy517;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ }
+ yy538:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'Q') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych == '\n')
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= 'q') {
+ if (yych >= 'S')
+ goto yy510;
+ } else {
+ if (yych <= 'r')
+ goto yy539;
+ if (yych <= 0x7F)
+ goto yy510;
+ goto yy512;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ if (yych <= 0xEC)
+ goto yy516;
+ goto yy517;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ }
+ yy539:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'D') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych == '\n')
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= 'd') {
+ if (yych >= 'F')
+ goto yy510;
+ } else {
+ if (yych <= 'e')
+ goto yy540;
+ if (yych <= 0x7F)
+ goto yy510;
+ goto yy512;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ if (yych <= 0xEC)
+ goto yy516;
+ goto yy517;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ }
+ yy540:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy513;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= '@') {
+ if (yych <= 0x00)
+ goto yy512;
+ if (yych == '\n')
+ goto yy512;
+ goto yy510;
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'A')
+ goto yy529;
+ goto yy510;
+ } else {
+ if (yych <= 'a')
+ goto yy529;
+ if (yych <= 0x7F)
+ goto yy510;
+ goto yy512;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy514;
+ if (yych <= 0xE0)
+ goto yy515;
+ if (yych <= 0xEC)
+ goto yy516;
+ goto yy517;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy516;
+ goto yy518;
+ } else {
+ if (yych <= 0xF3)
+ goto yy519;
+ if (yych <= 0xF4)
+ goto yy520;
+ goto yy512;
+ }
+ }
+ }
+ }
}
// Try to match an HTML block end line of type 2
-bufsize_t _scan_html_block_end_2(const unsigned char *p)
-{
+bufsize_t _scan_html_block_end_2(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, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 0, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 128, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *p;
- if (yych <= 0xDF) {
- if (yych <= ',') {
- if (yych <= 0x00) goto yy609;
- if (yych != '\n') goto yy611;
- } else {
- if (yych <= '-') goto yy612;
- if (yych <= 0x7F) goto yy611;
- if (yych >= 0xC2) goto yy613;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy614;
- if (yych == 0xED) goto yy616;
- goto yy615;
- } else {
- if (yych <= 0xF0) goto yy617;
- if (yych <= 0xF3) goto yy618;
- if (yych <= 0xF4) goto yy619;
- }
- }
-yy609:
- ++p;
-yy610:
- { return 0; }
-yy611:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= '\n') {
- if (yych <= 0x00) goto yy610;
- if (yych <= '\t') goto yy621;
- goto yy610;
- } else {
- if (yych <= 0x7F) goto yy621;
- if (yych <= 0xC1) goto yy610;
- if (yych <= 0xF4) goto yy621;
- goto yy610;
- }
-yy612:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yybm[0+yych] & 128) {
- goto yy631;
- }
- if (yych <= '\n') {
- if (yych <= 0x00) goto yy610;
- if (yych <= '\t') goto yy621;
- goto yy610;
- } else {
- if (yych <= 0x7F) goto yy621;
- if (yych <= 0xC1) goto yy610;
- if (yych <= 0xF4) goto yy621;
- goto yy610;
- }
-yy613:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy610;
- if (yych <= 0xBF) goto yy620;
- goto yy610;
-yy614:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x9F) goto yy610;
- if (yych <= 0xBF) goto yy624;
- goto yy610;
-yy615:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy610;
- if (yych <= 0xBF) goto yy624;
- goto yy610;
-yy616:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy610;
- if (yych <= 0x9F) goto yy624;
- goto yy610;
-yy617:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x8F) goto yy610;
- if (yych <= 0xBF) goto yy626;
- goto yy610;
-yy618:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy610;
- if (yych <= 0xBF) goto yy626;
- goto yy610;
-yy619:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy610;
- if (yych <= 0x8F) goto yy626;
- goto yy610;
-yy620:
- yych = *++p;
-yy621:
- if (yybm[0+yych] & 64) {
- goto yy620;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy622;
- if (yych <= '-') goto yy623;
- } else {
- if (yych <= 0xDF) goto yy624;
- if (yych <= 0xE0) goto yy625;
- goto yy626;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy627;
- if (yych <= 0xEF) goto yy626;
- goto yy628;
- } else {
- if (yych <= 0xF3) goto yy629;
- if (yych <= 0xF4) goto yy630;
- }
- }
-yy622:
- p = marker;
- if (yyaccept == 0) {
- goto yy610;
- } else {
- goto yy634;
- }
-yy623:
- yych = *++p;
- if (yybm[0+yych] & 64) {
- goto yy620;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy622;
- if (yych <= '-') goto yy631;
- goto yy622;
- } else {
- if (yych <= 0xDF) goto yy624;
- if (yych <= 0xE0) goto yy625;
- goto yy626;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy627;
- if (yych <= 0xEF) goto yy626;
- goto yy628;
- } else {
- if (yych <= 0xF3) goto yy629;
- if (yych <= 0xF4) goto yy630;
- goto yy622;
- }
- }
-yy624:
- yych = *++p;
- if (yych <= 0x7F) goto yy622;
- if (yych <= 0xBF) goto yy620;
- goto yy622;
-yy625:
- yych = *++p;
- if (yych <= 0x9F) goto yy622;
- if (yych <= 0xBF) goto yy624;
- goto yy622;
-yy626:
- yych = *++p;
- if (yych <= 0x7F) goto yy622;
- if (yych <= 0xBF) goto yy624;
- goto yy622;
-yy627:
- yych = *++p;
- if (yych <= 0x7F) goto yy622;
- if (yych <= 0x9F) goto yy624;
- goto yy622;
-yy628:
- yych = *++p;
- if (yych <= 0x8F) goto yy622;
- if (yych <= 0xBF) goto yy626;
- goto yy622;
-yy629:
- yych = *++p;
- if (yych <= 0x7F) goto yy622;
- if (yych <= 0xBF) goto yy626;
- goto yy622;
-yy630:
- yych = *++p;
- if (yych <= 0x7F) goto yy622;
- if (yych <= 0x8F) goto yy626;
- goto yy622;
-yy631:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy631;
- }
- if (yych <= 0xDF) {
- if (yych <= '=') {
- if (yych <= 0x00) goto yy622;
- if (yych == '\n') goto yy622;
- goto yy620;
- } else {
- if (yych <= '>') goto yy633;
- if (yych <= 0x7F) goto yy620;
- if (yych <= 0xC1) goto yy622;
- goto yy624;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy625;
- if (yych == 0xED) goto yy627;
- goto yy626;
- } else {
- if (yych <= 0xF0) goto yy628;
- if (yych <= 0xF3) goto yy629;
- if (yych <= 0xF4) goto yy630;
- goto yy622;
- }
- }
-yy633:
- yyaccept = 1;
- yych = *(marker = ++p);
- if (yybm[0+yych] & 64) {
- goto yy620;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy634;
- if (yych <= '-') goto yy623;
- } else {
- if (yych <= 0xDF) goto yy624;
- if (yych <= 0xE0) goto yy625;
- goto yy626;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy627;
- if (yych <= 0xEF) goto yy626;
- goto yy628;
- } else {
- if (yych <= 0xF3) goto yy629;
- if (yych <= 0xF4) goto yy630;
- }
- }
-yy634:
- { return (bufsize_t)(p - start); }
-}
-
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych <= 0xDF) {
+ if (yych <= ',') {
+ if (yych <= 0x00)
+ goto yy542;
+ if (yych != '\n')
+ goto yy544;
+ } else {
+ if (yych <= '-')
+ goto yy545;
+ if (yych <= 0x7F)
+ goto yy544;
+ if (yych >= 0xC2)
+ goto yy546;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy547;
+ if (yych == 0xED)
+ goto yy549;
+ goto yy548;
+ } else {
+ if (yych <= 0xF0)
+ goto yy550;
+ if (yych <= 0xF3)
+ goto yy551;
+ if (yych <= 0xF4)
+ goto yy552;
+ }
+ }
+ yy542:
+ ++p;
+ yy543 : { return 0; }
+ yy544:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy543;
+ if (yych <= '\t')
+ goto yy554;
+ goto yy543;
+ } else {
+ if (yych <= 0x7F)
+ goto yy554;
+ if (yych <= 0xC1)
+ goto yy543;
+ if (yych <= 0xF4)
+ goto yy554;
+ goto yy543;
+ }
+ yy545:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy564;
+ }
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy543;
+ if (yych <= '\t')
+ goto yy554;
+ goto yy543;
+ } else {
+ if (yych <= 0x7F)
+ goto yy554;
+ if (yych <= 0xC1)
+ goto yy543;
+ if (yych <= 0xF4)
+ goto yy554;
+ goto yy543;
+ }
+ yy546:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy543;
+ if (yych <= 0xBF)
+ goto yy553;
+ goto yy543;
+ yy547:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x9F)
+ goto yy543;
+ if (yych <= 0xBF)
+ goto yy557;
+ goto yy543;
+ yy548:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy543;
+ if (yych <= 0xBF)
+ goto yy557;
+ goto yy543;
+ yy549:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy543;
+ if (yych <= 0x9F)
+ goto yy557;
+ goto yy543;
+ yy550:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x8F)
+ goto yy543;
+ if (yych <= 0xBF)
+ goto yy559;
+ goto yy543;
+ yy551:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy543;
+ if (yych <= 0xBF)
+ goto yy559;
+ goto yy543;
+ yy552:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy543;
+ if (yych <= 0x8F)
+ goto yy559;
+ goto yy543;
+ yy553:
+ yych = *++p;
+ yy554:
+ if (yybm[0 + yych] & 64) {
+ goto yy553;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy555;
+ if (yych <= '-')
+ goto yy556;
+ } else {
+ if (yych <= 0xDF)
+ goto yy557;
+ if (yych <= 0xE0)
+ goto yy558;
+ goto yy559;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy560;
+ if (yych <= 0xEF)
+ goto yy559;
+ goto yy561;
+ } else {
+ if (yych <= 0xF3)
+ goto yy562;
+ if (yych <= 0xF4)
+ goto yy563;
+ }
+ }
+ yy555:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy543;
+ } else {
+ goto yy566;
+ }
+ yy556:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy553;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy555;
+ if (yych <= '-')
+ goto yy564;
+ goto yy555;
+ } else {
+ if (yych <= 0xDF)
+ goto yy557;
+ if (yych <= 0xE0)
+ goto yy558;
+ goto yy559;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy560;
+ if (yych <= 0xEF)
+ goto yy559;
+ goto yy561;
+ } else {
+ if (yych <= 0xF3)
+ goto yy562;
+ if (yych <= 0xF4)
+ goto yy563;
+ goto yy555;
+ }
+ }
+ yy557:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy555;
+ if (yych <= 0xBF)
+ goto yy553;
+ goto yy555;
+ yy558:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy555;
+ if (yych <= 0xBF)
+ goto yy557;
+ goto yy555;
+ yy559:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy555;
+ if (yych <= 0xBF)
+ goto yy557;
+ goto yy555;
+ yy560:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy555;
+ if (yych <= 0x9F)
+ goto yy557;
+ goto yy555;
+ yy561:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy555;
+ if (yych <= 0xBF)
+ goto yy559;
+ goto yy555;
+ yy562:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy555;
+ if (yych <= 0xBF)
+ goto yy559;
+ goto yy555;
+ yy563:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy555;
+ if (yych <= 0x8F)
+ goto yy559;
+ goto yy555;
+ yy564:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy564;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
+ if (yych <= 0x00)
+ goto yy555;
+ if (yych == '\n')
+ goto yy555;
+ goto yy553;
+ } else {
+ if (yych <= '>')
+ goto yy565;
+ if (yych <= 0x7F)
+ goto yy553;
+ if (yych <= 0xC1)
+ goto yy555;
+ goto yy557;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy558;
+ if (yych == 0xED)
+ goto yy560;
+ goto yy559;
+ } else {
+ if (yych <= 0xF0)
+ goto yy561;
+ if (yych <= 0xF3)
+ goto yy562;
+ if (yych <= 0xF4)
+ goto yy563;
+ goto yy555;
+ }
+ }
+ yy565:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy553;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy566;
+ if (yych <= '-')
+ goto yy556;
+ } else {
+ if (yych <= 0xDF)
+ goto yy557;
+ if (yych <= 0xE0)
+ goto yy558;
+ goto yy559;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy560;
+ if (yych <= 0xEF)
+ goto yy559;
+ goto yy561;
+ } else {
+ if (yych <= 0xF3)
+ goto yy562;
+ if (yych <= 0xF4)
+ goto yy563;
+ }
+ }
+ yy566 : { return (bufsize_t)(p - start); }
+ }
}
// Try to match an HTML block end line of type 3
-bufsize_t _scan_html_block_end_3(const unsigned char *p)
-{
+bufsize_t _scan_html_block_end_3(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, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 0, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 128,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *p;
- if (yych <= 0xDF) {
- if (yych <= '>') {
- if (yych <= 0x00) goto yy637;
- if (yych != '\n') goto yy639;
- } else {
- if (yych <= '?') goto yy640;
- if (yych <= 0x7F) goto yy639;
- if (yych >= 0xC2) goto yy641;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy642;
- if (yych == 0xED) goto yy644;
- goto yy643;
- } else {
- if (yych <= 0xF0) goto yy645;
- if (yych <= 0xF3) goto yy646;
- if (yych <= 0xF4) goto yy647;
- }
- }
-yy637:
- ++p;
-yy638:
- { return 0; }
-yy639:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= '\n') {
- if (yych <= 0x00) goto yy638;
- if (yych <= '\t') goto yy649;
- goto yy638;
- } else {
- if (yych <= 0x7F) goto yy649;
- if (yych <= 0xC1) goto yy638;
- if (yych <= 0xF4) goto yy649;
- goto yy638;
- }
-yy640:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= '=') {
- if (yych <= 0x00) goto yy638;
- if (yych == '\n') goto yy638;
- goto yy649;
- } else {
- if (yych <= 0x7F) {
- if (yych <= '>') goto yy660;
- goto yy649;
- } else {
- if (yych <= 0xC1) goto yy638;
- if (yych <= 0xF4) goto yy649;
- goto yy638;
- }
- }
-yy641:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy638;
- if (yych <= 0xBF) goto yy648;
- goto yy638;
-yy642:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x9F) goto yy638;
- if (yych <= 0xBF) goto yy653;
- goto yy638;
-yy643:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy638;
- if (yych <= 0xBF) goto yy653;
- goto yy638;
-yy644:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy638;
- if (yych <= 0x9F) goto yy653;
- goto yy638;
-yy645:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x8F) goto yy638;
- if (yych <= 0xBF) goto yy655;
- goto yy638;
-yy646:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy638;
- if (yych <= 0xBF) goto yy655;
- goto yy638;
-yy647:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy638;
- if (yych <= 0x8F) goto yy655;
- goto yy638;
-yy648:
- yych = *++p;
-yy649:
- if (yybm[0+yych] & 64) {
- goto yy648;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy650;
- if (yych <= '?') goto yy651;
- } else {
- if (yych <= 0xDF) goto yy653;
- if (yych <= 0xE0) goto yy654;
- goto yy655;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy656;
- if (yych <= 0xEF) goto yy655;
- goto yy657;
- } else {
- if (yych <= 0xF3) goto yy658;
- if (yych <= 0xF4) goto yy659;
- }
- }
-yy650:
- p = marker;
- if (yyaccept == 0) {
- goto yy638;
- } else {
- goto yy661;
- }
-yy651:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy651;
- }
- if (yych <= 0xDF) {
- if (yych <= '=') {
- if (yych <= 0x00) goto yy650;
- if (yych == '\n') goto yy650;
- goto yy648;
- } else {
- if (yych <= '>') goto yy660;
- if (yych <= 0x7F) goto yy648;
- if (yych <= 0xC1) goto yy650;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy654;
- if (yych == 0xED) goto yy656;
- goto yy655;
- } else {
- if (yych <= 0xF0) goto yy657;
- if (yych <= 0xF3) goto yy658;
- if (yych <= 0xF4) goto yy659;
- goto yy650;
- }
- }
-yy653:
- yych = *++p;
- if (yych <= 0x7F) goto yy650;
- if (yych <= 0xBF) goto yy648;
- goto yy650;
-yy654:
- yych = *++p;
- if (yych <= 0x9F) goto yy650;
- if (yych <= 0xBF) goto yy653;
- goto yy650;
-yy655:
- yych = *++p;
- if (yych <= 0x7F) goto yy650;
- if (yych <= 0xBF) goto yy653;
- goto yy650;
-yy656:
- yych = *++p;
- if (yych <= 0x7F) goto yy650;
- if (yych <= 0x9F) goto yy653;
- goto yy650;
-yy657:
- yych = *++p;
- if (yych <= 0x8F) goto yy650;
- if (yych <= 0xBF) goto yy655;
- goto yy650;
-yy658:
- yych = *++p;
- if (yych <= 0x7F) goto yy650;
- if (yych <= 0xBF) goto yy655;
- goto yy650;
-yy659:
- yych = *++p;
- if (yych <= 0x7F) goto yy650;
- if (yych <= 0x8F) goto yy655;
- goto yy650;
-yy660:
- yyaccept = 1;
- yych = *(marker = ++p);
- if (yybm[0+yych] & 64) {
- goto yy648;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy661;
- if (yych <= '?') goto yy651;
- } else {
- if (yych <= 0xDF) goto yy653;
- if (yych <= 0xE0) goto yy654;
- goto yy655;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy656;
- if (yych <= 0xEF) goto yy655;
- goto yy657;
- } else {
- if (yych <= 0xF3) goto yy658;
- if (yych <= 0xF4) goto yy659;
- }
- }
-yy661:
- { return (bufsize_t)(p - start); }
-}
-
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych <= 0xDF) {
+ if (yych <= '>') {
+ if (yych <= 0x00)
+ goto yy568;
+ if (yych != '\n')
+ goto yy570;
+ } else {
+ if (yych <= '?')
+ goto yy571;
+ if (yych <= 0x7F)
+ goto yy570;
+ if (yych >= 0xC2)
+ goto yy572;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy573;
+ if (yych == 0xED)
+ goto yy575;
+ goto yy574;
+ } else {
+ if (yych <= 0xF0)
+ goto yy576;
+ if (yych <= 0xF3)
+ goto yy577;
+ if (yych <= 0xF4)
+ goto yy578;
+ }
+ }
+ yy568:
+ ++p;
+ yy569 : { return 0; }
+ yy570:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy569;
+ if (yych <= '\t')
+ goto yy580;
+ goto yy569;
+ } else {
+ if (yych <= 0x7F)
+ goto yy580;
+ if (yych <= 0xC1)
+ goto yy569;
+ if (yych <= 0xF4)
+ goto yy580;
+ goto yy569;
+ }
+ yy571:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '=') {
+ if (yych <= 0x00)
+ goto yy569;
+ if (yych == '\n')
+ goto yy569;
+ goto yy580;
+ } else {
+ if (yych <= 0x7F) {
+ if (yych <= '>')
+ goto yy590;
+ goto yy580;
+ } else {
+ if (yych <= 0xC1)
+ goto yy569;
+ if (yych <= 0xF4)
+ goto yy580;
+ goto yy569;
+ }
+ }
+ yy572:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy569;
+ if (yych <= 0xBF)
+ goto yy579;
+ goto yy569;
+ yy573:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x9F)
+ goto yy569;
+ if (yych <= 0xBF)
+ goto yy583;
+ goto yy569;
+ yy574:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy569;
+ if (yych <= 0xBF)
+ goto yy583;
+ goto yy569;
+ yy575:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy569;
+ if (yych <= 0x9F)
+ goto yy583;
+ goto yy569;
+ yy576:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x8F)
+ goto yy569;
+ if (yych <= 0xBF)
+ goto yy585;
+ goto yy569;
+ yy577:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy569;
+ if (yych <= 0xBF)
+ goto yy585;
+ goto yy569;
+ yy578:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy569;
+ if (yych <= 0x8F)
+ goto yy585;
+ goto yy569;
+ yy579:
+ yych = *++p;
+ yy580:
+ if (yybm[0 + yych] & 64) {
+ goto yy579;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy581;
+ if (yych <= '?')
+ goto yy582;
+ } else {
+ if (yych <= 0xDF)
+ goto yy583;
+ if (yych <= 0xE0)
+ goto yy584;
+ goto yy585;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy586;
+ if (yych <= 0xEF)
+ goto yy585;
+ goto yy587;
+ } else {
+ if (yych <= 0xF3)
+ goto yy588;
+ if (yych <= 0xF4)
+ goto yy589;
+ }
+ }
+ yy581:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy569;
+ } else {
+ goto yy591;
+ }
+ yy582:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy582;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
+ if (yych <= 0x00)
+ goto yy581;
+ if (yych == '\n')
+ goto yy581;
+ goto yy579;
+ } else {
+ if (yych <= '>')
+ goto yy590;
+ if (yych <= 0x7F)
+ goto yy579;
+ if (yych <= 0xC1)
+ goto yy581;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy584;
+ if (yych == 0xED)
+ goto yy586;
+ goto yy585;
+ } else {
+ if (yych <= 0xF0)
+ goto yy587;
+ if (yych <= 0xF3)
+ goto yy588;
+ if (yych <= 0xF4)
+ goto yy589;
+ goto yy581;
+ }
+ }
+ yy583:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy581;
+ if (yych <= 0xBF)
+ goto yy579;
+ goto yy581;
+ yy584:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy581;
+ if (yych <= 0xBF)
+ goto yy583;
+ goto yy581;
+ yy585:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy581;
+ if (yych <= 0xBF)
+ goto yy583;
+ goto yy581;
+ yy586:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy581;
+ if (yych <= 0x9F)
+ goto yy583;
+ goto yy581;
+ yy587:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy581;
+ if (yych <= 0xBF)
+ goto yy585;
+ goto yy581;
+ yy588:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy581;
+ if (yych <= 0xBF)
+ goto yy585;
+ goto yy581;
+ yy589:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy581;
+ if (yych <= 0x8F)
+ goto yy585;
+ goto yy581;
+ yy590:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy579;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy591;
+ if (yych <= '?')
+ goto yy582;
+ } else {
+ if (yych <= 0xDF)
+ goto yy583;
+ if (yych <= 0xE0)
+ goto yy584;
+ goto yy585;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy586;
+ if (yych <= 0xEF)
+ goto yy585;
+ goto yy587;
+ } else {
+ if (yych <= 0xF3)
+ goto yy588;
+ if (yych <= 0xF4)
+ goto yy589;
+ }
+ }
+ yy591 : { return (bufsize_t)(p - start); }
+ }
}
// Try to match an HTML block end line of type 4
-bufsize_t _scan_html_block_end_4(const unsigned char *p)
-{
+bufsize_t _scan_html_block_end_4(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, 128, 0, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 64, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy667;
- }
- if (yych <= 0xE0) {
- if (yych <= '\n') {
- if (yych <= 0x00) goto yy664;
- if (yych <= '\t') goto yy666;
- } else {
- if (yych <= 0x7F) goto yy666;
- if (yych <= 0xC1) goto yy664;
- if (yych <= 0xDF) goto yy670;
- goto yy671;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy673;
- goto yy672;
- } else {
- if (yych <= 0xF0) goto yy674;
- if (yych <= 0xF3) goto yy675;
- if (yych <= 0xF4) goto yy676;
- }
- }
-yy664:
- ++p;
-yy665:
- { return 0; }
-yy666:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= '\n') {
- if (yych <= 0x00) goto yy665;
- if (yych <= '\t') goto yy678;
- goto yy665;
- } else {
- if (yych <= 0x7F) goto yy678;
- if (yych <= 0xC1) goto yy665;
- if (yych <= 0xF4) goto yy678;
- goto yy665;
- }
-yy667:
- yyaccept = 1;
- yych = *(marker = ++p);
- if (yybm[0+yych] & 128) {
- goto yy677;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy669;
- if (yych <= '>') goto yy667;
- } else {
- if (yych <= 0xDF) goto yy680;
- if (yych <= 0xE0) goto yy681;
- goto yy682;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy683;
- if (yych <= 0xEF) goto yy682;
- goto yy684;
- } else {
- if (yych <= 0xF3) goto yy685;
- if (yych <= 0xF4) goto yy686;
- }
- }
-yy669:
- { return (bufsize_t)(p - start); }
-yy670:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy665;
- if (yych <= 0xBF) goto yy677;
- goto yy665;
-yy671:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x9F) goto yy665;
- if (yych <= 0xBF) goto yy680;
- goto yy665;
-yy672:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy665;
- if (yych <= 0xBF) goto yy680;
- goto yy665;
-yy673:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy665;
- if (yych <= 0x9F) goto yy680;
- goto yy665;
-yy674:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x8F) goto yy665;
- if (yych <= 0xBF) goto yy682;
- goto yy665;
-yy675:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy665;
- if (yych <= 0xBF) goto yy682;
- goto yy665;
-yy676:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy665;
- if (yych <= 0x8F) goto yy682;
- goto yy665;
-yy677:
- yych = *++p;
-yy678:
- if (yybm[0+yych] & 128) {
- goto yy677;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy679;
- if (yych <= '>') goto yy667;
- } else {
- if (yych <= 0xDF) goto yy680;
- if (yych <= 0xE0) goto yy681;
- goto yy682;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy683;
- if (yych <= 0xEF) goto yy682;
- goto yy684;
- } else {
- if (yych <= 0xF3) goto yy685;
- if (yych <= 0xF4) goto yy686;
- }
- }
-yy679:
- p = marker;
- if (yyaccept == 0) {
- goto yy665;
- } else {
- goto yy669;
- }
-yy680:
- yych = *++p;
- if (yych <= 0x7F) goto yy679;
- if (yych <= 0xBF) goto yy677;
- goto yy679;
-yy681:
- yych = *++p;
- if (yych <= 0x9F) goto yy679;
- if (yych <= 0xBF) goto yy680;
- goto yy679;
-yy682:
- yych = *++p;
- if (yych <= 0x7F) goto yy679;
- if (yych <= 0xBF) goto yy680;
- goto yy679;
-yy683:
- yych = *++p;
- if (yych <= 0x7F) goto yy679;
- if (yych <= 0x9F) goto yy680;
- goto yy679;
-yy684:
- yych = *++p;
- if (yych <= 0x8F) goto yy679;
- if (yych <= 0xBF) goto yy682;
- goto yy679;
-yy685:
- yych = *++p;
- if (yych <= 0x7F) goto yy679;
- if (yych <= 0xBF) goto yy682;
- goto yy679;
-yy686:
- yych = *++p;
- if (yych <= 0x7F) goto yy679;
- if (yych <= 0x8F) goto yy682;
- goto yy679;
-}
-
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 64, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy596;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy593;
+ if (yych <= '\t')
+ goto yy595;
+ } else {
+ if (yych <= 0x7F)
+ goto yy595;
+ if (yych <= 0xC1)
+ goto yy593;
+ if (yych <= 0xDF)
+ goto yy598;
+ goto yy599;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy601;
+ goto yy600;
+ } else {
+ if (yych <= 0xF0)
+ goto yy602;
+ if (yych <= 0xF3)
+ goto yy603;
+ if (yych <= 0xF4)
+ goto yy604;
+ }
+ }
+ yy593:
+ ++p;
+ yy594 : { return 0; }
+ yy595:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy594;
+ if (yych <= '\t')
+ goto yy606;
+ goto yy594;
+ } else {
+ if (yych <= 0x7F)
+ goto yy606;
+ if (yych <= 0xC1)
+ goto yy594;
+ if (yych <= 0xF4)
+ goto yy606;
+ goto yy594;
+ }
+ yy596:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy605;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy597;
+ if (yych <= '>')
+ goto yy596;
+ } else {
+ if (yych <= 0xDF)
+ goto yy608;
+ if (yych <= 0xE0)
+ goto yy609;
+ goto yy610;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy611;
+ if (yych <= 0xEF)
+ goto yy610;
+ goto yy612;
+ } else {
+ if (yych <= 0xF3)
+ goto yy613;
+ if (yych <= 0xF4)
+ goto yy614;
+ }
+ }
+ yy597 : { return (bufsize_t)(p - start); }
+ yy598:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy594;
+ if (yych <= 0xBF)
+ goto yy605;
+ goto yy594;
+ yy599:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x9F)
+ goto yy594;
+ if (yych <= 0xBF)
+ goto yy608;
+ goto yy594;
+ yy600:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy594;
+ if (yych <= 0xBF)
+ goto yy608;
+ goto yy594;
+ yy601:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy594;
+ if (yych <= 0x9F)
+ goto yy608;
+ goto yy594;
+ yy602:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x8F)
+ goto yy594;
+ if (yych <= 0xBF)
+ goto yy610;
+ goto yy594;
+ yy603:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy594;
+ if (yych <= 0xBF)
+ goto yy610;
+ goto yy594;
+ yy604:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy594;
+ if (yych <= 0x8F)
+ goto yy610;
+ goto yy594;
+ yy605:
+ yych = *++p;
+ yy606:
+ if (yybm[0 + yych] & 128) {
+ goto yy605;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy607;
+ if (yych <= '>')
+ goto yy596;
+ } else {
+ if (yych <= 0xDF)
+ goto yy608;
+ if (yych <= 0xE0)
+ goto yy609;
+ goto yy610;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy611;
+ if (yych <= 0xEF)
+ goto yy610;
+ goto yy612;
+ } else {
+ if (yych <= 0xF3)
+ goto yy613;
+ if (yych <= 0xF4)
+ goto yy614;
+ }
+ }
+ yy607:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy594;
+ } else {
+ goto yy597;
+ }
+ yy608:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy607;
+ if (yych <= 0xBF)
+ goto yy605;
+ goto yy607;
+ yy609:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy607;
+ if (yych <= 0xBF)
+ goto yy608;
+ goto yy607;
+ yy610:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy607;
+ if (yych <= 0xBF)
+ goto yy608;
+ goto yy607;
+ yy611:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy607;
+ if (yych <= 0x9F)
+ goto yy608;
+ goto yy607;
+ yy612:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy607;
+ if (yych <= 0xBF)
+ goto yy610;
+ goto yy607;
+ yy613:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy607;
+ if (yych <= 0xBF)
+ goto yy610;
+ goto yy607;
+ yy614:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy607;
+ if (yych <= 0x8F)
+ goto yy610;
+ goto yy607;
+ }
}
// Try to match an HTML block end line of type 5
-bufsize_t _scan_html_block_end_5(const unsigned char *p)
-{
+bufsize_t _scan_html_block_end_5(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, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 0, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 128, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *p;
- if (yych <= 0xDF) {
- if (yych <= '\\') {
- if (yych <= 0x00) goto yy689;
- if (yych != '\n') goto yy691;
- } else {
- if (yych <= ']') goto yy692;
- if (yych <= 0x7F) goto yy691;
- if (yych >= 0xC2) goto yy693;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy694;
- if (yych == 0xED) goto yy696;
- goto yy695;
- } else {
- if (yych <= 0xF0) goto yy697;
- if (yych <= 0xF3) goto yy698;
- if (yych <= 0xF4) goto yy699;
- }
- }
-yy689:
- ++p;
-yy690:
- { return 0; }
-yy691:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= '\n') {
- if (yych <= 0x00) goto yy690;
- if (yych <= '\t') goto yy701;
- goto yy690;
- } else {
- if (yych <= 0x7F) goto yy701;
- if (yych <= 0xC1) goto yy690;
- if (yych <= 0xF4) goto yy701;
- goto yy690;
- }
-yy692:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yybm[0+yych] & 128) {
- goto yy711;
- }
- if (yych <= '\n') {
- if (yych <= 0x00) goto yy690;
- if (yych <= '\t') goto yy701;
- goto yy690;
- } else {
- if (yych <= 0x7F) goto yy701;
- if (yych <= 0xC1) goto yy690;
- if (yych <= 0xF4) goto yy701;
- goto yy690;
- }
-yy693:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy690;
- if (yych <= 0xBF) goto yy700;
- goto yy690;
-yy694:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x9F) goto yy690;
- if (yych <= 0xBF) goto yy704;
- goto yy690;
-yy695:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy690;
- if (yych <= 0xBF) goto yy704;
- goto yy690;
-yy696:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy690;
- if (yych <= 0x9F) goto yy704;
- goto yy690;
-yy697:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x8F) goto yy690;
- if (yych <= 0xBF) goto yy706;
- goto yy690;
-yy698:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy690;
- if (yych <= 0xBF) goto yy706;
- goto yy690;
-yy699:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) goto yy690;
- if (yych <= 0x8F) goto yy706;
- goto yy690;
-yy700:
- yych = *++p;
-yy701:
- if (yybm[0+yych] & 64) {
- goto yy700;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy702;
- if (yych <= ']') goto yy703;
- } else {
- if (yych <= 0xDF) goto yy704;
- if (yych <= 0xE0) goto yy705;
- goto yy706;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy707;
- if (yych <= 0xEF) goto yy706;
- goto yy708;
- } else {
- if (yych <= 0xF3) goto yy709;
- if (yych <= 0xF4) goto yy710;
- }
- }
-yy702:
- p = marker;
- if (yyaccept == 0) {
- goto yy690;
- } else {
- goto yy714;
- }
-yy703:
- yych = *++p;
- if (yybm[0+yych] & 64) {
- goto yy700;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy702;
- if (yych <= ']') goto yy711;
- goto yy702;
- } else {
- if (yych <= 0xDF) goto yy704;
- if (yych <= 0xE0) goto yy705;
- goto yy706;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy707;
- if (yych <= 0xEF) goto yy706;
- goto yy708;
- } else {
- if (yych <= 0xF3) goto yy709;
- if (yych <= 0xF4) goto yy710;
- goto yy702;
- }
- }
-yy704:
- yych = *++p;
- if (yych <= 0x7F) goto yy702;
- if (yych <= 0xBF) goto yy700;
- goto yy702;
-yy705:
- yych = *++p;
- if (yych <= 0x9F) goto yy702;
- if (yych <= 0xBF) goto yy704;
- goto yy702;
-yy706:
- yych = *++p;
- if (yych <= 0x7F) goto yy702;
- if (yych <= 0xBF) goto yy704;
- goto yy702;
-yy707:
- yych = *++p;
- if (yych <= 0x7F) goto yy702;
- if (yych <= 0x9F) goto yy704;
- goto yy702;
-yy708:
- yych = *++p;
- if (yych <= 0x8F) goto yy702;
- if (yych <= 0xBF) goto yy706;
- goto yy702;
-yy709:
- yych = *++p;
- if (yych <= 0x7F) goto yy702;
- if (yych <= 0xBF) goto yy706;
- goto yy702;
-yy710:
- yych = *++p;
- if (yych <= 0x7F) goto yy702;
- if (yych <= 0x8F) goto yy706;
- goto yy702;
-yy711:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy711;
- }
- if (yych <= 0xDF) {
- if (yych <= '=') {
- if (yych <= 0x00) goto yy702;
- if (yych == '\n') goto yy702;
- goto yy700;
- } else {
- if (yych <= '>') goto yy713;
- if (yych <= 0x7F) goto yy700;
- if (yych <= 0xC1) goto yy702;
- goto yy704;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy705;
- if (yych == 0xED) goto yy707;
- goto yy706;
- } else {
- if (yych <= 0xF0) goto yy708;
- if (yych <= 0xF3) goto yy709;
- if (yych <= 0xF4) goto yy710;
- goto yy702;
- }
- }
-yy713:
- yyaccept = 1;
- yych = *(marker = ++p);
- if (yybm[0+yych] & 64) {
- goto yy700;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy714;
- if (yych <= ']') goto yy703;
- } else {
- if (yych <= 0xDF) goto yy704;
- if (yych <= 0xE0) goto yy705;
- goto yy706;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy707;
- if (yych <= 0xEF) goto yy706;
- goto yy708;
- } else {
- if (yych <= 0xF3) goto yy709;
- if (yych <= 0xF4) goto yy710;
- }
- }
-yy714:
- { return (bufsize_t)(p - start); }
-}
-
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych <= 0xDF) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy616;
+ if (yych != '\n')
+ goto yy618;
+ } else {
+ if (yych <= ']')
+ goto yy619;
+ if (yych <= 0x7F)
+ goto yy618;
+ if (yych >= 0xC2)
+ goto yy620;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy621;
+ if (yych == 0xED)
+ goto yy623;
+ goto yy622;
+ } else {
+ if (yych <= 0xF0)
+ goto yy624;
+ if (yych <= 0xF3)
+ goto yy625;
+ if (yych <= 0xF4)
+ goto yy626;
+ }
+ }
+ yy616:
+ ++p;
+ yy617 : { return 0; }
+ yy618:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy617;
+ if (yych <= '\t')
+ goto yy628;
+ goto yy617;
+ } else {
+ if (yych <= 0x7F)
+ goto yy628;
+ if (yych <= 0xC1)
+ goto yy617;
+ if (yych <= 0xF4)
+ goto yy628;
+ goto yy617;
+ }
+ yy619:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy638;
+ }
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy617;
+ if (yych <= '\t')
+ goto yy628;
+ goto yy617;
+ } else {
+ if (yych <= 0x7F)
+ goto yy628;
+ if (yych <= 0xC1)
+ goto yy617;
+ if (yych <= 0xF4)
+ goto yy628;
+ goto yy617;
+ }
+ yy620:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy617;
+ if (yych <= 0xBF)
+ goto yy627;
+ goto yy617;
+ yy621:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x9F)
+ goto yy617;
+ if (yych <= 0xBF)
+ goto yy631;
+ goto yy617;
+ yy622:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy617;
+ if (yych <= 0xBF)
+ goto yy631;
+ goto yy617;
+ yy623:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy617;
+ if (yych <= 0x9F)
+ goto yy631;
+ goto yy617;
+ yy624:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x8F)
+ goto yy617;
+ if (yych <= 0xBF)
+ goto yy633;
+ goto yy617;
+ yy625:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy617;
+ if (yych <= 0xBF)
+ goto yy633;
+ goto yy617;
+ yy626:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F)
+ goto yy617;
+ if (yych <= 0x8F)
+ goto yy633;
+ goto yy617;
+ yy627:
+ yych = *++p;
+ yy628:
+ if (yybm[0 + yych] & 64) {
+ goto yy627;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy629;
+ if (yych <= ']')
+ goto yy630;
+ } else {
+ if (yych <= 0xDF)
+ goto yy631;
+ if (yych <= 0xE0)
+ goto yy632;
+ goto yy633;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy634;
+ if (yych <= 0xEF)
+ goto yy633;
+ goto yy635;
+ } else {
+ if (yych <= 0xF3)
+ goto yy636;
+ if (yych <= 0xF4)
+ goto yy637;
+ }
+ }
+ yy629:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy617;
+ } else {
+ goto yy640;
+ }
+ yy630:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy627;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy629;
+ if (yych <= ']')
+ goto yy638;
+ goto yy629;
+ } else {
+ if (yych <= 0xDF)
+ goto yy631;
+ if (yych <= 0xE0)
+ goto yy632;
+ goto yy633;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy634;
+ if (yych <= 0xEF)
+ goto yy633;
+ goto yy635;
+ } else {
+ if (yych <= 0xF3)
+ goto yy636;
+ if (yych <= 0xF4)
+ goto yy637;
+ goto yy629;
+ }
+ }
+ yy631:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy629;
+ if (yych <= 0xBF)
+ goto yy627;
+ goto yy629;
+ yy632:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy629;
+ if (yych <= 0xBF)
+ goto yy631;
+ goto yy629;
+ yy633:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy629;
+ if (yych <= 0xBF)
+ goto yy631;
+ goto yy629;
+ yy634:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy629;
+ if (yych <= 0x9F)
+ goto yy631;
+ goto yy629;
+ yy635:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy629;
+ if (yych <= 0xBF)
+ goto yy633;
+ goto yy629;
+ yy636:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy629;
+ if (yych <= 0xBF)
+ goto yy633;
+ goto yy629;
+ yy637:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy629;
+ if (yych <= 0x8F)
+ goto yy633;
+ goto yy629;
+ yy638:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy638;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
+ if (yych <= 0x00)
+ goto yy629;
+ if (yych == '\n')
+ goto yy629;
+ goto yy627;
+ } else {
+ if (yych <= '>')
+ goto yy639;
+ if (yych <= 0x7F)
+ goto yy627;
+ if (yych <= 0xC1)
+ goto yy629;
+ goto yy631;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy632;
+ if (yych == 0xED)
+ goto yy634;
+ goto yy633;
+ } else {
+ if (yych <= 0xF0)
+ goto yy635;
+ if (yych <= 0xF3)
+ goto yy636;
+ if (yych <= 0xF4)
+ goto yy637;
+ goto yy629;
+ }
+ }
+ yy639:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy627;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy640;
+ if (yych <= ']')
+ goto yy630;
+ } else {
+ if (yych <= 0xDF)
+ goto yy631;
+ if (yych <= 0xE0)
+ goto yy632;
+ goto yy633;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy634;
+ if (yych <= 0xEF)
+ goto yy633;
+ goto yy635;
+ } else {
+ if (yych <= 0xF3)
+ goto yy636;
+ if (yych <= 0xF4)
+ goto yy637;
+ }
+ }
+ yy640 : { return (bufsize_t)(p - start); }
+ }
}
// 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).
-bufsize_t _scan_link_title(const unsigned char *p)
-{
+bufsize_t _scan_link_title(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, 208, 208, 208, 208, 208, 208, 208,
- 208, 208, 208, 208, 208, 208, 208, 208,
- 208, 208, 208, 208, 208, 208, 208, 208,
- 208, 208, 208, 208, 208, 208, 208, 208,
- 208, 208, 192, 208, 208, 208, 208, 144,
- 80, 80, 208, 208, 208, 208, 208, 208,
- 208, 208, 208, 208, 208, 208, 208, 208,
- 208, 208, 208, 208, 208, 208, 208, 208,
- 208, 208, 208, 208, 208, 208, 208, 208,
- 208, 208, 208, 208, 208, 208, 208, 208,
- 208, 208, 208, 208, 208, 208, 208, 208,
- 208, 208, 208, 208, 32, 208, 208, 208,
- 208, 208, 208, 208, 208, 208, 208, 208,
- 208, 208, 208, 208, 208, 208, 208, 208,
- 208, 208, 208, 208, 208, 208, 208, 208,
- 208, 208, 208, 208, 208, 208, 208, 208,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *p;
- if (yych <= '&') {
- if (yych == '"') goto yy719;
- } else {
- if (yych <= '\'') goto yy720;
- if (yych <= '(') goto yy721;
- }
- ++p;
-yy718:
- { return 0; }
-yy719:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x00) goto yy718;
- if (yych <= 0x7F) goto yy723;
- if (yych <= 0xC1) goto yy718;
- if (yych <= 0xF4) goto yy723;
- goto yy718;
-yy720:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x00) goto yy718;
- if (yych <= 0x7F) goto yy737;
- if (yych <= 0xC1) goto yy718;
- if (yych <= 0xF4) goto yy737;
- goto yy718;
-yy721:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= '(') {
- if (yych <= 0x00) goto yy718;
- if (yych <= '\'') goto yy750;
- goto yy718;
- } else {
- if (yych <= 0x7F) goto yy750;
- if (yych <= 0xC1) goto yy718;
- if (yych <= 0xF4) goto yy750;
- goto yy718;
- }
-yy722:
- yych = *++p;
-yy723:
- if (yybm[0+yych] & 16) {
- goto yy722;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= 0x00) goto yy724;
- if (yych <= '"') goto yy725;
- goto yy727;
- } else {
- if (yych <= 0xC1) goto yy724;
- if (yych <= 0xDF) goto yy729;
- goto yy730;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy732;
- goto yy731;
- } else {
- if (yych <= 0xF0) goto yy733;
- if (yych <= 0xF3) goto yy734;
- if (yych <= 0xF4) goto yy735;
- }
- }
-yy724:
- p = marker;
- if (yyaccept <= 1) {
- if (yyaccept == 0) {
- goto yy718;
- } else {
- goto yy726;
- }
- } else {
- if (yyaccept == 2) {
- goto yy739;
- } else {
- goto yy752;
- }
- }
-yy725:
- ++p;
-yy726:
- { return (bufsize_t)(p - start); }
-yy727:
- yych = *++p;
- if (yybm[0+yych] & 16) {
- goto yy722;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= 0x00) goto yy724;
- if (yych <= '"') goto yy762;
- goto yy727;
- } else {
- if (yych <= 0xC1) goto yy724;
- if (yych >= 0xE0) goto yy730;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy732;
- goto yy731;
- } else {
- if (yych <= 0xF0) goto yy733;
- if (yych <= 0xF3) goto yy734;
- if (yych <= 0xF4) goto yy735;
- goto yy724;
- }
- }
-yy729:
- yych = *++p;
- if (yych <= 0x7F) goto yy724;
- if (yych <= 0xBF) goto yy722;
- goto yy724;
-yy730:
- yych = *++p;
- if (yych <= 0x9F) goto yy724;
- if (yych <= 0xBF) goto yy729;
- goto yy724;
-yy731:
- yych = *++p;
- if (yych <= 0x7F) goto yy724;
- if (yych <= 0xBF) goto yy729;
- goto yy724;
-yy732:
- yych = *++p;
- if (yych <= 0x7F) goto yy724;
- if (yych <= 0x9F) goto yy729;
- goto yy724;
-yy733:
- yych = *++p;
- if (yych <= 0x8F) goto yy724;
- if (yych <= 0xBF) goto yy731;
- goto yy724;
-yy734:
- yych = *++p;
- if (yych <= 0x7F) goto yy724;
- if (yych <= 0xBF) goto yy731;
- goto yy724;
-yy735:
- yych = *++p;
- if (yych <= 0x7F) goto yy724;
- if (yych <= 0x8F) goto yy731;
- goto yy724;
-yy736:
- yych = *++p;
-yy737:
- if (yybm[0+yych] & 64) {
- goto yy736;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= 0x00) goto yy724;
- if (yych >= '(') goto yy740;
- } else {
- if (yych <= 0xC1) goto yy724;
- if (yych <= 0xDF) goto yy742;
- goto yy743;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy745;
- goto yy744;
- } else {
- if (yych <= 0xF0) goto yy746;
- if (yych <= 0xF3) goto yy747;
- if (yych <= 0xF4) goto yy748;
- goto yy724;
- }
- }
-yy738:
- ++p;
-yy739:
- { return (bufsize_t)(p - start); }
-yy740:
- yych = *++p;
- if (yybm[0+yych] & 64) {
- goto yy736;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= 0x00) goto yy724;
- if (yych <= '\'') goto yy763;
- goto yy740;
- } else {
- if (yych <= 0xC1) goto yy724;
- if (yych >= 0xE0) goto yy743;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy745;
- goto yy744;
- } else {
- if (yych <= 0xF0) goto yy746;
- if (yych <= 0xF3) goto yy747;
- if (yych <= 0xF4) goto yy748;
- goto yy724;
- }
- }
-yy742:
- yych = *++p;
- if (yych <= 0x7F) goto yy724;
- if (yych <= 0xBF) goto yy736;
- goto yy724;
-yy743:
- yych = *++p;
- if (yych <= 0x9F) goto yy724;
- if (yych <= 0xBF) goto yy742;
- goto yy724;
-yy744:
- yych = *++p;
- if (yych <= 0x7F) goto yy724;
- if (yych <= 0xBF) goto yy742;
- goto yy724;
-yy745:
- yych = *++p;
- if (yych <= 0x7F) goto yy724;
- if (yych <= 0x9F) goto yy742;
- goto yy724;
-yy746:
- yych = *++p;
- if (yych <= 0x8F) goto yy724;
- if (yych <= 0xBF) goto yy744;
- goto yy724;
-yy747:
- yych = *++p;
- if (yych <= 0x7F) goto yy724;
- if (yych <= 0xBF) goto yy744;
- goto yy724;
-yy748:
- yych = *++p;
- if (yych <= 0x7F) goto yy724;
- if (yych <= 0x8F) goto yy744;
- goto yy724;
-yy749:
- yych = *++p;
-yy750:
- if (yybm[0+yych] & 128) {
- goto yy749;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= '(') goto yy724;
- if (yych >= '*') goto yy753;
- } else {
- if (yych <= 0xC1) goto yy724;
- if (yych <= 0xDF) goto yy755;
- goto yy756;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy758;
- goto yy757;
- } else {
- if (yych <= 0xF0) goto yy759;
- if (yych <= 0xF3) goto yy760;
- if (yych <= 0xF4) goto yy761;
- goto yy724;
- }
- }
-yy751:
- ++p;
-yy752:
- { return (bufsize_t)(p - start); }
-yy753:
- yych = *++p;
- if (yych <= 0xDF) {
- if (yych <= '[') {
- if (yych <= 0x00) goto yy724;
- if (yych == ')') goto yy764;
- goto yy749;
- } else {
- if (yych <= '\\') goto yy753;
- if (yych <= 0x7F) goto yy749;
- if (yych <= 0xC1) goto yy724;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy756;
- if (yych == 0xED) goto yy758;
- goto yy757;
- } else {
- if (yych <= 0xF0) goto yy759;
- if (yych <= 0xF3) goto yy760;
- if (yych <= 0xF4) goto yy761;
- goto yy724;
- }
- }
-yy755:
- yych = *++p;
- if (yych <= 0x7F) goto yy724;
- if (yych <= 0xBF) goto yy749;
- goto yy724;
-yy756:
- yych = *++p;
- if (yych <= 0x9F) goto yy724;
- if (yych <= 0xBF) goto yy755;
- goto yy724;
-yy757:
- yych = *++p;
- if (yych <= 0x7F) goto yy724;
- if (yych <= 0xBF) goto yy755;
- goto yy724;
-yy758:
- yych = *++p;
- if (yych <= 0x7F) goto yy724;
- if (yych <= 0x9F) goto yy755;
- goto yy724;
-yy759:
- yych = *++p;
- if (yych <= 0x8F) goto yy724;
- if (yych <= 0xBF) goto yy757;
- goto yy724;
-yy760:
- yych = *++p;
- if (yych <= 0x7F) goto yy724;
- if (yych <= 0xBF) goto yy757;
- goto yy724;
-yy761:
- yych = *++p;
- if (yych <= 0x7F) goto yy724;
- if (yych <= 0x8F) goto yy757;
- goto yy724;
-yy762:
- yyaccept = 1;
- yych = *(marker = ++p);
- if (yybm[0+yych] & 16) {
- goto yy722;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= 0x00) goto yy726;
- if (yych <= '"') goto yy725;
- goto yy727;
- } else {
- if (yych <= 0xC1) goto yy726;
- if (yych <= 0xDF) goto yy729;
- goto yy730;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy732;
- goto yy731;
- } else {
- if (yych <= 0xF0) goto yy733;
- if (yych <= 0xF3) goto yy734;
- if (yych <= 0xF4) goto yy735;
- goto yy726;
- }
- }
-yy763:
- yyaccept = 2;
- yych = *(marker = ++p);
- if (yybm[0+yych] & 64) {
- goto yy736;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= 0x00) goto yy739;
- if (yych <= '\'') goto yy738;
- goto yy740;
- } else {
- if (yych <= 0xC1) goto yy739;
- if (yych <= 0xDF) goto yy742;
- goto yy743;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy745;
- goto yy744;
- } else {
- if (yych <= 0xF0) goto yy746;
- if (yych <= 0xF3) goto yy747;
- if (yych <= 0xF4) goto yy748;
- goto yy739;
- }
- }
-yy764:
- yyaccept = 3;
- yych = *(marker = ++p);
- if (yybm[0+yych] & 128) {
- goto yy749;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= '(') goto yy752;
- if (yych <= ')') goto yy751;
- goto yy753;
- } else {
- if (yych <= 0xC1) goto yy752;
- if (yych <= 0xDF) goto yy755;
- goto yy756;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy758;
- goto yy757;
- } else {
- if (yych <= 0xF0) goto yy759;
- if (yych <= 0xF3) goto yy760;
- if (yych <= 0xF4) goto yy761;
- goto yy752;
- }
- }
-}
-
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
+ 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
+ 208, 208, 208, 208, 208, 208, 192, 208, 208, 208, 208, 144, 80, 80,
+ 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
+ 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
+ 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
+ 208, 208, 208, 208, 208, 208, 208, 208, 32, 208, 208, 208, 208, 208,
+ 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
+ 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
+ 208, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych <= '&') {
+ if (yych == '"')
+ goto yy643;
+ } else {
+ if (yych <= '\'')
+ goto yy644;
+ if (yych <= '(')
+ goto yy645;
+ }
+ ++p;
+ yy642 : { return 0; }
+ yy643:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x00)
+ goto yy642;
+ if (yych <= 0x7F)
+ goto yy647;
+ if (yych <= 0xC1)
+ goto yy642;
+ if (yych <= 0xF4)
+ goto yy647;
+ goto yy642;
+ yy644:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x00)
+ goto yy642;
+ if (yych <= 0x7F)
+ goto yy660;
+ if (yych <= 0xC1)
+ goto yy642;
+ if (yych <= 0xF4)
+ goto yy660;
+ goto yy642;
+ yy645:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '(') {
+ if (yych <= 0x00)
+ goto yy642;
+ if (yych <= '\'')
+ goto yy672;
+ goto yy642;
+ } else {
+ if (yych <= 0x7F)
+ goto yy672;
+ if (yych <= 0xC1)
+ goto yy642;
+ if (yych <= 0xF4)
+ goto yy672;
+ goto yy642;
+ }
+ yy646:
+ yych = *++p;
+ yy647:
+ if (yybm[0 + yych] & 16) {
+ goto yy646;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy648;
+ if (yych <= '"')
+ goto yy649;
+ goto yy651;
+ } else {
+ if (yych <= 0xC1)
+ goto yy648;
+ if (yych <= 0xDF)
+ goto yy652;
+ goto yy653;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy655;
+ goto yy654;
+ } else {
+ if (yych <= 0xF0)
+ goto yy656;
+ if (yych <= 0xF3)
+ goto yy657;
+ if (yych <= 0xF4)
+ goto yy658;
+ }
+ }
+ yy648:
+ p = marker;
+ if (yyaccept <= 1) {
+ if (yyaccept == 0) {
+ goto yy642;
+ } else {
+ goto yy650;
+ }
+ } else {
+ if (yyaccept == 2) {
+ goto yy662;
+ } else {
+ goto yy674;
+ }
+ }
+ yy649:
+ ++p;
+ yy650 : { return (bufsize_t)(p - start); }
+ yy651:
+ yych = *++p;
+ if (yybm[0 + yych] & 16) {
+ goto yy646;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy648;
+ if (yych <= '"')
+ goto yy683;
+ goto yy651;
+ } else {
+ if (yych <= 0xC1)
+ goto yy648;
+ if (yych >= 0xE0)
+ goto yy653;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy655;
+ goto yy654;
+ } else {
+ if (yych <= 0xF0)
+ goto yy656;
+ if (yych <= 0xF3)
+ goto yy657;
+ if (yych <= 0xF4)
+ goto yy658;
+ goto yy648;
+ }
+ }
+ yy652:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy648;
+ if (yych <= 0xBF)
+ goto yy646;
+ goto yy648;
+ yy653:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy648;
+ if (yych <= 0xBF)
+ goto yy652;
+ goto yy648;
+ yy654:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy648;
+ if (yych <= 0xBF)
+ goto yy652;
+ goto yy648;
+ yy655:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy648;
+ if (yych <= 0x9F)
+ goto yy652;
+ goto yy648;
+ yy656:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy648;
+ if (yych <= 0xBF)
+ goto yy654;
+ goto yy648;
+ yy657:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy648;
+ if (yych <= 0xBF)
+ goto yy654;
+ goto yy648;
+ yy658:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy648;
+ if (yych <= 0x8F)
+ goto yy654;
+ goto yy648;
+ yy659:
+ yych = *++p;
+ yy660:
+ if (yybm[0 + yych] & 64) {
+ goto yy659;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy648;
+ if (yych >= '(')
+ goto yy663;
+ } else {
+ if (yych <= 0xC1)
+ goto yy648;
+ if (yych <= 0xDF)
+ goto yy664;
+ goto yy665;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy667;
+ goto yy666;
+ } else {
+ if (yych <= 0xF0)
+ goto yy668;
+ if (yych <= 0xF3)
+ goto yy669;
+ if (yych <= 0xF4)
+ goto yy670;
+ goto yy648;
+ }
+ }
+ yy661:
+ ++p;
+ yy662 : { return (bufsize_t)(p - start); }
+ yy663:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy659;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy648;
+ if (yych <= '\'')
+ goto yy684;
+ goto yy663;
+ } else {
+ if (yych <= 0xC1)
+ goto yy648;
+ if (yych >= 0xE0)
+ goto yy665;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy667;
+ goto yy666;
+ } else {
+ if (yych <= 0xF0)
+ goto yy668;
+ if (yych <= 0xF3)
+ goto yy669;
+ if (yych <= 0xF4)
+ goto yy670;
+ goto yy648;
+ }
+ }
+ yy664:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy648;
+ if (yych <= 0xBF)
+ goto yy659;
+ goto yy648;
+ yy665:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy648;
+ if (yych <= 0xBF)
+ goto yy664;
+ goto yy648;
+ yy666:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy648;
+ if (yych <= 0xBF)
+ goto yy664;
+ goto yy648;
+ yy667:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy648;
+ if (yych <= 0x9F)
+ goto yy664;
+ goto yy648;
+ yy668:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy648;
+ if (yych <= 0xBF)
+ goto yy666;
+ goto yy648;
+ yy669:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy648;
+ if (yych <= 0xBF)
+ goto yy666;
+ goto yy648;
+ yy670:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy648;
+ if (yych <= 0x8F)
+ goto yy666;
+ goto yy648;
+ yy671:
+ yych = *++p;
+ yy672:
+ if (yybm[0 + yych] & 128) {
+ goto yy671;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= '(')
+ goto yy648;
+ if (yych >= '*')
+ goto yy675;
+ } else {
+ if (yych <= 0xC1)
+ goto yy648;
+ if (yych <= 0xDF)
+ goto yy676;
+ goto yy677;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy679;
+ goto yy678;
+ } else {
+ if (yych <= 0xF0)
+ goto yy680;
+ if (yych <= 0xF3)
+ goto yy681;
+ if (yych <= 0xF4)
+ goto yy682;
+ goto yy648;
+ }
+ }
+ yy673:
+ ++p;
+ yy674 : { return (bufsize_t)(p - start); }
+ yy675:
+ yych = *++p;
+ if (yych <= 0xDF) {
+ if (yych <= '[') {
+ if (yych <= 0x00)
+ goto yy648;
+ if (yych == ')')
+ goto yy685;
+ goto yy671;
+ } else {
+ if (yych <= '\\')
+ goto yy675;
+ if (yych <= 0x7F)
+ goto yy671;
+ if (yych <= 0xC1)
+ goto yy648;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy677;
+ if (yych == 0xED)
+ goto yy679;
+ goto yy678;
+ } else {
+ if (yych <= 0xF0)
+ goto yy680;
+ if (yych <= 0xF3)
+ goto yy681;
+ if (yych <= 0xF4)
+ goto yy682;
+ goto yy648;
+ }
+ }
+ yy676:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy648;
+ if (yych <= 0xBF)
+ goto yy671;
+ goto yy648;
+ yy677:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy648;
+ if (yych <= 0xBF)
+ goto yy676;
+ goto yy648;
+ yy678:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy648;
+ if (yych <= 0xBF)
+ goto yy676;
+ goto yy648;
+ yy679:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy648;
+ if (yych <= 0x9F)
+ goto yy676;
+ goto yy648;
+ yy680:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy648;
+ if (yych <= 0xBF)
+ goto yy678;
+ goto yy648;
+ yy681:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy648;
+ if (yych <= 0xBF)
+ goto yy678;
+ goto yy648;
+ yy682:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy648;
+ if (yych <= 0x8F)
+ goto yy678;
+ goto yy648;
+ yy683:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 16) {
+ goto yy646;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy650;
+ if (yych <= '"')
+ goto yy649;
+ goto yy651;
+ } else {
+ if (yych <= 0xC1)
+ goto yy650;
+ if (yych <= 0xDF)
+ goto yy652;
+ goto yy653;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy655;
+ goto yy654;
+ } else {
+ if (yych <= 0xF0)
+ goto yy656;
+ if (yych <= 0xF3)
+ goto yy657;
+ if (yych <= 0xF4)
+ goto yy658;
+ goto yy650;
+ }
+ }
+ yy684:
+ yyaccept = 2;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy659;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy662;
+ if (yych <= '\'')
+ goto yy661;
+ goto yy663;
+ } else {
+ if (yych <= 0xC1)
+ goto yy662;
+ if (yych <= 0xDF)
+ goto yy664;
+ goto yy665;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy667;
+ goto yy666;
+ } else {
+ if (yych <= 0xF0)
+ goto yy668;
+ if (yych <= 0xF3)
+ goto yy669;
+ if (yych <= 0xF4)
+ goto yy670;
+ goto yy662;
+ }
+ }
+ yy685:
+ yyaccept = 3;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy671;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= '(')
+ goto yy674;
+ if (yych <= ')')
+ goto yy673;
+ goto yy675;
+ } else {
+ if (yych <= 0xC1)
+ goto yy674;
+ if (yych <= 0xDF)
+ goto yy676;
+ goto yy677;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy679;
+ goto yy678;
+ } else {
+ if (yych <= 0xF0)
+ goto yy680;
+ if (yych <= 0xF3)
+ goto yy681;
+ if (yych <= 0xF4)
+ goto yy682;
+ goto yy674;
+ }
+ }
+ }
}
// Match space characters, including newlines.
-bufsize_t _scan_spacechars(const unsigned char *p)
-{
- const unsigned char *start = p; \
-
-{
- unsigned char yych;
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 128, 128, 128, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy769;
- }
- ++p;
- { return 0; }
-yy769:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy769;
- }
- { return (bufsize_t)(p - start); }
-}
+bufsize_t _scan_spacechars(const unsigned char *p) {
+ const unsigned char *start = p;
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy687;
+ }
+ ++p;
+ { return 0; }
+ yy687:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy687;
+ }
+ { return (bufsize_t)(p - start); }
+ }
}
// Match ATX heading start.
-bufsize_t _scan_atx_heading_start(const unsigned char *p)
-{
+bufsize_t _scan_atx_heading_start(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
-{
- unsigned char yych;
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 128, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *p;
- if (yych == '#') goto yy776;
- ++p;
-yy775:
- { return 0; }
-yy776:
- yych = *(marker = ++p);
- if (yybm[0+yych] & 128) {
- goto yy777;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy775;
- if (yych <= '\n') goto yy780;
- goto yy775;
- } else {
- if (yych <= '\r') goto yy780;
- if (yych == '#') goto yy781;
- goto yy775;
- }
-yy777:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy777;
- }
-yy779:
- { return (bufsize_t)(p - start); }
-yy780:
- ++p;
- goto yy779;
-yy781:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy777;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy782;
- if (yych <= '\n') goto yy780;
- } else {
- if (yych <= '\r') goto yy780;
- if (yych == '#') goto yy783;
- }
-yy782:
- p = marker;
- goto yy775;
-yy783:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy777;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy782;
- if (yych <= '\n') goto yy780;
- goto yy782;
- } else {
- if (yych <= '\r') goto yy780;
- if (yych != '#') goto yy782;
- }
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy777;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy782;
- if (yych <= '\n') goto yy780;
- goto yy782;
- } else {
- if (yych <= '\r') goto yy780;
- if (yych != '#') goto yy782;
- }
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy777;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy782;
- if (yych <= '\n') goto yy780;
- goto yy782;
- } else {
- if (yych <= '\r') goto yy780;
- if (yych != '#') goto yy782;
- }
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy777;
- }
- if (yych <= 0x08) goto yy782;
- if (yych <= '\n') goto yy780;
- if (yych == '\r') goto yy780;
- goto yy782;
-}
-
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych == '#')
+ goto yy690;
+ ++p;
+ yy689 : { return 0; }
+ yy690:
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy691;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy689;
+ if (yych <= '\n')
+ goto yy693;
+ goto yy689;
+ } else {
+ if (yych <= '\r')
+ goto yy693;
+ if (yych == '#')
+ goto yy694;
+ goto yy689;
+ }
+ yy691:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy691;
+ }
+ yy692 : { return (bufsize_t)(p - start); }
+ yy693:
+ ++p;
+ goto yy692;
+ yy694:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy691;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy695;
+ if (yych <= '\n')
+ goto yy693;
+ } else {
+ if (yych <= '\r')
+ goto yy693;
+ if (yych == '#')
+ goto yy696;
+ }
+ yy695:
+ p = marker;
+ goto yy689;
+ yy696:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy691;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy695;
+ if (yych <= '\n')
+ goto yy693;
+ goto yy695;
+ } else {
+ if (yych <= '\r')
+ goto yy693;
+ if (yych != '#')
+ goto yy695;
+ }
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy691;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy695;
+ if (yych <= '\n')
+ goto yy693;
+ goto yy695;
+ } else {
+ if (yych <= '\r')
+ goto yy693;
+ if (yych != '#')
+ goto yy695;
+ }
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy691;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy695;
+ if (yych <= '\n')
+ goto yy693;
+ goto yy695;
+ } else {
+ if (yych <= '\r')
+ goto yy693;
+ if (yych != '#')
+ goto yy695;
+ }
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy691;
+ }
+ if (yych <= 0x08)
+ goto yy695;
+ if (yych <= '\n')
+ goto yy693;
+ if (yych == '\r')
+ goto yy693;
+ goto yy695;
+ }
}
// Match setext heading line. Return 1 for level-1 heading,
// 2 for level-2, 0 for no match.
-bufsize_t _scan_setext_heading_line(const unsigned char *p)
-{
+bufsize_t _scan_setext_heading_line(const unsigned char *p) {
const unsigned char *marker = NULL;
-{
- unsigned char yych;
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 32, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 32, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 64, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 128, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *p;
- if (yych == '-') goto yy791;
- if (yych == '=') goto yy792;
- ++p;
-yy790:
- { return 0; }
-yy791:
- yych = *(marker = ++p);
- if (yybm[0+yych] & 64) {
- goto yy798;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy790;
- if (yych <= '\n') goto yy794;
- goto yy790;
- } else {
- if (yych <= '\r') goto yy794;
- if (yych == ' ') goto yy794;
- goto yy790;
- }
-yy792:
- yych = *(marker = ++p);
- if (yybm[0+yych] & 128) {
- goto yy804;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy790;
- if (yych <= '\n') goto yy801;
- goto yy790;
- } else {
- if (yych <= '\r') goto yy801;
- if (yych == ' ') goto yy801;
- goto yy790;
- }
-yy793:
- yych = *++p;
-yy794:
- if (yybm[0+yych] & 32) {
- goto yy793;
- }
- if (yych <= 0x08) goto yy795;
- if (yych <= '\n') goto yy796;
- if (yych == '\r') goto yy796;
-yy795:
- p = marker;
- goto yy790;
-yy796:
- ++p;
- { return 2; }
-yy798:
- yych = *++p;
- if (yybm[0+yych] & 32) {
- goto yy793;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy795;
- if (yych <= '\n') goto yy796;
- goto yy795;
- } else {
- if (yych <= '\r') goto yy796;
- if (yych == '-') goto yy798;
- goto yy795;
- }
-yy800:
- yych = *++p;
-yy801:
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy795;
- if (yych <= '\t') goto yy800;
- if (yych >= '\v') goto yy795;
- } else {
- if (yych <= '\r') goto yy802;
- if (yych == ' ') goto yy800;
- goto yy795;
- }
-yy802:
- ++p;
- { return 1; }
-yy804:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy804;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy795;
- if (yych <= '\t') goto yy800;
- if (yych <= '\n') goto yy802;
- goto yy795;
- } else {
- if (yych <= '\r') goto yy802;
- if (yych == ' ') goto yy800;
- goto yy795;
- }
-}
-
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych == '-')
+ goto yy699;
+ if (yych == '=')
+ goto yy700;
+ ++p;
+ yy698 : { return 0; }
+ yy699:
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy705;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy698;
+ if (yych <= '\n')
+ goto yy702;
+ goto yy698;
+ } else {
+ if (yych <= '\r')
+ goto yy702;
+ if (yych == ' ')
+ goto yy702;
+ goto yy698;
+ }
+ yy700:
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy709;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy698;
+ if (yych <= '\n')
+ goto yy707;
+ goto yy698;
+ } else {
+ if (yych <= '\r')
+ goto yy707;
+ if (yych == ' ')
+ goto yy707;
+ goto yy698;
+ }
+ yy701:
+ yych = *++p;
+ yy702:
+ if (yybm[0 + yych] & 32) {
+ goto yy701;
+ }
+ if (yych <= 0x08)
+ goto yy703;
+ if (yych <= '\n')
+ goto yy704;
+ if (yych == '\r')
+ goto yy704;
+ yy703:
+ p = marker;
+ goto yy698;
+ yy704:
+ ++p;
+ { return 2; }
+ yy705:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy701;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy703;
+ if (yych <= '\n')
+ goto yy704;
+ goto yy703;
+ } else {
+ if (yych <= '\r')
+ goto yy704;
+ if (yych == '-')
+ goto yy705;
+ goto yy703;
+ }
+ yy706:
+ yych = *++p;
+ yy707:
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy703;
+ if (yych <= '\t')
+ goto yy706;
+ if (yych >= '\v')
+ goto yy703;
+ } else {
+ if (yych <= '\r')
+ goto yy708;
+ if (yych == ' ')
+ goto yy706;
+ goto yy703;
+ }
+ yy708:
+ ++p;
+ { return 1; }
+ yy709:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy709;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy703;
+ if (yych <= '\t')
+ goto yy706;
+ if (yych <= '\n')
+ goto yy708;
+ goto yy703;
+ } else {
+ if (yych <= '\r')
+ goto yy708;
+ if (yych == ' ')
+ goto yy706;
+ goto yy703;
+ }
+ }
}
// Scan an opening code fence.
-bufsize_t _scan_open_code_fence(const unsigned char *p)
-{
+bufsize_t _scan_open_code_fence(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
-{
- unsigned char yych;
- static const unsigned char yybm[] = {
- 0, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 0, 192, 192, 0, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 144, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 224, 192,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *p;
- if (yych == '`') goto yy810;
- if (yych == '~') goto yy811;
- ++p;
-yy809:
- { return 0; }
-yy810:
- yych = *(marker = ++p);
- if (yych == '`') goto yy812;
- goto yy809;
-yy811:
- yych = *(marker = ++p);
- if (yych == '~') goto yy814;
- goto yy809;
-yy812:
- yych = *++p;
- if (yybm[0+yych] & 16) {
- goto yy815;
- }
-yy813:
- p = marker;
- goto yy809;
-yy814:
- yych = *++p;
- if (yybm[0+yych] & 32) {
- goto yy817;
- }
- goto yy813;
-yy815:
- yych = *++p;
- if (yybm[0+yych] & 16) {
- goto yy815;
- }
- if (yych <= 0xDF) {
- if (yych <= '\f') {
- if (yych <= 0x00) goto yy813;
- if (yych == '\n') {
- marker = p;
- goto yy821;
- }
- marker = p;
- goto yy819;
- } else {
- if (yych <= '\r') {
- marker = p;
- goto yy821;
- }
- if (yych <= 0x7F) {
- marker = p;
- goto yy819;
- }
- if (yych <= 0xC1) goto yy813;
- marker = p;
- goto yy823;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) {
- marker = p;
- goto yy824;
- }
- if (yych == 0xED) {
- marker = p;
- goto yy826;
- }
- marker = p;
- goto yy825;
- } else {
- if (yych <= 0xF0) {
- marker = p;
- goto yy827;
- }
- if (yych <= 0xF3) {
- marker = p;
- goto yy828;
- }
- if (yych <= 0xF4) {
- marker = p;
- goto yy829;
- }
- goto yy813;
- }
- }
-yy817:
- yych = *++p;
- if (yybm[0+yych] & 32) {
- goto yy817;
- }
- if (yych <= 0xDF) {
- if (yych <= '\f') {
- if (yych <= 0x00) goto yy813;
- if (yych == '\n') {
- marker = p;
- goto yy832;
- }
- marker = p;
- goto yy830;
- } else {
- if (yych <= '\r') {
- marker = p;
- goto yy832;
- }
- if (yych <= 0x7F) {
- marker = p;
- goto yy830;
- }
- if (yych <= 0xC1) goto yy813;
- marker = p;
- goto yy834;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) {
- marker = p;
- goto yy835;
- }
- if (yych == 0xED) {
- marker = p;
- goto yy837;
- }
- marker = p;
- goto yy836;
- } else {
- if (yych <= 0xF0) {
- marker = p;
- goto yy838;
- }
- if (yych <= 0xF3) {
- marker = p;
- goto yy839;
- }
- if (yych <= 0xF4) {
- marker = p;
- goto yy840;
- }
- goto yy813;
- }
- }
-yy819:
- yych = *++p;
- if (yybm[0+yych] & 64) {
- goto yy819;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy813;
- if (yych >= 0x0E) goto yy813;
- } else {
- if (yych <= 0xDF) goto yy823;
- if (yych <= 0xE0) goto yy824;
- goto yy825;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy826;
- if (yych <= 0xEF) goto yy825;
- goto yy827;
- } else {
- if (yych <= 0xF3) goto yy828;
- if (yych <= 0xF4) goto yy829;
- goto yy813;
- }
- }
-yy821:
- ++p;
- p = marker;
- { return (bufsize_t)(p - start); }
-yy823:
- yych = *++p;
- if (yych <= 0x7F) goto yy813;
- if (yych <= 0xBF) goto yy819;
- goto yy813;
-yy824:
- yych = *++p;
- if (yych <= 0x9F) goto yy813;
- if (yych <= 0xBF) goto yy823;
- goto yy813;
-yy825:
- yych = *++p;
- if (yych <= 0x7F) goto yy813;
- if (yych <= 0xBF) goto yy823;
- goto yy813;
-yy826:
- yych = *++p;
- if (yych <= 0x7F) goto yy813;
- if (yych <= 0x9F) goto yy823;
- goto yy813;
-yy827:
- yych = *++p;
- if (yych <= 0x8F) goto yy813;
- if (yych <= 0xBF) goto yy825;
- goto yy813;
-yy828:
- yych = *++p;
- if (yych <= 0x7F) goto yy813;
- if (yych <= 0xBF) goto yy825;
- goto yy813;
-yy829:
- yych = *++p;
- if (yych <= 0x7F) goto yy813;
- if (yych <= 0x8F) goto yy825;
- goto yy813;
-yy830:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy830;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy813;
- if (yych >= 0x0E) goto yy813;
- } else {
- if (yych <= 0xDF) goto yy834;
- if (yych <= 0xE0) goto yy835;
- goto yy836;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy837;
- if (yych <= 0xEF) goto yy836;
- goto yy838;
- } else {
- if (yych <= 0xF3) goto yy839;
- if (yych <= 0xF4) goto yy840;
- goto yy813;
- }
- }
-yy832:
- ++p;
- p = marker;
- { return (bufsize_t)(p - start); }
-yy834:
- yych = *++p;
- if (yych <= 0x7F) goto yy813;
- if (yych <= 0xBF) goto yy830;
- goto yy813;
-yy835:
- yych = *++p;
- if (yych <= 0x9F) goto yy813;
- if (yych <= 0xBF) goto yy834;
- goto yy813;
-yy836:
- yych = *++p;
- if (yych <= 0x7F) goto yy813;
- if (yych <= 0xBF) goto yy834;
- goto yy813;
-yy837:
- yych = *++p;
- if (yych <= 0x7F) goto yy813;
- if (yych <= 0x9F) goto yy834;
- goto yy813;
-yy838:
- yych = *++p;
- if (yych <= 0x8F) goto yy813;
- if (yych <= 0xBF) goto yy836;
- goto yy813;
-yy839:
- yych = *++p;
- if (yych <= 0x7F) goto yy813;
- if (yych <= 0xBF) goto yy836;
- goto yy813;
-yy840:
- yych = *++p;
- if (yych <= 0x7F) goto yy813;
- if (yych <= 0x8F) goto yy836;
- goto yy813;
-}
-
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 0, 192, 192, 0,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 144, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
+ 224, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych == '`')
+ goto yy712;
+ if (yych == '~')
+ goto yy713;
+ ++p;
+ yy711 : { return 0; }
+ yy712:
+ yych = *(marker = ++p);
+ if (yych == '`')
+ goto yy714;
+ goto yy711;
+ yy713:
+ yych = *(marker = ++p);
+ if (yych == '~')
+ goto yy716;
+ goto yy711;
+ yy714:
+ yych = *++p;
+ if (yybm[0 + yych] & 16) {
+ goto yy717;
+ }
+ yy715:
+ p = marker;
+ goto yy711;
+ yy716:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy718;
+ }
+ goto yy715;
+ yy717:
+ yych = *++p;
+ if (yybm[0 + yych] & 16) {
+ goto yy717;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '\f') {
+ if (yych <= 0x00)
+ goto yy715;
+ if (yych == '\n') {
+ marker = p;
+ goto yy720;
+ }
+ marker = p;
+ goto yy719;
+ } else {
+ if (yych <= '\r') {
+ marker = p;
+ goto yy720;
+ }
+ if (yych <= 0x7F) {
+ marker = p;
+ goto yy719;
+ }
+ if (yych <= 0xC1)
+ goto yy715;
+ marker = p;
+ goto yy721;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0) {
+ marker = p;
+ goto yy722;
+ }
+ if (yych == 0xED) {
+ marker = p;
+ goto yy724;
+ }
+ marker = p;
+ goto yy723;
+ } else {
+ if (yych <= 0xF0) {
+ marker = p;
+ goto yy725;
+ }
+ if (yych <= 0xF3) {
+ marker = p;
+ goto yy726;
+ }
+ if (yych <= 0xF4) {
+ marker = p;
+ goto yy727;
+ }
+ goto yy715;
+ }
+ }
+ yy718:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy718;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '\f') {
+ if (yych <= 0x00)
+ goto yy715;
+ if (yych == '\n') {
+ marker = p;
+ goto yy729;
+ }
+ marker = p;
+ goto yy728;
+ } else {
+ if (yych <= '\r') {
+ marker = p;
+ goto yy729;
+ }
+ if (yych <= 0x7F) {
+ marker = p;
+ goto yy728;
+ }
+ if (yych <= 0xC1)
+ goto yy715;
+ marker = p;
+ goto yy730;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0) {
+ marker = p;
+ goto yy731;
+ }
+ if (yych == 0xED) {
+ marker = p;
+ goto yy733;
+ }
+ marker = p;
+ goto yy732;
+ } else {
+ if (yych <= 0xF0) {
+ marker = p;
+ goto yy734;
+ }
+ if (yych <= 0xF3) {
+ marker = p;
+ goto yy735;
+ }
+ if (yych <= 0xF4) {
+ marker = p;
+ goto yy736;
+ }
+ goto yy715;
+ }
+ }
+ yy719:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy719;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy715;
+ if (yych >= 0x0E)
+ goto yy715;
+ } else {
+ if (yych <= 0xDF)
+ goto yy721;
+ if (yych <= 0xE0)
+ goto yy722;
+ goto yy723;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy724;
+ if (yych <= 0xEF)
+ goto yy723;
+ goto yy725;
+ } else {
+ if (yych <= 0xF3)
+ goto yy726;
+ if (yych <= 0xF4)
+ goto yy727;
+ goto yy715;
+ }
+ }
+ yy720:
+ ++p;
+ p = marker;
+ { return (bufsize_t)(p - start); }
+ yy721:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy715;
+ if (yych <= 0xBF)
+ goto yy719;
+ goto yy715;
+ yy722:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy715;
+ if (yych <= 0xBF)
+ goto yy721;
+ goto yy715;
+ yy723:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy715;
+ if (yych <= 0xBF)
+ goto yy721;
+ goto yy715;
+ yy724:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy715;
+ if (yych <= 0x9F)
+ goto yy721;
+ goto yy715;
+ yy725:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy715;
+ if (yych <= 0xBF)
+ goto yy723;
+ goto yy715;
+ yy726:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy715;
+ if (yych <= 0xBF)
+ goto yy723;
+ goto yy715;
+ yy727:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy715;
+ if (yych <= 0x8F)
+ goto yy723;
+ goto yy715;
+ yy728:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy728;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy715;
+ if (yych >= 0x0E)
+ goto yy715;
+ } else {
+ if (yych <= 0xDF)
+ goto yy730;
+ if (yych <= 0xE0)
+ goto yy731;
+ goto yy732;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy733;
+ if (yych <= 0xEF)
+ goto yy732;
+ goto yy734;
+ } else {
+ if (yych <= 0xF3)
+ goto yy735;
+ if (yych <= 0xF4)
+ goto yy736;
+ goto yy715;
+ }
+ }
+ yy729:
+ ++p;
+ p = marker;
+ { return (bufsize_t)(p - start); }
+ yy730:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy715;
+ if (yych <= 0xBF)
+ goto yy728;
+ goto yy715;
+ yy731:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy715;
+ if (yych <= 0xBF)
+ goto yy730;
+ goto yy715;
+ yy732:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy715;
+ if (yych <= 0xBF)
+ goto yy730;
+ goto yy715;
+ yy733:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy715;
+ if (yych <= 0x9F)
+ goto yy730;
+ goto yy715;
+ yy734:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy715;
+ if (yych <= 0xBF)
+ goto yy732;
+ goto yy715;
+ yy735:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy715;
+ if (yych <= 0xBF)
+ goto yy732;
+ goto yy715;
+ yy736:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy715;
+ if (yych <= 0x8F)
+ goto yy732;
+ goto yy715;
+ }
}
// Scan a closing code fence with length at least len.
-bufsize_t _scan_close_code_fence(const unsigned char *p)
-{
+bufsize_t _scan_close_code_fence(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
-{
- unsigned char yych;
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 128, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 32, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 64, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *p;
- if (yych == '`') goto yy845;
- if (yych == '~') goto yy846;
- ++p;
-yy844:
- { return 0; }
-yy845:
- yych = *(marker = ++p);
- if (yych == '`') goto yy847;
- goto yy844;
-yy846:
- yych = *(marker = ++p);
- if (yych == '~') goto yy849;
- goto yy844;
-yy847:
- yych = *++p;
- if (yybm[0+yych] & 32) {
- goto yy850;
- }
-yy848:
- p = marker;
- goto yy844;
-yy849:
- yych = *++p;
- if (yybm[0+yych] & 64) {
- goto yy852;
- }
- goto yy848;
-yy850:
- yych = *++p;
- if (yybm[0+yych] & 32) {
- goto yy850;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy848;
- if (yych <= '\t') {
- marker = p;
- goto yy854;
- }
- if (yych <= '\n') {
- marker = p;
- goto yy856;
- }
- goto yy848;
- } else {
- if (yych <= '\r') {
- marker = p;
- goto yy856;
- }
- if (yych == ' ') {
- marker = p;
- goto yy854;
- }
- goto yy848;
- }
-yy852:
- yych = *++p;
- if (yybm[0+yych] & 64) {
- goto yy852;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy848;
- if (yych <= '\t') {
- marker = p;
- goto yy858;
- }
- if (yych <= '\n') {
- marker = p;
- goto yy860;
- }
- goto yy848;
- } else {
- if (yych <= '\r') {
- marker = p;
- goto yy860;
- }
- if (yych == ' ') {
- marker = p;
- goto yy858;
- }
- goto yy848;
- }
-yy854:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy854;
- }
- if (yych <= 0x08) goto yy848;
- if (yych <= '\n') goto yy856;
- if (yych != '\r') goto yy848;
-yy856:
- ++p;
- p = marker;
- { return (bufsize_t)(p - start); }
-yy858:
- yych = *++p;
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy848;
- if (yych <= '\t') goto yy858;
- if (yych >= '\v') goto yy848;
- } else {
- if (yych <= '\r') goto yy860;
- if (yych == ' ') goto yy858;
- goto yy848;
- }
-yy860:
- ++p;
- p = marker;
- { return (bufsize_t)(p - start); }
-}
-
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych == '`')
+ goto yy739;
+ if (yych == '~')
+ goto yy740;
+ ++p;
+ yy738 : { return 0; }
+ yy739:
+ yych = *(marker = ++p);
+ if (yych == '`')
+ goto yy741;
+ goto yy738;
+ yy740:
+ yych = *(marker = ++p);
+ if (yych == '~')
+ goto yy743;
+ goto yy738;
+ yy741:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy744;
+ }
+ yy742:
+ p = marker;
+ goto yy738;
+ yy743:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy745;
+ }
+ goto yy742;
+ yy744:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy744;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy742;
+ if (yych <= '\t') {
+ marker = p;
+ goto yy746;
+ }
+ if (yych <= '\n') {
+ marker = p;
+ goto yy747;
+ }
+ goto yy742;
+ } else {
+ if (yych <= '\r') {
+ marker = p;
+ goto yy747;
+ }
+ if (yych == ' ') {
+ marker = p;
+ goto yy746;
+ }
+ goto yy742;
+ }
+ yy745:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy745;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy742;
+ if (yych <= '\t') {
+ marker = p;
+ goto yy748;
+ }
+ if (yych <= '\n') {
+ marker = p;
+ goto yy749;
+ }
+ goto yy742;
+ } else {
+ if (yych <= '\r') {
+ marker = p;
+ goto yy749;
+ }
+ if (yych == ' ') {
+ marker = p;
+ goto yy748;
+ }
+ goto yy742;
+ }
+ yy746:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy746;
+ }
+ if (yych <= 0x08)
+ goto yy742;
+ if (yych <= '\n')
+ goto yy747;
+ if (yych != '\r')
+ goto yy742;
+ yy747:
+ ++p;
+ p = marker;
+ { return (bufsize_t)(p - start); }
+ yy748:
+ yych = *++p;
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy742;
+ if (yych <= '\t')
+ goto yy748;
+ if (yych >= '\v')
+ goto yy742;
+ } else {
+ if (yych <= '\r')
+ goto yy749;
+ if (yych == ' ')
+ goto yy748;
+ goto yy742;
+ }
+ yy749:
+ ++p;
+ p = marker;
+ { return (bufsize_t)(p - start); }
+ }
}
// Scans an entity.
// Returns number of chars matched.
-bufsize_t _scan_entity(const unsigned char *p)
-{
+bufsize_t _scan_entity(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
-{
- unsigned char yych;
- yych = *p;
- if (yych == '&') goto yy866;
- ++p;
-yy865:
- { return 0; }
-yy866:
- yych = *(marker = ++p);
- if (yych <= '@') {
- if (yych != '#') goto yy865;
- } else {
- if (yych <= 'Z') goto yy869;
- if (yych <= '`') goto yy865;
- if (yych <= 'z') goto yy869;
- goto yy865;
- }
- yych = *++p;
- if (yych <= 'W') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy870;
- } else {
- if (yych <= 'X') goto yy871;
- if (yych == 'x') goto yy871;
- }
-yy868:
- p = marker;
- goto yy865;
-yy869:
- yych = *++p;
- if (yych <= '@') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy872;
- goto yy868;
- } else {
- if (yych <= 'Z') goto yy872;
- if (yych <= '`') goto yy868;
- if (yych <= 'z') goto yy872;
- goto yy868;
- }
-yy870:
- yych = *++p;
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy873;
- if (yych == ';') goto yy874;
- goto yy868;
-yy871:
- yych = *++p;
- if (yych <= '@') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy876;
- goto yy868;
- } else {
- if (yych <= 'F') goto yy876;
- if (yych <= '`') goto yy868;
- if (yych <= 'f') goto yy876;
- goto yy868;
- }
-yy872:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy877;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- goto yy877;
- } else {
- if (yych <= '`') goto yy868;
- if (yych <= 'z') goto yy877;
- goto yy868;
- }
- }
-yy873:
- yych = *++p;
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy878;
- if (yych != ';') goto yy868;
-yy874:
- ++p;
- { return (bufsize_t)(p - start); }
-yy876:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy879;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'F') {
- if (yych <= '@') goto yy868;
- goto yy879;
- } else {
- if (yych <= '`') goto yy868;
- if (yych <= 'f') goto yy879;
- goto yy868;
- }
- }
-yy877:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy880;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- goto yy880;
- } else {
- if (yych <= '`') goto yy868;
- if (yych <= 'z') goto yy880;
- goto yy868;
- }
- }
-yy878:
- yych = *++p;
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy881;
- if (yych == ';') goto yy874;
- goto yy868;
-yy879:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy882;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'F') {
- if (yych <= '@') goto yy868;
- goto yy882;
- } else {
- if (yych <= '`') goto yy868;
- if (yych <= 'f') goto yy882;
- goto yy868;
- }
- }
-yy880:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy883;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- goto yy883;
- } else {
- if (yych <= '`') goto yy868;
- if (yych <= 'z') goto yy883;
- goto yy868;
- }
- }
-yy881:
- yych = *++p;
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy884;
- if (yych == ';') goto yy874;
- goto yy868;
-yy882:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy885;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'F') {
- if (yych <= '@') goto yy868;
- goto yy885;
- } else {
- if (yych <= '`') goto yy868;
- if (yych <= 'f') goto yy885;
- goto yy868;
- }
- }
-yy883:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy886;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- goto yy886;
- } else {
- if (yych <= '`') goto yy868;
- if (yych <= 'z') goto yy886;
- goto yy868;
- }
- }
-yy884:
- yych = *++p;
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy887;
- if (yych == ';') goto yy874;
- goto yy868;
-yy885:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy888;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'F') {
- if (yych <= '@') goto yy868;
- goto yy888;
- } else {
- if (yych <= '`') goto yy868;
- if (yych <= 'f') goto yy888;
- goto yy868;
- }
- }
-yy886:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy889;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- goto yy889;
- } else {
- if (yych <= '`') goto yy868;
- if (yych <= 'z') goto yy889;
- goto yy868;
- }
- }
-yy887:
- yych = *++p;
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy890;
- if (yych == ';') goto yy874;
- goto yy868;
-yy888:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy890;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'F') {
- if (yych <= '@') goto yy868;
- goto yy890;
- } else {
- if (yych <= '`') goto yy868;
- if (yych <= 'f') goto yy890;
- goto yy868;
- }
- }
-yy889:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy891;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- goto yy891;
- } else {
- if (yych <= '`') goto yy868;
- if (yych <= 'z') goto yy891;
- goto yy868;
- }
- }
-yy890:
- yych = *++p;
- if (yych == ';') goto yy874;
- goto yy868;
-yy891:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy892;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy892:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy893;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy893:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy894;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy894:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy895;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy895:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy896;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy896:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy897;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy897:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy898;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy898:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy899;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy899:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy900;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy900:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy901;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy901:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy902;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy902:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy903;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy903:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy904;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy904:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy905;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy905:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy906;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy906:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy907;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy907:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy908;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy908:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy909;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy909:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy910;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy910:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy911;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy911:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy912;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy912:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy913;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy913:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy914;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- } else {
- if (yych <= '`') goto yy868;
- if (yych >= '{') goto yy868;
- }
- }
-yy914:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy868;
- if (yych <= '9') goto yy890;
- if (yych <= ':') goto yy868;
- goto yy874;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy868;
- goto yy890;
- } else {
- if (yych <= '`') goto yy868;
- if (yych <= 'z') goto yy890;
- goto yy868;
- }
- }
-}
-
+ {
+ unsigned char yych;
+ yych = *p;
+ if (yych == '&')
+ goto yy752;
+ ++p;
+ yy751 : { return 0; }
+ yy752:
+ yych = *(marker = ++p);
+ if (yych <= '@') {
+ if (yych != '#')
+ goto yy751;
+ } else {
+ if (yych <= 'Z')
+ goto yy754;
+ if (yych <= '`')
+ goto yy751;
+ if (yych <= 'z')
+ goto yy754;
+ goto yy751;
+ }
+ yych = *++p;
+ if (yych <= 'W') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy755;
+ } else {
+ if (yych <= 'X')
+ goto yy756;
+ if (yych == 'x')
+ goto yy756;
+ }
+ yy753:
+ p = marker;
+ goto yy751;
+ yy754:
+ yych = *++p;
+ if (yych <= '@') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy757;
+ goto yy753;
+ } else {
+ if (yych <= 'Z')
+ goto yy757;
+ if (yych <= '`')
+ goto yy753;
+ if (yych <= 'z')
+ goto yy757;
+ goto yy753;
+ }
+ yy755:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy758;
+ if (yych == ';')
+ goto yy759;
+ goto yy753;
+ yy756:
+ yych = *++p;
+ if (yych <= '@') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy760;
+ goto yy753;
+ } else {
+ if (yych <= 'F')
+ goto yy760;
+ if (yych <= '`')
+ goto yy753;
+ if (yych <= 'f')
+ goto yy760;
+ goto yy753;
+ }
+ yy757:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy761;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ goto yy761;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych <= 'z')
+ goto yy761;
+ goto yy753;
+ }
+ }
+ yy758:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy762;
+ if (yych != ';')
+ goto yy753;
+ yy759:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy760:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy763;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '@')
+ goto yy753;
+ goto yy763;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych <= 'f')
+ goto yy763;
+ goto yy753;
+ }
+ }
+ yy761:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy764;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ goto yy764;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych <= 'z')
+ goto yy764;
+ goto yy753;
+ }
+ }
+ yy762:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy765;
+ if (yych == ';')
+ goto yy759;
+ goto yy753;
+ yy763:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy766;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '@')
+ goto yy753;
+ goto yy766;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych <= 'f')
+ goto yy766;
+ goto yy753;
+ }
+ }
+ yy764:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy767;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ goto yy767;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych <= 'z')
+ goto yy767;
+ goto yy753;
+ }
+ }
+ yy765:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy768;
+ if (yych == ';')
+ goto yy759;
+ goto yy753;
+ yy766:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy769;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '@')
+ goto yy753;
+ goto yy769;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych <= 'f')
+ goto yy769;
+ goto yy753;
+ }
+ }
+ yy767:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy770;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ goto yy770;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych <= 'z')
+ goto yy770;
+ goto yy753;
+ }
+ }
+ yy768:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy771;
+ if (yych == ';')
+ goto yy759;
+ goto yy753;
+ yy769:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy772;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '@')
+ goto yy753;
+ goto yy772;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych <= 'f')
+ goto yy772;
+ goto yy753;
+ }
+ }
+ yy770:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy773;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ goto yy773;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych <= 'z')
+ goto yy773;
+ goto yy753;
+ }
+ }
+ yy771:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy774;
+ if (yych == ';')
+ goto yy759;
+ goto yy753;
+ yy772:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy774;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '@')
+ goto yy753;
+ goto yy774;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych <= 'f')
+ goto yy774;
+ goto yy753;
+ }
+ }
+ yy773:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy775;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ goto yy775;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych <= 'z')
+ goto yy775;
+ goto yy753;
+ }
+ }
+ yy774:
+ yych = *++p;
+ if (yych == ';')
+ goto yy759;
+ goto yy753;
+ yy775:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy776;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy776:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy777;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy777:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy778;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy778:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy779;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy779:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy780;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy780:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy781;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy781:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy782;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy782:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy783;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy783:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy784;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy784:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy785;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy785:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy786;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy786:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy787;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy787:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy788;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy788:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy789;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy789:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy790;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy790:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy791;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy791:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy792;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy792:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy793;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy793:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy794;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy794:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy795;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy795:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy796;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy796:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy797;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy797:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy798;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych >= '{')
+ goto yy753;
+ }
+ }
+ yy798:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy753;
+ if (yych <= '9')
+ goto yy774;
+ if (yych <= ':')
+ goto yy753;
+ goto yy759;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy753;
+ goto yy774;
+ } else {
+ if (yych <= '`')
+ goto yy753;
+ if (yych <= 'z')
+ goto yy774;
+ goto yy753;
+ }
+ }
+ }
}
// Returns positive value if a URL begins in a way that is potentially
// dangerous, with javascript:, vbscript:, file:, or data:, otherwise 0.
-bufsize_t _scan_dangerous_url(const unsigned char *p)
-{
+bufsize_t _scan_dangerous_url(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
-{
- unsigned char yych;
- unsigned int yyaccept = 0;
- yych = *p;
- if (yych <= 'V') {
- if (yych <= 'F') {
- if (yych == 'D') goto yy919;
- if (yych >= 'F') goto yy920;
- } else {
- if (yych == 'J') goto yy921;
- if (yych >= 'V') goto yy922;
- }
- } else {
- if (yych <= 'f') {
- if (yych == 'd') goto yy919;
- if (yych >= 'f') goto yy920;
- } else {
- if (yych <= 'j') {
- if (yych >= 'j') goto yy921;
- } else {
- if (yych == 'v') goto yy922;
- }
- }
- }
- ++p;
-yy918:
- { return 0; }
-yy919:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych == 'A') goto yy923;
- if (yych == 'a') goto yy923;
- goto yy918;
-yy920:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych == 'I') goto yy925;
- if (yych == 'i') goto yy925;
- goto yy918;
-yy921:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych == 'A') goto yy926;
- if (yych == 'a') goto yy926;
- goto yy918;
-yy922:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych == 'B') goto yy927;
- if (yych == 'b') goto yy927;
- goto yy918;
-yy923:
- yych = *++p;
- if (yych == 'T') goto yy928;
- if (yych == 't') goto yy928;
-yy924:
- p = marker;
- if (yyaccept == 0) {
- goto yy918;
- } else {
- goto yy936;
- }
-yy925:
- yych = *++p;
- if (yych == 'L') goto yy929;
- if (yych == 'l') goto yy929;
- goto yy924;
-yy926:
- yych = *++p;
- if (yych == 'V') goto yy930;
- if (yych == 'v') goto yy930;
- goto yy924;
-yy927:
- yych = *++p;
- if (yych == 'S') goto yy931;
- if (yych == 's') goto yy931;
- goto yy924;
-yy928:
- yych = *++p;
- if (yych == 'A') goto yy932;
- if (yych == 'a') goto yy932;
- goto yy924;
-yy929:
- yych = *++p;
- if (yych == 'E') goto yy933;
- if (yych == 'e') goto yy933;
- goto yy924;
-yy930:
- yych = *++p;
- if (yych == 'A') goto yy927;
- if (yych == 'a') goto yy927;
- goto yy924;
-yy931:
- yych = *++p;
- if (yych == 'C') goto yy934;
- if (yych == 'c') goto yy934;
- goto yy924;
-yy932:
- yych = *++p;
- if (yych == ':') goto yy935;
- goto yy924;
-yy933:
- yych = *++p;
- if (yych == ':') goto yy937;
- goto yy924;
-yy934:
- yych = *++p;
- if (yych == 'R') goto yy938;
- if (yych == 'r') goto yy938;
- goto yy924;
-yy935:
- yyaccept = 1;
- yych = *(marker = ++p);
- if (yych == 'I') goto yy939;
- if (yych == 'i') goto yy939;
-yy936:
- { return (bufsize_t)(p - start); }
-yy937:
- ++p;
- goto yy936;
-yy938:
- yych = *++p;
- if (yych == 'I') goto yy940;
- if (yych == 'i') goto yy940;
- goto yy924;
-yy939:
- yych = *++p;
- if (yych == 'M') goto yy941;
- if (yych == 'm') goto yy941;
- goto yy924;
-yy940:
- yych = *++p;
- if (yych == 'P') goto yy942;
- if (yych == 'p') goto yy942;
- goto yy924;
-yy941:
- yych = *++p;
- if (yych == 'A') goto yy943;
- if (yych == 'a') goto yy943;
- goto yy924;
-yy942:
- yych = *++p;
- if (yych == 'T') goto yy933;
- if (yych == 't') goto yy933;
- goto yy924;
-yy943:
- yych = *++p;
- if (yych == 'G') goto yy944;
- if (yych != 'g') goto yy924;
-yy944:
- yych = *++p;
- if (yych == 'E') goto yy945;
- if (yych != 'e') goto yy924;
-yy945:
- yych = *++p;
- if (yych != '/') goto yy924;
- yych = *++p;
- if (yych <= 'W') {
- if (yych <= 'J') {
- if (yych == 'G') goto yy947;
- if (yych <= 'I') goto yy924;
- goto yy948;
- } else {
- if (yych == 'P') goto yy949;
- if (yych <= 'V') goto yy924;
- goto yy950;
- }
- } else {
- if (yych <= 'j') {
- if (yych == 'g') goto yy947;
- if (yych <= 'i') goto yy924;
- goto yy948;
- } else {
- if (yych <= 'p') {
- if (yych <= 'o') goto yy924;
- goto yy949;
- } else {
- if (yych == 'w') goto yy950;
- goto yy924;
- }
- }
- }
-yy947:
- yych = *++p;
- if (yych == 'I') goto yy951;
- if (yych == 'i') goto yy951;
- goto yy924;
-yy948:
- yych = *++p;
- if (yych == 'P') goto yy952;
- if (yych == 'p') goto yy952;
- goto yy924;
-yy949:
- yych = *++p;
- if (yych == 'N') goto yy953;
- if (yych == 'n') goto yy953;
- goto yy924;
-yy950:
- yych = *++p;
- if (yych == 'E') goto yy954;
- if (yych == 'e') goto yy954;
- goto yy924;
-yy951:
- yych = *++p;
- if (yych == 'F') goto yy955;
- if (yych == 'f') goto yy955;
- goto yy924;
-yy952:
- yych = *++p;
- if (yych == 'E') goto yy953;
- if (yych != 'e') goto yy924;
-yy953:
- yych = *++p;
- if (yych == 'G') goto yy955;
- if (yych == 'g') goto yy955;
- goto yy924;
-yy954:
- yych = *++p;
- if (yych == 'B') goto yy957;
- if (yych == 'b') goto yy957;
- goto yy924;
-yy955:
- ++p;
- { return 0; }
-yy957:
- yych = *++p;
- if (yych == 'P') goto yy955;
- if (yych == 'p') goto yy955;
- goto yy924;
-}
-
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ yych = *p;
+ if (yych <= 'V') {
+ if (yych <= 'F') {
+ if (yych == 'D')
+ goto yy801;
+ if (yych >= 'F')
+ goto yy802;
+ } else {
+ if (yych == 'J')
+ goto yy803;
+ if (yych >= 'V')
+ goto yy804;
+ }
+ } else {
+ if (yych <= 'f') {
+ if (yych == 'd')
+ goto yy801;
+ if (yych >= 'f')
+ goto yy802;
+ } else {
+ if (yych <= 'j') {
+ if (yych >= 'j')
+ goto yy803;
+ } else {
+ if (yych == 'v')
+ goto yy804;
+ }
+ }
+ }
+ ++p;
+ yy800 : { return 0; }
+ yy801:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'A')
+ goto yy805;
+ if (yych == 'a')
+ goto yy805;
+ goto yy800;
+ yy802:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'I')
+ goto yy807;
+ if (yych == 'i')
+ goto yy807;
+ goto yy800;
+ yy803:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'A')
+ goto yy808;
+ if (yych == 'a')
+ goto yy808;
+ goto yy800;
+ yy804:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'B')
+ goto yy809;
+ if (yych == 'b')
+ goto yy809;
+ goto yy800;
+ yy805:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy810;
+ if (yych == 't')
+ goto yy810;
+ yy806:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy800;
+ } else {
+ goto yy818;
+ }
+ yy807:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy811;
+ if (yych == 'l')
+ goto yy811;
+ goto yy806;
+ yy808:
+ yych = *++p;
+ if (yych == 'V')
+ goto yy812;
+ if (yych == 'v')
+ goto yy812;
+ goto yy806;
+ yy809:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy813;
+ if (yych == 's')
+ goto yy813;
+ goto yy806;
+ yy810:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy814;
+ if (yych == 'a')
+ goto yy814;
+ goto yy806;
+ yy811:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy815;
+ if (yych == 'e')
+ goto yy815;
+ goto yy806;
+ yy812:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy809;
+ if (yych == 'a')
+ goto yy809;
+ goto yy806;
+ yy813:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy816;
+ if (yych == 'c')
+ goto yy816;
+ goto yy806;
+ yy814:
+ yych = *++p;
+ if (yych == ':')
+ goto yy817;
+ goto yy806;
+ yy815:
+ yych = *++p;
+ if (yych == ':')
+ goto yy819;
+ goto yy806;
+ yy816:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy820;
+ if (yych == 'r')
+ goto yy820;
+ goto yy806;
+ yy817:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yych == 'I')
+ goto yy821;
+ if (yych == 'i')
+ goto yy821;
+ yy818 : { return (bufsize_t)(p - start); }
+ yy819:
+ ++p;
+ goto yy818;
+ yy820:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy822;
+ if (yych == 'i')
+ goto yy822;
+ goto yy806;
+ yy821:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy823;
+ if (yych == 'm')
+ goto yy823;
+ goto yy806;
+ yy822:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy824;
+ if (yych == 'p')
+ goto yy824;
+ goto yy806;
+ yy823:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy825;
+ if (yych == 'a')
+ goto yy825;
+ goto yy806;
+ yy824:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy815;
+ if (yych == 't')
+ goto yy815;
+ goto yy806;
+ yy825:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy826;
+ if (yych != 'g')
+ goto yy806;
+ yy826:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy827;
+ if (yych != 'e')
+ goto yy806;
+ yy827:
+ yych = *++p;
+ if (yych != '/')
+ goto yy806;
+ yych = *++p;
+ if (yych <= 'W') {
+ if (yych <= 'J') {
+ if (yych == 'G')
+ goto yy828;
+ if (yych <= 'I')
+ goto yy806;
+ goto yy829;
+ } else {
+ if (yych == 'P')
+ goto yy830;
+ if (yych <= 'V')
+ goto yy806;
+ goto yy831;
+ }
+ } else {
+ if (yych <= 'j') {
+ if (yych == 'g')
+ goto yy828;
+ if (yych <= 'i')
+ goto yy806;
+ goto yy829;
+ } else {
+ if (yych <= 'p') {
+ if (yych <= 'o')
+ goto yy806;
+ goto yy830;
+ } else {
+ if (yych == 'w')
+ goto yy831;
+ goto yy806;
+ }
+ }
+ }
+ yy828:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy832;
+ if (yych == 'i')
+ goto yy832;
+ goto yy806;
+ yy829:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy833;
+ if (yych == 'p')
+ goto yy833;
+ goto yy806;
+ yy830:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy834;
+ if (yych == 'n')
+ goto yy834;
+ goto yy806;
+ yy831:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy835;
+ if (yych == 'e')
+ goto yy835;
+ goto yy806;
+ yy832:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy836;
+ if (yych == 'f')
+ goto yy836;
+ goto yy806;
+ yy833:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy834;
+ if (yych != 'e')
+ goto yy806;
+ yy834:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy836;
+ if (yych == 'g')
+ goto yy836;
+ goto yy806;
+ yy835:
+ yych = *++p;
+ if (yych == 'B')
+ goto yy837;
+ if (yych == 'b')
+ goto yy837;
+ goto yy806;
+ yy836:
+ ++p;
+ { return 0; }
+ yy837:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy836;
+ if (yych == 'p')
+ goto yy836;
+ goto yy806;
+ }
}
// Scans a footnote definition opening.
-bufsize_t _scan_footnote_definition(const unsigned char *p)
-{
+bufsize_t _scan_footnote_definition(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
-{
- unsigned char yych;
- static const unsigned char yybm[] = {
- 0, 64, 64, 64, 64, 64, 64, 64,
- 64, 128, 0, 64, 64, 0, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 128, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 0, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *p;
- if (yych == '[') goto yy962;
- ++p;
-yy961:
- { return 0; }
-yy962:
- yych = *(marker = ++p);
- if (yych != '^') goto yy961;
- yych = *++p;
- if (yych != ']') goto yy966;
-yy964:
- p = marker;
- goto yy961;
-yy965:
- yych = *++p;
-yy966:
- if (yybm[0+yych] & 64) {
- goto yy965;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= ' ') goto yy964;
- if (yych <= ']') goto yy974;
- goto yy964;
- } else {
- if (yych <= 0xDF) goto yy967;
- if (yych <= 0xE0) goto yy968;
- goto yy969;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy970;
- if (yych <= 0xEF) goto yy969;
- goto yy971;
- } else {
- if (yych <= 0xF3) goto yy972;
- if (yych <= 0xF4) goto yy973;
- goto yy964;
- }
- }
-yy967:
- yych = *++p;
- if (yych <= 0x7F) goto yy964;
- if (yych <= 0xBF) goto yy965;
- goto yy964;
-yy968:
- yych = *++p;
- if (yych <= 0x9F) goto yy964;
- if (yych <= 0xBF) goto yy967;
- goto yy964;
-yy969:
- yych = *++p;
- if (yych <= 0x7F) goto yy964;
- if (yych <= 0xBF) goto yy967;
- goto yy964;
-yy970:
- yych = *++p;
- if (yych <= 0x7F) goto yy964;
- if (yych <= 0x9F) goto yy967;
- goto yy964;
-yy971:
- yych = *++p;
- if (yych <= 0x8F) goto yy964;
- if (yych <= 0xBF) goto yy969;
- goto yy964;
-yy972:
- yych = *++p;
- if (yych <= 0x7F) goto yy964;
- if (yych <= 0xBF) goto yy969;
- goto yy964;
-yy973:
- yych = *++p;
- if (yych <= 0x7F) goto yy964;
- if (yych <= 0x8F) goto yy969;
- goto yy964;
-yy974:
- yych = *++p;
- if (yych != ':') goto yy964;
-yy975:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy975;
- }
- { return (bufsize_t)(p - start); }
-}
-
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 64, 64, 64, 64, 64, 64, 64, 64, 128, 0, 64, 64, 0, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ yych = *p;
+ if (yych == '[')
+ goto yy840;
+ ++p;
+ yy839 : { return 0; }
+ yy840:
+ yych = *(marker = ++p);
+ if (yych != '^')
+ goto yy839;
+ yych = *++p;
+ if (yych != ']')
+ goto yy843;
+ yy841:
+ p = marker;
+ goto yy839;
+ yy842:
+ yych = *++p;
+ yy843:
+ if (yybm[0 + yych] & 64) {
+ goto yy842;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= ' ')
+ goto yy841;
+ if (yych <= ']')
+ goto yy851;
+ goto yy841;
+ } else {
+ if (yych <= 0xDF)
+ goto yy844;
+ if (yych <= 0xE0)
+ goto yy845;
+ goto yy846;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy847;
+ if (yych <= 0xEF)
+ goto yy846;
+ goto yy848;
+ } else {
+ if (yych <= 0xF3)
+ goto yy849;
+ if (yych <= 0xF4)
+ goto yy850;
+ goto yy841;
+ }
+ }
+ yy844:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy841;
+ if (yych <= 0xBF)
+ goto yy842;
+ goto yy841;
+ yy845:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy841;
+ if (yych <= 0xBF)
+ goto yy844;
+ goto yy841;
+ yy846:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy841;
+ if (yych <= 0xBF)
+ goto yy844;
+ goto yy841;
+ yy847:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy841;
+ if (yych <= 0x9F)
+ goto yy844;
+ goto yy841;
+ yy848:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy841;
+ if (yych <= 0xBF)
+ goto yy846;
+ goto yy841;
+ yy849:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy841;
+ if (yych <= 0xBF)
+ goto yy846;
+ goto yy841;
+ yy850:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy841;
+ if (yych <= 0x8F)
+ goto yy846;
+ goto yy841;
+ yy851:
+ yych = *++p;
+ if (yych != ':')
+ goto yy841;
+ yy852:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy852;
+ }
+ { return (bufsize_t)(p - start); }
+ }
}
Index: cmarkgfm-2022.10.27/third_party/cmark/src/scanners.h
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/scanners.h
+++ cmarkgfm-2022.10.27/third_party/cmark/src/scanners.h
@@ -15,6 +15,10 @@ bufsize_t _scan_autolink_uri(const unsig
bufsize_t _scan_autolink_email(const unsigned char *p);
bufsize_t _scan_html_tag(const unsigned char *p);
bufsize_t _scan_liberal_html_tag(const unsigned char *p);
+bufsize_t _scan_html_comment(const unsigned char *p);
+bufsize_t _scan_html_pi(const unsigned char *p);
+bufsize_t _scan_html_declaration(const unsigned char *p);
+bufsize_t _scan_html_cdata(const unsigned char *p);
bufsize_t _scan_html_block_start(const unsigned char *p);
bufsize_t _scan_html_block_start_7(const unsigned char *p);
bufsize_t _scan_html_block_end_1(const unsigned char *p);
@@ -37,6 +41,10 @@ bufsize_t _scan_footnote_definition(cons
#define scan_autolink_email(c, n) _scan_at(&_scan_autolink_email, c, n)
#define scan_html_tag(c, n) _scan_at(&_scan_html_tag, c, n)
#define scan_liberal_html_tag(c, n) _scan_at(&_scan_liberal_html_tag, c, n)
+#define scan_html_comment(c, n) _scan_at(&_scan_html_comment, c, n)
+#define scan_html_pi(c, n) _scan_at(&_scan_html_pi, c, n)
+#define scan_html_declaration(c, n) _scan_at(&_scan_html_declaration, c, n)
+#define scan_html_cdata(c, n) _scan_at(&_scan_html_cdata, c, n)
#define scan_html_block_start(c, n) _scan_at(&_scan_html_block_start, c, n)
#define scan_html_block_start_7(c, n) _scan_at(&_scan_html_block_start_7, c, n)
#define scan_html_block_end_1(c, n) _scan_at(&_scan_html_block_end_1, c, n)
Index: cmarkgfm-2022.10.27/third_party/cmark/src/xml.c
===================================================================
--- cmarkgfm-2022.10.27.orig/third_party/cmark/src/xml.c
+++ cmarkgfm-2022.10.27/third_party/cmark/src/xml.c
@@ -11,6 +11,7 @@
#include "syntax_extension.h"
#define BUFFER_SIZE 100
+#define MAX_INDENT 40
// Functions to convert cmark_nodes to XML strings.
@@ -26,7 +27,7 @@ struct render_state {
static CMARK_INLINE void indent(struct render_state *state) {
int i;
- for (i = 0; i < state->indent; i++) {
+ for (i = 0; i < state->indent && i < MAX_INDENT; i++) {
cmark_strbuf_putc(state->xml, ' ');
}
}