summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2015-07-27 21:35:54 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2015-07-27 21:35:54 -0700
commit62cb38bf8a826125fba0034221343aa70dd3d415 (patch)
tree67348fa88068e1fdb2fca04d74c0ce60072bd280
parentaca7161e53ec40f6979d024d84afeb36fa911292 (diff)
Use clang-format, llvm style, for formatting.
* Reformatted all source files. * Added 'format' target to Makefile. * Removed 'astyle' target. * Updated .editorconfig.
-rw-r--r--.editorconfig4
-rw-r--r--Makefile8
-rw-r--r--man/man3/cmark.332
-rw-r--r--src/bench.h16
-rw-r--r--src/blocks.c1856
-rw-r--r--src/buffer.c460
-rw-r--r--src/buffer.h37
-rw-r--r--src/chunk.h158
-rw-r--r--src/cmark.c26
-rw-r--r--src/cmark.h270
-rw-r--r--src/cmark_ctype.c59
-rw-r--r--src/commonmark.c817
-rw-r--r--src/houdini.h36
-rw-r--r--src/houdini_href_e.c107
-rw-r--r--src/houdini_html_e.c87
-rw-r--r--src/houdini_html_u.c243
-rw-r--r--src/html.c598
-rw-r--r--src/inlines.c1999
-rw-r--r--src/inlines.h6
-rw-r--r--src/iterator.c222
-rw-r--r--src/iterator.h10
-rw-r--r--src/latex.c780
-rw-r--r--src/main.c343
-rw-r--r--src/man.c438
-rw-r--r--src/node.c1585
-rw-r--r--src/node.h95
-rw-r--r--src/parser.h28
-rw-r--r--src/references.c212
-rw-r--r--src/references.h18
-rw-r--r--src/render.c311
-rw-r--r--src/render.h63
-rw-r--r--src/scanners.c48597
-rw-r--r--src/scanners.h3
-rw-r--r--src/utf8.c695
-rw-r--r--src/xml.c279
35 files changed, 33323 insertions, 27175 deletions
diff --git a/.editorconfig b/.editorconfig
index 915ad66..12032e6 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -9,8 +9,8 @@ insert_final_newline = true
[*.{c,h}]
trim_trailing_whitespace = true
-indent_style = tab
-indent_size = 8
+indent_style = space
+indent_size = 2
[Makefile]
trim_trailing_whitespace = true
diff --git a/Makefile b/Makefile
index 6ff8b88..cc7d9b2 100644
--- a/Makefile
+++ b/Makefile
@@ -20,7 +20,7 @@ RELEASE?=CommonMark-$(VERSION)
INSTALL_PREFIX?=/usr/local
CLANG_CHECK?=clang-check
-.PHONY: all cmake_build spec leakcheck clean fuzztest dingus upload test update-site upload-site debug ubsan asan mingw archive bench astyle update-spec afl clang-check
+.PHONY: all cmake_build spec leakcheck clean fuzztest dingus upload test update-site upload-site debug ubsan asan mingw archive bench format update-spec afl clang-check
all: cmake_build man/man3/cmark.3
@@ -115,6 +115,7 @@ $(SRCDIR)/scanners.c: $(SRCDIR)/scanners.re
esac
re2c --case-insensitive -b -i --no-generation-date -8 \
--encoding-policy substitute -o $@ $<
+ clang-format -style llvm -i $@
# We include entities.inc in the repository, so normally this
# doesn't need to be regenerated:
@@ -167,9 +168,8 @@ bench: $(BENCHFILE)
done \
} 2>&1 | grep 'real' | awk '{print $$2}' | python3 'bench/stats.py'
-astyle:
- astyle --style=linux -t -p -r 'src/*.c' --exclude=scanners.c
- astyle --style=linux -t -p -r 'src/*.h' --exclude=html_unescape.h
+format:
+ clang-format -style llvm -i src/*.c src/*.h
operf: $(CMARK)
operf $< < $(BENCHINP) > /dev/null
diff --git a/man/man3/cmark.3 b/man/man3/cmark.3
index 1359fcc..4c539e8 100644
--- a/man/man3/cmark.3
+++ b/man/man3/cmark.3
@@ -1,4 +1,4 @@
-.TH cmark 3 "July 13, 2015" "LOCAL" "Library Functions Manual"
+.TH cmark 3 "July 27, 2015" "LOCAL" "Library Functions Manual"
.SH
NAME
.PP
@@ -24,7 +24,7 @@ Node Structure
Creating and Destroying Nodes
.PP
-\fIcmark_node*\f[] \fBcmark_node_new\f[](\fIcmark_node_type type\f[])
+\fIcmark_node *\f[] \fBcmark_node_new\f[](\fIcmark_node_type type\f[])
.PP
Creates a new node of type \f[I]type\f[]. Note that the node may have
@@ -41,34 +41,34 @@ Frees the memory allocated for a node.
Tree Traversal
.PP
-\fIcmark_node*\f[] \fBcmark_node_next\f[](\fIcmark_node *node\f[])
+\fIcmark_node *\f[] \fBcmark_node_next\f[](\fIcmark_node *node\f[])
.PP
Returns the next node in the sequence after \f[I]node\f[], or NULL if
there is none.
.PP
-\fIcmark_node*\f[] \fBcmark_node_previous\f[](\fIcmark_node *node\f[])
+\fIcmark_node *\f[] \fBcmark_node_previous\f[](\fIcmark_node *node\f[])
.PP
Returns the previous node in the sequence after \f[I]node\f[], or NULL
if there is none.
.PP
-\fIcmark_node*\f[] \fBcmark_node_parent\f[](\fIcmark_node *node\f[])
+\fIcmark_node *\f[] \fBcmark_node_parent\f[](\fIcmark_node *node\f[])
.PP
Returns the parent of \f[I]node\f[], or NULL if there is none.
.PP
-\fIcmark_node*\f[] \fBcmark_node_first_child\f[](\fIcmark_node *node\f[])
+\fIcmark_node *\f[] \fBcmark_node_first_child\f[](\fIcmark_node *node\f[])
.PP
Returns the first child of \f[I]node\f[], or NULL if \f[I]node\f[] has
no children.
.PP
-\fIcmark_node*\f[] \fBcmark_node_last_child\f[](\fIcmark_node *node\f[])
+\fIcmark_node *\f[] \fBcmark_node_last_child\f[](\fIcmark_node *node\f[])
.PP
Returns the last child of \f[I]node\f[], or NULL if \f[I]node\f[] has no
@@ -130,7 +130,7 @@ Nodes must only be modified after an \f[C]EXIT\f[] event, or an
\f[C]ENTER\f[] event for leaf nodes.
.PP
-\fIcmark_iter*\f[] \fBcmark_iter_new\f[](\fIcmark_node *root\f[])
+\fIcmark_iter *\f[] \fBcmark_iter_new\f[](\fIcmark_node *root\f[])
.PP
Creates a new iterator starting at \f[I]root\f[]. The current node and
@@ -152,7 +152,7 @@ Advances to the next node and returns the event type
\f[C]CMARK_EVENT_DONE\f[]).
.PP
-\fIcmark_node*\f[] \fBcmark_iter_get_node\f[](\fIcmark_iter *iter\f[])
+\fIcmark_node *\f[] \fBcmark_iter_get_node\f[](\fIcmark_iter *iter\f[])
.PP
Returns the current node.
@@ -164,7 +164,7 @@ Returns the current node.
Returns the current event type.
.PP
-\fIcmark_node*\f[] \fBcmark_iter_get_root\f[](\fIcmark_iter *iter\f[])
+\fIcmark_node *\f[] \fBcmark_iter_get_root\f[](\fIcmark_iter *iter\f[])
.PP
Returns the root node.
@@ -181,7 +181,7 @@ descendant of the root node or the root node itself.
Accessors
.PP
-\fIvoid*\f[] \fBcmark_node_get_user_data\f[](\fIcmark_node *node\f[])
+\fIvoid *\f[] \fBcmark_node_get_user_data\f[](\fIcmark_node *node\f[])
.PP
Returns the user data of \f[I]node\f[].
@@ -200,14 +200,14 @@ failure.
Returns the type of \f[I]node\f[], or \f[C]CMARK_NODE_NONE\f[] on error.
.PP
-\fIconst char*\f[] \fBcmark_node_get_type_string\f[](\fIcmark_node *node\f[])
+\fIconst char *\f[] \fBcmark_node_get_type_string\f[](\fIcmark_node *node\f[])
.PP
Like \f[I]cmark_node_get_type\f[], but returns a string representation
of the type, or \f[C]"<unknown>"\f[].
.PP
-\fIconst char*\f[] \fBcmark_node_get_literal\f[](\fIcmark_node *node\f[])
+\fIconst char *\f[] \fBcmark_node_get_literal\f[](\fIcmark_node *node\f[])
.PP
Returns the string contents of \f[I]node\f[], or NULL if none.
@@ -288,7 +288,7 @@ Returns 1 if \f[I]node\f[] is a tight list, 0 otherwise.
Sets the "tightness" of a list. Returns 1 on success, 0 on failure.
.PP
-\fIconst char*\f[] \fBcmark_node_get_fence_info\f[](\fIcmark_node *node\f[])
+\fIconst char *\f[] \fBcmark_node_get_fence_info\f[](\fIcmark_node *node\f[])
.PP
Returns the info string from a fenced code block, or NULL if none.
@@ -301,7 +301,7 @@ Sets the info string in a fenced code block, returning 1 on success and
0 on failure.
.PP
-\fIconst char*\f[] \fBcmark_node_get_url\f[](\fIcmark_node *node\f[])
+\fIconst char *\f[] \fBcmark_node_get_url\f[](\fIcmark_node *node\f[])
.PP
Gets the URL of a link or image \f[I]node\f[], or NULL if none.
@@ -314,7 +314,7 @@ Sets the URL of a link or image \f[I]node\f[]. Returns 1 on success, 0
on failure.
.PP
-\fIconst char*\f[] \fBcmark_node_get_title\f[](\fIcmark_node *node\f[])
+\fIconst char *\f[] \fBcmark_node_get_title\f[](\fIcmark_node *node\f[])
.PP
Gets the title of a link or image \f[I]node\f[], or NULL if none.
diff --git a/src/bench.h b/src/bench.h
index bbea2c6..744dea3 100644
--- a/src/bench.h
+++ b/src/bench.h
@@ -9,15 +9,15 @@ float _cmark_start_time;
float _cmark_end_time;
float _cmark_save_time;
-#define start_timer() \
- _cmark_save_time = _cmark_start_time; \
- _cmark_start_time = (float)clock()/CLOCKS_PER_SEC
+#define start_timer() \
+ _cmark_save_time = _cmark_start_time; \
+ _cmark_start_time = (float)clock() / CLOCKS_PER_SEC
-#define end_timer(M) \
- _cmark_end_time = (float)clock()/CLOCKS_PER_SEC; \
- fprintf(stderr, "[TIME] (%s:%d) %4.f ns " M "\n", __FILE__, \
- __LINE__, (_cmark_end_time - _cmark_start_time) * 1000000); \
- _cmark_start_time = _cmark_save_time;
+#define end_timer(M) \
+ _cmark_end_time = (float)clock() / CLOCKS_PER_SEC; \
+ fprintf(stderr, "[TIME] (%s:%d) %4.f ns " M "\n", __FILE__, __LINE__, \
+ (_cmark_end_time - _cmark_start_time) * 1000000); \
+ _cmark_start_time = _cmark_save_time;
#else
#define start_timer()
diff --git a/src/blocks.c b/src/blocks.c
index 8828a11..c466fc2 100644
--- a/src/blocks.c
+++ b/src/blocks.c
@@ -19,1036 +19,998 @@
#define peek_at(i, n) (i)->data[n]
-static inline bool
-S_is_line_end_char(char c)
-{
- return (c == '\n' || c == '\r');
+static inline bool S_is_line_end_char(char c) {
+ return (c == '\n' || c == '\r');
}
-static void
-S_parser_feed(cmark_parser *parser, const unsigned char *buffer, size_t len,
- bool eof);
-
-static void
-S_process_line(cmark_parser *parser, const unsigned char *buffer,
- bufsize_t bytes);
-
-static cmark_node* make_block(cmark_node_type tag, int start_line, int start_column)
-{
- cmark_node* e;
-
- e = (cmark_node *)calloc(1, sizeof(*e));
- if(e != NULL) {
- e->type = tag;
- e->open = true;
- e->start_line = start_line;
- e->start_column = start_column;
- e->end_line = start_line;
- cmark_strbuf_init(&e->string_content, 32);
- }
-
- return e;
+static void S_parser_feed(cmark_parser *parser, const unsigned char *buffer,
+ size_t len, bool eof);
+
+static void S_process_line(cmark_parser *parser, const unsigned char *buffer,
+ bufsize_t bytes);
+
+static cmark_node *make_block(cmark_node_type tag, int start_line,
+ int start_column) {
+ cmark_node *e;
+
+ e = (cmark_node *)calloc(1, sizeof(*e));
+ if (e != NULL) {
+ e->type = tag;
+ e->open = true;
+ e->start_line = start_line;
+ e->start_column = start_column;
+ e->end_line = start_line;
+ cmark_strbuf_init(&e->string_content, 32);
+ }
+
+ return e;
}
// Create a root document node.
-static cmark_node* make_document()
-{
- cmark_node *e = make_block(NODE_DOCUMENT, 1, 1);
- return e;
+static cmark_node *make_document() {
+ cmark_node *e = make_block(NODE_DOCUMENT, 1, 1);
+ return e;
}
-cmark_parser *cmark_parser_new(int options)
-{
- cmark_parser *parser = (cmark_parser*)malloc(sizeof(cmark_parser));
- cmark_node *document = make_document();
- cmark_strbuf *line = (cmark_strbuf*)malloc(sizeof(cmark_strbuf));
- cmark_strbuf *buf = (cmark_strbuf*)malloc(sizeof(cmark_strbuf));
- cmark_strbuf_init(line, 256);
- cmark_strbuf_init(buf, 0);
-
- parser->refmap = cmark_reference_map_new();
- parser->root = document;
- parser->current = document;
- parser->line_number = 0;
- parser->offset = 0;
- parser->column = 0;
- parser->first_nonspace = 0;
- parser->first_nonspace_column = 0;
- parser->indent = 0;
- parser->blank = false;
- parser->curline = line;
- parser->last_line_length = 0;
- parser->linebuf = buf;
- parser->options = options;
-
- return parser;
+cmark_parser *cmark_parser_new(int options) {
+ cmark_parser *parser = (cmark_parser *)malloc(sizeof(cmark_parser));
+ cmark_node *document = make_document();
+ cmark_strbuf *line = (cmark_strbuf *)malloc(sizeof(cmark_strbuf));
+ cmark_strbuf *buf = (cmark_strbuf *)malloc(sizeof(cmark_strbuf));
+ cmark_strbuf_init(line, 256);
+ cmark_strbuf_init(buf, 0);
+
+ parser->refmap = cmark_reference_map_new();
+ parser->root = document;
+ parser->current = document;
+ parser->line_number = 0;
+ parser->offset = 0;
+ parser->column = 0;
+ parser->first_nonspace = 0;
+ parser->first_nonspace_column = 0;
+ parser->indent = 0;
+ parser->blank = false;
+ parser->curline = line;
+ parser->last_line_length = 0;
+ parser->linebuf = buf;
+ parser->options = options;
+
+ return parser;
}
-void cmark_parser_free(cmark_parser *parser)
-{
- cmark_strbuf_free(parser->curline);
- free(parser->curline);
- cmark_strbuf_free(parser->linebuf);
- free(parser->linebuf);
- cmark_reference_map_free(parser->refmap);
- free(parser);
+void cmark_parser_free(cmark_parser *parser) {
+ cmark_strbuf_free(parser->curline);
+ free(parser->curline);
+ cmark_strbuf_free(parser->linebuf);
+ free(parser->linebuf);
+ cmark_reference_map_free(parser->refmap);
+ free(parser);
}
-static cmark_node*
-finalize(cmark_parser *parser, cmark_node* b);
+static cmark_node *finalize(cmark_parser *parser, cmark_node *b);
// Returns true if line has only space characters, else false.
-static bool is_blank(cmark_strbuf *s, bufsize_t offset)
-{
- while (offset < s->size) {
- switch (s->ptr[offset]) {
- case '\r':
- case '\n':
- return true;
- case ' ':
- offset++;
- break;
- case '\t':
- offset++;
- break;
- default:
- return false;
- }
- }
-
- return true;
+static bool is_blank(cmark_strbuf *s, bufsize_t offset) {
+ while (offset < s->size) {
+ switch (s->ptr[offset]) {
+ case '\r':
+ case '\n':
+ return true;
+ case ' ':
+ offset++;
+ break;
+ case '\t':
+ offset++;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ return true;
}
-static inline bool can_contain(cmark_node_type parent_type, cmark_node_type child_type)
-{
- return ( parent_type == NODE_DOCUMENT ||
- parent_type == NODE_BLOCK_QUOTE ||
- parent_type == NODE_ITEM ||
- (parent_type == NODE_LIST && child_type == NODE_ITEM) );
+static inline bool can_contain(cmark_node_type parent_type,
+ cmark_node_type child_type) {
+ return (parent_type == NODE_DOCUMENT || parent_type == NODE_BLOCK_QUOTE ||
+ parent_type == NODE_ITEM ||
+ (parent_type == NODE_LIST && child_type == NODE_ITEM));
}
-static inline bool accepts_lines(cmark_node_type block_type)
-{
- return (block_type == NODE_PARAGRAPH ||
- block_type == NODE_HEADER ||
- block_type == NODE_CODE_BLOCK);
+static inline bool accepts_lines(cmark_node_type block_type) {
+ return (block_type == NODE_PARAGRAPH || block_type == NODE_HEADER ||
+ block_type == NODE_CODE_BLOCK);
}
-static void add_line(cmark_node* node, cmark_chunk *ch, bufsize_t offset)
-{
- assert(node->open);
- cmark_strbuf_put(&node->string_content, ch->data + offset, ch->len - offset);
+static void add_line(cmark_node *node, cmark_chunk *ch, bufsize_t offset) {
+ assert(node->open);
+ cmark_strbuf_put(&node->string_content, ch->data + offset, ch->len - offset);
}
-static void remove_trailing_blank_lines(cmark_strbuf *ln)
-{
- bufsize_t i;
- unsigned char c;
-
- for (i = ln->size - 1; i >= 0; --i) {
- c = ln->ptr[i];
+static void remove_trailing_blank_lines(cmark_strbuf *ln) {
+ bufsize_t i;
+ unsigned char c;
- if (c != ' ' && c != '\t' && !S_is_line_end_char(c))
- break;
- }
+ for (i = ln->size - 1; i >= 0; --i) {
+ c = ln->ptr[i];
- if (i < 0) {
- cmark_strbuf_clear(ln);
- return;
- }
+ if (c != ' ' && c != '\t' && !S_is_line_end_char(c))
+ break;
+ }
+ if (i < 0) {
+ cmark_strbuf_clear(ln);
+ return;
+ }
- for(; i < ln->size; ++i) {
- c = ln->ptr[i];
+ for (; i < ln->size; ++i) {
+ c = ln->ptr[i];
- if (!S_is_line_end_char(c))
- continue;
+ if (!S_is_line_end_char(c))
+ continue;
- cmark_strbuf_truncate(ln, i);
- break;
- }
+ cmark_strbuf_truncate(ln, i);
+ break;
+ }
}
// Check to see if a node ends with a blank line, descending
// if needed into lists and sublists.
-static bool ends_with_blank_line(cmark_node* node)
-{
- cmark_node *cur = node;
- while (cur != NULL) {
- if (cur->last_line_blank) {
- return true;
- }
- if (cur->type == NODE_LIST || cur->type == NODE_ITEM) {
- cur = cur->last_child;
- } else {
- cur = NULL;
- }
- }
- return false;
+static bool ends_with_blank_line(cmark_node *node) {
+ cmark_node *cur = node;
+ while (cur != NULL) {
+ if (cur->last_line_blank) {
+ return true;
+ }
+ if (cur->type == NODE_LIST || cur->type == NODE_ITEM) {
+ cur = cur->last_child;
+ } else {
+ cur = NULL;
+ }
+ }
+ return false;
}
// Break out of all containing lists
-static int break_out_of_lists(cmark_parser *parser, cmark_node ** bptr)
-{
- cmark_node *container = *bptr;
- cmark_node *b = parser->root;
- // find first containing NODE_LIST:
- while (b && b->type != NODE_LIST) {
- b = b->last_child;
- }
- if (b) {
- while (container && container != b) {
- container = finalize(parser, container);
- }
- finalize(parser, b);
- *bptr = b->parent;
- }
- return 0;
+static int break_out_of_lists(cmark_parser *parser, cmark_node **bptr) {
+ cmark_node *container = *bptr;
+ cmark_node *b = parser->root;
+ // find first containing NODE_LIST:
+ while (b && b->type != NODE_LIST) {
+ b = b->last_child;
+ }
+ if (b) {
+ while (container && container != b) {
+ container = finalize(parser, container);
+ }
+ finalize(parser, b);
+ *bptr = b->parent;
+ }
+ return 0;
}
-
-static cmark_node*
-finalize(cmark_parser *parser, cmark_node* b)
-{
- bufsize_t pos;
- cmark_node* item;
- cmark_node* subitem;
- cmark_node* parent;
-
- parent = b->parent;
-
- assert(b->open); // shouldn't call finalize on closed blocks
- b->open = false;
-
- if (parser->curline->size == 0) {
- // end of input - line number has not been incremented
- b->end_line = parser->line_number;
- b->end_column = parser->last_line_length;
- } else if (b->type == NODE_DOCUMENT ||
- (b->type == NODE_CODE_BLOCK && b->as.code.fenced) ||
- (b->type == NODE_HEADER && b->as.header.setext)) {
- b->end_line = parser->line_number;
- b->end_column = parser->curline->size;
- if (b->end_column && parser->curline->ptr[b->end_column - 1] == '\n')
- b->end_column -= 1;
- if (b->end_column && parser->curline->ptr[b->end_column - 1] == '\r')
- b->end_column -= 1;
- } else {
- b->end_line = parser->line_number - 1;
- b->end_column = parser->last_line_length;
- }
-
- switch (b->type) {
- case NODE_PARAGRAPH:
- while (cmark_strbuf_at(&b->string_content, 0) == '[' &&
- (pos = cmark_parse_reference_inline(&b->string_content, parser->refmap))) {
-
- cmark_strbuf_drop(&b->string_content, pos);
- }
- if (is_blank(&b->string_content, 0)) {
- // remove blank node (former reference def)
- cmark_node_free(b);
- }
- break;
-
- case NODE_CODE_BLOCK:
- if (!b->as.code.fenced) { // indented code
- remove_trailing_blank_lines(&b->string_content);
- cmark_strbuf_putc(&b->string_content, '\n');
- } else {
-
- // first line of contents becomes info
- for (pos = 0; pos < b->string_content.size; ++pos) {
- if (S_is_line_end_char(b->string_content.ptr[pos]))
- break;
- }
- assert(pos < b->string_content.size);
-
- cmark_strbuf tmp = GH_BUF_INIT;
- houdini_unescape_html_f(
- &tmp,
- b->string_content.ptr,
- pos
- );
- cmark_strbuf_trim(&tmp);
- cmark_strbuf_unescape(&tmp);
- b->as.code.info = cmark_chunk_buf_detach(&tmp);
-
- if (b->string_content.ptr[pos] == '\r')
- pos += 1;
- if (b->string_content.ptr[pos] == '\n')
- pos += 1;
- cmark_strbuf_drop(&b->string_content, pos);
- }
- b->as.code.literal = cmark_chunk_buf_detach(&b->string_content);
- break;
-
- case NODE_HTML:
- b->as.literal = cmark_chunk_buf_detach(&b->string_content);
- break;
-
- case NODE_LIST: // determine tight/loose status
- b->as.list.tight = true; // tight by default
- item = b->first_child;
-
- while (item) {
- // check for non-final non-empty list item ending with blank line:
- if (item->last_line_blank && item->next) {
- b->as.list.tight = false;
- break;
- }
- // recurse into children of list item, to see if there are
- // spaces between them:
- subitem = item->first_child;
- while (subitem) {
- if (ends_with_blank_line(subitem) &&
- (item->next || subitem->next)) {
- b->as.list.tight = false;
- break;
- }
- subitem = subitem->next;
- }
- if (!(b->as.list.tight)) {
- break;
- }
- item = item->next;
- }
-
- break;
-
- default:
- break;
- }
- return parent;
+static cmark_node *finalize(cmark_parser *parser, cmark_node *b) {
+ bufsize_t pos;
+ cmark_node *item;
+ cmark_node *subitem;
+ cmark_node *parent;
+
+ parent = b->parent;
+
+ assert(b->open); // shouldn't call finalize on closed blocks
+ b->open = false;
+
+ if (parser->curline->size == 0) {
+ // end of input - line number has not been incremented
+ b->end_line = parser->line_number;
+ b->end_column = parser->last_line_length;
+ } else if (b->type == NODE_DOCUMENT ||
+ (b->type == NODE_CODE_BLOCK && b->as.code.fenced) ||
+ (b->type == NODE_HEADER && b->as.header.setext)) {
+ b->end_line = parser->line_number;
+ b->end_column = parser->curline->size;
+ if (b->end_column && parser->curline->ptr[b->end_column - 1] == '\n')
+ b->end_column -= 1;
+ if (b->end_column && parser->curline->ptr[b->end_column - 1] == '\r')
+ b->end_column -= 1;
+ } else {
+ b->end_line = parser->line_number - 1;
+ b->end_column = parser->last_line_length;
+ }
+
+ switch (b->type) {
+ case NODE_PARAGRAPH:
+ while (cmark_strbuf_at(&b->string_content, 0) == '[' &&
+ (pos = cmark_parse_reference_inline(&b->string_content,
+ parser->refmap))) {
+
+ cmark_strbuf_drop(&b->string_content, pos);
+ }
+ if (is_blank(&b->string_content, 0)) {
+ // remove blank node (former reference def)
+ cmark_node_free(b);
+ }
+ break;
+
+ case NODE_CODE_BLOCK:
+ if (!b->as.code.fenced) { // indented code
+ remove_trailing_blank_lines(&b->string_content);
+ cmark_strbuf_putc(&b->string_content, '\n');
+ } else {
+
+ // first line of contents becomes info
+ for (pos = 0; pos < b->string_content.size; ++pos) {
+ if (S_is_line_end_char(b->string_content.ptr[pos]))
+ break;
+ }
+ assert(pos < b->string_content.size);
+
+ cmark_strbuf tmp = GH_BUF_INIT;
+ houdini_unescape_html_f(&tmp, b->string_content.ptr, pos);
+ cmark_strbuf_trim(&tmp);
+ cmark_strbuf_unescape(&tmp);
+ b->as.code.info = cmark_chunk_buf_detach(&tmp);
+
+ if (b->string_content.ptr[pos] == '\r')
+ pos += 1;
+ if (b->string_content.ptr[pos] == '\n')
+ pos += 1;
+ cmark_strbuf_drop(&b->string_content, pos);
+ }
+ b->as.code.literal = cmark_chunk_buf_detach(&b->string_content);
+ break;
+
+ case NODE_HTML:
+ b->as.literal = cmark_chunk_buf_detach(&b->string_content);
+ break;
+
+ case NODE_LIST: // determine tight/loose status
+ b->as.list.tight = true; // tight by default
+ item = b->first_child;
+
+ while (item) {
+ // check for non-final non-empty list item ending with blank line:
+ if (item->last_line_blank && item->next) {
+ b->as.list.tight = false;
+ break;
+ }
+ // recurse into children of list item, to see if there are
+ // spaces between them:
+ subitem = item->first_child;
+ while (subitem) {
+ if (ends_with_blank_line(subitem) && (item->next || subitem->next)) {
+ b->as.list.tight = false;
+ break;
+ }
+ subitem = subitem->next;
+ }
+ if (!(b->as.list.tight)) {
+ break;
+ }
+ item = item->next;
+ }
+
+ break;
+
+ default:
+ break;
+ }
+ return parent;
}
// Add a node as child of another. Return pointer to child.
-static cmark_node* add_child(cmark_parser *parser, cmark_node* parent,
- cmark_node_type block_type, int start_column)
-{
- assert(parent);
-
- // if 'parent' isn't the kind of node that can accept this child,
- // then back up til we hit a node that can.
- while (!can_contain(parent->type, block_type)) {
- parent = finalize(parser, parent);
- }
-
- cmark_node* child = make_block(block_type, parser->line_number, start_column);
- child->parent = parent;
-
- if (parent->last_child) {
- parent->last_child->next = child;
- child->prev = parent->last_child;
- } else {
- parent->first_child = child;
- child->prev = NULL;
- }
- parent->last_child = child;
- return child;
+static cmark_node *add_child(cmark_parser *parser, cmark_node *parent,
+ cmark_node_type block_type, int start_column) {
+ assert(parent);
+
+ // if 'parent' isn't the kind of node that can accept this child,
+ // then back up til we hit a node that can.
+ while (!can_contain(parent->type, block_type)) {
+ parent = finalize(parser, parent);
+ }
+
+ cmark_node *child = make_block(block_type, parser->line_number, start_column);
+ child->parent = parent;
+
+ if (parent->last_child) {
+ parent->last_child->next = child;
+ child->prev = parent->last_child;
+ } else {
+ parent->first_child = child;
+ child->prev = NULL;
+ }
+ parent->last_child = child;
+ return child;
}
-
// Walk through node and all children, recursively, parsing
// string content into inline content where appropriate.
-static void process_inlines(cmark_node* root, cmark_reference_map *refmap, int options)
-{
- cmark_iter *iter = cmark_iter_new(root);
- cmark_node *cur;
- cmark_event_type ev_type;
-
- while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
- cur = cmark_iter_get_node(iter);
- if (ev_type == CMARK_EVENT_ENTER) {
- if (cur->type == NODE_PARAGRAPH ||
- cur->type == NODE_HEADER) {
- cmark_parse_inlines(cur, refmap, options);
- }
- }
- }
-
- cmark_iter_free(iter);
+static void process_inlines(cmark_node *root, cmark_reference_map *refmap,
+ int options) {
+ cmark_iter *iter = cmark_iter_new(root);
+ cmark_node *cur;
+ cmark_event_type ev_type;
+
+ while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
+ cur = cmark_iter_get_node(iter);
+ if (ev_type == CMARK_EVENT_ENTER) {
+ if (cur->type == NODE_PARAGRAPH || cur->type == NODE_HEADER) {
+ cmark_parse_inlines(cur, refmap, options);
+ }
+ }
+ }
+
+ cmark_iter_free(iter);
}
// Attempts to parse a list item marker (bullet or enumerated).
// On success, returns length of the marker, and populates
// data with the details. On failure, returns 0.
-static bufsize_t parse_list_marker(cmark_chunk *input, bufsize_t pos, cmark_list **dataptr)
-{
- unsigned char c;
- bufsize_t startpos;
- cmark_list *data;
-
- startpos = pos;
- c = peek_at(input, pos);
-
- if (c == '*' || c == '-' || c == '+') {
- pos++;
- if (!cmark_isspace(peek_at(input, pos))) {
- return 0;
- }
- data = (cmark_list *)calloc(1, sizeof(*data));
- if(data == NULL) {
- return 0;
- } else {
- data->marker_offset = 0; // will be adjusted later
- data->list_type = CMARK_BULLET_LIST;
- data->bullet_char = c;
- data->start = 1;
- data->delimiter = CMARK_PERIOD_DELIM;
- data->tight = false;
- }
- } else if (cmark_isdigit(c)) {
- int start = 0;
- int digits = 0;
-
- do {
- start = (10 * start) + (peek_at(input, pos) - '0');
- pos++;
- digits++;
- // We limit to 9 digits to avoid overflow,
- // assuming max int is 2^31 - 1
- // This also seems to be the limit for 'start' in some browsers.
- } while (digits < 9 && cmark_isdigit(peek_at(input, pos)));
-
- c = peek_at(input, pos);
- if (c == '.' || c == ')') {
- pos++;
- if (!cmark_isspace(peek_at(input, pos))) {
- return 0;
- }
- data = (cmark_list *)calloc(1, sizeof(*data));
- if(data == NULL) {
- return 0;
- } else {
- data->marker_offset = 0; // will be adjusted later
- data->list_type = CMARK_ORDERED_LIST;
- data->bullet_char = 0;
- data->start = start;
- data->delimiter = (c == '.' ? CMARK_PERIOD_DELIM : CMARK_PAREN_DELIM);
- data->tight = false;
- }
- } else {
- return 0;
- }
-
- } else {
- return 0;
- }
-
- *dataptr = data;
- return (pos - startpos);
+static bufsize_t parse_list_marker(cmark_chunk *input, bufsize_t pos,
+ cmark_list **dataptr) {
+ unsigned char c;
+ bufsize_t startpos;
+ cmark_list *data;
+
+ startpos = pos;
+ c = peek_at(input, pos);
+
+ if (c == '*' || c == '-' || c == '+') {
+ pos++;
+ if (!cmark_isspace(peek_at(input, pos))) {
+ return 0;
+ }
+ data = (cmark_list *)calloc(1, sizeof(*data));
+ if (data == NULL) {
+ return 0;
+ } else {
+ data->marker_offset = 0; // will be adjusted later
+ data->list_type = CMARK_BULLET_LIST;
+ data->bullet_char = c;
+ data->start = 1;
+ data->delimiter = CMARK_PERIOD_DELIM;
+ data->tight = false;
+ }
+ } else if (cmark_isdigit(c)) {
+ int start = 0;
+ int digits = 0;
+
+ do {
+ start = (10 * start) + (peek_at(input, pos) - '0');
+ pos++;
+ digits++;
+ // We limit to 9 digits to avoid overflow,
+ // assuming max int is 2^31 - 1
+ // This also seems to be the limit for 'start' in some browsers.
+ } while (digits < 9 && cmark_isdigit(peek_at(input, pos)));
+
+ c = peek_at(input, pos);
+ if (c == '.' || c == ')') {
+ pos++;
+ if (!cmark_isspace(peek_at(input, pos))) {
+ return 0;
+ }
+ data = (cmark_list *)calloc(1, sizeof(*data));
+ if (data == NULL) {
+ return 0;
+ } else {
+ data->marker_offset = 0; // will be adjusted later
+ data->list_type = CMARK_ORDERED_LIST;
+ data->bullet_char = 0;
+ data->start = start;
+ data->delimiter = (c == '.' ? CMARK_PERIOD_DELIM : CMARK_PAREN_DELIM);
+ data->tight = false;
+ }
+ } else {
+ return 0;
+ }
+
+ } else {
+ return 0;
+ }
+
+ *dataptr = data;
+ return (pos - startpos);
}
// Return 1 if list item belongs in list, else 0.
-static int lists_match(cmark_list *list_data, cmark_list *item_data)
-{
- return (list_data->list_type == item_data->list_type &&
- list_data->delimiter == item_data->delimiter &&
- // list_data->marker_offset == item_data.marker_offset &&
- list_data->bullet_char == item_data->bullet_char);
+static int lists_match(cmark_list *list_data, cmark_list *item_data) {
+ return (list_data->list_type == item_data->list_type &&
+ list_data->delimiter == item_data->delimiter &&
+ // list_data->marker_offset == item_data.marker_offset &&
+ list_data->bullet_char == item_data->bullet_char);
}
-static cmark_node *finalize_document(cmark_parser *parser)
-{
- while (parser->current != parser->root) {
- parser->current = finalize(parser, parser->current);
- }
+static cmark_node *finalize_document(cmark_parser *parser) {
+ while (parser->current != parser->root) {
+ parser->current = finalize(parser, parser->current);
+ }
- finalize(parser, parser->root);
- process_inlines(parser->root, parser->refmap, parser->options);
+ finalize(parser, parser->root);
+ process_inlines(parser->root, parser->refmap, parser->options);
- return parser->root;
+ return parser->root;
}
-cmark_node *cmark_parse_file(FILE *f, int options)
-{
- unsigned char buffer[4096];
- cmark_parser *parser = cmark_parser_new(options);
- size_t bytes;
- cmark_node *document;
-
- while ((bytes = fread(buffer, 1, sizeof(buffer), f)) > 0) {
- bool eof = bytes < sizeof(buffer);
- S_parser_feed(parser, buffer, bytes, eof);
- if (eof) {
- break;
- }
- }
-
- document = cmark_parser_finish(parser);
- cmark_parser_free(parser);
- return document;
+cmark_node *cmark_parse_file(FILE *f, int options) {
+ unsigned char buffer[4096];
+ cmark_parser *parser = cmark_parser_new(options);
+ size_t bytes;
+ cmark_node *document;
+
+ while ((bytes = fread(buffer, 1, sizeof(buffer), f)) > 0) {
+ bool eof = bytes < sizeof(buffer);
+ S_parser_feed(parser, buffer, bytes, eof);
+ if (eof) {
+ break;
+ }
+ }
+
+ document = cmark_parser_finish(parser);
+ cmark_parser_free(parser);
+ return document;
}
-cmark_node *cmark_parse_document(const char *buffer, size_t len, int options)
-{
- cmark_parser *parser = cmark_parser_new(options);
- cmark_node *document;
+cmark_node *cmark_parse_document(const char *buffer, size_t len, int options) {
+ cmark_parser *parser = cmark_parser_new(options);
+ cmark_node *document;
- S_parser_feed(parser, (const unsigned char *)buffer, len, true);
+ S_parser_feed(parser, (const unsigned char *)buffer, len, true);
- document = cmark_parser_finish(parser);
- cmark_parser_free(parser);
- return document;
+ document = cmark_parser_finish(parser);
+ cmark_parser_free(parser);
+ return document;
}
-void
-cmark_parser_feed(cmark_parser *parser, const char *buffer, size_t len)
-{
- S_parser_feed(parser, (const unsigned char *)buffer, len, false);
+void cmark_parser_feed(cmark_parser *parser, const char *buffer, size_t len) {
+ S_parser_feed(parser, (const unsigned char *)buffer, len, false);
}
-static void
-S_parser_feed(cmark_parser *parser, const unsigned char *buffer, size_t len,
- bool eof)
-{
- const unsigned char *end = buffer + len;
- static const uint8_t repl[] = {239, 191, 189};
-
- while (buffer < end) {
- const unsigned char *eol;
- bufsize_t chunk_len;
- bool process = false;
- for (eol = buffer; eol < end; ++eol) {
- if (S_is_line_end_char(*eol)) {
- if (eol < end && *eol == '\r')
- eol++;
- if (eol < end && *eol == '\n')
- eol++;
- process = true;
- break;
- }
- if (*eol == '\0' && eol < end) {
- break;
- }
- }
- if (eol >= end && eof) {
- process = true;
- }
-
- chunk_len = cmark_strbuf_check_bufsize(eol - buffer);
- if (process) {
- if (parser->linebuf->size > 0) {
- cmark_strbuf_put(parser->linebuf, buffer, chunk_len);
- S_process_line(parser, parser->linebuf->ptr,
- parser->linebuf->size);
- cmark_strbuf_clear(parser->linebuf);
- } else {
- S_process_line(parser, buffer, chunk_len);
- }
- } else {
- if (eol < end && *eol == '\0') {
- // omit NULL byte
- cmark_strbuf_put(parser->linebuf, buffer, chunk_len);
- // add replacement character
- cmark_strbuf_put(parser->linebuf, repl, 3);
- chunk_len += 1; // so we advance the buffer past NULL
- } else {
- cmark_strbuf_put(parser->linebuf, buffer, chunk_len);
- }
- }
-
- buffer += chunk_len;
- }
+static void S_parser_feed(cmark_parser *parser, const unsigned char *buffer,
+ size_t len, bool eof) {
+ const unsigned char *end = buffer + len;
+ static const uint8_t repl[] = {239, 191, 189};
+
+ while (buffer < end) {
+ const unsigned char *eol;
+ bufsize_t chunk_len;
+ bool process = false;
+ for (eol = buffer; eol < end; ++eol) {
+ if (S_is_line_end_char(*eol)) {
+ if (eol < end && *eol == '\r')
+ eol++;
+ if (eol < end && *eol == '\n')
+ eol++;
+ process = true;
+ break;
+ }
+ if (*eol == '\0' && eol < end) {
+ break;
+ }
+ }
+ if (eol >= end && eof) {
+ process = true;
+ }
+
+ chunk_len = cmark_strbuf_check_bufsize(eol - buffer);
+ if (process) {
+ if (parser->linebuf->size > 0) {
+ cmark_strbuf_put(parser->linebuf, buffer, chunk_len);
+ S_process_line(parser, parser->linebuf->ptr, parser->linebuf->size);
+ cmark_strbuf_clear(parser->linebuf);
+ } else {
+ S_process_line(parser, buffer, chunk_len);
+ }
+ } else {
+ if (eol < end && *eol == '\0') {
+ // omit NULL byte
+ cmark_strbuf_put(parser->linebuf, buffer, chunk_len);
+ // add replacement character
+ cmark_strbuf_put(parser->linebuf, repl, 3);
+ chunk_len += 1; // so we advance the buffer past NULL
+ } else {
+ cmark_strbuf_put(parser->linebuf, buffer, chunk_len);
+ }
+ }
+
+ buffer += chunk_len;
+ }
}
-static void chop_trailing_hashtags(cmark_chunk *ch)
-{
- bufsize_t n, orig_n;
+static void chop_trailing_hashtags(cmark_chunk *ch) {
+ bufsize_t n, orig_n;
- cmark_chunk_rtrim(ch);
- orig_n = n = ch->len - 1;
+ cmark_chunk_rtrim(ch);
+ orig_n = n = ch->len - 1;
- // if string ends in space followed by #s, remove these:
- while (n >= 0 && peek_at(ch, n) == '#')
- n--;
+ // if string ends in space followed by #s, remove these:
+ while (n >= 0 && peek_at(ch, n) == '#')
+ n--;
- // Check for a space before the final #s:
- if (n != orig_n && n >= 0 &&
- (peek_at(ch, n) == ' ' || peek_at(ch, n) == '\t')) {
- ch->len = n;
- cmark_chunk_rtrim(ch);
- }
+ // Check for a space before the final #s:
+ if (n != orig_n && n >= 0 &&
+ (peek_at(ch, n) == ' ' || peek_at(ch, n) == '\t')) {
+ ch->len = n;
+ cmark_chunk_rtrim(ch);
+ }
}
-static void
-S_find_first_nonspace(cmark_parser *parser, cmark_chunk *input)
-{
- char c;
- int chars_to_tab = TAB_STOP - (parser->column % TAB_STOP);
-
- parser->first_nonspace = parser->offset;
- parser->first_nonspace_column = parser->column;
- while ((c = peek_at(input, parser->first_nonspace))) {
- if (c == ' ') {
- parser->first_nonspace += 1;
- parser->first_nonspace_column += 1;
- chars_to_tab = chars_to_tab - 1;
- if (chars_to_tab == 0) {
- chars_to_tab = TAB_STOP;
- }
- } else if (c == '\t') {
- parser->first_nonspace += 1;
- parser->first_nonspace_column += chars_to_tab;
- chars_to_tab = TAB_STOP;
- } else {
- break;
- }
- }
-
- parser->indent = parser->first_nonspace_column - parser->column;
- parser->blank = S_is_line_end_char(peek_at(input, parser->first_nonspace));
+static void S_find_first_nonspace(cmark_parser *parser, cmark_chunk *input) {
+ char c;
+ int chars_to_tab = TAB_STOP - (parser->column % TAB_STOP);
+
+ parser->first_nonspace = parser->offset;
+ parser->first_nonspace_column = parser->column;
+ while ((c = peek_at(input, parser->first_nonspace))) {
+ if (c == ' ') {
+ parser->first_nonspace += 1;
+ parser->first_nonspace_column += 1;
+ chars_to_tab = chars_to_tab - 1;
+ if (chars_to_tab == 0) {
+ chars_to_tab = TAB_STOP;
+ }
+ } else if (c == '\t') {
+ parser->first_nonspace += 1;
+ parser->first_nonspace_column += chars_to_tab;
+ chars_to_tab = TAB_STOP;
+ } else {
+ break;
+ }
+ }
+
+ parser->indent = parser->first_nonspace_column - parser->column;
+ parser->blank = S_is_line_end_char(peek_at(input, parser->first_nonspace));
}
-static void
-S_advance_offset(cmark_parser *parser, cmark_chunk *input, bufsize_t count, bool columns)
-{
- char c;
- int chars_to_tab;
- while (count > 0 && (c = peek_at(input, parser->offset))) {
- if (c == '\t') {
- chars_to_tab = 4 - (parser->column % TAB_STOP);
- parser->column += chars_to_tab;
- parser->offset += 1;
- count -= (columns ? chars_to_tab : 1);
- } else {
- parser->offset += 1;
- parser->column += 1; // assume ascii; block starts are ascii
- count -= 1;
- }
- }
+static void S_advance_offset(cmark_parser *parser, cmark_chunk *input,
+ bufsize_t count, bool columns) {
+ char c;
+ int chars_to_tab;
+ while (count > 0 && (c = peek_at(input, parser->offset))) {
+ if (c == '\t') {
+ chars_to_tab = 4 - (parser->column % TAB_STOP);
+ parser->column += chars_to_tab;
+ parser->offset += 1;
+ count -= (columns ? chars_to_tab : 1);
+ } else {
+ parser->offset += 1;
+ parser->column += 1; // assume ascii; block starts are ascii
+ count -= 1;
+ }
+ }
}
-
-static void
-S_process_line(cmark_parser *parser, const unsigned char *buffer, bufsize_t bytes)
-{
- cmark_node* last_matched_container;
- bufsize_t matched = 0;
- int lev = 0;
- int i;
- cmark_list *data = NULL;
- bool all_matched = true;
- cmark_node* container;
- bool indented;
- cmark_chunk input;
- bool maybe_lazy;
-
- if (parser->options & CMARK_OPT_VALIDATE_UTF8) {
- utf8proc_check(parser->curline, buffer, bytes);
- } else {
- cmark_strbuf_put(parser->curline, buffer, bytes);
- }
- parser->offset = 0;
- parser->column = 0;
- parser->blank = false;
-
- input.data = parser->curline->ptr;
- input.len = parser->curline->size;
-
- // container starts at the document root.
- container = parser->root;
-
- parser->line_number++;
-
- // for each containing node, try to parse the associated line start.
- // bail out on failure: container will point to the last matching node.
-
- while (container->last_child && container->last_child->open) {
- container = container->last_child;
-
- S_find_first_nonspace(parser, &input);
-
- if (container->type == NODE_BLOCK_QUOTE) {
- matched = parser->indent <= 3 && peek_at(&input, parser->first_nonspace) == '>';
- if (matched) {
- S_advance_offset(parser, &input, parser->indent + 1, true);
- if (peek_at(&input, parser->offset) == ' ')
- parser->offset++;
- } else {
- all_matched = false;
- }
-
- } else if (container->type == NODE_ITEM) {
- if (parser->indent >= container->as.list.marker_offset +
- container->as.list.padding) {
- S_advance_offset(parser, &input,
- container->as.list.marker_offset +
- container->as.list.padding, true);
- } else if (parser->blank) {
- S_advance_offset(parser, &input,
- parser->first_nonspace - parser->offset, false);
- } else {
- all_matched = false;
- }
-
- } else if (container->type == NODE_CODE_BLOCK) {
-
- if (!container->as.code.fenced) { // indented
- if (parser->indent >= CODE_INDENT) {
- S_advance_offset(parser, &input, CODE_INDENT, true);
- } else if (parser->blank) {
- S_advance_offset(parser, &input,
- parser->first_nonspace - parser->offset,
- false);
- } else {
- all_matched = false;
- }
- } else { // fenced
- matched = 0;
- if (parser->indent <= 3 &&
- (peek_at(&input, parser->first_nonspace) ==
- container->as.code.fence_char)) {
- matched = scan_close_code_fence(&input,
- parser->first_nonspace);
- }
- if (matched >= container->as.code.fence_length) {
- // closing fence - and since we're at
- // the end of a line, we can return:
- all_matched = false;
- S_advance_offset(parser, &input, matched, false);
- parser->current = finalize(parser, container);
- goto finished;
- } else {
- // skip opt. spaces of fence parser->offset
- i = container->as.code.fence_offset;
- while (i > 0 &&
- peek_at(&input, parser->offset) == ' ') {
- S_advance_offset(parser, &input, 1, false);
- i--;
- }
- }
- }
- } else if (container->type == NODE_HEADER) {
-
- // a header can never contain more than one line
- all_matched = false;
-
- } else if (container->type == NODE_HTML) {
-
- switch (container->as.html_block_type) {
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- // these types of blocks can accept blanks
- break;
- case 6:
- case 7:
- if (parser->blank) {
- all_matched = false;
- }
- break;
- default:
- fprintf(stderr,
- "Error (%s:%d): Unknown HTML block type %d\n",
- __FILE__, __LINE__,
- container->as.html_block_type);
- exit(1);
- }
-
- } else if (container->type == NODE_PARAGRAPH) {
-
- if (parser->blank) {
- all_matched = false;
- }
-
- }
-
- if (!all_matched) {
- container = container->parent; // back up to last matching node
- break;
- }
- }
-
- last_matched_container = container;
-
- // check to see if we've hit 2nd blank line, break out of list:
- if (parser->blank && container->last_line_blank) {
- break_out_of_lists(parser, &container);
- }
-
- maybe_lazy = parser->current->type == NODE_PARAGRAPH;
- // try new container starts:
- while (container->type != NODE_CODE_BLOCK &&
- container->type != NODE_HTML) {
-
- S_find_first_nonspace(parser, &input);
- indented = parser->indent >= CODE_INDENT;
-
- if (!indented && peek_at(&input, parser->first_nonspace) == '>') {
-
- S_advance_offset(parser, &input, parser->first_nonspace + 1 - parser->offset, false);
- // optional following character
- if (peek_at(&input, parser->offset) == ' ')
- S_advance_offset(parser, &input, 1, false);
- container = add_child(parser, container, NODE_BLOCK_QUOTE, parser->offset + 1);
-
- } else if (!indented && (matched = scan_atx_header_start(&input, parser->first_nonspace))) {
-
- S_advance_offset(parser, &input,
- parser->first_nonspace + matched - parser->offset, false);
- container = add_child(parser, container, NODE_HEADER, parser->offset + 1);
-
- bufsize_t hashpos = cmark_chunk_strchr(&input, '#', parser->first_nonspace);
- int level = 0;
-
- while (peek_at(&input, hashpos) == '#') {
- level++;
- hashpos++;
- }
- container->as.header.level = level;
- container->as.header.setext = false;
-
- } else if (!indented && (matched = scan_open_code_fence(&input, parser->first_nonspace))) {
-
- container = add_child(parser, container, NODE_CODE_BLOCK, parser->first_nonspace + 1);
- container->as.code.fenced = true;
- container->as.code.fence_char = peek_at(&input, parser->first_nonspace);
- container->as.code.fence_length = matched;
- container->as.code.fence_offset = parser->first_nonspace - parser->offset;
- container->as.code.info = cmark_chunk_literal("");
- S_advance_offset(parser, &input, parser->first_nonspace + matched - parser->offset, false);
-
- } else if (!indented &&
- ((matched = scan_html_block_start(&input, parser->first_nonspace)) ||
- (container->type != NODE_PARAGRAPH &&
- (matched = scan_html_block_start_7(&input, parser->first_nonspace))))) {
-
- container = add_child(parser, container, NODE_HTML, parser->first_nonspace + 1);
- container->as.html_block_type = matched;
- // note, we don't adjust parser->offset because the tag is part of the text
-
- } else if (!indented &&
- container->type == NODE_PARAGRAPH &&
- (lev = scan_setext_header_line(&input, parser->first_nonspace)) &&
- // check that there is only one line in the paragraph:
- (cmark_strbuf_strrchr(&container->string_content, '\n',
- cmark_strbuf_len(&container->string_content) - 2) < 0)) {
-
- container->type = NODE_HEADER;
- container->as.header.level = lev;
- container->as.header.setext = true;
- S_advance_offset(parser, &input, input.len - 1 - parser->offset, false);
-
- } else if (!indented &&
- !(container->type == NODE_PARAGRAPH &&
- !all_matched) &&
- (matched = scan_hrule(&input, parser->first_nonspace))) {
-
- // it's only now that we know the line is not part of a setext header:
- container = add_child(parser, container, NODE_HRULE, parser->first_nonspace + 1);
- container = finalize(parser, container);
- S_advance_offset(parser, &input, input.len - 1 - parser->offset, false);
-
- } else if ((matched = parse_list_marker(&input, parser->first_nonspace, &data)) &&
- (!indented || container->type == NODE_LIST)) {
- // Note that we can have new list items starting with >= 4
- // spaces indent, as long as the list container is still open.
-
- // compute padding:
- S_advance_offset(parser, &input, parser->first_nonspace + matched - parser->offset, false);
- i = 0;
- while (i <= 5 && peek_at(&input, parser->offset + i) == ' ') {
- i++;
- }
- // i = number of spaces after marker, up to 5
- if (i >= 5 || i < 1 ||
- S_is_line_end_char(peek_at(&input, parser->offset))) {
- data->padding = matched + 1;
- if (i > 0) {
- S_advance_offset(parser, &input, 1, false);
- }
- } else {
- data->padding = matched + i;
- S_advance_offset(parser, &input, i, true);
- }
-
- // check container; if it's a list, see if this list item
- // can continue the list; otherwise, create a list container.
-
- data->marker_offset = parser->indent;
-
- if (container->type != NODE_LIST ||
- !lists_match(&container->as.list, data)) {
- container = add_child(parser, container, NODE_LIST,
- parser->first_nonspace + 1);
-
- memcpy(&container->as.list, data, sizeof(*data));
- }
-
- // add the list item
- container = add_child(parser, container, NODE_ITEM,
- parser->first_nonspace + 1);
- /* TODO: static */
- memcpy(&container->as.list, data, sizeof(*data));
- free(data);
-
- } else if (indented && !maybe_lazy && !parser->blank) {
- S_advance_offset(parser, &input, CODE_INDENT, true);
- container = add_child(parser, container, NODE_CODE_BLOCK, parser->offset + 1);
- container->as.code.fenced = false;
- container->as.code.fence_char = 0;
- container->as.code.fence_length = 0;
- container->as.code.fence_offset = 0;
- container->as.code.info = cmark_chunk_literal("");
-
- } else {
- break;
- }
-
- if (accepts_lines(container->type)) {
- // if it's a line container, it can't contain other containers
- break;
- }
- maybe_lazy = false;
- }
-
- // what remains at parser->offset is a text line. add the text to the
- // appropriate container.
-
- S_find_first_nonspace(parser, &input);
-
- if (parser->blank && container->last_child) {
- container->last_child->last_line_blank = true;
- }
-
- // block quote lines are never blank as they start with >
- // and we don't count blanks in fenced code for purposes of tight/loose
- // lists or breaking out of lists. we also don't set last_line_blank
- // on an empty list item.
- container->last_line_blank = (parser->blank &&
- container->type != NODE_BLOCK_QUOTE &&
- container->type != NODE_HEADER &&
- !(container->type == NODE_CODE_BLOCK &&
- container->as.code.fenced) &&
- !(container->type == NODE_ITEM &&
- container->first_child == NULL &&
- container->start_line == parser->line_number));
-
- cmark_node *cont = container;
- while (cont->parent) {
- cont->parent->last_line_blank = false;
- cont = cont->parent;
- }
-
- if (parser->current != last_matched_container &&
- container == last_matched_container &&
- !parser->blank &&
- parser->current->type == NODE_PARAGRAPH &&
- cmark_strbuf_len(&parser->current->string_content) > 0) {
-
- add_line(parser->current, &input, parser->offset);
-
- } else { // not a lazy continuation
-
- // finalize any blocks that were not matched and set cur to container:
- while (parser->current != last_matched_container) {
- parser->current = finalize(parser, parser->current);
- assert(parser->current != NULL);
- }
-
- if (container->type == NODE_CODE_BLOCK) {
-
- add_line(container, &input, parser->offset);
-
- } else if (container->type == NODE_HTML) {
-
- add_line(container, &input, parser->offset);
-
- int matches_end_condition;
- switch (container->as.html_block_type) {
- case 1:
- // </script>, </style>, </pre>
- matches_end_condition =
- scan_html_block_end_1(&input, parser->first_nonspace);
- break;
- case 2:
- // -->
- matches_end_condition =
- scan_html_block_end_2(&input, parser->first_nonspace);
- break;
- case 3:
- // ?>
- matches_end_condition =
- scan_html_block_end_3(&input, parser->first_nonspace);
- break;
- case 4:
- // >
- matches_end_condition =
- scan_html_block_end_4(&input, parser->first_nonspace);
- break;
- case 5:
- // ]]>
- matches_end_condition =
- scan_html_block_end_5(&input, parser->first_nonspace);
- break;
- default:
- matches_end_condition = 0;
- break;
- }
-
- if (matches_end_condition) {
- container = finalize(parser, container);
- assert(parser->current != NULL);
- }
-
- } else if (parser->blank) {
-
- // ??? do nothing
-
- } else if (accepts_lines(container->type)) {
-
- if (container->type == NODE_HEADER &&
- container->as.header.setext == false) {
- chop_trailing_hashtags(&input);
- }
- add_line(container, &input, parser->first_nonspace);
-
- } else {
- // create paragraph container for line
- container = add_child(parser, container, NODE_PARAGRAPH, parser->first_nonspace + 1);
- add_line(container, &input, parser->first_nonspace);
-
- }
-
- parser->current = container;
- }
+static void S_process_line(cmark_parser *parser, const unsigned char *buffer,
+ bufsize_t bytes) {
+ cmark_node *last_matched_container;
+ bufsize_t matched = 0;
+ int lev = 0;
+ int i;
+ cmark_list *data = NULL;
+ bool all_matched = true;
+ cmark_node *container;
+ bool indented;
+ cmark_chunk input;
+ bool maybe_lazy;
+
+ if (parser->options & CMARK_OPT_VALIDATE_UTF8) {
+ utf8proc_check(parser->curline, buffer, bytes);
+ } else {
+ cmark_strbuf_put(parser->curline, buffer, bytes);
+ }
+ parser->offset = 0;
+ parser->column = 0;
+ parser->blank = false;
+
+ input.data = parser->curline->ptr;
+ input.len = parser->curline->size;
+
+ // container starts at the document root.
+ container = parser->root;
+
+ parser->line_number++;
+
+ // for each containing node, try to parse the associated line start.
+ // bail out on failure: container will point to the last matching node.
+
+ while (container->last_child && container->last_child->open) {
+ container = container->last_child;
+
+ S_find_first_nonspace(parser, &input);
+
+ if (container->type == NODE_BLOCK_QUOTE) {
+ matched =
+ parser->indent <= 3 && peek_at(&input, parser->first_nonspace) == '>';
+ if (matched) {
+ S_advance_offset(parser, &input, parser->indent + 1, true);
+ if (peek_at(&input, parser->offset) == ' ')
+ parser->offset++;
+ } else {
+ all_matched = false;
+ }
+
+ } else if (container->type == NODE_ITEM) {
+ if (parser->indent >=
+ container->as.list.marker_offset + container->as.list.padding) {
+ S_advance_offset(parser, &input, container->as.list.marker_offset +
+ container->as.list.padding,
+ true);
+ } else if (parser->blank) {
+ S_advance_offset(parser, &input,
+ parser->first_nonspace - parser->offset, false);
+ } else {
+ all_matched = false;
+ }
+
+ } else if (container->type == NODE_CODE_BLOCK) {
+
+ if (!container->as.code.fenced) { // indented
+ if (parser->indent >= CODE_INDENT) {
+ S_advance_offset(parser, &input, CODE_INDENT, true);
+ } else if (parser->blank) {
+ S_advance_offset(parser, &input,
+ parser->first_nonspace - parser->offset, false);
+ } else {
+ all_matched = false;
+ }
+ } else { // fenced
+ matched = 0;
+ if (parser->indent <= 3 && (peek_at(&input, parser->first_nonspace) ==
+ container->as.code.fence_char)) {
+ matched = scan_close_code_fence(&input, parser->first_nonspace);
+ }
+ if (matched >= container->as.code.fence_length) {
+ // closing fence - and since we're at
+ // the end of a line, we can return:
+ all_matched = false;
+ S_advance_offset(parser, &input, matched, false);
+ parser->current = finalize(parser, container);
+ goto finished;
+ } else {
+ // skip opt. spaces of fence parser->offset
+ i = container->as.code.fence_offset;
+ while (i > 0 && peek_at(&input, parser->offset) == ' ') {
+ S_advance_offset(parser, &input, 1, false);
+ i--;
+ }
+ }
+ }
+ } else if (container->type == NODE_HEADER) {
+
+ // a header can never contain more than one line
+ all_matched = false;
+
+ } else if (container->type == NODE_HTML) {
+
+ switch (container->as.html_block_type) {
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ // these types of blocks can accept blanks
+ break;
+ case 6:
+ case 7:
+ if (parser->blank) {
+ all_matched = false;
+ }
+ break;
+ default:
+ fprintf(stderr, "Error (%s:%d): Unknown HTML block type %d\n", __FILE__,
+ __LINE__, container->as.html_block_type);
+ exit(1);
+ }
+
+ } else if (container->type == NODE_PARAGRAPH) {
+
+ if (parser->blank) {
+ all_matched = false;
+ }
+ }
+
+ if (!all_matched) {
+ container = container->parent; // back up to last matching node
+ break;
+ }
+ }
+
+ last_matched_container = container;
+
+ // check to see if we've hit 2nd blank line, break out of list:
+ if (parser->blank && container->last_line_blank) {
+ break_out_of_lists(parser, &container);
+ }
+
+ maybe_lazy = parser->current->type == NODE_PARAGRAPH;
+ // try new container starts:
+ while (container->type != NODE_CODE_BLOCK && container->type != NODE_HTML) {
+
+ S_find_first_nonspace(parser, &input);
+ indented = parser->indent >= CODE_INDENT;
+
+ if (!indented && peek_at(&input, parser->first_nonspace) == '>') {
+
+ S_advance_offset(parser, &input,
+ parser->first_nonspace + 1 - parser->offset, false);
+ // optional following character
+ if (peek_at(&input, parser->offset) == ' ')
+ S_advance_offset(parser, &input, 1, false);
+ container =
+ add_child(parser, container, NODE_BLOCK_QUOTE, parser->offset + 1);
+
+ } else if (!indented && (matched = scan_atx_header_start(
+ &input, parser->first_nonspace))) {
+
+ S_advance_offset(parser, &input,
+ parser->first_nonspace + matched - parser->offset,
+ false);
+ container = add_child(parser, container, NODE_HEADER, parser->offset + 1);
+
+ bufsize_t hashpos =
+ cmark_chunk_strchr(&input, '#', parser->first_nonspace);
+ int level = 0;
+
+ while (peek_at(&input, hashpos) == '#') {
+ level++;
+ hashpos++;
+ }
+ container->as.header.level = level;
+ container->as.header.setext = false;
+
+ } else if (!indented && (matched = scan_open_code_fence(
+ &input, parser->first_nonspace))) {
+
+ container = add_child(parser, container, NODE_CODE_BLOCK,
+ parser->first_nonspace + 1);
+ container->as.code.fenced = true;
+ container->as.code.fence_char = peek_at(&input, parser->first_nonspace);
+ container->as.code.fence_length = matched;
+ container->as.code.fence_offset = parser->first_nonspace - parser->offset;
+ container->as.code.info = cmark_chunk_literal("");
+ S_advance_offset(parser, &input,
+ parser->first_nonspace + matched - parser->offset,
+ false);
+
+ } else if (!indented && ((matched = scan_html_block_start(
+ &input, parser->first_nonspace)) ||
+ (container->type != NODE_PARAGRAPH &&
+ (matched = scan_html_block_start_7(
+ &input, parser->first_nonspace))))) {
+
+ container =
+ add_child(parser, container, NODE_HTML, parser->first_nonspace + 1);
+ container->as.html_block_type = matched;
+ // note, we don't adjust parser->offset because the tag is part of the
+ // text
+
+ } else if (!indented && container->type == NODE_PARAGRAPH &&
+ (lev =
+ scan_setext_header_line(&input, parser->first_nonspace)) &&
+ // check that there is only one line in the paragraph:
+ (cmark_strbuf_strrchr(
+ &container->string_content, '\n',
+ cmark_strbuf_len(&container->string_content) - 2) < 0)) {
+
+ container->type = NODE_HEADER;
+ container->as.header.level = lev;
+ container->as.header.setext = true;
+ S_advance_offset(parser, &input, input.len - 1 - parser->offset, false);
+
+ } else if (!indented &&
+ !(container->type == NODE_PARAGRAPH && !all_matched) &&
+ (matched = scan_hrule(&input, parser->first_nonspace))) {
+
+ // it's only now that we know the line is not part of a setext header:
+ container =
+ add_child(parser, container, NODE_HRULE, parser->first_nonspace + 1);
+ container = finalize(parser, container);
+ S_advance_offset(parser, &input, input.len - 1 - parser->offset, false);
+
+ } else if ((matched =
+ parse_list_marker(&input, parser->first_nonspace, &data)) &&
+ (!indented || container->type == NODE_LIST)) {
+ // Note that we can have new list items starting with >= 4
+ // spaces indent, as long as the list container is still open.
+
+ // compute padding:
+ S_advance_offset(parser, &input,
+ parser->first_nonspace + matched - parser->offset,
+ false);
+ i = 0;
+ while (i <= 5 && peek_at(&input, parser->offset + i) == ' ') {
+ i++;
+ }
+ // i = number of spaces after marker, up to 5
+ if (i >= 5 || i < 1 ||
+ S_is_line_end_char(peek_at(&input, parser->offset))) {
+ data->padding = matched + 1;
+ if (i > 0) {
+ S_advance_offset(parser, &input, 1, false);
+ }
+ } else {
+ data->padding = matched + i;
+ S_advance_offset(parser, &input, i, true);
+ }
+
+ // check container; if it's a list, see if this list item
+ // can continue the list; otherwise, create a list container.
+
+ data->marker_offset = parser->indent;
+
+ if (container->type != NODE_LIST ||
+ !lists_match(&container->as.list, data)) {
+ container =
+ add_child(parser, container, NODE_LIST, parser->first_nonspace + 1);
+
+ memcpy(&container->as.list, data, sizeof(*data));
+ }
+
+ // add the list item
+ container =
+ add_child(parser, container, NODE_ITEM, parser->first_nonspace + 1);
+ /* TODO: static */
+ memcpy(&container->as.list, data, sizeof(*data));
+ free(data);
+
+ } else if (indented && !maybe_lazy && !parser->blank) {
+ S_advance_offset(parser, &input, CODE_INDENT, true);
+ container =
+ add_child(parser, container, NODE_CODE_BLOCK, parser->offset + 1);
+ container->as.code.fenced = false;
+ container->as.code.fence_char = 0;
+ container->as.code.fence_length = 0;
+ container->as.code.fence_offset = 0;
+ container->as.code.info = cmark_chunk_literal("");
+
+ } else {
+ break;
+ }
+
+ if (accepts_lines(container->type)) {
+ // if it's a line container, it can't contain other containers
+ break;
+ }
+ maybe_lazy = false;
+ }
+
+ // what remains at parser->offset is a text line. add the text to the
+ // appropriate container.
+
+ S_find_first_nonspace(parser, &input);
+
+ if (parser->blank && container->last_child) {
+ container->last_child->last_line_blank = true;
+ }
+
+ // block quote lines are never blank as they start with >
+ // and we don't count blanks in fenced code for purposes of tight/loose
+ // lists or breaking out of lists. we also don't set last_line_blank
+ // on an empty list item.
+ container->last_line_blank =
+ (parser->blank && container->type != NODE_BLOCK_QUOTE &&
+ container->type != NODE_HEADER &&
+ !(container->type == NODE_CODE_BLOCK && container->as.code.fenced) &&
+ !(container->type == NODE_ITEM && container->first_child == NULL &&
+ container->start_line == parser->line_number));
+
+ cmark_node *cont = container;
+ while (cont->parent) {
+ cont->parent->last_line_blank = false;
+ cont = cont->parent;
+ }
+
+ if (parser->current != last_matched_container &&
+ container == last_matched_container && !parser->blank &&
+ parser->current->type == NODE_PARAGRAPH &&
+ cmark_strbuf_len(&parser->current->string_content) > 0) {
+
+ add_line(parser->current, &input, parser->offset);
+
+ } else { // not a lazy continuation
+
+ // finalize any blocks that were not matched and set cur to container:
+ while (parser->current != last_matched_container) {
+ parser->current = finalize(parser, parser->current);
+ assert(parser->current != NULL);
+ }
+
+ if (container->type == NODE_CODE_BLOCK) {
+
+ add_line(container, &input, parser->offset);
+
+ } else if (container->type == NODE_HTML) {
+
+ add_line(container, &input, parser->offset);
+
+ int matches_end_condition;
+ switch (container->as.html_block_type) {
+ case 1:
+ // </script>, </style>, </pre>
+ matches_end_condition =
+ scan_html_block_end_1(&input, parser->first_nonspace);
+ break;
+ case 2:
+ // -->
+ matches_end_condition =
+ scan_html_block_end_2(&input, parser->first_nonspace);
+ break;
+ case 3:
+ // ?>
+ matches_end_condition =
+ scan_html_block_end_3(&input, parser->first_nonspace);
+ break;
+ case 4:
+ // >
+ matches_end_condition =
+ scan_html_block_end_4(&input, parser->first_nonspace);
+ break;
+ case 5:
+ // ]]>
+ matches_end_condition =
+ scan_html_block_end_5(&input, parser->first_nonspace);
+ break;
+ default:
+ matches_end_condition = 0;
+ break;
+ }
+
+ if (matches_end_condition) {
+ container = finalize(parser, container);
+ assert(parser->current != NULL);
+ }
+
+ } else if (parser->blank) {
+
+ // ??? do nothing
+
+ } else if (accepts_lines(container->type)) {
+
+ if (container->type == NODE_HEADER &&
+ container->as.header.setext == false) {
+ chop_trailing_hashtags(&input);
+ }
+ add_line(container, &input, parser->first_nonspace);
+
+ } else {
+ // create paragraph container for line
+ container = add_child(parser, container, NODE_PARAGRAPH,
+ parser->first_nonspace + 1);
+ add_line(container, &input, parser->first_nonspace);
+ }
+
+ parser->current = container;
+ }
finished:
- parser->last_line_length = parser->curline->size;
- if (parser->last_line_length &&
- parser->curline->ptr[parser->last_line_length - 1] == '\n')
- parser->last_line_length -= 1;
- if (parser->last_line_length &&
- parser->curline->ptr[parser->last_line_length - 1] == '\r')
- parser->last_line_length -= 1;
-
- cmark_strbuf_clear(parser->curline);
-
+ parser->last_line_length = parser->curline->size;
+ if (parser->last_line_length &&
+ parser->curline->ptr[parser->last_line_length - 1] == '\n')
+ parser->last_line_length -= 1;
+ if (parser->last_line_length &&
+ parser->curline->ptr[parser->last_line_length - 1] == '\r')
+ parser->last_line_length -= 1;
+
+ cmark_strbuf_clear(parser->curline);
}
-cmark_node *cmark_parser_finish(cmark_parser *parser)
-{
- if (parser->linebuf->size) {
- S_process_line(parser, parser->linebuf->ptr,
- parser->linebuf->size);
- cmark_strbuf_clear(parser->linebuf);
- }
+cmark_node *cmark_parser_finish(cmark_parser *parser) {
+ if (parser->linebuf->size) {
+ S_process_line(parser, parser->linebuf->ptr, parser->linebuf->size);
+ cmark_strbuf_clear(parser->linebuf);
+ }
- finalize_document(parser);
+ finalize_document(parser);
- if (parser->options & CMARK_OPT_NORMALIZE) {
- cmark_consolidate_text_nodes(parser->root);
- }
+ if (parser->options & CMARK_OPT_NORMALIZE) {
+ cmark_consolidate_text_nodes(parser->root);
+ }
- cmark_strbuf_free(parser->curline);
+ cmark_strbuf_free(parser->curline);
#if CMARK_DEBUG_NODES
- if (cmark_node_check(parser->root, stderr)) {
- abort();
- }
+ if (cmark_node_check(parser->root, stderr)) {
+ abort();
+ }
#endif
- return parser->root;
+ return parser->root;
}
diff --git a/src/buffer.c b/src/buffer.c
index 509eb6c..9d31881 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -16,323 +16,301 @@
unsigned char cmark_strbuf__initbuf[1];
#ifndef MIN
-#define MIN(x,y) ((x<y) ? x : y)
+#define MIN(x, y) ((x < y) ? x : y)
#endif
-void cmark_strbuf_init(cmark_strbuf *buf, bufsize_t initial_size)
-{
- buf->asize = 0;
- buf->size = 0;
- buf->ptr = cmark_strbuf__initbuf;
+void cmark_strbuf_init(cmark_strbuf *buf, bufsize_t initial_size) {
+ buf->asize = 0;
+ buf->size = 0;
+ buf->ptr = cmark_strbuf__initbuf;
- if (initial_size > 0)
- cmark_strbuf_grow(buf, initial_size);
+ if (initial_size > 0)
+ cmark_strbuf_grow(buf, initial_size);
}
-void cmark_strbuf_overflow_err()
-{
- fprintf(stderr, "String buffer overflow");
- abort();
+void cmark_strbuf_overflow_err() {
+ fprintf(stderr, "String buffer overflow");
+ abort();
}
-static inline void
-S_strbuf_grow_by(cmark_strbuf *buf, size_t add)
-{
- size_t target_size = (size_t)buf->size + add;
+static inline void S_strbuf_grow_by(cmark_strbuf *buf, size_t add) {
+ size_t target_size = (size_t)buf->size + add;
- if (target_size < add /* Integer overflow. */
- || target_size > BUFSIZE_MAX /* Truncation overflow. */
- ) {
- cmark_strbuf_overflow_err();
- return; /* unreachable */
- }
+ if (target_size < add /* Integer overflow. */
+ || target_size > BUFSIZE_MAX /* Truncation overflow. */
+ ) {
+ cmark_strbuf_overflow_err();
+ return; /* unreachable */
+ }
- if ((bufsize_t)target_size >= buf->asize)
- cmark_strbuf_grow(buf, (bufsize_t)target_size);
+ if ((bufsize_t)target_size >= buf->asize)
+ cmark_strbuf_grow(buf, (bufsize_t)target_size);
}
-void cmark_strbuf_grow(cmark_strbuf *buf, bufsize_t target_size)
-{
- unsigned char *new_ptr;
-
- if (target_size < buf->asize)
- return;
-
- if (buf->asize == 0) {
- new_ptr = NULL;
- } else {
- new_ptr = buf->ptr;
- }
-
- /* Oversize the buffer by 50% to guarantee amortized linear time
- * complexity on append operations. */
- size_t new_size = (size_t)target_size + (size_t)target_size / 2;
-
- /* Account for terminating null byte. */
- new_size += 1;
-
- /* round allocation up to multiple of 8 */
- new_size = (new_size + 7) & ~7;
-
- if (new_size < (size_t)target_size /* Integer overflow. */
- || new_size > BUFSIZE_MAX /* Truncation overflow. */
- ) {
- if (target_size >= BUFSIZE_MAX) {
- /* No space for terminating null byte. */
- cmark_strbuf_overflow_err();
- return; /* unreachable */
- }
- /* Oversize by the maximum possible amount. */
- new_size = BUFSIZE_MAX;
- }
-
- new_ptr = (unsigned char *)realloc(new_ptr, new_size);
-
- if (!new_ptr) {
- perror("realloc in cmark_strbuf_grow");
- abort();
- }
-
- buf->asize = (bufsize_t)new_size;
- buf->ptr = new_ptr;
+void cmark_strbuf_grow(cmark_strbuf *buf, bufsize_t target_size) {
+ unsigned char *new_ptr;
+
+ if (target_size < buf->asize)
+ return;
+
+ if (buf->asize == 0) {
+ new_ptr = NULL;
+ } else {
+ new_ptr = buf->ptr;
+ }
+
+ /* Oversize the buffer by 50% to guarantee amortized linear time
+ * complexity on append operations. */
+ size_t new_size = (size_t)target_size + (size_t)target_size / 2;
+
+ /* Account for terminating null byte. */
+ new_size += 1;
+
+ /* round allocation up to multiple of 8 */
+ new_size = (new_size + 7) & ~7;
+
+ if (new_size < (size_t)target_size /* Integer overflow. */
+ || new_size > BUFSIZE_MAX /* Truncation overflow. */
+ ) {
+ if (target_size >= BUFSIZE_MAX) {
+ /* No space for terminating null byte. */
+ cmark_strbuf_overflow_err();
+ return; /* unreachable */
+ }
+ /* Oversize by the maximum possible amount. */
+ new_size = BUFSIZE_MAX;
+ }
+
+ new_ptr = (unsigned char *)realloc(new_ptr, new_size);
+
+ if (!new_ptr) {
+ perror("realloc in cmark_strbuf_grow");
+ abort();
+ }
+
+ buf->asize = (bufsize_t)new_size;
+ buf->ptr = new_ptr;
}
-bufsize_t cmark_strbuf_len(const cmark_strbuf *buf)
-{
- return buf->size;
-}
+bufsize_t cmark_strbuf_len(const cmark_strbuf *buf) { return buf->size; }
-void cmark_strbuf_free(cmark_strbuf *buf)
-{
- if (!buf) return;
+void cmark_strbuf_free(cmark_strbuf *buf) {
+ if (!buf)
+ return;
- if (buf->ptr != cmark_strbuf__initbuf)
- free(buf->ptr);
+ if (buf->ptr != cmark_strbuf__initbuf)
+ free(buf->ptr);
- cmark_strbuf_init(buf, 0);
+ cmark_strbuf_init(buf, 0);
}
-void cmark_strbuf_clear(cmark_strbuf *buf)
-{
- buf->size = 0;
+void cmark_strbuf_clear(cmark_strbuf *buf) {
+ buf->size = 0;
- if (buf->asize > 0)
- buf->ptr[0] = '\0';
+ if (buf->asize > 0)
+ buf->ptr[0] = '\0';
}
-void cmark_strbuf_set(cmark_strbuf *buf, const unsigned char *data, bufsize_t len)
-{
- if (len <= 0 || data == NULL) {
- cmark_strbuf_clear(buf);
- } else {
- if (data != buf->ptr) {
- if (len >= buf->asize)
- cmark_strbuf_grow(buf, len);
- memmove(buf->ptr, data, len);
- }
- buf->size = len;
- buf->ptr[buf->size] = '\0';
- }
+void cmark_strbuf_set(cmark_strbuf *buf, const unsigned char *data,
+ bufsize_t len) {
+ if (len <= 0 || data == NULL) {
+ cmark_strbuf_clear(buf);
+ } else {
+ if (data != buf->ptr) {
+ if (len >= buf->asize)
+ cmark_strbuf_grow(buf, len);
+ memmove(buf->ptr, data, len);
+ }
+ buf->size = len;
+ buf->ptr[buf->size] = '\0';
+ }
}
-void cmark_strbuf_sets(cmark_strbuf *buf, const char *string)
-{
- cmark_strbuf_set(buf, (const unsigned char *)string,
- string ? cmark_strbuf_safe_strlen(string) : 0);
+void cmark_strbuf_sets(cmark_strbuf *buf, const char *string) {
+ cmark_strbuf_set(buf, (const unsigned char *)string,
+ string ? cmark_strbuf_safe_strlen(string) : 0);
}
-void cmark_strbuf_putc(cmark_strbuf *buf, int c)
-{
- S_strbuf_grow_by(buf, 1);
- buf->ptr[buf->size++] = c;
- buf->ptr[buf->size] = '\0';
+void cmark_strbuf_putc(cmark_strbuf *buf, int c) {
+ S_strbuf_grow_by(buf, 1);
+ buf->ptr[buf->size++] = c;
+ buf->ptr[buf->size] = '\0';
}
-void cmark_strbuf_put(cmark_strbuf *buf, const unsigned char *data, bufsize_t len)
-{
- if (len <= 0)
- return;
+void cmark_strbuf_put(cmark_strbuf *buf, const unsigned char *data,
+ bufsize_t len) {
+ if (len <= 0)
+ return;
- S_strbuf_grow_by(buf, len);
- memmove(buf->ptr + buf->size, data, len);
- buf->size += len;
- buf->ptr[buf->size] = '\0';
+ S_strbuf_grow_by(buf, len);
+ memmove(buf->ptr + buf->size, data, len);
+ buf->size += len;
+ buf->ptr[buf->size] = '\0';
}
-void cmark_strbuf_puts(cmark_strbuf *buf, const char *string)
-{
- cmark_strbuf_put(buf, (const unsigned char *)string,
- cmark_strbuf_safe_strlen(string));
+void cmark_strbuf_puts(cmark_strbuf *buf, const char *string) {
+ cmark_strbuf_put(buf, (const unsigned char *)string,
+ cmark_strbuf_safe_strlen(string));
}
-void cmark_strbuf_copy_cstr(char *data, bufsize_t datasize, const cmark_strbuf *buf)
-{
- bufsize_t copylen;
+void cmark_strbuf_copy_cstr(char *data, bufsize_t datasize,
+ const cmark_strbuf *buf) {
+ bufsize_t copylen;
- assert(buf);
- if (!data || datasize <= 0)
- return;
+ assert(buf);
+ if (!data || datasize <= 0)
+ return;
- data[0] = '\0';
+ data[0] = '\0';
- if (buf->size == 0 || buf->asize <= 0)
- return;
+ if (buf->size == 0 || buf->asize <= 0)
+ return;
- copylen = buf->size;
- if (copylen > datasize - 1)
- copylen = datasize - 1;
- memmove(data, buf->ptr, copylen);
- data[copylen] = '\0';
+ copylen = buf->size;
+ if (copylen > datasize - 1)
+ copylen = datasize - 1;
+ memmove(data, buf->ptr, copylen);
+ data[copylen] = '\0';
}
-void cmark_strbuf_swap(cmark_strbuf *buf_a, cmark_strbuf *buf_b)
-{
- cmark_strbuf t = *buf_a;
- *buf_a = *buf_b;
- *buf_b = t;
+void cmark_strbuf_swap(cmark_strbuf *buf_a, cmark_strbuf *buf_b) {
+ cmark_strbuf t = *buf_a;
+ *buf_a = *buf_b;
+ *buf_b = t;
}
-unsigned char *cmark_strbuf_detach(cmark_strbuf *buf)
-{
- unsigned char *data = buf->ptr;
+unsigned char *cmark_strbuf_detach(cmark_strbuf *buf) {
+ unsigned char *data = buf->ptr;
- if (buf->asize == 0) {
- /* return an empty string */
- return (unsigned char *)calloc(1, 1);
- }
+ if (buf->asize == 0) {
+ /* return an empty string */
+ return (unsigned char *)calloc(1, 1);
+ }
- cmark_strbuf_init(buf, 0);
- return data;
+ cmark_strbuf_init(buf, 0);
+ return data;
}
-int cmark_strbuf_cmp(const cmark_strbuf *a, const cmark_strbuf *b)
-{
- int result = memcmp(a->ptr, b->ptr, MIN(a->size, b->size));
- return (result != 0) ? result :
- (a->size < b->size) ? -1 : (a->size > b->size) ? 1 : 0;
+int cmark_strbuf_cmp(const cmark_strbuf *a, const cmark_strbuf *b) {
+ int result = memcmp(a->ptr, b->ptr, MIN(a->size, b->size));
+ return (result != 0) ? result
+ : (a->size < b->size) ? -1 : (a->size > b->size) ? 1 : 0;
}
-bufsize_t cmark_strbuf_strchr(const cmark_strbuf *buf, int c, bufsize_t pos)
-{
- if (pos >= buf->size)
- return -1;
- if (pos < 0)
- pos = 0;
+bufsize_t cmark_strbuf_strchr(const cmark_strbuf *buf, int c, bufsize_t pos) {
+ if (pos >= buf->size)
+ return -1;
+ if (pos < 0)
+ pos = 0;
- const unsigned char *p = (unsigned char *)memchr(buf->ptr + pos, c, buf->size - pos);
- if (!p)
- return -1;
+ const unsigned char *p =
+ (unsigned char *)memchr(buf->ptr + pos, c, buf->size - pos);
+ if (!p)
+ return -1;
- return (bufsize_t)(p - (const unsigned char *)buf->ptr);
+ return (bufsize_t)(p - (const unsigned char *)buf->ptr);
}
-bufsize_t cmark_strbuf_strrchr(const cmark_strbuf *buf, int c, bufsize_t pos)
-{
- if (pos < 0 || buf->size == 0)
- return -1;
- if (pos >= buf->size)
- pos = buf->size - 1;
+bufsize_t cmark_strbuf_strrchr(const cmark_strbuf *buf, int c, bufsize_t pos) {
+ if (pos < 0 || buf->size == 0)
+ return -1;
+ if (pos >= buf->size)
+ pos = buf->size - 1;
- for (bufsize_t i = pos; i >= 0; i--) {
- if (buf->ptr[i] == (unsigned char) c)
- return i;
- }
+ for (bufsize_t i = pos; i >= 0; i--) {
+ if (buf->ptr[i] == (unsigned char)c)
+ return i;
+ }
- return -1;
+ return -1;
}
-void cmark_strbuf_truncate(cmark_strbuf *buf, bufsize_t len)
-{
- if (len < 0)
- len = 0;
+void cmark_strbuf_truncate(cmark_strbuf *buf, bufsize_t len) {
+ if (len < 0)
+ len = 0;
- if (len < buf->size) {
- buf->size = len;
- buf->ptr[buf->size] = '\0';
- }
+ if (len < buf->size) {
+ buf->size = len;
+ buf->ptr[buf->size] = '\0';
+ }
}
-void cmark_strbuf_drop(cmark_strbuf *buf, bufsize_t n)
-{
- if (n > 0) {
- if (n > buf->size)
- n = buf->size;
- buf->size = buf->size - n;
- if (buf->size)
- memmove(buf->ptr, buf->ptr + n, buf->size);
-
- buf->ptr[buf->size] = '\0';
- }
+void cmark_strbuf_drop(cmark_strbuf *buf, bufsize_t n) {
+ if (n > 0) {
+ if (n > buf->size)
+ n = buf->size;
+ buf->size = buf->size - n;
+ if (buf->size)
+ memmove(buf->ptr, buf->ptr + n, buf->size);
+
+ buf->ptr[buf->size] = '\0';
+ }
}
-void cmark_strbuf_rtrim(cmark_strbuf *buf)
-{
- if (!buf->size)
- return;
+void cmark_strbuf_rtrim(cmark_strbuf *buf) {
+ if (!buf->size)
+ return;
- while (buf->size > 0) {
- if (!cmark_isspace(buf->ptr[buf->size - 1]))
- break;
+ while (buf->size > 0) {
+ if (!cmark_isspace(buf->ptr[buf->size - 1]))
+ break;
- buf->size--;
- }
+ buf->size--;
+ }
- buf->ptr[buf->size] = '\0';
+ buf->ptr[buf->size] = '\0';
}
-void cmark_strbuf_trim(cmark_strbuf *buf)
-{
- bufsize_t i = 0;
+void cmark_strbuf_trim(cmark_strbuf *buf) {
+ bufsize_t i = 0;
- if (!buf->size)
- return;
+ if (!buf->size)
+ return;
- while (i < buf->size && cmark_isspace(buf->ptr[i]))
- i++;
+ while (i < buf->size && cmark_isspace(buf->ptr[i]))
+ i++;
- cmark_strbuf_drop(buf, i);
+ cmark_strbuf_drop(buf, i);
- cmark_strbuf_rtrim(buf);
+ cmark_strbuf_rtrim(buf);
}
// Destructively modify string, collapsing consecutive
// space and newline characters into a single space.
-void cmark_strbuf_normalize_whitespace(cmark_strbuf *s)
-{
- bool last_char_was_space = false;
- bufsize_t r, w;
-
- for (r = 0, w = 0; r < s->size; ++r) {
- switch (s->ptr[r]) {
- case ' ':
- case '\n':
- if (last_char_was_space)
- break;
-
- s->ptr[w++] = ' ';
- last_char_was_space = true;
- break;
-
- default:
- s->ptr[w++] = s->ptr[r];
- last_char_was_space = false;
- }
- }
-
- cmark_strbuf_truncate(s, w);
+void cmark_strbuf_normalize_whitespace(cmark_strbuf *s) {
+ bool last_char_was_space = false;
+ bufsize_t r, w;
+
+ for (r = 0, w = 0; r < s->size; ++r) {
+ switch (s->ptr[r]) {
+ case ' ':
+ case '\n':
+ if (last_char_was_space)
+ break;
+
+ s->ptr[w++] = ' ';
+ last_char_was_space = true;
+ break;
+
+ default:
+ s->ptr[w++] = s->ptr[r];
+ last_char_was_space = false;
+ }
+ }
+
+ cmark_strbuf_truncate(s, w);
}
// Destructively unescape a string: remove backslashes before punctuation chars.
-extern void cmark_strbuf_unescape(cmark_strbuf *buf)
-{
- bufsize_t r, w;
+extern void cmark_strbuf_unescape(cmark_strbuf *buf) {
+ bufsize_t r, w;
- for (r = 0, w = 0; r < buf->size; ++r) {
- if (buf->ptr[r] == '\\' && cmark_ispunct(buf->ptr[r + 1]))
- r++;
+ for (r = 0, w = 0; r < buf->size; ++r) {
+ if (buf->ptr[r] == '\\' && cmark_ispunct(buf->ptr[r + 1]))
+ r++;
- buf->ptr[w++] = buf->ptr[r];
- }
+ buf->ptr[w++] = buf->ptr[r];
+ }
- cmark_strbuf_truncate(buf, w);
+ cmark_strbuf_truncate(buf, w);
}
diff --git a/src/buffer.h b/src/buffer.h
index 36ae0a1..e99db72 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -14,13 +14,14 @@ extern "C" {
typedef int bufsize_t;
typedef struct {
- unsigned char *ptr;
- bufsize_t asize, size;
+ unsigned char *ptr;
+ bufsize_t asize, size;
} cmark_strbuf;
extern unsigned char cmark_strbuf__initbuf[];
-#define GH_BUF_INIT { cmark_strbuf__initbuf, 0, 0 }
+#define GH_BUF_INIT \
+ { cmark_strbuf__initbuf, 0, 0 }
#define BUFSIZE_MAX INT_MAX
/**
@@ -44,19 +45,21 @@ bufsize_t cmark_strbuf_len(const cmark_strbuf *buf);
int cmark_strbuf_cmp(const cmark_strbuf *a, const cmark_strbuf *b);
unsigned char *cmark_strbuf_detach(cmark_strbuf *buf);
-void cmark_strbuf_copy_cstr(char *data, bufsize_t datasize, const cmark_strbuf *buf);
+void cmark_strbuf_copy_cstr(char *data, bufsize_t datasize,
+ const cmark_strbuf *buf);
-static inline const char *cmark_strbuf_cstr(const cmark_strbuf *buf)
-{
- return (char *)buf->ptr;
+static inline const char *cmark_strbuf_cstr(const cmark_strbuf *buf) {
+ return (char *)buf->ptr;
}
#define cmark_strbuf_at(buf, n) ((buf)->ptr[n])
-void cmark_strbuf_set(cmark_strbuf *buf, const unsigned char *data, bufsize_t len);
+void cmark_strbuf_set(cmark_strbuf *buf, const unsigned char *data,
+ bufsize_t len);
void cmark_strbuf_sets(cmark_strbuf *buf, const char *string);
void cmark_strbuf_putc(cmark_strbuf *buf, int c);
-void cmark_strbuf_put(cmark_strbuf *buf, const unsigned char *data, bufsize_t len);
+void cmark_strbuf_put(cmark_strbuf *buf, const unsigned char *data,
+ bufsize_t len);
void cmark_strbuf_puts(cmark_strbuf *buf, const char *string);
void cmark_strbuf_clear(cmark_strbuf *buf);
@@ -72,17 +75,15 @@ void cmark_strbuf_unescape(cmark_strbuf *s);
/* Print error and abort. */
void cmark_strbuf_overflow_err(void);
-static inline bufsize_t
-cmark_strbuf_check_bufsize(size_t size) {
- if (size > BUFSIZE_MAX) {
- cmark_strbuf_overflow_err();
- }
- return (bufsize_t)size;
+static inline bufsize_t cmark_strbuf_check_bufsize(size_t size) {
+ if (size > BUFSIZE_MAX) {
+ cmark_strbuf_overflow_err();
+ }
+ return (bufsize_t)size;
}
-static inline bufsize_t
-cmark_strbuf_safe_strlen(const char *str) {
- return cmark_strbuf_check_bufsize(strlen(str));
+static inline bufsize_t cmark_strbuf_safe_strlen(const char *str) {
+ return cmark_strbuf_check_bufsize(strlen(str));
}
#ifdef __cplusplus
diff --git a/src/chunk.h b/src/chunk.h
index f23a02d..db1bf0d 100644
--- a/src/chunk.h
+++ b/src/chunk.h
@@ -7,115 +7,109 @@
#include "cmark_ctype.h"
#include "buffer.h"
-#define CMARK_CHUNK_EMPTY { NULL, 0, 0 }
+#define CMARK_CHUNK_EMPTY \
+ { NULL, 0, 0 }
typedef struct {
- unsigned char *data;
- bufsize_t len;
- bufsize_t alloc; // also implies a NULL-terminated string
+ unsigned char *data;
+ bufsize_t len;
+ bufsize_t alloc; // also implies a NULL-terminated string
} cmark_chunk;
-static inline void cmark_chunk_free(cmark_chunk *c)
-{
- if (c->alloc)
- free(c->data);
+static inline void cmark_chunk_free(cmark_chunk *c) {
+ if (c->alloc)
+ free(c->data);
- c->data = NULL;
- c->alloc = 0;
- c->len = 0;
+ c->data = NULL;
+ c->alloc = 0;
+ c->len = 0;
}
-static inline void cmark_chunk_ltrim(cmark_chunk *c)
-{
- assert(!c->alloc);
+static inline void cmark_chunk_ltrim(cmark_chunk *c) {
+ assert(!c->alloc);
- while (c->len && cmark_isspace(c->data[0])) {
- c->data++;
- c->len--;
- }
+ while (c->len && cmark_isspace(c->data[0])) {
+ c->data++;
+ c->len--;
+ }
}
-static inline void cmark_chunk_rtrim(cmark_chunk *c)
-{
- while (c->len > 0) {
- if (!cmark_isspace(c->data[c->len - 1]))
- break;
+static inline void cmark_chunk_rtrim(cmark_chunk *c) {
+ while (c->len > 0) {
+ if (!cmark_isspace(c->data[c->len - 1]))
+ break;
- c->len--;
- }
+ c->len--;
+ }
}
-static inline void cmark_chunk_trim(cmark_chunk *c)
-{
- cmark_chunk_ltrim(c);
- cmark_chunk_rtrim(c);
+static inline void cmark_chunk_trim(cmark_chunk *c) {
+ cmark_chunk_ltrim(c);
+ cmark_chunk_rtrim(c);
}
-static inline bufsize_t cmark_chunk_strchr(cmark_chunk *ch, int c, bufsize_t offset)
-{
- const unsigned char *p = (unsigned char *)memchr(ch->data + offset, c, ch->len - offset);
- return p ? (bufsize_t)(p - ch->data) : ch->len;
+static inline bufsize_t cmark_chunk_strchr(cmark_chunk *ch, int c,
+ bufsize_t offset) {
+ const unsigned char *p =
+ (unsigned char *)memchr(ch->data + offset, c, ch->len - offset);
+ return p ? (bufsize_t)(p - ch->data) : ch->len;
}
-static inline const char *cmark_chunk_to_cstr(cmark_chunk *c)
-{
- unsigned char *str;
-
- if (c->alloc) {
- return (char *)c->data;
- }
- str = (unsigned char *)malloc(c->len + 1);
- if(str != NULL) {
- if(c->len > 0) {
- memcpy(str, c->data, c->len);
- }
- str[c->len] = 0;
- }
- c->data = str;
- c->alloc = 1;
-
- return (char *)str;
+static inline const char *cmark_chunk_to_cstr(cmark_chunk *c) {
+ unsigned char *str;
+
+ if (c->alloc) {
+ return (char *)c->data;
+ }
+ str = (unsigned char *)malloc(c->len + 1);
+ if (str != NULL) {
+ if (c->len > 0) {
+ memcpy(str, c->data, c->len);
+ }
+ str[c->len] = 0;
+ }
+ c->data = str;
+ c->alloc = 1;
+
+ return (char *)str;
}
-static inline void cmark_chunk_set_cstr(cmark_chunk *c, const char *str)
-{
- if (c->alloc) {
- free(c->data);
- }
- if (str == NULL) {
- c->len = 0;
- c->data = NULL;
- c->alloc = 0;
- } else {
- c->len = cmark_strbuf_safe_strlen(str);
- c->data = (unsigned char *)malloc(c->len + 1);
- c->alloc = 1;
- memcpy(c->data, str, c->len + 1);
- }
+static inline void cmark_chunk_set_cstr(cmark_chunk *c, const char *str) {
+ if (c->alloc) {
+ free(c->data);
+ }
+ if (str == NULL) {
+ c->len = 0;
+ c->data = NULL;
+ c->alloc = 0;
+ } else {
+ c->len = cmark_strbuf_safe_strlen(str);
+ c->data = (unsigned char *)malloc(c->len + 1);
+ c->alloc = 1;
+ memcpy(c->data, str, c->len + 1);
+ }
}
-static inline cmark_chunk cmark_chunk_literal(const char *data)
-{
- bufsize_t len = data ? cmark_strbuf_safe_strlen(data) : 0;
- cmark_chunk c = {(unsigned char *)data, len, 0};
- return c;
+static inline cmark_chunk cmark_chunk_literal(const char *data) {
+ bufsize_t len = data ? cmark_strbuf_safe_strlen(data) : 0;
+ cmark_chunk c = {(unsigned char *)data, len, 0};
+ return c;
}
-static inline cmark_chunk cmark_chunk_dup(const cmark_chunk *ch, bufsize_t pos, bufsize_t len)
-{
- cmark_chunk c = {ch->data + pos, len, 0};
- return c;
+static inline cmark_chunk cmark_chunk_dup(const cmark_chunk *ch, bufsize_t pos,
+ bufsize_t len) {
+ cmark_chunk c = {ch->data + pos, len, 0};
+ return c;
}
-static inline cmark_chunk cmark_chunk_buf_detach(cmark_strbuf *buf)
-{
- cmark_chunk c;
+static inline cmark_chunk cmark_chunk_buf_detach(cmark_strbuf *buf) {
+ cmark_chunk c;
- c.len = buf->size;
- c.data = cmark_strbuf_detach(buf);
- c.alloc = 1;
+ c.len = buf->size;
+ c.data = cmark_strbuf_detach(buf);
+ c.alloc = 1;
- return c;
+ return c;
}
#endif
diff --git a/src/cmark.c b/src/cmark.c
index ca9807b..3491199 100644
--- a/src/cmark.c
+++ b/src/cmark.c
@@ -6,26 +6,18 @@
#include "cmark.h"
#include "buffer.h"
-int cmark_version()
-{
- return CMARK_VERSION;
-}
+int cmark_version() { return CMARK_VERSION; }
-const char *cmark_version_string()
-{
- return CMARK_VERSION_STRING;
-}
+const char *cmark_version_string() { return CMARK_VERSION_STRING; }
-char *cmark_markdown_to_html(const char *text, size_t len, int options)
-{
- cmark_node *doc;
- char *result;
+char *cmark_markdown_to_html(const char *text, size_t len, int options) {
+ cmark_node *doc;
+ char *result;
- doc = cmark_parse_document(text, len, options);
+ doc = cmark_parse_document(text, len, options);
- result = cmark_render_html(doc, options);
- cmark_node_free(doc);
+ result = cmark_render_html(doc, options);
+ cmark_node_free(doc);
- return result;
+ return result;
}
-
diff --git a/src/cmark.h b/src/cmark.h
index 4a85f26..3ad4486 100644
--- a/src/cmark.h
+++ b/src/cmark.h
@@ -30,49 +30,48 @@ char *cmark_markdown_to_html(const char *text, size_t len, int options);
*/
typedef enum {
- /* Error status */
- CMARK_NODE_NONE,
-
- /* Block */
- CMARK_NODE_DOCUMENT,
- CMARK_NODE_BLOCK_QUOTE,
- CMARK_NODE_LIST,
- CMARK_NODE_ITEM,
- CMARK_NODE_CODE_BLOCK,
- CMARK_NODE_HTML,
- CMARK_NODE_PARAGRAPH,
- CMARK_NODE_HEADER,
- CMARK_NODE_HRULE,
-
- CMARK_NODE_FIRST_BLOCK = CMARK_NODE_DOCUMENT,
- CMARK_NODE_LAST_BLOCK = CMARK_NODE_HRULE,
-
- /* Inline */
- CMARK_NODE_TEXT,
- CMARK_NODE_SOFTBREAK,
- CMARK_NODE_LINEBREAK,
- CMARK_NODE_CODE,
- CMARK_NODE_INLINE_HTML,
- CMARK_NODE_EMPH,
- CMARK_NODE_STRONG,
- CMARK_NODE_LINK,
- CMARK_NODE_IMAGE,
-
- CMARK_NODE_FIRST_INLINE = CMARK_NODE_TEXT,
- CMARK_NODE_LAST_INLINE = CMARK_NODE_IMAGE,
+ /* Error status */
+ CMARK_NODE_NONE,
+
+ /* Block */
+ CMARK_NODE_DOCUMENT,
+ CMARK_NODE_BLOCK_QUOTE,
+ CMARK_NODE_LIST,
+ CMARK_NODE_ITEM,
+ CMARK_NODE_CODE_BLOCK,
+ CMARK_NODE_HTML,
+ CMARK_NODE_PARAGRAPH,
+ CMARK_NODE_HEADER,
+ CMARK_NODE_HRULE,
+
+ CMARK_NODE_FIRST_BLOCK = CMARK_NODE_DOCUMENT,
+ CMARK_NODE_LAST_BLOCK = CMARK_NODE_HRULE,
+
+ /* Inline */
+ CMARK_NODE_TEXT,
+ CMARK_NODE_SOFTBREAK,
+ CMARK_NODE_LINEBREAK,
+ CMARK_NODE_CODE,
+ CMARK_NODE_INLINE_HTML,
+ CMARK_NODE_EMPH,
+ CMARK_NODE_STRONG,
+ CMARK_NODE_LINK,
+ CMARK_NODE_IMAGE,
+
+ CMARK_NODE_FIRST_INLINE = CMARK_NODE_TEXT,
+ CMARK_NODE_LAST_INLINE = CMARK_NODE_IMAGE,
} cmark_node_type;
-
typedef enum {
- CMARK_NO_LIST,
- CMARK_BULLET_LIST,
- CMARK_ORDERED_LIST
-} cmark_list_type;
+ CMARK_NO_LIST,
+ CMARK_BULLET_LIST,
+ CMARK_ORDERED_LIST
+} cmark_list_type;
typedef enum {
- CMARK_NO_DELIM,
- CMARK_PERIOD_DELIM,
- CMARK_PAREN_DELIM
+ CMARK_NO_DELIM,
+ CMARK_PERIOD_DELIM,
+ CMARK_PAREN_DELIM
} cmark_delim_type;
typedef struct cmark_node cmark_node;
@@ -80,10 +79,10 @@ typedef struct cmark_parser cmark_parser;
typedef struct cmark_iter cmark_iter;
typedef enum {
- CMARK_EVENT_NONE,
- CMARK_EVENT_DONE,
- CMARK_EVENT_ENTER,
- CMARK_EVENT_EXIT
+ CMARK_EVENT_NONE,
+ CMARK_EVENT_DONE,
+ CMARK_EVENT_ENTER,
+ CMARK_EVENT_EXIT
} cmark_event_type;
/**
@@ -94,13 +93,11 @@ typedef enum {
* other required properties, which it is the caller's responsibility
* to assign.
*/
-CMARK_EXPORT cmark_node*
-cmark_node_new(cmark_node_type type);
+CMARK_EXPORT cmark_node *cmark_node_new(cmark_node_type type);
/** Frees the memory allocated for a node.
*/
-CMARK_EXPORT void
-cmark_node_free(cmark_node *node);
+CMARK_EXPORT void cmark_node_free(cmark_node *node);
/**
* ## Tree Traversal
@@ -109,29 +106,24 @@ cmark_node_free(cmark_node *node);
/** Returns the next node in the sequence after 'node', or NULL if
* there is none.
*/
-CMARK_EXPORT cmark_node*
-cmark_node_next(cmark_node *node);
+CMARK_EXPORT cmark_node *cmark_node_next(cmark_node *node);
/** Returns the previous node in the sequence after 'node', or NULL if
* there is none.
*/
-CMARK_EXPORT cmark_node*
-cmark_node_previous(cmark_node *node);
+CMARK_EXPORT cmark_node *cmark_node_previous(cmark_node *node);
/** Returns the parent of 'node', or NULL if there is none.
*/
-CMARK_EXPORT cmark_node*
-cmark_node_parent(cmark_node *node);
+CMARK_EXPORT cmark_node *cmark_node_parent(cmark_node *node);
/** Returns the first child of 'node', or NULL if 'node' has no children.
*/
-CMARK_EXPORT cmark_node*
-cmark_node_first_child(cmark_node *node);
+CMARK_EXPORT cmark_node *cmark_node_first_child(cmark_node *node);
/** Returns the last child of 'node', or NULL if 'node' has no children.
*/
-CMARK_EXPORT cmark_node*
-cmark_node_last_child(cmark_node *node);
+CMARK_EXPORT cmark_node *cmark_node_last_child(cmark_node *node);
/**
* ## Iterator
@@ -182,48 +174,41 @@ cmark_node_last_child(cmark_node *node);
* type are undefined until `cmark_iter_next` is called for the first time.
*/
CMARK_EXPORT
-cmark_iter*
-cmark_iter_new(cmark_node *root);
+cmark_iter *cmark_iter_new(cmark_node *root);
/** Frees the memory allocated for an iterator.
*/
CMARK_EXPORT
-void
-cmark_iter_free(cmark_iter *iter);
+void cmark_iter_free(cmark_iter *iter);
/** Advances to the next node and returns the event type (`CMARK_EVENT_ENTER`,
* `CMARK_EVENT_EXIT` or `CMARK_EVENT_DONE`).
*/
CMARK_EXPORT
-cmark_event_type
-cmark_iter_next(cmark_iter *iter);
+cmark_event_type cmark_iter_next(cmark_iter *iter);
/** Returns the current node.
*/
CMARK_EXPORT
-cmark_node*
-cmark_iter_get_node(cmark_iter *iter);
+cmark_node *cmark_iter_get_node(cmark_iter *iter);
/** Returns the current event type.
*/
CMARK_EXPORT
-cmark_event_type
-cmark_iter_get_event_type(cmark_iter *iter);
+cmark_event_type cmark_iter_get_event_type(cmark_iter *iter);
/** Returns the root node.
*/
CMARK_EXPORT
-cmark_node*
-cmark_iter_get_root(cmark_iter *iter);
+cmark_node *cmark_iter_get_root(cmark_iter *iter);
/** Resets the iterator so that the current node is 'current' and
* the event type is 'event_type'. The new current node must be a
* descendant of the root node or the root node itself.
*/
CMARK_EXPORT
-void
-cmark_iter_reset(cmark_iter *iter, cmark_node *current,
- cmark_event_type event_type);
+void cmark_iter_reset(cmark_iter *iter, cmark_node *current,
+ cmark_event_type event_type);
/**
* ## Accessors
@@ -231,144 +216,120 @@ cmark_iter_reset(cmark_iter *iter, cmark_node *current,
/** Returns the user data of 'node'.
*/
-CMARK_EXPORT void*
-cmark_node_get_user_data(cmark_node *node);
+CMARK_EXPORT void *cmark_node_get_user_data(cmark_node *node);
/** Sets arbitrary user data for 'node'. Returns 1 on success,
* 0 on failure.
*/
-CMARK_EXPORT int
-cmark_node_set_user_data(cmark_node *node, void *user_data);
+CMARK_EXPORT int cmark_node_set_user_data(cmark_node *node, void *user_data);
/** Returns the type of 'node', or `CMARK_NODE_NONE` on error.
*/
-CMARK_EXPORT cmark_node_type
-cmark_node_get_type(cmark_node *node);
+CMARK_EXPORT cmark_node_type cmark_node_get_type(cmark_node *node);
/** Like 'cmark_node_get_type', but returns a string representation
of the type, or `"<unknown>"`.
*/
CMARK_EXPORT
-const char*
-cmark_node_get_type_string(cmark_node *node);
+const char *cmark_node_get_type_string(cmark_node *node);
/** Returns the string contents of 'node', or NULL if none.
*/
-CMARK_EXPORT const char*
-cmark_node_get_literal(cmark_node *node);
+CMARK_EXPORT const char *cmark_node_get_literal(cmark_node *node);
/** Sets the string contents of 'node'. Returns 1 on success,
* 0 on failure.
*/
-CMARK_EXPORT int
-cmark_node_set_literal(cmark_node *node, const char *content);
+CMARK_EXPORT int cmark_node_set_literal(cmark_node *node, const char *content);
/** Returns the header level of 'node', or 0 if 'node' is not a header.
*/
-CMARK_EXPORT int
-cmark_node_get_header_level(cmark_node *node);
+CMARK_EXPORT int cmark_node_get_header_level(cmark_node *node);
/** Sets the header level of 'node', returning 1 on success and 0 on error.
*/
-CMARK_EXPORT int
-cmark_node_set_header_level(cmark_node *node, int level);
+CMARK_EXPORT int cmark_node_set_header_level(cmark_node *node, int level);
/** Returns the list type of 'node', or `CMARK_NO_LIST` if 'node'
* is not a list.
*/
-CMARK_EXPORT cmark_list_type
-cmark_node_get_list_type(cmark_node *node);
+CMARK_EXPORT cmark_list_type cmark_node_get_list_type(cmark_node *node);
/** Sets the list type of 'node', returning 1 on success and 0 on error.
*/
-CMARK_EXPORT int
-cmark_node_set_list_type(cmark_node *node, cmark_list_type type);
+CMARK_EXPORT int cmark_node_set_list_type(cmark_node *node,
+ cmark_list_type type);
/** Returns the list delimiter type of 'node', or `CMARK_NO_DELIM` if 'node'
* is not a list.
*/
-CMARK_EXPORT cmark_delim_type
-cmark_node_get_list_delim(cmark_node *node);
+CMARK_EXPORT cmark_delim_type cmark_node_get_list_delim(cmark_node *node);
/** Sets the list delimiter type of 'node', returning 1 on success and 0
* on error.
*/
-CMARK_EXPORT int
-cmark_node_set_list_delim(cmark_node *node, cmark_delim_type delim);
+CMARK_EXPORT int cmark_node_set_list_delim(cmark_node *node,
+ cmark_delim_type delim);
/** Returns starting number of 'node', if it is an ordered list, otherwise 0.
*/
-CMARK_EXPORT int
-cmark_node_get_list_start(cmark_node *node);
+CMARK_EXPORT int cmark_node_get_list_start(cmark_node *node);
/** Sets starting number of 'node', if it is an ordered list. Returns 1
* on success, 0 on failure.
*/
-CMARK_EXPORT int
-cmark_node_set_list_start(cmark_node *node, int start);
+CMARK_EXPORT int cmark_node_set_list_start(cmark_node *node, int start);
/** Returns 1 if 'node' is a tight list, 0 otherwise.
*/
-CMARK_EXPORT int
-cmark_node_get_list_tight(cmark_node *node);
+CMARK_EXPORT int cmark_node_get_list_tight(cmark_node *node);
/** Sets the "tightness" of a list. Returns 1 on success, 0 on failure.
*/
-CMARK_EXPORT int
-cmark_node_set_list_tight(cmark_node *node, int tight);
+CMARK_EXPORT int cmark_node_set_list_tight(cmark_node *node, int tight);
/** Returns the info string from a fenced code block, or NULL if none.
*/
-CMARK_EXPORT const char*
-cmark_node_get_fence_info(cmark_node *node);
+CMARK_EXPORT const char *cmark_node_get_fence_info(cmark_node *node);
/** Sets the info string in a fenced code block, returning 1 on
* success and 0 on failure.
*/
-CMARK_EXPORT int
-cmark_node_set_fence_info(cmark_node *node, const char *info);
+CMARK_EXPORT int cmark_node_set_fence_info(cmark_node *node, const char *info);
/** Gets the URL of a link or image 'node', or NULL if none.
*/
-CMARK_EXPORT const char*
-cmark_node_get_url(cmark_node *node);
+CMARK_EXPORT const char *cmark_node_get_url(cmark_node *node);
/** Sets the URL of a link or image 'node'. Returns 1 on success,
* 0 on failure.
*/
-CMARK_EXPORT int
-cmark_node_set_url(cmark_node *node, const char *url);
+CMARK_EXPORT int cmark_node_set_url(cmark_node *node, const char *url);
/** Gets the title of a link or image 'node', or NULL if none.
*/
-CMARK_EXPORT const char*
-cmark_node_get_title(cmark_node *node);
+CMARK_EXPORT const char *cmark_node_get_title(cmark_node *node);
/** Sets the title of a link or image 'node'. Returns 1 on success,
* 0 on failure.
*/
-CMARK_EXPORT int
-cmark_node_set_title(cmark_node *node, const char *title);
+CMARK_EXPORT int cmark_node_set_title(cmark_node *node, const char *title);
/** Returns the line on which 'node' begins.
*/
-CMARK_EXPORT int
-cmark_node_get_start_line(cmark_node *node);
+CMARK_EXPORT int cmark_node_get_start_line(cmark_node *node);
/** Returns the column at which 'node' begins.
*/
-CMARK_EXPORT int
-cmark_node_get_start_column(cmark_node *node);
+CMARK_EXPORT int cmark_node_get_start_column(cmark_node *node);
/** Returns the line on which 'node' ends.
*/
-CMARK_EXPORT int
-cmark_node_get_end_line(cmark_node *node);
+CMARK_EXPORT int cmark_node_get_end_line(cmark_node *node);
/** Returns the column at which 'node' ends.
*/
-CMARK_EXPORT int
-cmark_node_get_end_column(cmark_node *node);
+CMARK_EXPORT int cmark_node_get_end_column(cmark_node *node);
/**
* ## Tree Manipulation
@@ -377,35 +338,30 @@ cmark_node_get_end_column(cmark_node *node);
/** Unlinks a 'node', removing it from the tree, but not freeing its
* memory. (Use 'cmark_node_free' for that.)
*/
-CMARK_EXPORT void
-cmark_node_unlink(cmark_node *node);
+CMARK_EXPORT void cmark_node_unlink(cmark_node *node);
/** Inserts 'sibling' before 'node'. Returns 1 on success, 0 on failure.
*/
-CMARK_EXPORT int
-cmark_node_insert_before(cmark_node *node, cmark_node *sibling);
+CMARK_EXPORT int cmark_node_insert_before(cmark_node *node,
+ cmark_node *sibling);
/** Inserts 'sibling' after 'node'. Returns 1 on success, 0 on failure.
*/
-CMARK_EXPORT int
-cmark_node_insert_after(cmark_node *node, cmark_node *sibling);
+CMARK_EXPORT int cmark_node_insert_after(cmark_node *node, cmark_node *sibling);
/** Adds 'child' to the beginning of the children of 'node'.
* Returns 1 on success, 0 on failure.
*/
-CMARK_EXPORT int
-cmark_node_prepend_child(cmark_node *node, cmark_node *child);
+CMARK_EXPORT int cmark_node_prepend_child(cmark_node *node, cmark_node *child);
/** Adds 'child' to the end of the children of 'node'.
* Returns 1 on success, 0 on failure.
*/
-CMARK_EXPORT int
-cmark_node_append_child(cmark_node *node, cmark_node *child);
+CMARK_EXPORT int cmark_node_append_child(cmark_node *node, cmark_node *child);
/** Consolidates adjacent text nodes.
*/
-CMARK_EXPORT void
-cmark_consolidate_text_nodes(cmark_node *root);
+CMARK_EXPORT void cmark_consolidate_text_nodes(cmark_node *root);
/**
* ## Parsing
@@ -552,28 +508,28 @@ const char *cmark_version_string();
*/
#ifndef CMARK_NO_SHORT_NAMES
-#define NODE_DOCUMENT CMARK_NODE_DOCUMENT
-#define NODE_BLOCK_QUOTE CMARK_NODE_BLOCK_QUOTE
-#define NODE_LIST CMARK_NODE_LIST
-#define NODE_ITEM CMARK_NODE_ITEM
-#define NODE_CODE_BLOCK CMARK_NODE_CODE_BLOCK
-#define NODE_HTML CMARK_NODE_HTML
-#define NODE_PARAGRAPH CMARK_NODE_PARAGRAPH
-#define NODE_HEADER CMARK_NODE_HEADER
-#define NODE_HRULE CMARK_NODE_HRULE
-#define NODE_TEXT CMARK_NODE_TEXT
-#define NODE_SOFTBREAK CMARK_NODE_SOFTBREAK
-#define NODE_LINEBREAK CMARK_NODE_LINEBREAK
-#define NODE_CODE CMARK_NODE_CODE
-#define NODE_INLINE_HTML CMARK_NODE_INLINE_HTML
-#define NODE_EMPH CMARK_NODE_EMPH
-#define NODE_STRONG CMARK_NODE_STRONG
-#define NODE_LINK CMARK_NODE_LINK
-#define NODE_IMAGE CMARK_NODE_IMAGE
-#define BULLET_LIST CMARK_BULLET_LIST
-#define ORDERED_LIST CMARK_ORDERED_LIST
-#define PERIOD_DELIM CMARK_PERIOD_DELIM
-#define PAREN_DELIM CMARK_PAREN_DELIM
+#define NODE_DOCUMENT CMARK_NODE_DOCUMENT
+#define NODE_BLOCK_QUOTE CMARK_NODE_BLOCK_QUOTE
+#define NODE_LIST CMARK_NODE_LIST
+#define NODE_ITEM CMARK_NODE_ITEM
+#define NODE_CODE_BLOCK CMARK_NODE_CODE_BLOCK
+#define NODE_HTML CMARK_NODE_HTML
+#define NODE_PARAGRAPH CMARK_NODE_PARAGRAPH
+#define NODE_HEADER CMARK_NODE_HEADER
+#define NODE_HRULE CMARK_NODE_HRULE
+#define NODE_TEXT CMARK_NODE_TEXT
+#define NODE_SOFTBREAK CMARK_NODE_SOFTBREAK
+#define NODE_LINEBREAK CMARK_NODE_LINEBREAK
+#define NODE_CODE CMARK_NODE_CODE
+#define NODE_INLINE_HTML CMARK_NODE_INLINE_HTML
+#define NODE_EMPH CMARK_NODE_EMPH
+#define NODE_STRONG CMARK_NODE_STRONG
+#define NODE_LINK CMARK_NODE_LINK
+#define NODE_IMAGE CMARK_NODE_IMAGE
+#define BULLET_LIST CMARK_BULLET_LIST
+#define ORDERED_LIST CMARK_ORDERED_LIST
+#define PERIOD_DELIM CMARK_PERIOD_DELIM
+#define PAREN_DELIM CMARK_PAREN_DELIM
#endif
#ifdef __cplusplus
diff --git a/src/cmark_ctype.c b/src/cmark_ctype.c
index 5de8199..863c35e 100644
--- a/src/cmark_ctype.c
+++ b/src/cmark_ctype.c
@@ -5,49 +5,38 @@
/** 1 = space, 2 = punct, 3 = digit, 4 = alpha, 0 = other
*/
static const int8_t cmark_ctype_class[256] = {
- /* 0 1 2 3 4 5 6 7 8 9 a b c d e f */
- /* 0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0,
- /* 1 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- /* 2 */ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- /* 3 */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2,
- /* 4 */ 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- /* 5 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2,
- /* 6 */ 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- /* 7 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 0,
- /* 8 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- /* 9 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- /* a */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- /* b */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- /* c */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- /* d */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- /* e */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- /* f */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
+ /* 0 1 2 3 4 5 6 7 8 9 a b c d e f */
+ /* 0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0,
+ /* 1 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ /* 2 */ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ /* 3 */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2,
+ /* 4 */ 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ /* 5 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2,
+ /* 6 */ 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ /* 7 */ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 0,
+ /* 8 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ /* 9 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ /* a */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ /* b */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ /* c */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ /* d */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ /* e */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ /* f */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
/**
* Returns 1 if c is a "whitespace" character as defined by the spec.
*/
-int cmark_isspace(char c)
-{
- return cmark_ctype_class[(int8_t)c] == 1;
-}
+int cmark_isspace(char c) { return cmark_ctype_class[(int8_t)c] == 1; }
/**
* Returns 1 if c is an ascii punctuation character.
*/
-int cmark_ispunct(char c)
-{
- return cmark_ctype_class[(int8_t)c] == 2;
-}
+int cmark_ispunct(char c) { return cmark_ctype_class[(int8_t)c] == 2; }
-int cmark_isalnum(char c)
-{
- int8_t result;
- result = cmark_ctype_class[(int8_t)c];
- return (result == 3 || result == 4);
+int cmark_isalnum(char c) {
+ int8_t result;
+ result = cmark_ctype_class[(int8_t)c];
+ return (result == 3 || result == 4);
}
-int cmark_isdigit(char c)
-{
- return cmark_ctype_class[(int8_t)c] == 3;
-}
+int cmark_isdigit(char c) { return cmark_ctype_class[(int8_t)c] == 3; }
diff --git a/src/commonmark.c b/src/commonmark.c
index 5964c60..da81623 100644
--- a/src/commonmark.c
+++ b/src/commonmark.c
@@ -20,445 +20,408 @@
// Functions to convert cmark_nodes to commonmark strings.
-static inline void outc(cmark_renderer *renderer,
- cmark_escaping escape,
- int32_t c,
- unsigned char nextc)
-{
- bool needs_escaping = false;
- char encoded[20];
-
- needs_escaping =
- escape != LITERAL &&
- ((escape == NORMAL &&
- (c == '*' || c == '_' || c == '[' || c == ']' || c == '#' ||
- c == '<' || c == '>' || c == '\\' || c == '`' || c == '!' ||
- (c == '&' && isalpha(nextc)) ||
- (c == '!' && nextc == '[') ||
- (renderer->begin_line &&
- (c == '-' || c == '+' || c == '=')) ||
- ((c == '.' || c == ')') &&
- isdigit(renderer->buffer->ptr[renderer->buffer->size - 1])))) ||
- (escape == URL &&
- (c == '`' || c == '<' || c == '>' || isspace(c) ||
- c == '\\' || c == ')' || c == '(')) ||
- (escape == TITLE &&
- (c == '`' || c == '<' || c == '>' || c == '"' ||
- c == '\\')));
-
- if (needs_escaping) {
- if (isspace(c)) {
- // use percent encoding for spaces
- sprintf(encoded, "%%%2x", c);
- cmark_strbuf_puts(renderer->buffer, encoded);
- renderer->column += 3;
- } else {
- cmark_render_ascii(renderer, "\\");
- cmark_render_code_point(renderer, c);
- }
- } else {
- cmark_render_code_point(renderer, c);
- }
+static inline void outc(cmark_renderer *renderer, cmark_escaping escape,
+ int32_t c, unsigned char nextc) {
+ bool needs_escaping = false;
+ char encoded[20];
+
+ needs_escaping =
+ escape != LITERAL &&
+ ((escape == NORMAL &&
+ (c == '*' || c == '_' || c == '[' || c == ']' || c == '#' || c == '<' ||
+ c == '>' || c == '\\' || c == '`' || c == '!' ||
+ (c == '&' && isalpha(nextc)) || (c == '!' && nextc == '[') ||
+ (renderer->begin_line && (c == '-' || c == '+' || c == '=')) ||
+ ((c == '.' || c == ')') &&
+ isdigit(renderer->buffer->ptr[renderer->buffer->size - 1])))) ||
+ (escape == URL && (c == '`' || c == '<' || c == '>' || isspace(c) ||
+ c == '\\' || c == ')' || c == '(')) ||
+ (escape == TITLE &&
+ (c == '`' || c == '<' || c == '>' || c == '"' || c == '\\')));
+
+ if (needs_escaping) {
+ if (isspace(c)) {
+ // use percent encoding for spaces
+ sprintf(encoded, "%%%2x", c);
+ cmark_strbuf_puts(renderer->buffer, encoded);
+ renderer->column += 3;
+ } else {
+ cmark_render_ascii(renderer, "\\");
+ cmark_render_code_point(renderer, c);
+ }
+ } else {
+ cmark_render_code_point(renderer, c);
+ }
}
-static int
-longest_backtick_sequence(const char *code)
-{
- int longest = 0;
- int current = 0;
- size_t i = 0;
- size_t code_len = safe_strlen(code);
- while (i <= code_len) {
- if (code[i] == '`') {
- current++;
- } else {
- if (current > longest) {
- longest = current;
- }
- current = 0;
- }
- i++;
- }
- return longest;
+static int longest_backtick_sequence(const char *code) {
+ int longest = 0;
+ int current = 0;
+ size_t i = 0;
+ size_t code_len = safe_strlen(code);
+ while (i <= code_len) {
+ if (code[i] == '`') {
+ current++;
+ } else {
+ if (current > longest) {
+ longest = current;
+ }
+ current = 0;
+ }
+ i++;
+ }
+ return longest;
}
-static int
-shortest_unused_backtick_sequence(const char *code)
-{
- int32_t used = 1;
- int current = 0;
- size_t i = 0;
- size_t code_len = safe_strlen(code);
- while (i <= code_len) {
- if (code[i] == '`') {
- current++;
- } else {
- if (current) {
- used |= (1 << current);
- }
- current = 0;
- }
- i++;
- }
- // return number of first bit that is 0:
- i = 0;
- while (used & 1) {
- used = used >> 1;
- i++;
- }
- return i;
+static int shortest_unused_backtick_sequence(const char *code) {
+ int32_t used = 1;
+ int current = 0;
+ size_t i = 0;
+ size_t code_len = safe_strlen(code);
+ while (i <= code_len) {
+ if (code[i] == '`') {
+ current++;
+ } else {
+ if (current) {
+ used |= (1 << current);
+ }
+ current = 0;
+ }
+ i++;
+ }
+ // return number of first bit that is 0:
+ i = 0;
+ while (used & 1) {
+ used = used >> 1;
+ i++;
+ }
+ return i;
}
-static bool
-is_autolink(cmark_node *node)
-{
- cmark_chunk *title;
- cmark_chunk *url;
- cmark_node *link_text;
- char *realurl;
- int realurllen;
-
- if (node->type != CMARK_NODE_LINK) {
- return false;
- }
-
- url = &node->as.link.url;
- if (url->len == 0 || scan_scheme(url, 0) == 0) {
- return false;
- }
-
- title = &node->as.link.title;
- // if it has a title, we can't treat it as an autolink:
- if (title->len > 0) {
- return false;
- }
-
- link_text = node->first_child;
- cmark_consolidate_text_nodes(link_text);
- realurl = (char*)url->data;
- realurllen = url->len;
- if (strncmp(realurl, "mailto:", 7) == 0) {
- realurl += 7;
- realurllen -= 7;
- }
- return (realurllen == link_text->as.literal.len &&
- strncmp(realurl,
- (char*)link_text->as.literal.data,
- link_text->as.literal.len) == 0);
+static bool is_autolink(cmark_node *node) {
+ cmark_chunk *title;
+ cmark_chunk *url;
+ cmark_node *link_text;
+ char *realurl;
+ int realurllen;
+
+ if (node->type != CMARK_NODE_LINK) {
+ return false;
+ }
+
+ url = &node->as.link.url;
+ if (url->len == 0 || scan_scheme(url, 0) == 0) {
+ return false;
+ }
+
+ title = &node->as.link.title;
+ // if it has a title, we can't treat it as an autolink:
+ if (title->len > 0) {
+ return false;
+ }
+
+ link_text = node->first_child;
+ cmark_consolidate_text_nodes(link_text);
+ realurl = (char *)url->data;
+ realurllen = url->len;
+ if (strncmp(realurl, "mailto:", 7) == 0) {
+ realurl += 7;
+ realurllen -= 7;
+ }
+ return (realurllen == link_text->as.literal.len &&
+ strncmp(realurl, (char *)link_text->as.literal.data,
+ 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.
-static cmark_node*
-get_containing_block(cmark_node *node)
-{
- while (node &&
- (node->type < CMARK_NODE_FIRST_BLOCK ||
- node->type > CMARK_NODE_LAST_BLOCK)) {
- node = node->parent;
- }
- return node;
+static cmark_node *get_containing_block(cmark_node *node) {
+ while (node && (node->type < CMARK_NODE_FIRST_BLOCK ||
+ node->type > CMARK_NODE_LAST_BLOCK)) {
+ node = node->parent;
+ }
+ return node;
}
-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;
- int i;
- bool entering = (ev_type == CMARK_EVENT_ENTER);
- const char *info, *code, *title;
- size_t info_len, code_len;
- char listmarker[20];
- char *emph_delim;
- bufsize_t marker_width;
-
- // 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->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));
- }
-
- switch (node->type) {
- case CMARK_NODE_DOCUMENT:
- break;
-
- case CMARK_NODE_BLOCK_QUOTE:
- if (entering) {
- LIT("> ");
- cmark_strbuf_puts(renderer->prefix, "> ");
- } else {
- cmark_strbuf_truncate(renderer->prefix,
- renderer->prefix->size - 2);
- BLANKLINE();
- }
- break;
-
- case CMARK_NODE_LIST:
- if (!entering && node->next &&
- (node->next->type == CMARK_NODE_CODE_BLOCK ||
- node->next->type == CMARK_NODE_LIST)) {
- // this ensures 2 blank lines after list,
- // if before code block or list:
- LIT("\n");
- }
- break;
-
- case CMARK_NODE_ITEM:
- if (cmark_node_get_list_type(node->parent) ==
- CMARK_BULLET_LIST) {
- marker_width = 2;
- } else {
- list_number = cmark_node_get_list_start(node->parent);
- 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
- sprintf(listmarker,
- "%d%s%s", list_number,
- list_delim == CMARK_PAREN_DELIM ?
- ")" : ".",
- list_number < 10 ? " " : " ");
- marker_width = safe_strlen(listmarker);
- }
- if (entering) {
- if (cmark_node_get_list_type(node->parent) ==
- CMARK_BULLET_LIST) {
- LIT("* ");
- cmark_strbuf_puts(renderer->prefix, " ");
- } else {
- LIT(listmarker);
- for (i = marker_width; i--;) {
- cmark_strbuf_putc(renderer->prefix, ' ');
- }
- }
- } else {
- cmark_strbuf_truncate(renderer->prefix,
- renderer->prefix->size -
- marker_width);
- CR();
- }
- break;
-
- case CMARK_NODE_HEADER:
- if (entering) {
- for (int i = cmark_node_get_header_level(node); i > 0; i--) {
- LIT("#");
- }
- LIT(" ");
- renderer->no_wrap = true;
- } else {
- renderer->no_wrap = false;
- BLANKLINE();
- }
- break;
-
- case CMARK_NODE_CODE_BLOCK:
- BLANKLINE();
- info = cmark_node_get_fence_info(node);
- info_len = safe_strlen(info);
- code = cmark_node_get_literal(node);
- code_len = safe_strlen(code);
- // use indented form if no info, and code doesn't
- // begin or end with a blank line, and code isn't
- // first thing in a list item
- if (info_len == 0 &&
- (code_len > 2 &&
- !isspace(code[0]) &&
- !(isspace(code[code_len - 1]) &&
- isspace(code[code_len - 2]))) &&
- !(node->prev == NULL && node->parent &&
- node->parent->type == CMARK_NODE_ITEM)) {
- LIT(" ");
- cmark_strbuf_puts(renderer->prefix, " ");
- OUT(cmark_node_get_literal(node), false, LITERAL);
- cmark_strbuf_truncate(renderer->prefix,
- renderer->prefix->size - 4);
- } else {
- numticks = longest_backtick_sequence(code) + 1;
- if (numticks < 3) {
- numticks = 3;
- }
- for (i = 0; i < numticks; i++) {
- LIT("`");
- }
- LIT(" ");
- OUT(info, false, LITERAL);
- CR();
- OUT(cmark_node_get_literal(node), false, LITERAL);
- CR();
- for (i = 0; i < numticks; i++) {
- LIT("`");
- }
- }
- BLANKLINE();
- break;
-
- case CMARK_NODE_HTML:
- BLANKLINE();
- OUT(cmark_node_get_literal(node), false, LITERAL);
- BLANKLINE();
- break;
-
- case CMARK_NODE_HRULE:
- BLANKLINE();
- LIT("-----");
- BLANKLINE();
- break;
-
- case CMARK_NODE_PARAGRAPH:
- if (!entering) {
- BLANKLINE();
- }
- break;
-
- case CMARK_NODE_TEXT:
- OUT(cmark_node_get_literal(node), true, NORMAL);
- break;
-
- case CMARK_NODE_LINEBREAK:
- if (!(CMARK_OPT_HARDBREAKS & options)) {
- LIT("\\");
- }
- CR();
- break;
-
- case CMARK_NODE_SOFTBREAK:
- if (renderer->width == 0 &&
- !(CMARK_OPT_HARDBREAKS & options)) {
- CR();
- } else {
- OUT(" ", true, LITERAL);
- }
- break;
-
- case CMARK_NODE_CODE:
- code = cmark_node_get_literal(node);
- code_len = safe_strlen(code);
- numticks = shortest_unused_backtick_sequence(code);
- for (i = 0; i < numticks; i++) {
- LIT("`");
- }
- if (code_len == 0 || code[0] == '`') {
- LIT(" ");
- }
- OUT(cmark_node_get_literal(node), true, LITERAL);
- if (code_len == 0 || code[code_len - 1] == '`') {
- LIT(" ");
- }
- for (i = 0; i < numticks; i++) {
- LIT("`");
- }
- break;
-
- case CMARK_NODE_INLINE_HTML:
- OUT(cmark_node_get_literal(node), false, LITERAL);
- break;
-
- case CMARK_NODE_STRONG:
- if (entering) {
- LIT("**");
- } else {
- LIT("**");
- }
- break;
-
- case CMARK_NODE_EMPH:
- // If we have EMPH(EMPH(x)), we need to use *_x_*
- // because **x** is STRONG(x):
- if (node->parent && node->parent->type == CMARK_NODE_EMPH &&
- node->next == NULL && node->prev == NULL) {
- emph_delim = "_";
- } else {
- emph_delim = "*";
- }
- if (entering) {
- LIT(emph_delim);
- } else {
- LIT(emph_delim);
- }
- break;
-
- case CMARK_NODE_LINK:
- if (is_autolink(node)) {
- if (entering) {
- LIT("<");
- if (strncmp(cmark_node_get_url(node),
- "mailto:", 7) == 0) {
- LIT((char *)cmark_node_get_url(node) + 7);
- } else {
- LIT((char *)cmark_node_get_url(node));
- }
- LIT(">");
- // return signal to skip contents of node...
- return 0;
- }
- } else {
- if (entering) {
- LIT("[");
- } else {
- LIT("](");
- OUT(cmark_node_get_url(node), false, URL);
- title = cmark_node_get_title(node);
- if (safe_strlen(title) > 0) {
- LIT(" \"");
- OUT(title, false, TITLE);
- LIT("\"");
- }
- LIT(")");
- }
- }
- break;
-
- case CMARK_NODE_IMAGE:
- if (entering) {
- LIT("![");
- } else {
- LIT("](");
- OUT(cmark_node_get_url(node), false, URL);
- title = cmark_node_get_title(node);
- if (safe_strlen(title) > 0) {
- OUT(" \"", true, LITERAL);
- OUT(title, false, TITLE);
- LIT("\"");
- }
- LIT(")");
- }
- break;
-
- default:
- assert(false);
- break;
- }
-
- return 1;
+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;
+ int i;
+ bool entering = (ev_type == CMARK_EVENT_ENTER);
+ const char *info, *code, *title;
+ size_t info_len, code_len;
+ char listmarker[20];
+ char *emph_delim;
+ bufsize_t marker_width;
+
+ // 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->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));
+ }
+
+ switch (node->type) {
+ case CMARK_NODE_DOCUMENT:
+ break;
+
+ case CMARK_NODE_BLOCK_QUOTE:
+ if (entering) {
+ LIT("> ");
+ cmark_strbuf_puts(renderer->prefix, "> ");
+ } else {
+ cmark_strbuf_truncate(renderer->prefix, renderer->prefix->size - 2);
+ BLANKLINE();
+ }
+ break;
+
+ case CMARK_NODE_LIST:
+ if (!entering && node->next && (node->next->type == CMARK_NODE_CODE_BLOCK ||
+ node->next->type == CMARK_NODE_LIST)) {
+ // this ensures 2 blank lines after list,
+ // if before code block or list:
+ LIT("\n");
+ }
+ break;
+
+ case CMARK_NODE_ITEM:
+ if (cmark_node_get_list_type(node->parent) == CMARK_BULLET_LIST) {
+ marker_width = 2;
+ } else {
+ list_number = cmark_node_get_list_start(node->parent);
+ 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
+ sprintf(listmarker, "%d%s%s", list_number,
+ list_delim == CMARK_PAREN_DELIM ? ")" : ".",
+ list_number < 10 ? " " : " ");
+ marker_width = safe_strlen(listmarker);
+ }
+ if (entering) {
+ if (cmark_node_get_list_type(node->parent) == CMARK_BULLET_LIST) {
+ LIT("* ");
+ cmark_strbuf_puts(renderer->prefix, " ");
+ } else {
+ LIT(listmarker);
+ for (i = marker_width; i--;) {
+ cmark_strbuf_putc(renderer->prefix, ' ');
+ }
+ }
+ } else {
+ cmark_strbuf_truncate(renderer->prefix,
+ renderer->prefix->size - marker_width);
+ CR();
+ }
+ break;
+
+ case CMARK_NODE_HEADER:
+ if (entering) {
+ for (int i = cmark_node_get_header_level(node); i > 0; i--) {
+ LIT("#");
+ }
+ LIT(" ");
+ renderer->no_wrap = true;
+ } else {
+ renderer->no_wrap = false;
+ BLANKLINE();
+ }
+ break;
+
+ case CMARK_NODE_CODE_BLOCK:
+ BLANKLINE();
+ info = cmark_node_get_fence_info(node);
+ info_len = safe_strlen(info);
+ code = cmark_node_get_literal(node);
+ code_len = safe_strlen(code);
+ // use indented form if no info, and code doesn't
+ // begin or end with a blank line, and code isn't
+ // first thing in a list item
+ if (info_len == 0 &&
+ (code_len > 2 && !isspace(code[0]) &&
+ !(isspace(code[code_len - 1]) && isspace(code[code_len - 2]))) &&
+ !(node->prev == NULL && node->parent &&
+ node->parent->type == CMARK_NODE_ITEM)) {
+ LIT(" ");
+ cmark_strbuf_puts(renderer->prefix, " ");
+ OUT(cmark_node_get_literal(node), false, LITERAL);
+ cmark_strbuf_truncate(renderer->prefix, renderer->prefix->size - 4);
+ } else {
+ numticks = longest_backtick_sequence(code) + 1;
+ if (numticks < 3) {
+ numticks = 3;
+ }
+ for (i = 0; i < numticks; i++) {
+ LIT("`");
+ }
+ LIT(" ");
+ OUT(info, false, LITERAL);
+ CR();
+ OUT(cmark_node_get_literal(node), false, LITERAL);
+ CR();
+ for (i = 0; i < numticks; i++) {
+ LIT("`");
+ }
+ }
+ BLANKLINE();
+ break;
+
+ case CMARK_NODE_HTML:
+ BLANKLINE();
+ OUT(cmark_node_get_literal(node), false, LITERAL);
+ BLANKLINE();
+ break;
+
+ case CMARK_NODE_HRULE:
+ BLANKLINE();
+ LIT("-----");
+ BLANKLINE();
+ break;
+
+ case CMARK_NODE_PARAGRAPH:
+ if (!entering) {
+ BLANKLINE();
+ }
+ break;
+
+ case CMARK_NODE_TEXT:
+ OUT(cmark_node_get_literal(node), true, NORMAL);
+ break;
+
+ case CMARK_NODE_LINEBREAK:
+ if (!(CMARK_OPT_HARDBREAKS & options)) {
+ LIT("\\");
+ }
+ CR();
+ break;
+
+ case CMARK_NODE_SOFTBREAK:
+ if (renderer->width == 0 && !(CMARK_OPT_HARDBREAKS & options)) {
+ CR();
+ } else {
+ OUT(" ", true, LITERAL);
+ }
+ break;
+
+ case CMARK_NODE_CODE:
+ code = cmark_node_get_literal(node);
+ code_len = safe_strlen(code);
+ numticks = shortest_unused_backtick_sequence(code);
+ for (i = 0; i < numticks; i++) {
+ LIT("`");
+ }
+ if (code_len == 0 || code[0] == '`') {
+ LIT(" ");
+ }
+ OUT(cmark_node_get_literal(node), true, LITERAL);
+ if (code_len == 0 || code[code_len - 1] == '`') {
+ LIT(" ");
+ }
+ for (i = 0; i < numticks; i++) {
+ LIT("`");
+ }
+ break;
+
+ case CMARK_NODE_INLINE_HTML:
+ OUT(cmark_node_get_literal(node), false, LITERAL);
+ break;
+
+ case CMARK_NODE_STRONG:
+ if (entering) {
+ LIT("**");
+ } else {
+ LIT("**");
+ }
+ break;
+
+ case CMARK_NODE_EMPH:
+ // If we have EMPH(EMPH(x)), we need to use *_x_*
+ // because **x** is STRONG(x):
+ if (node->parent && node->parent->type == CMARK_NODE_EMPH &&
+ node->next == NULL && node->prev == NULL) {
+ emph_delim = "_";
+ } else {
+ emph_delim = "*";
+ }
+ if (entering) {
+ LIT(emph_delim);
+ } else {
+ LIT(emph_delim);
+ }
+ break;
+
+ case CMARK_NODE_LINK:
+ if (is_autolink(node)) {
+ if (entering) {
+ LIT("<");
+ if (strncmp(cmark_node_get_url(node), "mailto:", 7) == 0) {
+ LIT((char *)cmark_node_get_url(node) + 7);
+ } else {
+ LIT((char *)cmark_node_get_url(node));
+ }
+ LIT(">");
+ // return signal to skip contents of node...
+ return 0;
+ }
+ } else {
+ if (entering) {
+ LIT("[");
+ } else {
+ LIT("](");
+ OUT(cmark_node_get_url(node), false, URL);
+ title = cmark_node_get_title(node);
+ if (safe_strlen(title) > 0) {
+ LIT(" \"");
+ OUT(title, false, TITLE);
+ LIT("\"");
+ }
+ LIT(")");
+ }
+ }
+ break;
+
+ case CMARK_NODE_IMAGE:
+ if (entering) {
+ LIT("![");
+ } else {
+ LIT("](");
+ OUT(cmark_node_get_url(node), false, URL);
+ title = cmark_node_get_title(node);
+ if (safe_strlen(title) > 0) {
+ OUT(" \"", true, LITERAL);
+ OUT(title, false, TITLE);
+ LIT("\"");
+ }
+ LIT(")");
+ }
+ break;
+
+ default:
+ assert(false);
+ break;
+ }
+
+ return 1;
}
-char *cmark_render_commonmark(cmark_node *root, int options, int width)
-{
- if (options & CMARK_OPT_HARDBREAKS) {
- // disable breaking on width, since it has
- // a different meaning with OPT_HARDBREAKS
- width = 0;
- }
- return cmark_render(root, options, width, outc, S_render_node);
+char *cmark_render_commonmark(cmark_node *root, int options, int width) {
+ if (options & CMARK_OPT_HARDBREAKS) {
+ // disable breaking on width, since it has
+ // a different meaning with OPT_HARDBREAKS
+ width = 0;
+ }
+ return cmark_render(root, options, width, outc, S_render_node);
}
diff --git a/src/houdini.h b/src/houdini.h
index b926cf3..f738e82 100644
--- a/src/houdini.h
+++ b/src/houdini.h
@@ -10,33 +10,39 @@ extern "C" {
#include "buffer.h"
#ifdef HAVE___BUILTIN_EXPECT
-# define likely(x) __builtin_expect((x),1)
-# define unlikely(x) __builtin_expect((x),0)
+#define likely(x) __builtin_expect((x), 1)
+#define unlikely(x) __builtin_expect((x), 0)
#else
-# define likely(x) (x)
-# define unlikely(x) (x)
+#define likely(x) (x)
+#define unlikely(x) (x)
#endif
#ifdef HOUDINI_USE_LOCALE
-# define _isxdigit(c) isxdigit(c)
-# define _isdigit(c) isdigit(c)
+#define _isxdigit(c) isxdigit(c)
+#define _isdigit(c) isdigit(c)
#else
/*
* Helper _isdigit methods -- do not trust the current locale
* */
-# define _isxdigit(c) (strchr("0123456789ABCDEFabcdef", (c)) != NULL)
-# define _isdigit(c) ((c) >= '0' && (c) <= '9')
+#define _isxdigit(c) (strchr("0123456789ABCDEFabcdef", (c)) != NULL)
+#define _isdigit(c) ((c) >= '0' && (c) <= '9')
#endif
-#define HOUDINI_ESCAPED_SIZE(x) (((x) * 12) / 10)
+#define HOUDINI_ESCAPED_SIZE(x) (((x)*12) / 10)
#define HOUDINI_UNESCAPED_SIZE(x) (x)
-extern bufsize_t houdini_unescape_ent(cmark_strbuf *ob, const uint8_t *src, bufsize_t size);
-extern int houdini_escape_html(cmark_strbuf *ob, const uint8_t *src, bufsize_t size);
-extern int houdini_escape_html0(cmark_strbuf *ob, const uint8_t *src, bufsize_t size, int secure);
-extern int houdini_unescape_html(cmark_strbuf *ob, const uint8_t *src, bufsize_t size);
-extern void houdini_unescape_html_f(cmark_strbuf *ob, const uint8_t *src, bufsize_t size);
-extern int houdini_escape_href(cmark_strbuf *ob, const uint8_t *src, bufsize_t size);
+extern bufsize_t houdini_unescape_ent(cmark_strbuf *ob, const uint8_t *src,
+ bufsize_t size);
+extern int houdini_escape_html(cmark_strbuf *ob, const uint8_t *src,
+ bufsize_t size);
+extern int houdini_escape_html0(cmark_strbuf *ob, const uint8_t *src,
+ bufsize_t size, int secure);
+extern int houdini_unescape_html(cmark_strbuf *ob, const uint8_t *src,
+ bufsize_t size);
+extern void houdini_unescape_html_f(cmark_strbuf *ob, const uint8_t *src,
+ bufsize_t size);
+extern int houdini_escape_href(cmark_strbuf *ob, const uint8_t *src,
+ bufsize_t size);
#ifdef __cplusplus
}
diff --git a/src/houdini_href_e.c b/src/houdini_href_e.c
index 7fb958a..9152803 100644
--- a/src/houdini_href_e.c
+++ b/src/houdini_href_e.c
@@ -30,78 +30,71 @@
*
*/
static const char HREF_SAFE[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
- 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
+ 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
-int
-houdini_escape_href(cmark_strbuf *ob, const uint8_t *src, bufsize_t size)
-{
- static const uint8_t hex_chars[] = "0123456789ABCDEF";
- bufsize_t i = 0, org;
- uint8_t hex_str[3];
+int houdini_escape_href(cmark_strbuf *ob, const uint8_t *src, bufsize_t size) {
+ static const uint8_t hex_chars[] = "0123456789ABCDEF";
+ bufsize_t i = 0, org;
+ uint8_t hex_str[3];
- hex_str[0] = '%';
+ hex_str[0] = '%';
- while (i < size) {
- org = i;
- while (i < size && HREF_SAFE[src[i]] != 0)
- i++;
+ while (i < size) {
+ org = i;
+ while (i < size && HREF_SAFE[src[i]] != 0)
+ i++;
- if (likely(i > org))
- cmark_strbuf_put(ob, src + org, i - org);
+ if (likely(i > org))
+ cmark_strbuf_put(ob, src + org, i - org);
- /* escaping */
- if (i >= size)
- break;
+ /* escaping */
+ if (i >= size)
+ break;
- switch (src[i]) {
- /* amp appears all the time in URLs, but needs
- * HTML-entity escaping to be inside an href */
- case '&':
- cmark_strbuf_puts(ob, "&amp;");
- break;
+ switch (src[i]) {
+ /* amp appears all the time in URLs, but needs
+ * HTML-entity escaping to be inside an href */
+ case '&':
+ cmark_strbuf_puts(ob, "&amp;");
+ break;
- /* the single quote is a valid URL character
- * according to the standard; it needs HTML
- * entity escaping too */
- case '\'':
- cmark_strbuf_puts(ob, "&#x27;");
- break;
+ /* the single quote is a valid URL character
+ * according to the standard; it needs HTML
+ * entity escaping too */
+ case '\'':
+ cmark_strbuf_puts(ob, "&#x27;");
+ break;
- /* the space can be escaped to %20 or a plus
- * sign. we're going with the generic escape
- * for now. the plus thing is more commonly seen
- * when building GET strings */
+/* the space can be escaped to %20 or a plus
+ * sign. we're going with the generic escape
+ * for now. the plus thing is more commonly seen
+ * when building GET strings */
#if 0
case ' ':
cmark_strbuf_putc(ob, '+');
break;
#endif
- /* every other character goes with a %XX escaping */
- default:
- hex_str[1] = hex_chars[(src[i] >> 4) & 0xF];
- hex_str[2] = hex_chars[src[i] & 0xF];
- cmark_strbuf_put(ob, hex_str, 3);
- }
+ /* every other character goes with a %XX escaping */
+ default:
+ hex_str[1] = hex_chars[(src[i] >> 4) & 0xF];
+ hex_str[2] = hex_chars[src[i] & 0xF];
+ cmark_strbuf_put(ob, hex_str, 3);
+ }
- i++;
- }
+ i++;
+ }
- return 1;
+ return 1;
}
diff --git a/src/houdini_html_e.c b/src/houdini_html_e.c
index 7f4b91f..0e539f0 100644
--- a/src/houdini_html_e.c
+++ b/src/houdini_html_e.c
@@ -16,66 +16,51 @@
*
*/
static const char HTML_ESCAPE_TABLE[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 4,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 6, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
-static const char *HTML_ESCAPES[] = {
- "",
- "&quot;",
- "&amp;",
- "&#39;",
- "&#47;",
- "&lt;",
- "&gt;"
-};
+static const char *HTML_ESCAPES[] = {"", "&quot;", "&amp;", "&#39;",
+ "&#47;", "&lt;", "&gt;"};
-int
-houdini_escape_html0(cmark_strbuf *ob, const uint8_t *src, bufsize_t size, int secure)
-{
- bufsize_t i = 0, org, esc = 0;
+int houdini_escape_html0(cmark_strbuf *ob, const uint8_t *src, bufsize_t size,
+ int secure) {
+ bufsize_t i = 0, org, esc = 0;
- while (i < size) {
- org = i;
- while (i < size && (esc = HTML_ESCAPE_TABLE[src[i]]) == 0)
- i++;
+ while (i < size) {
+ org = i;
+ while (i < size && (esc = HTML_ESCAPE_TABLE[src[i]]) == 0)
+ i++;
- if (i > org)
- cmark_strbuf_put(ob, src + org, i - org);
+ if (i > org)
+ cmark_strbuf_put(ob, src + org, i - org);
- /* escaping */
- if (unlikely(i >= size))
- break;
+ /* escaping */
+ if (unlikely(i >= size))
+ break;
- /* The forward slash is only escaped in secure mode */
- if ((src[i] == '/' || src[i] == '\'') && !secure) {
- cmark_strbuf_putc(ob, src[i]);
- } else {
- cmark_strbuf_puts(ob, HTML_ESCAPES[esc]);
- }
+ /* The forward slash is only escaped in secure mode */
+ if ((src[i] == '/' || src[i] == '\'') && !secure) {
+ cmark_strbuf_putc(ob, src[i]);
+ } else {
+ cmark_strbuf_puts(ob, HTML_ESCAPES[esc]);
+ }
- i++;
- }
+ i++;
+ }
- return 1;
+ return 1;
}
-int
-houdini_escape_html(cmark_strbuf *ob, const uint8_t *src, bufsize_t size)
-{
- return houdini_escape_html0(ob, src, size, 1);
+int houdini_escape_html(cmark_strbuf *ob, const uint8_t *src, bufsize_t size) {
+ return houdini_escape_html0(ob, src, size, 1);
}
diff --git a/src/houdini_html_u.c b/src/houdini_html_u.c
index 002357d..7bb1f50 100644
--- a/src/houdini_html_u.c
+++ b/src/houdini_html_u.c
@@ -9,145 +9,140 @@
/* Binary tree lookup code for entities added by JGM */
-static unsigned char *
-S_lookup(int i, int low, int hi, const unsigned char *s, int len)
-{
- int j;
- int cmp = strncmp((char *)s, (char *)cmark_entities[i].entity, len);
- if (cmp == 0 && cmark_entities[i].entity[len] == 0) {
- return (unsigned char *)cmark_entities[i].bytes;
- } else if (cmp < 0 && i > low) {
- j = i - ((i - low) / 2);
- if (j == i) j -= 1;
- return S_lookup(j, low, i - 1, s, len);
- } else if (cmp > 0 && i < hi) {
- j = i + ((hi - i) / 2);
- if (j == i) j += 1;
- return S_lookup(j, i + 1, hi, s, len);
- } else {
- return NULL;
- }
+static unsigned char *S_lookup(int i, int low, int hi, const unsigned char *s,
+ int len) {
+ int j;
+ int cmp = strncmp((char *)s, (char *)cmark_entities[i].entity, len);
+ if (cmp == 0 && cmark_entities[i].entity[len] == 0) {
+ return (unsigned char *)cmark_entities[i].bytes;
+ } else if (cmp < 0 && i > low) {
+ j = i - ((i - low) / 2);
+ if (j == i)
+ j -= 1;
+ return S_lookup(j, low, i - 1, s, len);
+ } else if (cmp > 0 && i < hi) {
+ j = i + ((hi - i) / 2);
+ if (j == i)
+ j += 1;
+ return S_lookup(j, i + 1, hi, s, len);
+ } else {
+ return NULL;
+ }
}
-static unsigned char *
-S_lookup_entity(const unsigned char *s, int len)
-{
- return S_lookup(CMARK_NUM_ENTITIES / 2, 0, CMARK_NUM_ENTITIES - 1, s, len);
+static unsigned char *S_lookup_entity(const unsigned char *s, int len) {
+ return S_lookup(CMARK_NUM_ENTITIES / 2, 0, CMARK_NUM_ENTITIES - 1, s, len);
}
-bufsize_t
-houdini_unescape_ent(cmark_strbuf *ob, const uint8_t *src, bufsize_t size)
-{
- bufsize_t i = 0;
-
- if (size >= 3 && src[0] == '#') {
- int codepoint = 0;
- int num_digits = 0;
-
- if (_isdigit(src[1])) {
- for (i = 1; i < size && _isdigit(src[i]); ++i) {
- codepoint = (codepoint * 10) + (src[i] - '0');
-
- if (codepoint >= 0x110000) {
- // Keep counting digits but
- // avoid integer overflow.
- codepoint = 0x110000;
- }
- }
-
- num_digits = i - 1;
- }
-
- else if (src[1] == 'x' || src[1] == 'X') {
- for (i = 2; i < size && _isxdigit(src[i]); ++i) {
- codepoint = (codepoint * 16) + ((src[i] | 32) % 39 - 9);
-
- if (codepoint >= 0x110000) {
- // Keep counting digits but
- // avoid integer overflow.
- codepoint = 0x110000;
- }
- }
-
- num_digits = i - 2;
- }
-
- if (num_digits >= 1 && num_digits <= 8 &&
- i < size && src[i] == ';') {
- if (codepoint == 0 ||
- (codepoint >= 0xD800 && codepoint < 0xE000) ||
- codepoint >= 0x110000) {
- codepoint = 0xFFFD;
- }
- utf8proc_encode_char(codepoint, ob);
- return i + 1;
- }
- }
-
- else {
- if (size > CMARK_ENTITY_MAX_LENGTH)
- size = CMARK_ENTITY_MAX_LENGTH;
-
- for (i = CMARK_ENTITY_MIN_LENGTH; i < size; ++i) {
- if (src[i] == ' ')
- break;
-
- if (src[i] == ';') {
- const unsigned char *entity = S_lookup_entity(src, i);
-
- if (entity != NULL) {
- cmark_strbuf_puts(ob, (const char *)entity);
- return i + 1;
- }
-
- break;
- }
- }
- }
-
- return 0;
+bufsize_t houdini_unescape_ent(cmark_strbuf *ob, const uint8_t *src,
+ bufsize_t size) {
+ bufsize_t i = 0;
+
+ if (size >= 3 && src[0] == '#') {
+ int codepoint = 0;
+ int num_digits = 0;
+
+ if (_isdigit(src[1])) {
+ for (i = 1; i < size && _isdigit(src[i]); ++i) {
+ codepoint = (codepoint * 10) + (src[i] - '0');
+
+ if (codepoint >= 0x110000) {
+ // Keep counting digits but
+ // avoid integer overflow.
+ codepoint = 0x110000;
+ }
+ }
+
+ num_digits = i - 1;
+ }
+
+ else if (src[1] == 'x' || src[1] == 'X') {
+ for (i = 2; i < size && _isxdigit(src[i]); ++i) {
+ codepoint = (codepoint * 16) + ((src[i] | 32) % 39 - 9);
+
+ if (codepoint >= 0x110000) {
+ // Keep counting digits but
+ // avoid integer overflow.
+ codepoint = 0x110000;
+ }
+ }
+
+ num_digits = i - 2;
+ }
+
+ if (num_digits >= 1 && num_digits <= 8 && i < size && src[i] == ';') {
+ if (codepoint == 0 || (codepoint >= 0xD800 && codepoint < 0xE000) ||
+ codepoint >= 0x110000) {
+ codepoint = 0xFFFD;
+ }
+ utf8proc_encode_char(codepoint, ob);
+ return i + 1;
+ }
+ }
+
+ else {
+ if (size > CMARK_ENTITY_MAX_LENGTH)
+ size = CMARK_ENTITY_MAX_LENGTH;
+
+ for (i = CMARK_ENTITY_MIN_LENGTH; i < size; ++i) {
+ if (src[i] == ' ')
+ break;
+
+ if (src[i] == ';') {
+ const unsigned char *entity = S_lookup_entity(src, i);
+
+ if (entity != NULL) {
+ cmark_strbuf_puts(ob, (const char *)entity);
+ return i + 1;
+ }
+
+ break;
+ }
+ }
+ }
+
+ return 0;
}
-int
-houdini_unescape_html(cmark_strbuf *ob, const uint8_t *src, bufsize_t size)
-{
- bufsize_t i = 0, org, ent;
+int houdini_unescape_html(cmark_strbuf *ob, const uint8_t *src,
+ bufsize_t size) {
+ bufsize_t i = 0, org, ent;
- while (i < size) {
- org = i;
- while (i < size && src[i] != '&')
- i++;
+ while (i < size) {
+ org = i;
+ while (i < size && src[i] != '&')
+ i++;
- if (likely(i > org)) {
- if (unlikely(org == 0)) {
- if (i >= size)
- return 0;
+ if (likely(i > org)) {
+ if (unlikely(org == 0)) {
+ if (i >= size)
+ return 0;
- cmark_strbuf_grow(ob, HOUDINI_UNESCAPED_SIZE(size));
- }
+ cmark_strbuf_grow(ob, HOUDINI_UNESCAPED_SIZE(size));
+ }
- cmark_strbuf_put(ob, src + org, i - org);
- }
+ cmark_strbuf_put(ob, src + org, i - org);
+ }
- /* escaping */
- if (i >= size)
- break;
+ /* escaping */
+ if (i >= size)
+ break;
- i++;
+ i++;
- ent = houdini_unescape_ent(ob, src + i, size - i);
- i += ent;
+ ent = houdini_unescape_ent(ob, src + i, size - i);
+ i += ent;
- /* not really an entity */
- if (ent == 0)
- cmark_strbuf_putc(ob, '&');
- }
+ /* not really an entity */
+ if (ent == 0)
+ cmark_strbuf_putc(ob, '&');
+ }
- return 1;
+ return 1;
}
-void houdini_unescape_html_f(cmark_strbuf *ob, const uint8_t *src, bufsize_t size)
-{
- if (!houdini_unescape_html(ob, src, size))
- cmark_strbuf_put(ob, src, size);
+void houdini_unescape_html_f(cmark_strbuf *ob, const uint8_t *src,
+ bufsize_t size) {
+ if (!houdini_unescape_html(ob, src, size))
+ cmark_strbuf_put(ob, src, size);
}
diff --git a/src/html.c b/src/html.c
index 7c4548d..e365c8c 100644
--- a/src/html.c
+++ b/src/html.c
@@ -12,324 +12,304 @@
// Functions to convert cmark_nodes to HTML strings.
-static void escape_html(cmark_strbuf *dest, const unsigned char *source, bufsize_t length)
-{
- houdini_escape_html0(dest, source, length, 0);
+static void escape_html(cmark_strbuf *dest, const unsigned char *source,
+ bufsize_t length) {
+ houdini_escape_html0(dest, source, length, 0);
}
-static inline void cr(cmark_strbuf *html)
-{
- if (html->size && html->ptr[html->size - 1] != '\n')
- cmark_strbuf_putc(html, '\n');
+static inline void cr(cmark_strbuf *html) {
+ if (html->size && html->ptr[html->size - 1] != '\n')
+ cmark_strbuf_putc(html, '\n');
}
struct render_state {
- cmark_strbuf* html;
- cmark_node *plain;
+ cmark_strbuf *html;
+ cmark_node *plain;
};
-static void
-S_render_sourcepos(cmark_node *node, cmark_strbuf *html, int options)
-{
- char buffer[100];
- if (CMARK_OPT_SOURCEPOS & options) {
- sprintf(buffer, " data-sourcepos=\"%d:%d-%d:%d\"",
- cmark_node_get_start_line(node),
- cmark_node_get_start_column(node),
- cmark_node_get_end_line(node),
- cmark_node_get_end_column(node));
- cmark_strbuf_puts(html, buffer);
- }
+static void S_render_sourcepos(cmark_node *node, cmark_strbuf *html,
+ int options) {
+ char buffer[100];
+ if (CMARK_OPT_SOURCEPOS & options) {
+ sprintf(buffer, " data-sourcepos=\"%d:%d-%d:%d\"",
+ cmark_node_get_start_line(node), cmark_node_get_start_column(node),
+ cmark_node_get_end_line(node), cmark_node_get_end_column(node));
+ cmark_strbuf_puts(html, buffer);
+ }
}
-static int
-S_render_node(cmark_node *node, cmark_event_type ev_type,
- struct render_state *state, int options)
-{
- cmark_node *parent;
- cmark_node *grandparent;
- cmark_strbuf *html = state->html;
- char start_header[] = "<h0";
- char end_header[] = "</h0";
- bool tight;
- char buffer[100];
-
- bool entering = (ev_type == CMARK_EVENT_ENTER);
-
- if (state->plain == node) { // back at original node
- state->plain = NULL;
- }
-
- if (state->plain != NULL) {
- switch(node->type) {
- case CMARK_NODE_TEXT:
- case CMARK_NODE_CODE:
- case CMARK_NODE_INLINE_HTML:
- escape_html(html, node->as.literal.data,
- node->as.literal.len);
- break;
-
- case CMARK_NODE_LINEBREAK:
- case CMARK_NODE_SOFTBREAK:
- cmark_strbuf_putc(html, ' ');
- break;
-
- default:
- break;
- }
- return 1;
- }
-
- switch (node->type) {
- case CMARK_NODE_DOCUMENT:
- break;
-
- case CMARK_NODE_BLOCK_QUOTE:
- if (entering) {
- cr(html);
- cmark_strbuf_puts(html, "<blockquote");
- S_render_sourcepos(node, html, options);
- cmark_strbuf_puts(html, ">\n");
- } else {
- cr(html);
- cmark_strbuf_puts(html, "</blockquote>\n");
- }
- break;
-
- case CMARK_NODE_LIST: {
- cmark_list_type list_type = node->as.list.list_type;
- int start = node->as.list.start;
-
- if (entering) {
- cr(html);
- if (list_type == CMARK_BULLET_LIST) {
- cmark_strbuf_puts(html, "<ul");
- S_render_sourcepos(node, html, options);
- cmark_strbuf_puts(html, ">\n");
- } else if (start == 1) {
- cmark_strbuf_puts(html, "<ol");
- S_render_sourcepos(node, html, options);
- cmark_strbuf_puts(html, ">\n");
- } else {
- sprintf(buffer, "<ol start=\"%d\"", start);
- cmark_strbuf_puts(html, buffer);
- S_render_sourcepos(node, html, options);
- cmark_strbuf_puts(html, ">\n");
- }
- } else {
- cmark_strbuf_puts(html,
- list_type == CMARK_BULLET_LIST ?
- "</ul>\n" : "</ol>\n");
- }
- break;
- }
-
- case CMARK_NODE_ITEM:
- if (entering) {
- cr(html);
- cmark_strbuf_puts(html, "<li");
- S_render_sourcepos(node, html, options);
- cmark_strbuf_putc(html, '>');
- } else {
- cmark_strbuf_puts(html, "</li>\n");
- }
- break;
-
- case CMARK_NODE_HEADER:
- if (entering) {
- cr(html);
- start_header[2] = '0' + node->as.header.level;
- cmark_strbuf_puts(html, start_header);
- S_render_sourcepos(node, html, options);
- cmark_strbuf_putc(html, '>');
- } else {
- end_header[3] = '0' + node->as.header.level;
- cmark_strbuf_puts(html, end_header);
- cmark_strbuf_puts(html, ">\n");
- }
- break;
-
- case CMARK_NODE_CODE_BLOCK:
- cr(html);
-
- if (!node->as.code.fenced || node->as.code.info.len == 0) {
- cmark_strbuf_puts(html, "<pre");
- S_render_sourcepos(node, html, options);
- cmark_strbuf_puts(html, "><code>");
- } else {
- bufsize_t first_tag = 0;
- while (first_tag < node->as.code.info.len &&
- !cmark_isspace(node->as.code.info.data[first_tag])) {
- first_tag += 1;
- }
-
- cmark_strbuf_puts(html, "<pre");
- S_render_sourcepos(node, html, options);
- cmark_strbuf_puts(html, "><code class=\"language-");
- escape_html(html, node->as.code.info.data, first_tag);
- cmark_strbuf_puts(html, "\">");
- }
-
- escape_html(html, node->as.code.literal.data,
- node->as.code.literal.len);
- cmark_strbuf_puts(html, "</code></pre>\n");
- break;
-
- case CMARK_NODE_HTML:
- cr(html);
- if (options & CMARK_OPT_SAFE) {
- cmark_strbuf_puts(html, "<!-- raw HTML omitted -->");
- } else {
- cmark_strbuf_put(html, node->as.literal.data,
- node->as.literal.len);
- }
- cr(html);
- break;
-
- case CMARK_NODE_HRULE:
- cr(html);
- cmark_strbuf_puts(html, "<hr");
- S_render_sourcepos(node, html, options);
- cmark_strbuf_puts(html, " />\n");
- break;
-
- case CMARK_NODE_PARAGRAPH:
- parent = cmark_node_parent(node);
- grandparent = cmark_node_parent(parent);
- if (grandparent != NULL &&
- grandparent->type == CMARK_NODE_LIST) {
- tight = grandparent->as.list.tight;
- } else {
- tight = false;
- }
- if (!tight) {
- if (entering) {
- cr(html);
- cmark_strbuf_puts(html, "<p");
- S_render_sourcepos(node, html, options);
- cmark_strbuf_putc(html, '>');
- } else {
- cmark_strbuf_puts(html, "</p>\n");
- }
- }
- break;
-
- case CMARK_NODE_TEXT:
- escape_html(html, node->as.literal.data, node->as.literal.len);
- break;
-
- case CMARK_NODE_LINEBREAK:
- cmark_strbuf_puts(html, "<br />\n");
- break;
-
- case CMARK_NODE_SOFTBREAK:
- if (options & CMARK_OPT_HARDBREAKS) {
- cmark_strbuf_puts(html, "<br />\n");
- } else {
- cmark_strbuf_putc(html, '\n');
- }
- break;
-
- case CMARK_NODE_CODE:
- cmark_strbuf_puts(html, "<code>");
- escape_html(html, node->as.literal.data, node->as.literal.len);
- cmark_strbuf_puts(html, "</code>");
- break;
-
- case CMARK_NODE_INLINE_HTML:
- if (options & CMARK_OPT_SAFE) {
- cmark_strbuf_puts(html, "<!-- raw HTML omitted -->");
- } else {
- cmark_strbuf_put(html, node->as.literal.data,
- node->as.literal.len);
- }
- break;
-
- case CMARK_NODE_STRONG:
- if (entering) {
- cmark_strbuf_puts(html, "<strong>");
- } else {
- cmark_strbuf_puts(html, "</strong>");
- }
- break;
-
- case CMARK_NODE_EMPH:
- if (entering) {
- cmark_strbuf_puts(html, "<em>");
- } else {
- cmark_strbuf_puts(html, "</em>");
- }
- break;
-
- case CMARK_NODE_LINK:
- if (entering) {
- cmark_strbuf_puts(html, "<a href=\"");
- if (!((options & CMARK_OPT_SAFE) &&
- scan_dangerous_url(&node->as.link.url, 0))) {
- houdini_escape_href(html,
- node->as.link.url.data,
- node->as.link.url.len);
-
- }
- if (node->as.link.title.len) {
- cmark_strbuf_puts(html, "\" title=\"");
- escape_html(html,
- node->as.link.title.data,
- node->as.link.title.len);
- }
- cmark_strbuf_puts(html, "\">");
- } else {
- cmark_strbuf_puts(html, "</a>");
- }
- break;
-
- case CMARK_NODE_IMAGE:
- if (entering) {
- cmark_strbuf_puts(html, "<img src=\"");
- if (!((options & CMARK_OPT_SAFE) &&
- scan_dangerous_url(&node->as.link.url, 0))) {
- houdini_escape_href(html,
- node->as.link.url.data,
- node->as.link.url.len);
-
- }
- cmark_strbuf_puts(html, "\" alt=\"");
- state->plain = node;
- } else {
- if (node->as.link.title.len) {
- cmark_strbuf_puts(html, "\" title=\"");
- escape_html(html, node->as.link.title.data,
- node->as.link.title.len);
- }
-
- cmark_strbuf_puts(html, "\" />");
- }
- break;
-
- default:
- assert(false);
- break;
- }
-
- // cmark_strbuf_putc(html, 'x');
- return 1;
+static int S_render_node(cmark_node *node, cmark_event_type ev_type,
+ struct render_state *state, int options) {
+ cmark_node *parent;
+ cmark_node *grandparent;
+ cmark_strbuf *html = state->html;
+ char start_header[] = "<h0";
+ char end_header[] = "</h0";
+ bool tight;
+ char buffer[100];
+
+ bool entering = (ev_type == CMARK_EVENT_ENTER);
+
+ if (state->plain == node) { // back at original node
+ state->plain = NULL;
+ }
+
+ if (state->plain != NULL) {
+ switch (node->type) {
+ case CMARK_NODE_TEXT:
+ case CMARK_NODE_CODE:
+ case CMARK_NODE_INLINE_HTML:
+ escape_html(html, node->as.literal.data, node->as.literal.len);
+ break;
+
+ case CMARK_NODE_LINEBREAK:
+ case CMARK_NODE_SOFTBREAK:
+ cmark_strbuf_putc(html, ' ');
+ break;
+
+ default:
+ break;
+ }
+ return 1;
+ }
+
+ switch (node->type) {
+ case CMARK_NODE_DOCUMENT:
+ break;
+
+ case CMARK_NODE_BLOCK_QUOTE:
+ if (entering) {
+ cr(html);
+ cmark_strbuf_puts(html, "<blockquote");
+ S_render_sourcepos(node, html, options);
+ cmark_strbuf_puts(html, ">\n");
+ } else {
+ cr(html);
+ cmark_strbuf_puts(html, "</blockquote>\n");
+ }
+ break;
+
+ case CMARK_NODE_LIST: {
+ cmark_list_type list_type = node->as.list.list_type;
+ int start = node->as.list.start;
+
+ if (entering) {
+ cr(html);
+ if (list_type == CMARK_BULLET_LIST) {
+ cmark_strbuf_puts(html, "<ul");
+ S_render_sourcepos(node, html, options);
+ cmark_strbuf_puts(html, ">\n");
+ } else if (start == 1) {
+ cmark_strbuf_puts(html, "<ol");
+ S_render_sourcepos(node, html, options);
+ cmark_strbuf_puts(html, ">\n");
+ } else {
+ sprintf(buffer, "<ol start=\"%d\"", start);
+ cmark_strbuf_puts(html, buffer);
+ S_render_sourcepos(node, html, options);
+ cmark_strbuf_puts(html, ">\n");
+ }
+ } else {
+ cmark_strbuf_puts(html,
+ list_type == CMARK_BULLET_LIST ? "</ul>\n" : "</ol>\n");
+ }
+ break;
+ }
+
+ case CMARK_NODE_ITEM:
+ if (entering) {
+ cr(html);
+ cmark_strbuf_puts(html, "<li");
+ S_render_sourcepos(node, html, options);
+ cmark_strbuf_putc(html, '>');
+ } else {
+ cmark_strbuf_puts(html, "</li>\n");
+ }
+ break;
+
+ case CMARK_NODE_HEADER:
+ if (entering) {
+ cr(html);
+ start_header[2] = '0' + node->as.header.level;
+ cmark_strbuf_puts(html, start_header);
+ S_render_sourcepos(node, html, options);
+ cmark_strbuf_putc(html, '>');
+ } else {
+ end_header[3] = '0' + node->as.header.level;
+ cmark_strbuf_puts(html, end_header);
+ cmark_strbuf_puts(html, ">\n");
+ }
+ break;
+
+ case CMARK_NODE_CODE_BLOCK:
+ cr(html);
+
+ if (!node->as.code.fenced || node->as.code.info.len == 0) {
+ cmark_strbuf_puts(html, "<pre");
+ S_render_sourcepos(node, html, options);
+ cmark_strbuf_puts(html, "><code>");
+ } else {
+ bufsize_t first_tag = 0;
+ while (first_tag < node->as.code.info.len &&
+ !cmark_isspace(node->as.code.info.data[first_tag])) {
+ first_tag += 1;
+ }
+
+ cmark_strbuf_puts(html, "<pre");
+ S_render_sourcepos(node, html, options);
+ cmark_strbuf_puts(html, "><code class=\"language-");
+ escape_html(html, node->as.code.info.data, first_tag);
+ cmark_strbuf_puts(html, "\">");
+ }
+
+ escape_html(html, node->as.code.literal.data, node->as.code.literal.len);
+ cmark_strbuf_puts(html, "</code></pre>\n");
+ break;
+
+ case CMARK_NODE_HTML:
+ cr(html);
+ if (options & CMARK_OPT_SAFE) {
+ cmark_strbuf_puts(html, "<!-- raw HTML omitted -->");
+ } else {
+ cmark_strbuf_put(html, node->as.literal.data, node->as.literal.len);
+ }
+ cr(html);
+ break;
+
+ case CMARK_NODE_HRULE:
+ cr(html);
+ cmark_strbuf_puts(html, "<hr");
+ S_render_sourcepos(node, html, options);
+ cmark_strbuf_puts(html, " />\n");
+ break;
+
+ case CMARK_NODE_PARAGRAPH:
+ parent = cmark_node_parent(node);
+ grandparent = cmark_node_parent(parent);
+ if (grandparent != NULL && grandparent->type == CMARK_NODE_LIST) {
+ tight = grandparent->as.list.tight;
+ } else {
+ tight = false;
+ }
+ if (!tight) {
+ if (entering) {
+ cr(html);
+ cmark_strbuf_puts(html, "<p");
+ S_render_sourcepos(node, html, options);
+ cmark_strbuf_putc(html, '>');
+ } else {
+ cmark_strbuf_puts(html, "</p>\n");
+ }
+ }
+ break;
+
+ case CMARK_NODE_TEXT:
+ escape_html(html, node->as.literal.data, node->as.literal.len);
+ break;
+
+ case CMARK_NODE_LINEBREAK:
+ cmark_strbuf_puts(html, "<br />\n");
+ break;
+
+ case CMARK_NODE_SOFTBREAK:
+ if (options & CMARK_OPT_HARDBREAKS) {
+ cmark_strbuf_puts(html, "<br />\n");
+ } else {
+ cmark_strbuf_putc(html, '\n');
+ }
+ break;
+
+ case CMARK_NODE_CODE:
+ cmark_strbuf_puts(html, "<code>");
+ escape_html(html, node->as.literal.data, node->as.literal.len);
+ cmark_strbuf_puts(html, "</code>");
+ break;
+
+ case CMARK_NODE_INLINE_HTML:
+ if (options & CMARK_OPT_SAFE) {
+ cmark_strbuf_puts(html, "<!-- raw HTML omitted -->");
+ } else {
+ cmark_strbuf_put(html, node->as.literal.data, node->as.literal.len);
+ }
+ break;
+
+ case CMARK_NODE_STRONG:
+ if (entering) {
+ cmark_strbuf_puts(html, "<strong>");
+ } else {
+ cmark_strbuf_puts(html, "</strong>");
+ }
+ break;
+
+ case CMARK_NODE_EMPH:
+ if (entering) {
+ cmark_strbuf_puts(html, "<em>");
+ } else {
+ cmark_strbuf_puts(html, "</em>");
+ }
+ break;
+
+ case CMARK_NODE_LINK:
+ if (entering) {
+ cmark_strbuf_puts(html, "<a href=\"");
+ if (!((options & CMARK_OPT_SAFE) &&
+ scan_dangerous_url(&node->as.link.url, 0))) {
+ houdini_escape_href(html, node->as.link.url.data,
+ node->as.link.url.len);
+ }
+ if (node->as.link.title.len) {
+ cmark_strbuf_puts(html, "\" title=\"");
+ escape_html(html, node->as.link.title.data, node->as.link.title.len);
+ }
+ cmark_strbuf_puts(html, "\">");
+ } else {
+ cmark_strbuf_puts(html, "</a>");
+ }
+ break;
+
+ case CMARK_NODE_IMAGE:
+ if (entering) {
+ cmark_strbuf_puts(html, "<img src=\"");
+ if (!((options & CMARK_OPT_SAFE) &&
+ scan_dangerous_url(&node->as.link.url, 0))) {
+ houdini_escape_href(html, node->as.link.url.data,
+ node->as.link.url.len);
+ }
+ cmark_strbuf_puts(html, "\" alt=\"");
+ state->plain = node;
+ } else {
+ if (node->as.link.title.len) {
+ cmark_strbuf_puts(html, "\" title=\"");
+ escape_html(html, node->as.link.title.data, node->as.link.title.len);
+ }
+
+ cmark_strbuf_puts(html, "\" />");
+ }
+ break;
+
+ default:
+ assert(false);
+ break;
+ }
+
+ // cmark_strbuf_putc(html, 'x');
+ return 1;
}
-char *cmark_render_html(cmark_node *root, int options)
-{
- char *result;
- cmark_strbuf html = GH_BUF_INIT;
- cmark_event_type ev_type;
- cmark_node *cur;
- struct render_state state = { &html, NULL };
- cmark_iter *iter = cmark_iter_new(root);
-
- while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
- cur = cmark_iter_get_node(iter);
- S_render_node(cur, ev_type, &state, options);
- }
- result = (char *)cmark_strbuf_detach(&html);
-
- cmark_iter_free(iter);
- return result;
+char *cmark_render_html(cmark_node *root, int options) {
+ char *result;
+ cmark_strbuf html = GH_BUF_INIT;
+ cmark_event_type ev_type;
+ cmark_node *cur;
+ struct render_state state = {&html, NULL};
+ cmark_iter *iter = cmark_iter_new(root);
+
+ while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
+ cur = cmark_iter_get_node(iter);
+ S_render_node(cur, ev_type, &state, options);
+ }
+ result = (char *)cmark_strbuf_detach(&html);
+
+ cmark_iter_free(iter);
+ return result;
}
diff --git a/src/inlines.c b/src/inlines.c
index c3d860a..ba78278 100644
--- a/src/inlines.c
+++ b/src/inlines.c
@@ -13,7 +13,6 @@
#include "scanners.h"
#include "inlines.h"
-
static const char *EMDASH = "\xE2\x80\x94";
static const char *ENDASH = "\xE2\x80\x93";
static const char *ELLIPSES = "\xE2\x80\xA6";
@@ -22,7 +21,6 @@ static const char *RIGHTDOUBLEQUOTE = "\xE2\x80\x9D";
static const char *LEFTSINGLEQUOTE = "\xE2\x80\x98";
static const char *RIGHTSINGLEQUOTE = "\xE2\x80\x99";
-
// Macros for creating various kinds of simple.
#define make_str(s) make_literal(CMARK_NODE_TEXT, s)
#define make_code(s) make_literal(CMARK_NODE_CODE, s)
@@ -33,209 +31,189 @@ static const char *RIGHTSINGLEQUOTE = "\xE2\x80\x99";
#define make_strong() make_simple(CMARK_NODE_STRONG)
typedef struct delimiter {
- struct delimiter *previous;
- struct delimiter *next;
- cmark_node *inl_text;
- bufsize_t position;
- unsigned char delim_char;
- bool can_open;
- bool can_close;
- bool active;
+ struct delimiter *previous;
+ struct delimiter *next;
+ cmark_node *inl_text;
+ bufsize_t position;
+ unsigned char delim_char;
+ bool can_open;
+ bool can_close;
+ bool active;
} delimiter;
typedef struct {
- cmark_chunk input;
- bufsize_t pos;
- cmark_reference_map *refmap;
- delimiter *last_delim;
+ cmark_chunk input;
+ bufsize_t pos;
+ cmark_reference_map *refmap;
+ delimiter *last_delim;
} subject;
-static inline bool
-S_is_line_end_char(char c)
-{
- return (c == '\n' || c == '\r');
+static inline bool S_is_line_end_char(char c) {
+ return (c == '\n' || c == '\r');
}
-static delimiter*
-S_insert_emph(subject *subj, delimiter *opener, delimiter *closer);
+static delimiter *S_insert_emph(subject *subj, delimiter *opener,
+ delimiter *closer);
-static int parse_inline(subject* subj, cmark_node * parent, int options);
+static int parse_inline(subject *subj, cmark_node *parent, int options);
static void subject_from_buf(subject *e, cmark_strbuf *buffer,
cmark_reference_map *refmap);
static bufsize_t subject_find_special_char(subject *subj, int options);
// Create an inline with a literal string value.
-static inline cmark_node* make_literal(cmark_node_type t, cmark_chunk s)
-{
- cmark_node * e = (cmark_node *)calloc(1, sizeof(*e));
- if(e != NULL) {
- e->type = t;
- e->as.literal = s;
- e->next = NULL;
- e->prev = NULL;
- e->parent = NULL;
- e->first_child = NULL;
- e->last_child = NULL;
- // These fields aren't used for inlines:
- e->start_line = 0;
- e->start_column = 0;
- e->end_line = 0;
- }
- return e;
+static inline cmark_node *make_literal(cmark_node_type t, cmark_chunk s) {
+ cmark_node *e = (cmark_node *)calloc(1, sizeof(*e));
+ if (e != NULL) {
+ e->type = t;
+ e->as.literal = s;
+ e->next = NULL;
+ e->prev = NULL;
+ e->parent = NULL;
+ e->first_child = NULL;
+ e->last_child = NULL;
+ // These fields aren't used for inlines:
+ e->start_line = 0;
+ e->start_column = 0;
+ e->end_line = 0;
+ }
+ return e;
}
// Create an inline with no value.
-static inline cmark_node* make_simple(cmark_node_type t)
-{
- cmark_node* e = (cmark_node *)calloc(1, sizeof(*e));
- if(e != NULL) {
- e->type = t;
- e->next = NULL;
- e->prev = NULL;
- e->parent = NULL;
- e->first_child = NULL;
- e->last_child = NULL;
- // These fields aren't used for inlines:
- e->start_line = 0;
- e->start_column = 0;
- e->end_line = 0;
- }
- return e;
+static inline cmark_node *make_simple(cmark_node_type t) {
+ cmark_node *e = (cmark_node *)calloc(1, sizeof(*e));
+ if (e != NULL) {
+ e->type = t;
+ e->next = NULL;
+ e->prev = NULL;
+ e->parent = NULL;
+ e->first_child = NULL;
+ e->last_child = NULL;
+ // These fields aren't used for inlines:
+ e->start_line = 0;
+ e->start_column = 0;
+ e->end_line = 0;
+ }
+ return e;
}
// Like make_str, but parses entities.
-static cmark_node *make_str_with_entities(cmark_chunk *content)
-{
- cmark_strbuf unescaped = GH_BUF_INIT;
-
- if (houdini_unescape_html(&unescaped, content->data, content->len)) {
- return make_str(cmark_chunk_buf_detach(&unescaped));
- } else {
- return make_str(*content);
- }
+static cmark_node *make_str_with_entities(cmark_chunk *content) {
+ cmark_strbuf unescaped = GH_BUF_INIT;
+
+ if (houdini_unescape_html(&unescaped, content->data, content->len)) {
+ return make_str(cmark_chunk_buf_detach(&unescaped));
+ } else {
+ return make_str(*content);
+ }
}
// 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_chunk *src)
-{
- cmark_chunk c;
- bufsize_t len = src->len;
+static cmark_chunk chunk_clone(cmark_chunk *src) {
+ cmark_chunk c;
+ bufsize_t len = src->len;
- c.len = len;
- c.data = (unsigned char *)malloc(len + 1);
- c.alloc = 1;
- memcpy(c.data, src->data, len);
- c.data[len] = '\0';
+ c.len = len;
+ c.data = (unsigned char *)malloc(len + 1);
+ c.alloc = 1;
+ memcpy(c.data, src->data, len);
+ c.data[len] = '\0';
- return c;
+ return c;
}
-static cmark_chunk cmark_clean_autolink(cmark_chunk *url, int is_email)
-{
- cmark_strbuf buf = GH_BUF_INIT;
+static cmark_chunk cmark_clean_autolink(cmark_chunk *url, int is_email) {
+ cmark_strbuf buf = GH_BUF_INIT;
- cmark_chunk_trim(url);
+ cmark_chunk_trim(url);
- if (url->len == 0) {
- cmark_chunk result = CMARK_CHUNK_EMPTY;
- return result;
- }
+ if (url->len == 0) {
+ cmark_chunk result = CMARK_CHUNK_EMPTY;
+ return result;
+ }
- if (is_email)
- cmark_strbuf_puts(&buf, "mailto:");
+ if (is_email)
+ cmark_strbuf_puts(&buf, "mailto:");
- houdini_unescape_html_f(&buf, url->data, url->len);
- return cmark_chunk_buf_detach(&buf);
+ houdini_unescape_html_f(&buf, url->data, url->len);
+ return cmark_chunk_buf_detach(&buf);
}
-static inline cmark_node* make_autolink(cmark_chunk url, int is_email)
-{
- cmark_node *link = make_simple(CMARK_NODE_LINK);
- link->as.link.url = cmark_clean_autolink(&url, is_email);
- link->as.link.title = cmark_chunk_literal("");
- cmark_node_append_child(link, make_str_with_entities(&url));
- return link;
+static inline cmark_node *make_autolink(cmark_chunk url, int is_email) {
+ cmark_node *link = make_simple(CMARK_NODE_LINK);
+ link->as.link.url = cmark_clean_autolink(&url, is_email);
+ link->as.link.title = cmark_chunk_literal("");
+ cmark_node_append_child(link, make_str_with_entities(&url));
+ return link;
}
static void subject_from_buf(subject *e, cmark_strbuf *buffer,
- cmark_reference_map *refmap)
-{
- e->input.data = buffer->ptr;
- e->input.len = buffer->size;
- e->input.alloc = 0;
- e->pos = 0;
- e->refmap = refmap;
- e->last_delim = NULL;
+ cmark_reference_map *refmap) {
+ e->input.data = buffer->ptr;
+ e->input.len = buffer->size;
+ e->input.alloc = 0;
+ e->pos = 0;
+ e->refmap = refmap;
+ e->last_delim = NULL;
}
-static inline int isbacktick(int c)
-{
- return (c == '`');
-}
+static inline int isbacktick(int c) { return (c == '`'); }
-static inline unsigned char peek_char(subject *subj)
-{
- // NULL bytes should have been stripped out by now. If they're
- // present, it's a programming error:
- assert(!(subj->pos < subj->input.len && subj->input.data[subj->pos] == 0));
- return (subj->pos < subj->input.len) ? subj->input.data[subj->pos] : 0;
+static inline unsigned char peek_char(subject *subj) {
+ // NULL bytes should have been stripped out by now. If they're
+ // present, it's a programming error:
+ assert(!(subj->pos < subj->input.len && subj->input.data[subj->pos] == 0));
+ return (subj->pos < subj->input.len) ? subj->input.data[subj->pos] : 0;
}
-static inline unsigned char peek_at(subject *subj, bufsize_t pos)
-{
- return subj->input.data[pos];
+static inline unsigned char peek_at(subject *subj, bufsize_t pos) {
+ return subj->input.data[pos];
}
// Return true if there are more characters in the subject.
-static inline int is_eof(subject* subj)
-{
- return (subj->pos >= subj->input.len);
+static inline int is_eof(subject *subj) {
+ return (subj->pos >= subj->input.len);
}
// Advance the subject. Doesn't check for eof.
#define advance(subj) (subj)->pos += 1
-static inline bool
-skip_spaces(subject *subj)
-{
- bool skipped = false;
- while (peek_char(subj) == ' ' || peek_char(subj) == '\t') {
- advance(subj);
- skipped = true;
- }
- return skipped;
+static inline bool skip_spaces(subject *subj) {
+ bool skipped = false;
+ while (peek_char(subj) == ' ' || peek_char(subj) == '\t') {
+ advance(subj);
+ skipped = true;
+ }
+ return skipped;
}
-static inline bool
-skip_line_end(subject *subj)
-{
- bool seen_line_end_char = false;
- if (peek_char(subj) == '\r') {
- advance(subj);
- seen_line_end_char = true;
- }
- if (peek_char(subj) == '\n') {
- advance(subj);
- seen_line_end_char = true;
- }
- return seen_line_end_char || is_eof(subj);
+static inline bool skip_line_end(subject *subj) {
+ bool seen_line_end_char = false;
+ if (peek_char(subj) == '\r') {
+ advance(subj);
+ seen_line_end_char = true;
+ }
+ if (peek_char(subj) == '\n') {
+ advance(subj);
+ seen_line_end_char = true;
+ }
+ return seen_line_end_char || is_eof(subj);
}
// Take characters while a predicate holds, and return a string.
-static inline cmark_chunk take_while(subject* subj, int (*f)(int))
-{
- unsigned char c;
- bufsize_t startpos = subj->pos;
- bufsize_t len = 0;
+static inline cmark_chunk take_while(subject *subj, int (*f)(int)) {
+ unsigned char c;
+ bufsize_t startpos = subj->pos;
+ bufsize_t len = 0;
- while ((c = peek_char(subj)) && (*f)(c)) {
- advance(subj);
- len++;
- }
+ while ((c = peek_char(subj)) && (*f)(c)) {
+ advance(subj);
+ len++;
+ }
- return cmark_chunk_dup(&subj->input, startpos, len);
+ return cmark_chunk_dup(&subj->input, startpos, len);
}
// Try to process a backtick code span that began with a
@@ -243,981 +221,944 @@ static inline cmark_chunk take_while(subject* subj, int (*f)(int))
// parsed). Return 0 if you don't find matching closing
// backticks, otherwise return the position in the subject
// after the closing backticks.
-static bufsize_t scan_to_closing_backticks(subject* subj, bufsize_t openticklength)
-{
- // read non backticks
- unsigned char c;
- while ((c = peek_char(subj)) && c != '`') {
- advance(subj);
- }
- if (is_eof(subj)) {
- return 0; // did not find closing ticks, return 0
- }
- bufsize_t numticks = 0;
- while (peek_char(subj) == '`') {
- advance(subj);
- numticks++;
- }
- if (numticks != openticklength) {
- return(scan_to_closing_backticks(subj, openticklength));
- }
- return (subj->pos);
+static bufsize_t scan_to_closing_backticks(subject *subj,
+ bufsize_t openticklength) {
+ // read non backticks
+ unsigned char c;
+ while ((c = peek_char(subj)) && c != '`') {
+ advance(subj);
+ }
+ if (is_eof(subj)) {
+ return 0; // did not find closing ticks, return 0
+ }
+ bufsize_t numticks = 0;
+ while (peek_char(subj) == '`') {
+ advance(subj);
+ numticks++;
+ }
+ if (numticks != openticklength) {
+ return (scan_to_closing_backticks(subj, openticklength));
+ }
+ return (subj->pos);
}
// Parse backtick code section or raw backticks, return an inline.
// Assumes that the subject has a backtick at the current position.
-static cmark_node* handle_backticks(subject *subj)
-{
- cmark_chunk openticks = take_while(subj, isbacktick);
- bufsize_t startpos = subj->pos;
- bufsize_t endpos = scan_to_closing_backticks(subj, openticks.len);
-
- if (endpos == 0) { // not found
- subj->pos = startpos; // rewind
- return make_str(openticks);
- } else {
- cmark_strbuf buf = GH_BUF_INIT;
-
- cmark_strbuf_set(&buf, subj->input.data + startpos, endpos - startpos - openticks.len);
- cmark_strbuf_trim(&buf);
- cmark_strbuf_normalize_whitespace(&buf);
-
- return make_code(cmark_chunk_buf_detach(&buf));
- }
+static cmark_node *handle_backticks(subject *subj) {
+ cmark_chunk openticks = take_while(subj, isbacktick);
+ bufsize_t startpos = subj->pos;
+ bufsize_t endpos = scan_to_closing_backticks(subj, openticks.len);
+
+ if (endpos == 0) { // not found
+ subj->pos = startpos; // rewind
+ return make_str(openticks);
+ } else {
+ cmark_strbuf buf = GH_BUF_INIT;
+
+ cmark_strbuf_set(&buf, subj->input.data + startpos,
+ endpos - startpos - openticks.len);
+ cmark_strbuf_trim(&buf);
+ cmark_strbuf_normalize_whitespace(&buf);
+
+ return make_code(cmark_chunk_buf_detach(&buf));
+ }
}
// Scan ***, **, or * and return number scanned, or 0.
// Advances position.
-static int
-scan_delims(subject* subj, unsigned char c, bool * can_open, bool * can_close)
-{
- int numdelims = 0;
- bufsize_t before_char_pos;
- int32_t after_char = 0;
- int32_t before_char = 0;
- int len;
- bool left_flanking, right_flanking;
-
- if (subj->pos == 0) {
- before_char = 10;
- } else {
- before_char_pos = subj->pos - 1;
- // walk back to the beginning of the UTF_8 sequence:
- while (peek_at(subj, before_char_pos) >> 6 == 2 &&
- before_char_pos > 0) {
- before_char_pos -= 1;
- }
- len = utf8proc_iterate(subj->input.data + before_char_pos,
- subj->pos - before_char_pos, &before_char);
- if (len == -1) {
- before_char = 10;
- }
- }
-
- if (c == '\'' || c == '"') {
- numdelims++;
- advance(subj); // limit to 1 delim for quotes
- } else {
- while (peek_char(subj) == c) {
- numdelims++;
- advance(subj);
- }
- }
-
- len = utf8proc_iterate(subj->input.data + subj->pos,
- subj->input.len - subj->pos, &after_char);
- if (len == -1) {
- after_char = 10;
- }
- left_flanking = numdelims > 0 && !utf8proc_is_space(after_char) &&
- !(utf8proc_is_punctuation(after_char) &&
- !utf8proc_is_space(before_char) &&
- !utf8proc_is_punctuation(before_char));
- right_flanking = numdelims > 0 && !utf8proc_is_space(before_char) &&
- !(utf8proc_is_punctuation(before_char) &&
- !utf8proc_is_space(after_char) &&
- !utf8proc_is_punctuation(after_char));
- if (c == '_') {
- *can_open = left_flanking &&
- (!right_flanking || utf8proc_is_punctuation(before_char));
- *can_close = right_flanking &&
- (!left_flanking || utf8proc_is_punctuation(after_char));
- } else if (c == '\'' || c == '"') {
- *can_open = left_flanking && !right_flanking;
- *can_close = right_flanking;
- } else {
- *can_open = left_flanking;
- *can_close = right_flanking;
- }
- return numdelims;
+static int scan_delims(subject *subj, unsigned char c, bool *can_open,
+ bool *can_close) {
+ int numdelims = 0;
+ bufsize_t before_char_pos;
+ int32_t after_char = 0;
+ int32_t before_char = 0;
+ int len;
+ bool left_flanking, right_flanking;
+
+ if (subj->pos == 0) {
+ before_char = 10;
+ } else {
+ before_char_pos = subj->pos - 1;
+ // walk back to the beginning of the UTF_8 sequence:
+ while (peek_at(subj, before_char_pos) >> 6 == 2 && before_char_pos > 0) {
+ before_char_pos -= 1;
+ }
+ len = utf8proc_iterate(subj->input.data + before_char_pos,
+ subj->pos - before_char_pos, &before_char);
+ if (len == -1) {
+ before_char = 10;
+ }
+ }
+
+ if (c == '\'' || c == '"') {
+ numdelims++;
+ advance(subj); // limit to 1 delim for quotes
+ } else {
+ while (peek_char(subj) == c) {
+ numdelims++;
+ advance(subj);
+ }
+ }
+
+ len = utf8proc_iterate(subj->input.data + subj->pos,
+ subj->input.len - subj->pos, &after_char);
+ if (len == -1) {
+ after_char = 10;
+ }
+ left_flanking = numdelims > 0 && !utf8proc_is_space(after_char) &&
+ !(utf8proc_is_punctuation(after_char) &&
+ !utf8proc_is_space(before_char) &&
+ !utf8proc_is_punctuation(before_char));
+ right_flanking =
+ numdelims > 0 && !utf8proc_is_space(before_char) &&
+ !(utf8proc_is_punctuation(before_char) &&
+ !utf8proc_is_space(after_char) && !utf8proc_is_punctuation(after_char));
+ if (c == '_') {
+ *can_open = left_flanking &&
+ (!right_flanking || utf8proc_is_punctuation(before_char));
+ *can_close = right_flanking &&
+ (!left_flanking || utf8proc_is_punctuation(after_char));
+ } else if (c == '\'' || c == '"') {
+ *can_open = left_flanking && !right_flanking;
+ *can_close = right_flanking;
+ } else {
+ *can_open = left_flanking;
+ *can_close = right_flanking;
+ }
+ return numdelims;
}
/*
static void print_delimiters(subject *subj)
{
- delimiter *delim;
- delim = subj->last_delim;
- while (delim != NULL) {
- printf("Item at stack pos %p, text pos %d: %d %d %d next(%p) prev(%p)\n",
- (void*)delim, delim->position, delim->delim_char,
- delim->can_open, delim->can_close,
- (void*)delim->next, (void*)delim->previous);
- delim = delim->previous;
- }
+ delimiter *delim;
+ delim = subj->last_delim;
+ while (delim != NULL) {
+ printf("Item at stack pos %p, text pos %d: %d %d %d next(%p)
+prev(%p)\n",
+ (void*)delim, delim->position, delim->delim_char,
+ delim->can_open, delim->can_close,
+ (void*)delim->next, (void*)delim->previous);
+ delim = delim->previous;
+ }
}
*/
-static void remove_delimiter(subject *subj, delimiter *delim)
-{
- if (delim == NULL) return;
- if (delim->next == NULL) {
- // end of list:
- assert(delim == subj->last_delim);
- subj->last_delim = delim->previous;
- } else {
- delim->next->previous = delim->previous;
- }
- if (delim->previous != NULL) {
- delim->previous->next = delim->next;
- }
- free(delim);
+static void remove_delimiter(subject *subj, delimiter *delim) {
+ if (delim == NULL)
+ return;
+ if (delim->next == NULL) {
+ // end of list:
+ assert(delim == subj->last_delim);
+ subj->last_delim = delim->previous;
+ } else {
+ delim->next->previous = delim->previous;
+ }
+ if (delim->previous != NULL) {
+ delim->previous->next = delim->next;
+ }
+ free(delim);
}
static void push_delimiter(subject *subj, unsigned char c, bool can_open,
- bool can_close, cmark_node *inl_text)
-{
- delimiter *delim =
- (delimiter*)malloc(sizeof(delimiter));
- if (delim == NULL) {
- return;
- }
- delim->delim_char = c;
- delim->can_open = can_open;
- delim->can_close = can_close;
- delim->inl_text = inl_text;
- delim->previous = subj->last_delim;
- delim->next = NULL;
- if (delim->previous != NULL) {
- delim->previous->next = delim;
- }
- delim->position = subj->pos;
- delim->active = true;
- subj->last_delim = delim;
+ bool can_close, cmark_node *inl_text) {
+ delimiter *delim = (delimiter *)malloc(sizeof(delimiter));
+ if (delim == NULL) {
+ return;
+ }
+ delim->delim_char = c;
+ delim->can_open = can_open;
+ delim->can_close = can_close;
+ delim->inl_text = inl_text;
+ delim->previous = subj->last_delim;
+ delim->next = NULL;
+ if (delim->previous != NULL) {
+ delim->previous->next = delim;
+ }
+ delim->position = subj->pos;
+ delim->active = true;
+ subj->last_delim = delim;
}
// Assumes the subject has a c at the current position.
-static cmark_node* handle_delim(subject* subj, unsigned char c, bool smart)
-{
- bufsize_t numdelims;
- cmark_node * inl_text;
- bool can_open, can_close;
- cmark_chunk contents;
-
- numdelims = scan_delims(subj, c, &can_open, &can_close);
-
- if (c == '\'' && smart) {
- contents = cmark_chunk_literal(RIGHTSINGLEQUOTE);
- } else if (c == '"' && smart) {
- contents = cmark_chunk_literal(can_close ? RIGHTDOUBLEQUOTE : LEFTDOUBLEQUOTE);
- } else {
- contents = cmark_chunk_dup(&subj->input, subj->pos - numdelims, numdelims);
- }
-
- inl_text = make_str(contents);
-
- if ((can_open || can_close) &&
- (!(c == '\'' || c == '"') || smart)) {
- push_delimiter(subj, c, can_open, can_close, inl_text);
- }
-
- return inl_text;
+static cmark_node *handle_delim(subject *subj, unsigned char c, bool smart) {
+ bufsize_t numdelims;
+ cmark_node *inl_text;
+ bool can_open, can_close;
+ cmark_chunk contents;
+
+ numdelims = scan_delims(subj, c, &can_open, &can_close);
+
+ if (c == '\'' && smart) {
+ contents = cmark_chunk_literal(RIGHTSINGLEQUOTE);
+ } else if (c == '"' && smart) {
+ contents =
+ cmark_chunk_literal(can_close ? RIGHTDOUBLEQUOTE : LEFTDOUBLEQUOTE);
+ } else {
+ contents = cmark_chunk_dup(&subj->input, subj->pos - numdelims, numdelims);
+ }
+
+ inl_text = make_str(contents);
+
+ if ((can_open || can_close) && (!(c == '\'' || c == '"') || smart)) {
+ push_delimiter(subj, c, can_open, can_close, inl_text);
+ }
+
+ return inl_text;
}
// Assumes we have a hyphen at the current position.
-static cmark_node* handle_hyphen(subject* subj, bool smart)
-{
- int startpos = subj->pos;
-
- advance(subj);
-
- if (!smart || peek_char(subj) != '-') {
- return make_str(cmark_chunk_literal("-"));
- }
-
- while (smart && peek_char(subj) == '-') {
- advance(subj);
- }
-
- int numhyphens = subj->pos - startpos;
- int en_count = 0;
- int em_count = 0;
- int i;
- cmark_strbuf buf = GH_BUF_INIT;
-
- if (numhyphens % 3 == 0) { // if divisible by 3, use all em dashes
- em_count = numhyphens / 3;
- } else if (numhyphens % 2 == 0) { // if divisible by 2, use all en dashes
- en_count = numhyphens / 2;
- } else if (numhyphens % 3 == 2) { // use one en dash at end
- en_count = 1;
- em_count = (numhyphens - 2) / 3;
- } else { // use two en dashes at the end
- en_count = 2;
- em_count = (numhyphens - 4) / 3;
- }
-
- for (i = em_count; i > 0; i--) {
- cmark_strbuf_puts(&buf, EMDASH);
- }
-
- for (i = en_count; i > 0; i--) {
- cmark_strbuf_puts(&buf, ENDASH);
- }
-
- return make_str(cmark_chunk_buf_detach(&buf));
+static cmark_node *handle_hyphen(subject *subj, bool smart) {
+ int startpos = subj->pos;
+
+ advance(subj);
+
+ if (!smart || peek_char(subj) != '-') {
+ return make_str(cmark_chunk_literal("-"));
+ }
+
+ while (smart && peek_char(subj) == '-') {
+ advance(subj);
+ }
+
+ int numhyphens = subj->pos - startpos;
+ int en_count = 0;
+ int em_count = 0;
+ int i;
+ cmark_strbuf buf = GH_BUF_INIT;
+
+ if (numhyphens % 3 == 0) { // if divisible by 3, use all em dashes
+ em_count = numhyphens / 3;
+ } else if (numhyphens % 2 == 0) { // if divisible by 2, use all en dashes
+ en_count = numhyphens / 2;
+ } else if (numhyphens % 3 == 2) { // use one en dash at end
+ en_count = 1;
+ em_count = (numhyphens - 2) / 3;
+ } else { // use two en dashes at the end
+ en_count = 2;
+ em_count = (numhyphens - 4) / 3;
+ }
+
+ for (i = em_count; i > 0; i--) {
+ cmark_strbuf_puts(&buf, EMDASH);
+ }
+
+ for (i = en_count; i > 0; i--) {
+ cmark_strbuf_puts(&buf, ENDASH);
+ }
+
+ return make_str(cmark_chunk_buf_detach(&buf));
}
// Assumes we have a period at the current position.
-static cmark_node* handle_period(subject* subj, bool smart)
-{
- advance(subj);
- if (smart && peek_char(subj) == '.') {
- advance(subj);
- if (peek_char(subj) == '.') {
- advance(subj);
- return make_str(cmark_chunk_literal(ELLIPSES));
- } else {
- return make_str(cmark_chunk_literal(".."));
- }
- } else {
- return make_str(cmark_chunk_literal("."));
- }
+static cmark_node *handle_period(subject *subj, bool smart) {
+ advance(subj);
+ if (smart && peek_char(subj) == '.') {
+ advance(subj);
+ if (peek_char(subj) == '.') {
+ advance(subj);
+ return make_str(cmark_chunk_literal(ELLIPSES));
+ } else {
+ return make_str(cmark_chunk_literal(".."));
+ }
+ } else {
+ return make_str(cmark_chunk_literal("."));
+ }
}
-static void process_emphasis(subject *subj, delimiter *stack_bottom)
-{
- delimiter *closer = subj->last_delim;
- delimiter *opener;
- delimiter *old_closer;
- bool opener_found;
- delimiter *openers_bottom[128];
-
- // initialize openers_bottom:
- openers_bottom['*'] = stack_bottom;
- openers_bottom['_'] = stack_bottom;
- openers_bottom['\''] = stack_bottom;
- openers_bottom['"'] = stack_bottom;
-
- // move back to first relevant delim.
- while (closer != NULL && closer->previous != stack_bottom) {
- closer = closer->previous;
- }
-
- // now move forward, looking for closers, and handling each
- while (closer != NULL) {
- if (closer->can_close &&
- (closer->delim_char == '*' || closer->delim_char == '_' ||
- closer->delim_char == '"' || closer->delim_char == '\'')) {
- // Now look backwards for first matching opener:
- opener = closer->previous;
- opener_found = false;
- while (opener != NULL && opener != stack_bottom &&
- opener != openers_bottom[closer->delim_char]) {
- if (opener->delim_char == closer->delim_char &&
- opener->can_open) {
- opener_found = true;
- break;
- }
- opener = opener->previous;
- }
- old_closer = closer;
- if (closer->delim_char == '*' || closer->delim_char == '_') {
- if (opener_found) {
- closer = S_insert_emph(subj, opener, closer);
- } else {
- closer = closer->next;
- }
- } else if (closer->delim_char == '\'') {
- cmark_chunk_free(&closer->inl_text->as.literal);
- closer->inl_text->as.literal =
- cmark_chunk_literal(RIGHTSINGLEQUOTE);
- if (opener_found) {
- cmark_chunk_free(&opener->inl_text->as.literal);
- opener->inl_text->as.literal =
- cmark_chunk_literal(LEFTSINGLEQUOTE);
- }
- closer = closer->next;
- } else if (closer->delim_char == '"') {
- cmark_chunk_free(&closer->inl_text->as.literal);
- closer->inl_text->as.literal =
- cmark_chunk_literal(RIGHTDOUBLEQUOTE);
- if (opener_found) {
- cmark_chunk_free(&opener->inl_text->as.literal);
- opener->inl_text->as.literal =
- cmark_chunk_literal(LEFTDOUBLEQUOTE);
- }
- closer = closer->next;
- }
- if (!opener_found) {
- // set lower bound for future searches for openers:
- openers_bottom[old_closer->delim_char] = old_closer->previous;
- if (!old_closer->can_open) {
- // we can remove a closer that can't be an
- // opener, once we've seen there's no
- // matching opener:
- remove_delimiter(subj, old_closer);
- }
- }
- } else {
- closer = closer->next;
- }
- }
- // free all delimiters in list until stack_bottom:
- while (subj->last_delim != stack_bottom) {
- remove_delimiter(subj, subj->last_delim);
- }
+static void process_emphasis(subject *subj, delimiter *stack_bottom) {
+ delimiter *closer = subj->last_delim;
+ delimiter *opener;
+ delimiter *old_closer;
+ bool opener_found;
+ delimiter *openers_bottom[128];
+
+ // initialize openers_bottom:
+ openers_bottom['*'] = stack_bottom;
+ openers_bottom['_'] = stack_bottom;
+ openers_bottom['\''] = stack_bottom;
+ openers_bottom['"'] = stack_bottom;
+
+ // move back to first relevant delim.
+ while (closer != NULL && closer->previous != stack_bottom) {
+ closer = closer->previous;
+ }
+
+ // now move forward, looking for closers, and handling each
+ while (closer != NULL) {
+ if (closer->can_close &&
+ (closer->delim_char == '*' || closer->delim_char == '_' ||
+ closer->delim_char == '"' || closer->delim_char == '\'')) {
+ // Now look backwards for first matching opener:
+ opener = closer->previous;
+ opener_found = false;
+ while (opener != NULL && opener != stack_bottom &&
+ opener != openers_bottom[closer->delim_char]) {
+ if (opener->delim_char == closer->delim_char && opener->can_open) {
+ opener_found = true;
+ break;
+ }
+ opener = opener->previous;
+ }
+ old_closer = closer;
+ if (closer->delim_char == '*' || closer->delim_char == '_') {
+ if (opener_found) {
+ closer = S_insert_emph(subj, opener, closer);
+ } else {
+ closer = closer->next;
+ }
+ } else if (closer->delim_char == '\'') {
+ cmark_chunk_free(&closer->inl_text->as.literal);
+ closer->inl_text->as.literal = cmark_chunk_literal(RIGHTSINGLEQUOTE);
+ if (opener_found) {
+ cmark_chunk_free(&opener->inl_text->as.literal);
+ opener->inl_text->as.literal = cmark_chunk_literal(LEFTSINGLEQUOTE);
+ }
+ closer = closer->next;
+ } else if (closer->delim_char == '"') {
+ cmark_chunk_free(&closer->inl_text->as.literal);
+ closer->inl_text->as.literal = cmark_chunk_literal(RIGHTDOUBLEQUOTE);
+ if (opener_found) {
+ cmark_chunk_free(&opener->inl_text->as.literal);
+ opener->inl_text->as.literal = cmark_chunk_literal(LEFTDOUBLEQUOTE);
+ }
+ closer = closer->next;
+ }
+ if (!opener_found) {
+ // set lower bound for future searches for openers:
+ openers_bottom[old_closer->delim_char] = old_closer->previous;
+ if (!old_closer->can_open) {
+ // we can remove a closer that can't be an
+ // opener, once we've seen there's no
+ // matching opener:
+ remove_delimiter(subj, old_closer);
+ }
+ }
+ } else {
+ closer = closer->next;
+ }
+ }
+ // free all delimiters in list until stack_bottom:
+ while (subj->last_delim != stack_bottom) {
+ remove_delimiter(subj, subj->last_delim);
+ }
}
-static delimiter*
-S_insert_emph(subject *subj, delimiter *opener, delimiter *closer)
-{
- delimiter *delim, *tmp_delim;
- bufsize_t use_delims;
- cmark_node *opener_inl = opener->inl_text;
- cmark_node *closer_inl = closer->inl_text;
- bufsize_t opener_num_chars = opener_inl->as.literal.len;
- bufsize_t closer_num_chars = closer_inl->as.literal.len;
- cmark_node *tmp, *emph, *first_child, *last_child;
-
- // calculate the actual number of characters used from this closer
- if (closer_num_chars < 3 || opener_num_chars < 3) {
- use_delims = closer_num_chars <= opener_num_chars ?
- closer_num_chars : opener_num_chars;
- } else { // closer and opener both have >= 3 characters
- use_delims = closer_num_chars % 2 == 0 ? 2 : 1;
- }
-
- // remove used characters from associated inlines.
- opener_num_chars -= use_delims;
- closer_num_chars -= use_delims;
- opener_inl->as.literal.len = opener_num_chars;
- closer_inl->as.literal.len = closer_num_chars;
-
- // free delimiters between opener and closer
- delim = closer->previous;
- while (delim != NULL && delim != opener) {
- tmp_delim = delim->previous;
- remove_delimiter(subj, delim);
- delim = tmp_delim;
- }
-
- first_child = opener_inl->next;
- last_child = closer_inl->prev;
-
- // if opener has 0 characters, remove it and its associated inline
- if (opener_num_chars == 0) {
- // replace empty opener inline with emph
- cmark_chunk_free(&(opener_inl->as.literal));
- emph = opener_inl;
- emph->type = use_delims == 1 ?
- CMARK_NODE_EMPH : CMARK_NODE_STRONG;
- // remove opener from list
- remove_delimiter(subj, opener);
- } else {
- // create new emph or strong, and splice it in to our inlines
- // between the opener and closer
- emph = use_delims == 1 ? make_emph() : make_strong();
- emph->parent = opener_inl->parent;
- emph->prev = opener_inl;
- opener_inl->next = emph;
- }
-
- // push children below emph
- emph->next = closer_inl;
- closer_inl->prev = emph;
- emph->first_child = first_child;
- emph->last_child = last_child;
-
- // fix children pointers
- first_child->prev = NULL;
- last_child->next = NULL;
- for (tmp = first_child; tmp != NULL; tmp = tmp->next) {
- tmp->parent = emph;
- }
-
- // if closer has 0 characters, remove it and its associated inline
- if (closer_num_chars == 0) {
- // remove empty closer inline
- cmark_node_free(closer_inl);
- // remove closer from list
- tmp_delim = closer->next;
- remove_delimiter(subj, closer);
- closer = tmp_delim;
- }
-
- return closer;
+static delimiter *S_insert_emph(subject *subj, delimiter *opener,
+ delimiter *closer) {
+ delimiter *delim, *tmp_delim;
+ bufsize_t use_delims;
+ cmark_node *opener_inl = opener->inl_text;
+ cmark_node *closer_inl = closer->inl_text;
+ bufsize_t opener_num_chars = opener_inl->as.literal.len;
+ bufsize_t closer_num_chars = closer_inl->as.literal.len;
+ cmark_node *tmp, *emph, *first_child, *last_child;
+
+ // calculate the actual number of characters used from this closer
+ if (closer_num_chars < 3 || opener_num_chars < 3) {
+ use_delims = closer_num_chars <= opener_num_chars ? closer_num_chars
+ : opener_num_chars;
+ } else { // closer and opener both have >= 3 characters
+ use_delims = closer_num_chars % 2 == 0 ? 2 : 1;
+ }
+
+ // remove used characters from associated inlines.
+ opener_num_chars -= use_delims;
+ closer_num_chars -= use_delims;
+ opener_inl->as.literal.len = opener_num_chars;
+ closer_inl->as.literal.len = closer_num_chars;
+
+ // free delimiters between opener and closer
+ delim = closer->previous;
+ while (delim != NULL && delim != opener) {
+ tmp_delim = delim->previous;
+ remove_delimiter(subj, delim);
+ delim = tmp_delim;
+ }
+
+ first_child = opener_inl->next;
+ last_child = closer_inl->prev;
+
+ // if opener has 0 characters, remove it and its associated inline
+ if (opener_num_chars == 0) {
+ // replace empty opener inline with emph
+ cmark_chunk_free(&(opener_inl->as.literal));
+ emph = opener_inl;
+ emph->type = use_delims == 1 ? CMARK_NODE_EMPH : CMARK_NODE_STRONG;
+ // remove opener from list
+ remove_delimiter(subj, opener);
+ } else {
+ // create new emph or strong, and splice it in to our inlines
+ // between the opener and closer
+ emph = use_delims == 1 ? make_emph() : make_strong();
+ emph->parent = opener_inl->parent;
+ emph->prev = opener_inl;
+ opener_inl->next = emph;
+ }
+
+ // push children below emph
+ emph->next = closer_inl;
+ closer_inl->prev = emph;
+ emph->first_child = first_child;
+ emph->last_child = last_child;
+
+ // fix children pointers
+ first_child->prev = NULL;
+ last_child->next = NULL;
+ for (tmp = first_child; tmp != NULL; tmp = tmp->next) {
+ tmp->parent = emph;
+ }
+
+ // if closer has 0 characters, remove it and its associated inline
+ if (closer_num_chars == 0) {
+ // remove empty closer inline
+ cmark_node_free(closer_inl);
+ // remove closer from list
+ tmp_delim = closer->next;
+ remove_delimiter(subj, closer);
+ closer = tmp_delim;
+ }
+
+ return closer;
}
// Parse backslash-escape or just a backslash, returning an inline.
-static cmark_node* handle_backslash(subject *subj)
-{
- advance(subj);
- unsigned char nextchar = peek_char(subj);
- if (cmark_ispunct(nextchar)) { // only ascii symbols and newline can be escaped
- advance(subj);
- return make_str(cmark_chunk_dup(&subj->input, subj->pos - 1, 1));
- } else if (!is_eof(subj) && skip_line_end(subj)) {
- return make_linebreak();
- } else {
- return make_str(cmark_chunk_literal("\\"));
- }
+static cmark_node *handle_backslash(subject *subj) {
+ advance(subj);
+ unsigned char nextchar = peek_char(subj);
+ if (cmark_ispunct(
+ nextchar)) { // only ascii symbols and newline can be escaped
+ advance(subj);
+ return make_str(cmark_chunk_dup(&subj->input, subj->pos - 1, 1));
+ } else if (!is_eof(subj) && skip_line_end(subj)) {
+ return make_linebreak();
+ } else {
+ return make_str(cmark_chunk_literal("\\"));
+ }
}
// Parse an entity or a regular "&" string.
// Assumes the subject has an '&' character at the current position.
-static cmark_node* handle_entity(subject* subj)
-{
- cmark_strbuf ent = GH_BUF_INIT;
- bufsize_t len;
+static cmark_node *handle_entity(subject *subj) {
+ cmark_strbuf ent = GH_BUF_INIT;
+ bufsize_t len;
- advance(subj);
+ advance(subj);
- len = houdini_unescape_ent(&ent,
- subj->input.data + subj->pos,
- subj->input.len - subj->pos
- );
+ len = houdini_unescape_ent(&ent, subj->input.data + subj->pos,
+ subj->input.len - subj->pos);
- if (len == 0)
- return make_str(cmark_chunk_literal("&"));
+ if (len == 0)
+ return make_str(cmark_chunk_literal("&"));
- subj->pos += len;
- return make_str(cmark_chunk_buf_detach(&ent));
+ subj->pos += len;
+ return make_str(cmark_chunk_buf_detach(&ent));
}
// Clean a URL: remove surrounding whitespace and surrounding <>,
// and remove \ that escape punctuation.
-cmark_chunk cmark_clean_url(cmark_chunk *url)
-{
- cmark_strbuf buf = GH_BUF_INIT;
+cmark_chunk cmark_clean_url(cmark_chunk *url) {
+ cmark_strbuf buf = GH_BUF_INIT;
- cmark_chunk_trim(url);
+ cmark_chunk_trim(url);
- if (url->len == 0) {
- cmark_chunk result = CMARK_CHUNK_EMPTY;
- return result;
- }
+ if (url->len == 0) {
+ cmark_chunk result = CMARK_CHUNK_EMPTY;
+ return result;
+ }
- if (url->data[0] == '<' && url->data[url->len - 1] == '>') {
- houdini_unescape_html_f(&buf, url->data + 1, url->len - 2);
- } else {
- houdini_unescape_html_f(&buf, url->data, url->len);
- }
+ if (url->data[0] == '<' && url->data[url->len - 1] == '>') {
+ houdini_unescape_html_f(&buf, url->data + 1, url->len - 2);
+ } else {
+ houdini_unescape_html_f(&buf, url->data, url->len);
+ }
- cmark_strbuf_unescape(&buf);
- return cmark_chunk_buf_detach(&buf);
+ cmark_strbuf_unescape(&buf);
+ return cmark_chunk_buf_detach(&buf);
}
-cmark_chunk cmark_clean_title(cmark_chunk *title)
-{
- cmark_strbuf buf = GH_BUF_INIT;
- unsigned char first, last;
-
- if (title->len == 0) {
- cmark_chunk result = CMARK_CHUNK_EMPTY;
- return result;
- }
-
- first = title->data[0];
- last = title->data[title->len - 1];
-
- // remove surrounding quotes if any:
- if ((first == '\'' && last == '\'') ||
- (first == '(' && last == ')') ||
- (first == '"' && last == '"')) {
- houdini_unescape_html_f(&buf, title->data + 1, title->len - 2);
- } else {
- houdini_unescape_html_f(&buf, title->data, title->len);
- }
-
- cmark_strbuf_unescape(&buf);
- return cmark_chunk_buf_detach(&buf);
+cmark_chunk cmark_clean_title(cmark_chunk *title) {
+ cmark_strbuf buf = GH_BUF_INIT;
+ unsigned char first, last;
+
+ if (title->len == 0) {
+ cmark_chunk result = CMARK_CHUNK_EMPTY;
+ return result;
+ }
+
+ first = title->data[0];
+ last = title->data[title->len - 1];
+
+ // remove surrounding quotes if any:
+ if ((first == '\'' && last == '\'') || (first == '(' && last == ')') ||
+ (first == '"' && last == '"')) {
+ houdini_unescape_html_f(&buf, title->data + 1, title->len - 2);
+ } else {
+ houdini_unescape_html_f(&buf, title->data, title->len);
+ }
+
+ cmark_strbuf_unescape(&buf);
+ return cmark_chunk_buf_detach(&buf);
}
// Parse an autolink or HTML tag.
// Assumes the subject has a '<' character at the current position.
-static cmark_node* handle_pointy_brace(subject* subj)
-{
- bufsize_t matchlen = 0;
- cmark_chunk contents;
-
- advance(subj); // advance past first <
-
- // first try to match a URL autolink
- matchlen = scan_autolink_uri(&subj->input, subj->pos);
- if (matchlen > 0) {
- contents = cmark_chunk_dup(&subj->input, subj->pos, matchlen - 1);
- subj->pos += matchlen;
-
- return make_autolink(contents, 0);
- }
-
- // next try to match an email autolink
- matchlen = scan_autolink_email(&subj->input, subj->pos);
- if (matchlen > 0) {
- contents = cmark_chunk_dup(&subj->input, subj->pos, matchlen - 1);
- subj->pos += matchlen;
-
- return make_autolink(contents, 1);
- }
-
- // finally, try to match an html tag
- 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;
- return make_raw_html(contents);
- }
-
- // if nothing matches, just return the opening <:
- return make_str(cmark_chunk_literal("<"));
+static cmark_node *handle_pointy_brace(subject *subj) {
+ bufsize_t matchlen = 0;
+ cmark_chunk contents;
+
+ advance(subj); // advance past first <
+
+ // first try to match a URL autolink
+ matchlen = scan_autolink_uri(&subj->input, subj->pos);
+ if (matchlen > 0) {
+ contents = cmark_chunk_dup(&subj->input, subj->pos, matchlen - 1);
+ subj->pos += matchlen;
+
+ return make_autolink(contents, 0);
+ }
+
+ // next try to match an email autolink
+ matchlen = scan_autolink_email(&subj->input, subj->pos);
+ if (matchlen > 0) {
+ contents = cmark_chunk_dup(&subj->input, subj->pos, matchlen - 1);
+ subj->pos += matchlen;
+
+ return make_autolink(contents, 1);
+ }
+
+ // finally, try to match an html tag
+ 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;
+ return make_raw_html(contents);
+ }
+
+ // if nothing matches, just return the opening <:
+ return make_str(cmark_chunk_literal("<"));
}
// Parse a link label. Returns 1 if successful.
// Note: unescaped brackets are not allowed in labels.
// The label begins with `[` and ends with the first `]` character
// encountered. Backticks in labels do not start code spans.
-static int link_label(subject* subj, cmark_chunk *raw_label)
-{
- bufsize_t startpos = subj->pos;
- int length = 0;
- unsigned char c;
-
- // advance past [
- if (peek_char(subj) == '[') {
- advance(subj);
- } else {
- return 0;
- }
-
- while ((c = peek_char(subj)) && c != '[' && c != ']') {
- if (c == '\\') {
- advance(subj);
- length++;
- if (cmark_ispunct(peek_char(subj))) {
- advance(subj);
- length++;
- }
- } else {
- advance(subj);
- length++;
- }
- if (length > MAX_LINK_LABEL_LENGTH) {
- goto noMatch;
- }
- }
-
- if (c == ']') { // match found
- *raw_label = cmark_chunk_dup(&subj->input, startpos + 1, subj->pos - (startpos + 1));
- cmark_chunk_trim(raw_label);
- advance(subj); // advance past ]
- return 1;
- }
+static int link_label(subject *subj, cmark_chunk *raw_label) {
+ bufsize_t startpos = subj->pos;
+ int length = 0;
+ unsigned char c;
+
+ // advance past [
+ if (peek_char(subj) == '[') {
+ advance(subj);
+ } else {
+ return 0;
+ }
+
+ while ((c = peek_char(subj)) && c != '[' && c != ']') {
+ if (c == '\\') {
+ advance(subj);
+ length++;
+ if (cmark_ispunct(peek_char(subj))) {
+ advance(subj);
+ length++;
+ }
+ } else {
+ advance(subj);
+ length++;
+ }
+ if (length > MAX_LINK_LABEL_LENGTH) {
+ goto noMatch;
+ }
+ }
+
+ if (c == ']') { // match found
+ *raw_label =
+ cmark_chunk_dup(&subj->input, startpos + 1, subj->pos - (startpos + 1));
+ cmark_chunk_trim(raw_label);
+ advance(subj); // advance past ]
+ return 1;
+ }
noMatch:
- subj->pos = startpos; // rewind
- return 0;
-
+ subj->pos = startpos; // rewind
+ return 0;
}
// Return a link, an image, or a literal close bracket.
-static cmark_node* handle_close_bracket(subject* subj, cmark_node *parent)
-{
- bufsize_t initial_pos;
- bufsize_t starturl, endurl, starttitle, endtitle, endall;
- bufsize_t n;
- bufsize_t sps;
- cmark_reference *ref;
- bool is_image = false;
- cmark_chunk url_chunk, title_chunk;
- cmark_chunk url, title;
- delimiter *opener;
- cmark_node *link_text;
- cmark_node *inl;
- cmark_chunk raw_label;
- int found_label;
-
- advance(subj); // advance past ]
- initial_pos = subj->pos;
-
- // look through list of delimiters for a [ or !
- opener = subj->last_delim;
- while (opener) {
- if (opener->delim_char == '[' || opener->delim_char == '!') {
- break;
- }
- opener = opener->previous;
- }
-
- if (opener == NULL) {
- return make_str(cmark_chunk_literal("]"));
- }
-
- if (!opener->active) {
- // take delimiter off stack
- remove_delimiter(subj, opener);
- return make_str(cmark_chunk_literal("]"));
- }
-
- // If we got here, we matched a potential link/image text.
- is_image = opener->delim_char == '!';
- link_text = opener->inl_text->next;
-
- // Now we check to see if it's a link/image.
-
- // First, look for an inline link.
- if (peek_char(subj) == '(' &&
- ((sps = scan_spacechars(&subj->input, subj->pos + 1)) > -1) &&
- ((n = scan_link_url(&subj->input, subj->pos + 1 + sps)) > -1)) {
-
- // try to parse an explicit link:
- starturl = subj->pos + 1 + sps; // after (
- endurl = starturl + n;
- starttitle = endurl + scan_spacechars(&subj->input, endurl);
-
- // ensure there are spaces btw url and title
- endtitle = (starttitle == endurl) ? starttitle :
- starttitle + scan_link_title(&subj->input, starttitle);
-
- endall = endtitle + scan_spacechars(&subj->input, endtitle);
-
- if (peek_at(subj, endall) == ')') {
- subj->pos = endall + 1;
-
- url_chunk = cmark_chunk_dup(&subj->input, starturl, endurl - starturl);
- title_chunk = cmark_chunk_dup(&subj->input, starttitle, endtitle - starttitle);
- url = cmark_clean_url(&url_chunk);
- title = cmark_clean_title(&title_chunk);
- cmark_chunk_free(&url_chunk);
- cmark_chunk_free(&title_chunk);
- goto match;
-
- } else {
- goto noMatch;
- }
- }
-
- // Next, look for a following [link label] that matches in refmap.
- // skip spaces
- subj->pos = subj->pos + scan_spacechars(&subj->input, subj->pos);
- raw_label = cmark_chunk_literal("");
- found_label = link_label(subj, &raw_label);
- if (!found_label || raw_label.len == 0) {
- cmark_chunk_free(&raw_label);
- raw_label = cmark_chunk_dup(&subj->input, opener->position,
- initial_pos - opener->position - 1);
- }
-
- if (!found_label) {
- // If we have a shortcut reference link, back up
- // to before the spacse we skipped.
- subj->pos = initial_pos;
- }
-
- ref = cmark_reference_lookup(subj->refmap, &raw_label);
- cmark_chunk_free(&raw_label);
-
- if (ref != NULL) { // found
- url = chunk_clone(&ref->url);
- title = chunk_clone(&ref->title);
- goto match;
- } else {
- goto noMatch;
- }
+static cmark_node *handle_close_bracket(subject *subj, cmark_node *parent) {
+ bufsize_t initial_pos;
+ bufsize_t starturl, endurl, starttitle, endtitle, endall;
+ bufsize_t n;
+ bufsize_t sps;
+ cmark_reference *ref;
+ bool is_image = false;
+ cmark_chunk url_chunk, title_chunk;
+ cmark_chunk url, title;
+ delimiter *opener;
+ cmark_node *link_text;
+ cmark_node *inl;
+ cmark_chunk raw_label;
+ int found_label;
+
+ advance(subj); // advance past ]
+ initial_pos = subj->pos;
+
+ // look through list of delimiters for a [ or !
+ opener = subj->last_delim;
+ while (opener) {
+ if (opener->delim_char == '[' || opener->delim_char == '!') {
+ break;
+ }
+ opener = opener->previous;
+ }
+
+ if (opener == NULL) {
+ return make_str(cmark_chunk_literal("]"));
+ }
+
+ if (!opener->active) {
+ // take delimiter off stack
+ remove_delimiter(subj, opener);
+ return make_str(cmark_chunk_literal("]"));
+ }
+
+ // If we got here, we matched a potential link/image text.
+ is_image = opener->delim_char == '!';
+ link_text = opener->inl_text->next;
+
+ // Now we check to see if it's a link/image.
+
+ // First, look for an inline link.
+ if (peek_char(subj) == '(' &&
+ ((sps = scan_spacechars(&subj->input, subj->pos + 1)) > -1) &&
+ ((n = scan_link_url(&subj->input, subj->pos + 1 + sps)) > -1)) {
+
+ // try to parse an explicit link:
+ starturl = subj->pos + 1 + sps; // after (
+ endurl = starturl + n;
+ starttitle = endurl + scan_spacechars(&subj->input, endurl);
+
+ // ensure there are spaces btw url and title
+ endtitle = (starttitle == endurl)
+ ? starttitle
+ : starttitle + scan_link_title(&subj->input, starttitle);
+
+ endall = endtitle + scan_spacechars(&subj->input, endtitle);
+
+ if (peek_at(subj, endall) == ')') {
+ subj->pos = endall + 1;
+
+ url_chunk = cmark_chunk_dup(&subj->input, starturl, endurl - starturl);
+ title_chunk =
+ cmark_chunk_dup(&subj->input, starttitle, endtitle - starttitle);
+ url = cmark_clean_url(&url_chunk);
+ title = cmark_clean_title(&title_chunk);
+ cmark_chunk_free(&url_chunk);
+ cmark_chunk_free(&title_chunk);
+ goto match;
+
+ } else {
+ goto noMatch;
+ }
+ }
+
+ // Next, look for a following [link label] that matches in refmap.
+ // skip spaces
+ subj->pos = subj->pos + scan_spacechars(&subj->input, subj->pos);
+ raw_label = cmark_chunk_literal("");
+ found_label = link_label(subj, &raw_label);
+ if (!found_label || raw_label.len == 0) {
+ cmark_chunk_free(&raw_label);
+ raw_label = cmark_chunk_dup(&subj->input, opener->position,
+ initial_pos - opener->position - 1);
+ }
+
+ if (!found_label) {
+ // If we have a shortcut reference link, back up
+ // to before the spacse we skipped.
+ subj->pos = initial_pos;
+ }
+
+ ref = cmark_reference_lookup(subj->refmap, &raw_label);
+ cmark_chunk_free(&raw_label);
+
+ if (ref != NULL) { // found
+ url = chunk_clone(&ref->url);
+ title = chunk_clone(&ref->title);
+ goto match;
+ } else {
+ goto noMatch;
+ }
noMatch:
- // If we fall through to here, it means we didn't match a link:
- remove_delimiter(subj, opener); // remove this opener from delimiter list
- subj->pos = initial_pos;
- return make_str(cmark_chunk_literal("]"));
+ // If we fall through to here, it means we didn't match a link:
+ remove_delimiter(subj, opener); // remove this opener from delimiter list
+ subj->pos = initial_pos;
+ return make_str(cmark_chunk_literal("]"));
match:
- inl = opener->inl_text;
- inl->type = is_image ? CMARK_NODE_IMAGE : CMARK_NODE_LINK;
- cmark_chunk_free(&inl->as.literal);
- inl->first_child = link_text;
- process_emphasis(subj, opener);
- inl->as.link.url = url;
- inl->as.link.title = title;
- inl->next = NULL;
- if (link_text) {
- cmark_node *tmp;
- link_text->prev = NULL;
- for (tmp = link_text; tmp->next != NULL; tmp = tmp->next) {
- tmp->parent = inl;
- }
- tmp->parent = inl;
- inl->last_child = tmp;
- }
- parent->last_child = inl;
-
- // 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
- // inside links.)
- remove_delimiter(subj, opener);
- if (!is_image) {
- opener = subj->last_delim;
- while (opener != NULL) {
- if (opener->delim_char == '[') {
- if (!opener->active) {
- break;
- } else {
- opener->active = false;
- }
- }
- opener = opener->previous;
- }
- }
-
- return NULL;
+ inl = opener->inl_text;
+ inl->type = is_image ? CMARK_NODE_IMAGE : CMARK_NODE_LINK;
+ cmark_chunk_free(&inl->as.literal);
+ inl->first_child = link_text;
+ process_emphasis(subj, opener);
+ inl->as.link.url = url;
+ inl->as.link.title = title;
+ inl->next = NULL;
+ if (link_text) {
+ cmark_node *tmp;
+ link_text->prev = NULL;
+ for (tmp = link_text; tmp->next != NULL; tmp = tmp->next) {
+ tmp->parent = inl;
+ }
+ tmp->parent = inl;
+ inl->last_child = tmp;
+ }
+ parent->last_child = inl;
+
+ // 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
+ // inside links.)
+ remove_delimiter(subj, opener);
+ if (!is_image) {
+ opener = subj->last_delim;
+ while (opener != NULL) {
+ if (opener->delim_char == '[') {
+ if (!opener->active) {
+ break;
+ } else {
+ opener->active = false;
+ }
+ }
+ opener = opener->previous;
+ }
+ }
+
+ return NULL;
}
// Parse a hard or soft linebreak, returning an inline.
// Assumes the subject has a newline at the current position.
-static cmark_node* handle_newline(subject *subj)
-{
- bufsize_t nlpos = subj->pos;
- // skip over newline
- advance(subj);
- // skip spaces at beginning of line
- skip_spaces(subj);
- if (nlpos > 1 &&
- peek_at(subj, nlpos - 1) == ' ' &&
- peek_at(subj, nlpos - 2) == ' ') {
- return make_linebreak();
- } else {
- return make_softbreak();
- }
+static cmark_node *handle_newline(subject *subj) {
+ bufsize_t nlpos = subj->pos;
+ // skip over newline
+ advance(subj);
+ // skip spaces at beginning of line
+ skip_spaces(subj);
+ if (nlpos > 1 && peek_at(subj, nlpos - 1) == ' ' &&
+ peek_at(subj, nlpos - 2) == ' ') {
+ return make_linebreak();
+ } else {
+ return make_softbreak();
+ }
}
-static bufsize_t subject_find_special_char(subject *subj, int options)
-{
- // "\r\n\\`&_*[]<!"
- static const int8_t SPECIAL_CHARS[256] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
-
- // " ' . -
- static const char SMART_PUNCT_CHARS[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- };
-
- bufsize_t n = subj->pos + 1;
-
- while (n < subj->input.len) {
- if (SPECIAL_CHARS[subj->input.data[n]])
- return n;
- if (options & CMARK_OPT_SMART &&
- SMART_PUNCT_CHARS[subj->input.data[n]])
- return n;
- n++;
- }
-
- return subj->input.len;
+static bufsize_t subject_find_special_char(subject *subj, int options) {
+ // "\r\n\\`&_*[]<!"
+ static const int8_t SPECIAL_CHARS[256] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+
+ // " ' . -
+ static const char SMART_PUNCT_CHARS[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+
+ bufsize_t n = subj->pos + 1;
+
+ while (n < subj->input.len) {
+ if (SPECIAL_CHARS[subj->input.data[n]])
+ return n;
+ if (options & CMARK_OPT_SMART && SMART_PUNCT_CHARS[subj->input.data[n]])
+ return n;
+ n++;
+ }
+
+ return subj->input.len;
}
// Parse an inline, advancing subject, and add it as a child of parent.
// Return 0 if no inline can be parsed, 1 otherwise.
-static int parse_inline(subject* subj, cmark_node * parent, int options)
-{
- cmark_node* new_inl = NULL;
- cmark_chunk contents;
- unsigned char c;
- bufsize_t endpos;
- c = peek_char(subj);
- if (c == 0) {
- return 0;
- }
- switch(c) {
- case '\r':
- case '\n':
- new_inl = handle_newline(subj);
- break;
- case '`':
- new_inl = handle_backticks(subj);
- break;
- case '\\':
- new_inl = handle_backslash(subj);
- break;
- case '&':
- new_inl = handle_entity(subj);
- break;
- case '<':
- new_inl = handle_pointy_brace(subj);
- break;
- case '*':
- case '_':
- case '\'':
- case '"':
- new_inl = handle_delim(subj, c, options & CMARK_OPT_SMART);
- break;
- case '-':
- new_inl = handle_hyphen(subj, options & CMARK_OPT_SMART);
- break;
- case '.':
- new_inl = handle_period(subj, options & CMARK_OPT_SMART);
- break;
- case '[':
- advance(subj);
- new_inl = make_str(cmark_chunk_literal("["));
- push_delimiter(subj, '[', true, false, new_inl);
- break;
- case ']':
- new_inl = handle_close_bracket(subj, parent);
- break;
- case '!':
- advance(subj);
- if (peek_char(subj) == '[') {
- advance(subj);
- new_inl = make_str(cmark_chunk_literal("!["));
- push_delimiter(subj, '!', false, true, new_inl);
- } else {
- new_inl = make_str(cmark_chunk_literal("!"));
- }
- break;
- default:
- endpos = subject_find_special_char(subj, options);
- contents = cmark_chunk_dup(&subj->input, subj->pos, endpos - subj->pos);
- subj->pos = endpos;
-
- // if we're at a newline, strip trailing spaces.
- if (S_is_line_end_char(peek_char(subj))) {
- cmark_chunk_rtrim(&contents);
- }
-
- new_inl = make_str(contents);
- }
- if (new_inl != NULL) {
- cmark_node_append_child(parent, new_inl);
- }
-
- return 1;
+static int parse_inline(subject *subj, cmark_node *parent, int options) {
+ cmark_node *new_inl = NULL;
+ cmark_chunk contents;
+ unsigned char c;
+ bufsize_t endpos;
+ c = peek_char(subj);
+ if (c == 0) {
+ return 0;
+ }
+ switch (c) {
+ case '\r':
+ case '\n':
+ new_inl = handle_newline(subj);
+ break;
+ case '`':
+ new_inl = handle_backticks(subj);
+ break;
+ case '\\':
+ new_inl = handle_backslash(subj);
+ break;
+ case '&':
+ new_inl = handle_entity(subj);
+ break;
+ case '<':
+ new_inl = handle_pointy_brace(subj);
+ break;
+ case '*':
+ case '_':
+ case '\'':
+ case '"':
+ new_inl = handle_delim(subj, c, options & CMARK_OPT_SMART);
+ break;
+ case '-':
+ new_inl = handle_hyphen(subj, options & CMARK_OPT_SMART);
+ break;
+ case '.':
+ new_inl = handle_period(subj, options & CMARK_OPT_SMART);
+ break;
+ case '[':
+ advance(subj);
+ new_inl = make_str(cmark_chunk_literal("["));
+ push_delimiter(subj, '[', true, false, new_inl);
+ break;
+ case ']':
+ new_inl = handle_close_bracket(subj, parent);
+ break;
+ case '!':
+ advance(subj);
+ if (peek_char(subj) == '[') {
+ advance(subj);
+ new_inl = make_str(cmark_chunk_literal("!["));
+ push_delimiter(subj, '!', false, true, new_inl);
+ } else {
+ new_inl = make_str(cmark_chunk_literal("!"));
+ }
+ break;
+ default:
+ endpos = subject_find_special_char(subj, options);
+ contents = cmark_chunk_dup(&subj->input, subj->pos, endpos - subj->pos);
+ subj->pos = endpos;
+
+ // if we're at a newline, strip trailing spaces.
+ if (S_is_line_end_char(peek_char(subj))) {
+ cmark_chunk_rtrim(&contents);
+ }
+
+ new_inl = make_str(contents);
+ }
+ if (new_inl != NULL) {
+ cmark_node_append_child(parent, new_inl);
+ }
+
+ return 1;
}
// Parse inlines from parent's string_content, adding as children of parent.
-extern void cmark_parse_inlines(cmark_node* parent, cmark_reference_map *refmap, int options)
-{
- subject subj;
- subject_from_buf(&subj, &parent->string_content, refmap);
- cmark_chunk_rtrim(&subj.input);
+extern void cmark_parse_inlines(cmark_node *parent, cmark_reference_map *refmap,
+ int options) {
+ subject subj;
+ subject_from_buf(&subj, &parent->string_content, refmap);
+ cmark_chunk_rtrim(&subj.input);
- while (!is_eof(&subj) && parse_inline(&subj, parent, options)) ;
+ while (!is_eof(&subj) && parse_inline(&subj, parent, options))
+ ;
- process_emphasis(&subj, NULL);
+ process_emphasis(&subj, NULL);
}
// Parse zero or more space characters, including at most one newline.
-static void spnl(subject* subj)
-{
- skip_spaces(subj);
- if (skip_line_end(subj)) {
- skip_spaces(subj);
- }
+static void spnl(subject *subj) {
+ skip_spaces(subj);
+ if (skip_line_end(subj)) {
+ skip_spaces(subj);
+ }
}
// Parse reference. Assumes string begins with '[' character.
// Modify refmap if a reference is encountered.
// Return 0 if no reference found, otherwise position of subject
// after reference is parsed.
-bufsize_t cmark_parse_reference_inline(cmark_strbuf *input, cmark_reference_map *refmap)
-{
- subject subj;
-
- cmark_chunk lab;
- cmark_chunk url;
- cmark_chunk title;
-
- bufsize_t matchlen = 0;
- bufsize_t beforetitle;
-
- subject_from_buf(&subj, input, NULL);
-
- // parse label:
- if (!link_label(&subj, &lab) || lab.len == 0)
- return 0;
-
- // colon:
- if (peek_char(&subj) == ':') {
- advance(&subj);
- } else {
- return 0;
- }
-
- // parse link url:
- spnl(&subj);
- matchlen = scan_link_url(&subj.input, subj.pos);
- if (matchlen) {
- url = cmark_chunk_dup(&subj.input, subj.pos, matchlen);
- subj.pos += matchlen;
- } else {
- return 0;
- }
-
- // parse optional link_title
- beforetitle = subj.pos;
- spnl(&subj);
- matchlen = scan_link_title(&subj.input, subj.pos);
- if (matchlen) {
- title = cmark_chunk_dup(&subj.input, subj.pos, matchlen);
- subj.pos += matchlen;
- } else {
- subj.pos = beforetitle;
- title = cmark_chunk_literal("");
- }
-
- // parse final spaces and newline:
- skip_spaces(&subj);
- if (!skip_line_end(&subj)) {
- if (matchlen) { // try rewinding before title
- subj.pos = beforetitle;
- skip_spaces(&subj);
- if (!skip_line_end(&subj)) {
- return 0;
- }
- } else {
- return 0;
- }
- }
- // insert reference into refmap
- cmark_reference_create(refmap, &lab, &url, &title);
- return subj.pos;
+bufsize_t cmark_parse_reference_inline(cmark_strbuf *input,
+ cmark_reference_map *refmap) {
+ subject subj;
+
+ cmark_chunk lab;
+ cmark_chunk url;
+ cmark_chunk title;
+
+ bufsize_t matchlen = 0;
+ bufsize_t beforetitle;
+
+ subject_from_buf(&subj, input, NULL);
+
+ // parse label:
+ if (!link_label(&subj, &lab) || lab.len == 0)
+ return 0;
+
+ // colon:
+ if (peek_char(&subj) == ':') {
+ advance(&subj);
+ } else {
+ return 0;
+ }
+
+ // parse link url:
+ spnl(&subj);
+ matchlen = scan_link_url(&subj.input, subj.pos);
+ if (matchlen) {
+ url = cmark_chunk_dup(&subj.input, subj.pos, matchlen);
+ subj.pos += matchlen;
+ } else {
+ return 0;
+ }
+
+ // parse optional link_title
+ beforetitle = subj.pos;
+ spnl(&subj);
+ matchlen = scan_link_title(&subj.input, subj.pos);
+ if (matchlen) {
+ title = cmark_chunk_dup(&subj.input, subj.pos, matchlen);
+ subj.pos += matchlen;
+ } else {
+ subj.pos = beforetitle;
+ title = cmark_chunk_literal("");
+ }
+
+ // parse final spaces and newline:
+ skip_spaces(&subj);
+ if (!skip_line_end(&subj)) {
+ if (matchlen) { // try rewinding before title
+ subj.pos = beforetitle;
+ skip_spaces(&subj);
+ if (!skip_line_end(&subj)) {
+ return 0;
+ }
+ } else {
+ return 0;
+ }
+ }
+ // insert reference into refmap
+ cmark_reference_create(refmap, &lab, &url, &title);
+ return subj.pos;
}
diff --git a/src/inlines.h b/src/inlines.h
index f8847fc..7e7ee45 100644
--- a/src/inlines.h
+++ b/src/inlines.h
@@ -8,9 +8,11 @@ extern "C" {
cmark_chunk cmark_clean_url(cmark_chunk *url);
cmark_chunk cmark_clean_title(cmark_chunk *title);
-void cmark_parse_inlines(cmark_node* parent, cmark_reference_map *refmap, int options);
+void cmark_parse_inlines(cmark_node *parent, cmark_reference_map *refmap,
+ int options);
-bufsize_t cmark_parse_reference_inline(cmark_strbuf *input, cmark_reference_map *refmap);
+bufsize_t cmark_parse_reference_inline(cmark_strbuf *input,
+ cmark_reference_map *refmap);
#ifdef __cplusplus
}
diff --git a/src/iterator.c b/src/iterator.c
index f18e3bf..81b6f48 100644
--- a/src/iterator.c
+++ b/src/iterator.c
@@ -7,142 +7,112 @@
#include "iterator.h"
static const int S_leaf_mask =
- (1 << CMARK_NODE_HTML) |
- (1 << CMARK_NODE_HRULE) |
- (1 << CMARK_NODE_CODE_BLOCK) |
- (1 << CMARK_NODE_TEXT) |
- (1 << CMARK_NODE_SOFTBREAK) |
- (1 << CMARK_NODE_LINEBREAK) |
- (1 << CMARK_NODE_CODE) |
- (1 << CMARK_NODE_INLINE_HTML);
-
-cmark_iter*
-cmark_iter_new(cmark_node *root)
-{
- if (root == NULL) {
- return NULL;
- }
- cmark_iter *iter = (cmark_iter*)malloc(sizeof(cmark_iter));
- if (iter == NULL) {
- return NULL;
- }
- iter->root = root;
- iter->cur.ev_type = CMARK_EVENT_NONE;
- iter->cur.node = NULL;
- iter->next.ev_type = CMARK_EVENT_ENTER;
- iter->next.node = root;
- return iter;
+ (1 << CMARK_NODE_HTML) | (1 << CMARK_NODE_HRULE) |
+ (1 << CMARK_NODE_CODE_BLOCK) | (1 << CMARK_NODE_TEXT) |
+ (1 << CMARK_NODE_SOFTBREAK) | (1 << CMARK_NODE_LINEBREAK) |
+ (1 << CMARK_NODE_CODE) | (1 << CMARK_NODE_INLINE_HTML);
+
+cmark_iter *cmark_iter_new(cmark_node *root) {
+ if (root == NULL) {
+ return NULL;
+ }
+ cmark_iter *iter = (cmark_iter *)malloc(sizeof(cmark_iter));
+ if (iter == NULL) {
+ return NULL;
+ }
+ iter->root = root;
+ iter->cur.ev_type = CMARK_EVENT_NONE;
+ iter->cur.node = NULL;
+ iter->next.ev_type = CMARK_EVENT_ENTER;
+ iter->next.node = root;
+ return iter;
}
-void
-cmark_iter_free(cmark_iter *iter)
-{
- free(iter);
-}
+void cmark_iter_free(cmark_iter *iter) { free(iter); }
-static bool
-S_is_leaf(cmark_node *node)
-{
- return (1 << node->type) & S_leaf_mask;
+static bool S_is_leaf(cmark_node *node) {
+ return (1 << node->type) & S_leaf_mask;
}
-cmark_event_type
-cmark_iter_next(cmark_iter *iter)
-{
- cmark_event_type ev_type = iter->next.ev_type;
- cmark_node *node = iter->next.node;
-
- iter->cur.ev_type = ev_type;
- iter->cur.node = node;
-
- if (ev_type == CMARK_EVENT_DONE) {
- return ev_type;
- }
-
- /* roll forward to next item, setting both fields */
- if (ev_type == CMARK_EVENT_ENTER && !S_is_leaf(node)) {
- if (node->first_child == NULL) {
- /* stay on this node but exit */
- iter->next.ev_type = CMARK_EVENT_EXIT;
- } else {
- iter->next.ev_type = CMARK_EVENT_ENTER;
- iter->next.node = node->first_child;
- }
- } else if (node == iter->root) {
- /* don't move past root */
- iter->next.ev_type = CMARK_EVENT_DONE;
- iter->next.node = NULL;
- } else if (node->next) {
- iter->next.ev_type = CMARK_EVENT_ENTER;
- iter->next.node = node->next;
- } else if (node->parent) {
- iter->next.ev_type = CMARK_EVENT_EXIT;
- iter->next.node = node->parent;
- } else {
- assert(false);
- iter->next.ev_type = CMARK_EVENT_DONE;
- iter->next.node = NULL;
- }
-
- return ev_type;
+cmark_event_type cmark_iter_next(cmark_iter *iter) {
+ cmark_event_type ev_type = iter->next.ev_type;
+ cmark_node *node = iter->next.node;
+
+ iter->cur.ev_type = ev_type;
+ iter->cur.node = node;
+
+ if (ev_type == CMARK_EVENT_DONE) {
+ return ev_type;
+ }
+
+ /* roll forward to next item, setting both fields */
+ if (ev_type == CMARK_EVENT_ENTER && !S_is_leaf(node)) {
+ if (node->first_child == NULL) {
+ /* stay on this node but exit */
+ iter->next.ev_type = CMARK_EVENT_EXIT;
+ } else {
+ iter->next.ev_type = CMARK_EVENT_ENTER;
+ iter->next.node = node->first_child;
+ }
+ } else if (node == iter->root) {
+ /* don't move past root */
+ iter->next.ev_type = CMARK_EVENT_DONE;
+ iter->next.node = NULL;
+ } else if (node->next) {
+ iter->next.ev_type = CMARK_EVENT_ENTER;
+ iter->next.node = node->next;
+ } else if (node->parent) {
+ iter->next.ev_type = CMARK_EVENT_EXIT;
+ iter->next.node = node->parent;
+ } else {
+ assert(false);
+ iter->next.ev_type = CMARK_EVENT_DONE;
+ iter->next.node = NULL;
+ }
+
+ return ev_type;
}
-void
-cmark_iter_reset(cmark_iter *iter, cmark_node *current,
- cmark_event_type event_type)
-{
- iter->next.ev_type = event_type;
- iter->next.node = current;
- cmark_iter_next(iter);
+void cmark_iter_reset(cmark_iter *iter, cmark_node *current,
+ cmark_event_type event_type) {
+ iter->next.ev_type = event_type;
+ iter->next.node = current;
+ cmark_iter_next(iter);
}
-cmark_node*
-cmark_iter_get_node(cmark_iter *iter)
-{
- return iter->cur.node;
-}
+cmark_node *cmark_iter_get_node(cmark_iter *iter) { return iter->cur.node; }
-cmark_event_type
-cmark_iter_get_event_type(cmark_iter *iter)
-{
- return iter->cur.ev_type;
+cmark_event_type cmark_iter_get_event_type(cmark_iter *iter) {
+ return iter->cur.ev_type;
}
-cmark_node*
-cmark_iter_get_root(cmark_iter *iter)
-{
- return iter->root;
-}
-
-
-void cmark_consolidate_text_nodes(cmark_node *root)
-{
- cmark_iter *iter = cmark_iter_new(root);
- cmark_strbuf buf = GH_BUF_INIT;
- cmark_event_type ev_type;
- cmark_node *cur, *tmp, *next;
-
- while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
- cur = cmark_iter_get_node(iter);
- if (ev_type == CMARK_EVENT_ENTER &&
- cur->type == CMARK_NODE_TEXT &&
- cur->next &&
- cur->next->type == CMARK_NODE_TEXT) {
- cmark_strbuf_clear(&buf);
- cmark_strbuf_put(&buf, cur->as.literal.data, cur->as.literal.len);
- tmp = cur->next;
- while (tmp && tmp->type == CMARK_NODE_TEXT) {
- cmark_iter_next(iter); // advance pointer
- cmark_strbuf_put(&buf, tmp->as.literal.data, tmp->as.literal.len);
- next = tmp->next;
- cmark_node_free(tmp);
- tmp = next;
- }
- cmark_chunk_free(&cur->as.literal);
- cur->as.literal = cmark_chunk_buf_detach(&buf);
- }
- }
-
- cmark_strbuf_free(&buf);
- cmark_iter_free(iter);
+cmark_node *cmark_iter_get_root(cmark_iter *iter) { return iter->root; }
+
+void cmark_consolidate_text_nodes(cmark_node *root) {
+ cmark_iter *iter = cmark_iter_new(root);
+ cmark_strbuf buf = GH_BUF_INIT;
+ cmark_event_type ev_type;
+ cmark_node *cur, *tmp, *next;
+
+ while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
+ cur = cmark_iter_get_node(iter);
+ if (ev_type == CMARK_EVENT_ENTER && cur->type == CMARK_NODE_TEXT &&
+ cur->next && cur->next->type == CMARK_NODE_TEXT) {
+ cmark_strbuf_clear(&buf);
+ cmark_strbuf_put(&buf, cur->as.literal.data, cur->as.literal.len);
+ tmp = cur->next;
+ while (tmp && tmp->type == CMARK_NODE_TEXT) {
+ cmark_iter_next(iter); // advance pointer
+ cmark_strbuf_put(&buf, tmp->as.literal.data, tmp->as.literal.len);
+ next = tmp->next;
+ cmark_node_free(tmp);
+ tmp = next;
+ }
+ cmark_chunk_free(&cur->as.literal);
+ cur->as.literal = cmark_chunk_buf_detach(&buf);
+ }
+ }
+
+ cmark_strbuf_free(&buf);
+ cmark_iter_free(iter);
}
diff --git a/src/iterator.h b/src/iterator.h
index 027b10b..9c6bca6 100644
--- a/src/iterator.h
+++ b/src/iterator.h
@@ -8,14 +8,14 @@ extern "C" {
#include "cmark.h"
typedef struct {
- cmark_event_type ev_type;
- cmark_node *node;
+ cmark_event_type ev_type;
+ cmark_node *node;
} cmark_iter_state;
struct cmark_iter {
- cmark_node *root;
- cmark_iter_state cur;
- cmark_iter_state next;
+ cmark_node *root;
+ cmark_iter_state cur;
+ cmark_iter_state next;
};
#ifdef __cplusplus
diff --git a/src/latex.c b/src/latex.c
index 782b0c0..146062e 100644
--- a/src/latex.c
+++ b/src/latex.c
@@ -18,413 +18,391 @@
#define CR() renderer->cr(renderer)
#define BLANKLINE() renderer->blankline(renderer)
-static inline void outc(cmark_renderer *renderer,
- cmark_escaping escape,
- int32_t c,
- unsigned char nextc)
-{
- if (escape == LITERAL) {
- cmark_render_code_point(renderer, c);
- return;
- }
-
- switch(c) {
- case 123: // '{'
- case 125: // '}'
- case 35: // '#'
- case 37: // '%'
- case 38: // '&'
- cmark_render_ascii(renderer, "\\");
- cmark_render_code_point(renderer, c);
- break;
- case 36: // '$'
- case 95: // '_'
- if (escape == NORMAL) {
- cmark_render_ascii(renderer, "\\");
- }
- cmark_render_code_point(renderer, c);
- break;
- case 45 : // '-'
- if (nextc == 45) { // prevent ligature
- cmark_render_ascii(renderer, "\\-");
- } else {
- cmark_render_ascii(renderer, "-");
- }
- break;
- case 126: // '~'
- if (escape == NORMAL) {
- cmark_render_ascii(renderer, "\\textasciitilde{}");
- } else {
- cmark_render_code_point(renderer, c);
- }
- break;
- case 94: // '^'
- cmark_render_ascii(renderer, "\\^{}");
- break;
- case 92: // '\\'
- if (escape == URL) {
- // / acts as path sep even on windows:
- cmark_render_ascii(renderer, "/");
- } else {
- cmark_render_ascii(renderer, "\\textbackslash{}");
- }
- break;
- case 124: // '|'
- cmark_render_ascii(renderer, "\\textbar{}");
- break;
- case 60: // '<'
- cmark_render_ascii(renderer, "\\textless{}");
- break;
- case 62: // '>'
- cmark_render_ascii(renderer, "\\textgreater{}");
- break;
- case 91: // '['
- case 93: // ']'
- cmark_render_ascii(renderer, "{");
- cmark_render_code_point(renderer, c);
- cmark_render_ascii(renderer, "}");
- break;
- case 34: // '"'
- cmark_render_ascii(renderer, "\\textquotedbl{}");
- // requires \usepackage[T1]{fontenc}
- break;
- case 39: // '\''
- cmark_render_ascii(renderer, "\\textquotesingle{}");
- // requires \usepackage{textcomp}
- break;
- case 160: // nbsp
- cmark_render_ascii(renderer, "~");
- break;
- case 8230: // hellip
- cmark_render_ascii(renderer, "\\ldots{}");
- break;
- case 8216: // lsquo
- if (escape == NORMAL) {
- cmark_render_ascii(renderer, "`");
- } else {
- cmark_render_code_point(renderer, c);
- }
- break;
- case 8217: // rsquo
- if (escape == NORMAL) {
- cmark_render_ascii(renderer, "\'");
- } else {
- cmark_render_code_point(renderer, c);
- }
- break;
- case 8220: // ldquo
- if (escape == NORMAL) {
- cmark_render_ascii(renderer, "``");
- } else {
- cmark_render_code_point(renderer, c);
- }
- break;
- case 8221: // rdquo
- if (escape == NORMAL) {
- cmark_render_ascii(renderer, "''");
- } else {
- cmark_render_code_point(renderer, c);
- }
- break;
- case 8212: // emdash
- if (escape == NORMAL) {
- cmark_render_ascii(renderer, "---");
- } else {
- cmark_render_code_point(renderer, c);
- }
- break;
- case 8211: // endash
- if (escape == NORMAL) {
- cmark_render_ascii(renderer, "--");
- } else {
- cmark_render_code_point(renderer, c);
- }
- break;
- default:
- cmark_render_code_point(renderer, c);
- }
+static inline void outc(cmark_renderer *renderer, cmark_escaping escape,
+ int32_t c, unsigned char nextc) {
+ if (escape == LITERAL) {
+ cmark_render_code_point(renderer, c);
+ return;
+ }
+
+ switch (c) {
+ case 123: // '{'
+ case 125: // '}'
+ case 35: // '#'
+ case 37: // '%'
+ case 38: // '&'
+ cmark_render_ascii(renderer, "\\");
+ cmark_render_code_point(renderer, c);
+ break;
+ case 36: // '$'
+ case 95: // '_'
+ if (escape == NORMAL) {
+ cmark_render_ascii(renderer, "\\");
+ }
+ cmark_render_code_point(renderer, c);
+ break;
+ case 45: // '-'
+ if (nextc == 45) { // prevent ligature
+ cmark_render_ascii(renderer, "\\-");
+ } else {
+ cmark_render_ascii(renderer, "-");
+ }
+ break;
+ case 126: // '~'
+ if (escape == NORMAL) {
+ cmark_render_ascii(renderer, "\\textasciitilde{}");
+ } else {
+ cmark_render_code_point(renderer, c);
+ }
+ break;
+ case 94: // '^'
+ cmark_render_ascii(renderer, "\\^{}");
+ break;
+ case 92: // '\\'
+ if (escape == URL) {
+ // / acts as path sep even on windows:
+ cmark_render_ascii(renderer, "/");
+ } else {
+ cmark_render_ascii(renderer, "\\textbackslash{}");
+ }
+ break;
+ case 124: // '|'
+ cmark_render_ascii(renderer, "\\textbar{}");
+ break;
+ case 60: // '<'
+ cmark_render_ascii(renderer, "\\textless{}");
+ break;
+ case 62: // '>'
+ cmark_render_ascii(renderer, "\\textgreater{}");
+ break;
+ case 91: // '['
+ case 93: // ']'
+ cmark_render_ascii(renderer, "{");
+ cmark_render_code_point(renderer, c);
+ cmark_render_ascii(renderer, "}");
+ break;
+ case 34: // '"'
+ cmark_render_ascii(renderer, "\\textquotedbl{}");
+ // requires \usepackage[T1]{fontenc}
+ break;
+ case 39: // '\''
+ cmark_render_ascii(renderer, "\\textquotesingle{}");
+ // requires \usepackage{textcomp}
+ break;
+ case 160: // nbsp
+ cmark_render_ascii(renderer, "~");
+ break;
+ case 8230: // hellip
+ cmark_render_ascii(renderer, "\\ldots{}");
+ break;
+ case 8216: // lsquo
+ if (escape == NORMAL) {
+ cmark_render_ascii(renderer, "`");
+ } else {
+ cmark_render_code_point(renderer, c);
+ }
+ break;
+ case 8217: // rsquo
+ if (escape == NORMAL) {
+ cmark_render_ascii(renderer, "\'");
+ } else {
+ cmark_render_code_point(renderer, c);
+ }
+ break;
+ case 8220: // ldquo
+ if (escape == NORMAL) {
+ cmark_render_ascii(renderer, "``");
+ } else {
+ cmark_render_code_point(renderer, c);
+ }
+ break;
+ case 8221: // rdquo
+ if (escape == NORMAL) {
+ cmark_render_ascii(renderer, "''");
+ } else {
+ cmark_render_code_point(renderer, c);
+ }
+ break;
+ case 8212: // emdash
+ if (escape == NORMAL) {
+ cmark_render_ascii(renderer, "---");
+ } else {
+ cmark_render_code_point(renderer, c);
+ }
+ break;
+ case 8211: // endash
+ if (escape == NORMAL) {
+ cmark_render_ascii(renderer, "--");
+ } else {
+ cmark_render_code_point(renderer, c);
+ }
+ break;
+ default:
+ cmark_render_code_point(renderer, c);
+ }
}
-typedef enum {
- NO_LINK,
- URL_AUTOLINK,
- EMAIL_AUTOLINK,
- NORMAL_LINK
-} link_type;
-
-static link_type
-get_link_type(cmark_node *node)
-{
- size_t title_len, url_len;
- cmark_node *link_text;
- char *realurl;
- int realurllen;
- bool isemail = false;
-
- if (node->type != CMARK_NODE_LINK) {
- return NO_LINK;
- }
-
- const char* url = cmark_node_get_url(node);
- cmark_chunk url_chunk = cmark_chunk_literal(url);
-
- url_len = safe_strlen(url);
- if (url_len == 0 || scan_scheme(&url_chunk, 0) == 0) {
- return NO_LINK;
- }
-
- const char* title = cmark_node_get_title(node);
- title_len = safe_strlen(title);
- // if it has a title, we can't treat it as an autolink:
- if (title_len > 0) {
- return NORMAL_LINK;
- }
-
- link_text = node->first_child;
- cmark_consolidate_text_nodes(link_text);
- realurl = (char*)url;
- realurllen = url_len;
- if (strncmp(realurl, "mailto:", 7) == 0) {
- realurl += 7;
- realurllen -= 7;
- isemail = true;
- }
- if (realurllen == link_text->as.literal.len &&
- strncmp(realurl,
- (char*)link_text->as.literal.data,
- link_text->as.literal.len) == 0) {
- if (isemail) {
- return EMAIL_AUTOLINK;
- } else {
- return URL_AUTOLINK;
- }
- } else {
- return NORMAL_LINK;
- }
+typedef enum { NO_LINK, URL_AUTOLINK, EMAIL_AUTOLINK, NORMAL_LINK } link_type;
+
+static link_type get_link_type(cmark_node *node) {
+ size_t title_len, url_len;
+ cmark_node *link_text;
+ char *realurl;
+ int realurllen;
+ bool isemail = false;
+
+ if (node->type != CMARK_NODE_LINK) {
+ return NO_LINK;
+ }
+
+ const char *url = cmark_node_get_url(node);
+ cmark_chunk url_chunk = cmark_chunk_literal(url);
+
+ url_len = safe_strlen(url);
+ if (url_len == 0 || scan_scheme(&url_chunk, 0) == 0) {
+ return NO_LINK;
+ }
+
+ const char *title = cmark_node_get_title(node);
+ title_len = safe_strlen(title);
+ // if it has a title, we can't treat it as an autolink:
+ if (title_len > 0) {
+ return NORMAL_LINK;
+ }
+
+ link_text = node->first_child;
+ cmark_consolidate_text_nodes(link_text);
+ realurl = (char *)url;
+ realurllen = url_len;
+ if (strncmp(realurl, "mailto:", 7) == 0) {
+ realurl += 7;
+ realurllen -= 7;
+ isemail = true;
+ }
+ if (realurllen == link_text->as.literal.len &&
+ strncmp(realurl, (char *)link_text->as.literal.data,
+ link_text->as.literal.len) == 0) {
+ if (isemail) {
+ return EMAIL_AUTOLINK;
+ } else {
+ return URL_AUTOLINK;
+ }
+ } else {
+ return NORMAL_LINK;
+ }
}
-static int
-S_get_enumlevel(cmark_node *node)
-{
- int enumlevel = 0;
- cmark_node *tmp = node;
- while (tmp) {
- if (tmp->type == CMARK_NODE_LIST &&
- cmark_node_get_list_type(node) == CMARK_ORDERED_LIST) {
- enumlevel++;
- }
- tmp = tmp->parent;
- }
- return enumlevel;
+static int S_get_enumlevel(cmark_node *node) {
+ int enumlevel = 0;
+ cmark_node *tmp = node;
+ while (tmp) {
+ if (tmp->type == CMARK_NODE_LIST &&
+ cmark_node_get_list_type(node) == CMARK_ORDERED_LIST) {
+ enumlevel++;
+ }
+ tmp = tmp->parent;
+ }
+ return enumlevel;
}
-static int
-S_render_node(cmark_renderer *renderer,
- cmark_node *node,
- cmark_event_type ev_type,
- int options)
-{
- int list_number;
- char list_number_string[20];
- bool entering = (ev_type == CMARK_EVENT_ENTER);
- cmark_list_type list_type;
- const char* roman_numerals[] = { "", "i", "ii", "iii", "iv", "v",
- "vi", "vii", "viii", "ix", "x"
- };
-
- // avoid warning about unused parameter:
- (void)(options);
-
- switch (node->type) {
- case CMARK_NODE_DOCUMENT:
- break;
-
- case CMARK_NODE_BLOCK_QUOTE:
- if (entering) {
- LIT("\\begin{quote}");
- CR();
- } else {
- LIT("\\end{quote}");
- BLANKLINE();
- }
- break;
-
- case CMARK_NODE_LIST:
- list_type = cmark_node_get_list_type(node);
- if (entering) {
- LIT("\\begin{");
- LIT(list_type == CMARK_ORDERED_LIST ?
- "enumerate" : "itemize");
- LIT("}");
- CR();
- list_number = cmark_node_get_list_start(node);
- if (list_number > 1) {
- sprintf(list_number_string,
- "%d", list_number);
- LIT("\\setcounter{enum");
- LIT((char *)roman_numerals[S_get_enumlevel(node)]);
- LIT("}{");
- OUT(list_number_string, false, NORMAL);
- LIT("}");
- CR();
- }
- } else {
- LIT("\\end{");
- LIT(list_type == CMARK_ORDERED_LIST ?
- "enumerate" : "itemize");
- LIT("}");
- BLANKLINE();
- }
- break;
-
- case CMARK_NODE_ITEM:
- if (entering) {
- LIT("\\item ");
- } else {
- CR();
- }
- break;
-
- case CMARK_NODE_HEADER:
- if (entering) {
- switch (cmark_node_get_header_level(node)) {
- case 1:
- LIT("\\section");
- break;
- case 2:
- LIT("\\subsection");
- break;
- case 3:
- LIT("\\subsubsection");
- break;
- case 4:
- LIT("\\paragraph");
- break;
- case 5:
- LIT("\\subparagraph");
- break;
- }
- LIT("{");
- } else {
- LIT("}");
- BLANKLINE();
- }
- break;
-
- case CMARK_NODE_CODE_BLOCK:
- CR();
- LIT("\\begin{verbatim}");
- CR();
- OUT(cmark_node_get_literal(node), false, LITERAL);
- CR();
- LIT("\\end{verbatim}");
- BLANKLINE();
- break;
-
- case CMARK_NODE_HTML:
- break;
-
- case CMARK_NODE_HRULE:
- BLANKLINE();
- LIT("\\begin{center}\\rule{0.5\\linewidth}{\\linethickness}\\end{center}");
- BLANKLINE();
- break;
-
- case CMARK_NODE_PARAGRAPH:
- if (!entering) {
- BLANKLINE();
- }
- break;
-
- case CMARK_NODE_TEXT:
- OUT(cmark_node_get_literal(node), true, NORMAL);
- break;
-
- case CMARK_NODE_LINEBREAK:
- LIT("\\\\");
- CR();
- break;
-
- case CMARK_NODE_SOFTBREAK:
- if (renderer->width == 0) {
- CR();
- } else {
- OUT(" ", true, NORMAL);
- }
- break;
-
- case CMARK_NODE_CODE:
- LIT("\\texttt{");
- OUT(cmark_node_get_literal(node), false, NORMAL);
- LIT("}");
- break;
-
- case CMARK_NODE_INLINE_HTML:
- break;
-
- case CMARK_NODE_STRONG:
- if (entering) {
- LIT("\\textbf{");
- } else {
- LIT("}");
- }
- break;
-
- case CMARK_NODE_EMPH:
- if (entering) {
- LIT("\\emph{");
- } else {
- LIT("}");
- }
- break;
-
- case CMARK_NODE_LINK:
- if (entering) {
- const char* url = cmark_node_get_url(node);
- // requires \usepackage{hyperref}
- switch(get_link_type(node)) {
- case URL_AUTOLINK:
- LIT("\\url{");
- OUT(url, false, URL);
- break;
- case EMAIL_AUTOLINK:
- LIT("\\href{");
- OUT(url, false, URL);
- LIT("}\\nolinkurl{");
- break;
- case NORMAL_LINK:
- LIT("\\href{");
- OUT(url, false, URL);
- LIT("}{");
- break;
- case NO_LINK:
- LIT("{"); // error?
- }
- } else {
- LIT("}");
- }
-
- break;
-
- case CMARK_NODE_IMAGE:
- if (entering) {
- LIT("\\protect\\includegraphics{");
- // requires \include{graphicx}
- OUT(cmark_node_get_url(node), false, URL);
- LIT("}");
- return 0;
- }
- break;
-
- default:
- assert(false);
- break;
- }
-
- return 1;
+static int S_render_node(cmark_renderer *renderer, cmark_node *node,
+ cmark_event_type ev_type, int options) {
+ int list_number;
+ char list_number_string[20];
+ bool entering = (ev_type == CMARK_EVENT_ENTER);
+ cmark_list_type list_type;
+ const char *roman_numerals[] = {"", "i", "ii", "iii", "iv", "v",
+ "vi", "vii", "viii", "ix", "x"};
+
+ // avoid warning about unused parameter:
+ (void)(options);
+
+ switch (node->type) {
+ case CMARK_NODE_DOCUMENT:
+ break;
+
+ case CMARK_NODE_BLOCK_QUOTE:
+ if (entering) {
+ LIT("\\begin{quote}");
+ CR();
+ } else {
+ LIT("\\end{quote}");
+ BLANKLINE();
+ }
+ break;
+
+ case CMARK_NODE_LIST:
+ list_type = cmark_node_get_list_type(node);
+ if (entering) {
+ LIT("\\begin{");
+ LIT(list_type == CMARK_ORDERED_LIST ? "enumerate" : "itemize");
+ LIT("}");
+ CR();
+ list_number = cmark_node_get_list_start(node);
+ if (list_number > 1) {
+ sprintf(list_number_string, "%d", list_number);
+ LIT("\\setcounter{enum");
+ LIT((char *)roman_numerals[S_get_enumlevel(node)]);
+ LIT("}{");
+ OUT(list_number_string, false, NORMAL);
+ LIT("}");
+ CR();
+ }
+ } else {
+ LIT("\\end{");
+ LIT(list_type == CMARK_ORDERED_LIST ? "enumerate" : "itemize");
+ LIT("}");
+ BLANKLINE();
+ }
+ break;
+
+ case CMARK_NODE_ITEM:
+ if (entering) {
+ LIT("\\item ");
+ } else {
+ CR();
+ }
+ break;
+
+ case CMARK_NODE_HEADER:
+ if (entering) {
+ switch (cmark_node_get_header_level(node)) {
+ case 1:
+ LIT("\\section");
+ break;
+ case 2:
+ LIT("\\subsection");
+ break;
+ case 3:
+ LIT("\\subsubsection");
+ break;
+ case 4:
+ LIT("\\paragraph");
+ break;
+ case 5:
+ LIT("\\subparagraph");
+ break;
+ }
+ LIT("{");
+ } else {
+ LIT("}");
+ BLANKLINE();
+ }
+ break;
+
+ case CMARK_NODE_CODE_BLOCK:
+ CR();
+ LIT("\\begin{verbatim}");
+ CR();
+ OUT(cmark_node_get_literal(node), false, LITERAL);
+ CR();
+ LIT("\\end{verbatim}");
+ BLANKLINE();
+ break;
+
+ case CMARK_NODE_HTML:
+ break;
+
+ case CMARK_NODE_HRULE:
+ BLANKLINE();
+ LIT("\\begin{center}\\rule{0.5\\linewidth}{\\linethickness}\\end{center}");
+ BLANKLINE();
+ break;
+
+ case CMARK_NODE_PARAGRAPH:
+ if (!entering) {
+ BLANKLINE();
+ }
+ break;
+
+ case CMARK_NODE_TEXT:
+ OUT(cmark_node_get_literal(node), true, NORMAL);
+ break;
+
+ case CMARK_NODE_LINEBREAK:
+ LIT("\\\\");
+ CR();
+ break;
+
+ case CMARK_NODE_SOFTBREAK:
+ if (renderer->width == 0) {
+ CR();
+ } else {
+ OUT(" ", true, NORMAL);
+ }
+ break;
+
+ case CMARK_NODE_CODE:
+ LIT("\\texttt{");
+ OUT(cmark_node_get_literal(node), false, NORMAL);
+ LIT("}");
+ break;
+
+ case CMARK_NODE_INLINE_HTML:
+ break;
+
+ case CMARK_NODE_STRONG:
+ if (entering) {
+ LIT("\\textbf{");
+ } else {
+ LIT("}");
+ }
+ break;
+
+ case CMARK_NODE_EMPH:
+ if (entering) {
+ LIT("\\emph{");
+ } else {
+ LIT("}");
+ }
+ break;
+
+ case CMARK_NODE_LINK:
+ if (entering) {
+ const char *url = cmark_node_get_url(node);
+ // requires \usepackage{hyperref}
+ switch (get_link_type(node)) {
+ case URL_AUTOLINK:
+ LIT("\\url{");
+ OUT(url, false, URL);
+ break;
+ case EMAIL_AUTOLINK:
+ LIT("\\href{");
+ OUT(url, false, URL);
+ LIT("}\\nolinkurl{");
+ break;
+ case NORMAL_LINK:
+ LIT("\\href{");
+ OUT(url, false, URL);
+ LIT("}{");
+ break;
+ case NO_LINK:
+ LIT("{"); // error?
+ }
+ } else {
+ LIT("}");
+ }
+
+ break;
+
+ case CMARK_NODE_IMAGE:
+ if (entering) {
+ LIT("\\protect\\includegraphics{");
+ // requires \include{graphicx}
+ OUT(cmark_node_get_url(node), false, URL);
+ LIT("}");
+ return 0;
+ }
+ break;
+
+ default:
+ assert(false);
+ break;
+ }
+
+ return 1;
}
-char *cmark_render_latex(cmark_node *root, int options, int width)
-{
- return cmark_render(root, options, width, outc, S_render_node);
+char *cmark_render_latex(cmark_node *root, int options, int width) {
+ return cmark_render(root, options, width, outc, S_render_node);
}
diff --git a/src/main.c b/src/main.c
index 7fae7e4..239d793 100644
--- a/src/main.c
+++ b/src/main.c
@@ -12,190 +12,183 @@
#endif
typedef enum {
- FORMAT_NONE,
- FORMAT_HTML,
- FORMAT_XML,
- FORMAT_MAN,
- FORMAT_COMMONMARK,
- FORMAT_LATEX
+ FORMAT_NONE,
+ FORMAT_HTML,
+ FORMAT_XML,
+ FORMAT_MAN,
+ FORMAT_COMMONMARK,
+ FORMAT_LATEX
} writer_format;
-void print_usage()
-{
- printf("Usage: cmark [FILE*]\n");
- printf("Options:\n");
- printf(" --to, -t FORMAT Specify output format (html, xml, man, commonmark, latex)\n");
- printf(" --width WIDTH Specify wrap width (default 0 = nowrap)\n");
- printf(" --sourcepos Include source position attribute\n");
- printf(" --hardbreaks Treat newlines as hard line breaks\n");
- printf(" --safe Suppress raw HTML and dangerous URLs\n");
- printf(" --smart Use smart punctuation\n");
- printf(" --normalize Consolidate adjacent text nodes\n");
- printf(" --help, -h Print usage information\n");
- printf(" --version Print version\n");
+void print_usage() {
+ printf("Usage: cmark [FILE*]\n");
+ printf("Options:\n");
+ printf(" --to, -t FORMAT Specify output format (html, xml, man, "
+ "commonmark, latex)\n");
+ printf(" --width WIDTH Specify wrap width (default 0 = nowrap)\n");
+ printf(" --sourcepos Include source position attribute\n");
+ printf(" --hardbreaks Treat newlines as hard line breaks\n");
+ printf(" --safe Suppress raw HTML and dangerous URLs\n");
+ printf(" --smart Use smart punctuation\n");
+ printf(" --normalize Consolidate adjacent text nodes\n");
+ printf(" --help, -h Print usage information\n");
+ printf(" --version Print version\n");
}
static void print_document(cmark_node *document, writer_format writer,
- int options, int width)
-{
- char *result;
-
- switch (writer) {
- case FORMAT_HTML:
- result = cmark_render_html(document, options);
- break;
- case FORMAT_XML:
- result = cmark_render_xml(document, options);
- break;
- case FORMAT_MAN:
- result = cmark_render_man(document, options, width);
- break;
- case FORMAT_COMMONMARK:
- result = cmark_render_commonmark(document, options, width);
- break;
- case FORMAT_LATEX:
- result = cmark_render_latex(document, options, width);
- break;
- default:
- fprintf(stderr, "Unknown format %d\n", writer);
- exit(1);
- }
- printf("%s", result);
- free(result);
+ int options, int width) {
+ char *result;
+
+ switch (writer) {
+ case FORMAT_HTML:
+ result = cmark_render_html(document, options);
+ break;
+ case FORMAT_XML:
+ result = cmark_render_xml(document, options);
+ break;
+ case FORMAT_MAN:
+ result = cmark_render_man(document, options, width);
+ break;
+ case FORMAT_COMMONMARK:
+ result = cmark_render_commonmark(document, options, width);
+ break;
+ case FORMAT_LATEX:
+ result = cmark_render_latex(document, options, width);
+ break;
+ default:
+ fprintf(stderr, "Unknown format %d\n", writer);
+ exit(1);
+ }
+ printf("%s", result);
+ free(result);
}
-int main(int argc, char *argv[])
-{
- int i, numfps = 0;
- int *files;
- char buffer[4096];
- cmark_parser *parser;
- size_t bytes;
- cmark_node *document;
- int width = 0;
- char *unparsed;
- writer_format writer = FORMAT_HTML;
- int options = CMARK_OPT_DEFAULT;
+int main(int argc, char *argv[]) {
+ int i, numfps = 0;
+ int *files;
+ char buffer[4096];
+ cmark_parser *parser;
+ size_t bytes;
+ cmark_node *document;
+ int width = 0;
+ char *unparsed;
+ writer_format writer = FORMAT_HTML;
+ int options = CMARK_OPT_DEFAULT;
#if defined(_WIN32) && !defined(__CYGWIN__)
- _setmode(_fileno(stdout), _O_BINARY);
+ _setmode(_fileno(stdout), _O_BINARY);
#endif
- files = (int *)malloc(argc * sizeof(*files));
-
- for (i = 1; i < argc; i++) {
- if (strcmp(argv[i], "--version") == 0) {
- printf("cmark %s", CMARK_VERSION_STRING);
- printf(" - CommonMark converter\n(C) 2014, 2015 John MacFarlane\n");
- exit(0);
- } else if (strcmp(argv[i], "--sourcepos") == 0) {
- options |= CMARK_OPT_SOURCEPOS;
- } else if (strcmp(argv[i], "--hardbreaks") == 0) {
- options |= CMARK_OPT_HARDBREAKS;
- } else if (strcmp(argv[i], "--smart") == 0) {
- options |= CMARK_OPT_SMART;
- } else if (strcmp(argv[i], "--safe") == 0) {
- options |= CMARK_OPT_SAFE;
- } else if (strcmp(argv[i], "--normalize") == 0) {
- options |= CMARK_OPT_NORMALIZE;
- } else if (strcmp(argv[i], "--validate-utf8") == 0) {
- options |= CMARK_OPT_VALIDATE_UTF8;
- } else if ((strcmp(argv[i], "--help") == 0) ||
- (strcmp(argv[i], "-h") == 0)) {
- print_usage();
- exit(0);
- } else if (strcmp(argv[i], "--width") == 0) {
- i += 1;
- if (i < argc) {
- width = (int)strtol(argv[i], &unparsed, 10);
- if (unparsed && strlen(unparsed) > 0) {
- fprintf(stderr,
- "failed parsing width '%s' at '%s'\n",
- argv[i], unparsed);
- exit(1);
- }
- } else {
- fprintf(stderr,
- "--width requires an argument\n");
- exit(1);
- }
- } else if ((strcmp(argv[i], "-t") == 0) ||
- (strcmp(argv[i], "--to") == 0)) {
- i += 1;
- if (i < argc) {
- if (strcmp(argv[i], "man") == 0) {
- writer = FORMAT_MAN;
- } else if (strcmp(argv[i], "html") == 0) {
- writer = FORMAT_HTML;
- } else if (strcmp(argv[i], "xml") == 0) {
- writer = FORMAT_XML;
- } else if (strcmp(argv[i], "commonmark") == 0) {
- writer = FORMAT_COMMONMARK;
- } else if (strcmp(argv[i], "latex") == 0) {
- writer = FORMAT_LATEX;
- } else {
- fprintf(stderr,
- "Unknown format %s\n", argv[i]);
- exit(1);
- }
- } else {
- fprintf(stderr, "No argument provided for %s\n",
- argv[i - 1]);
- exit(1);
- }
- } else if (*argv[i] == '-') {
- print_usage();
- exit(1);
- } else { // treat as file argument
- files[numfps++] = i;
- }
- }
-
- parser = cmark_parser_new(options);
- for (i = 0; i < numfps; i++) {
- FILE *fp = fopen(argv[files[i]], "r");
- if (fp == NULL) {
- fprintf(stderr, "Error opening file %s: %s\n",
- argv[files[i]], strerror(errno));
- exit(1);
- }
-
- start_timer();
- while ((bytes = fread(buffer, 1, sizeof(buffer), fp)) > 0) {
- cmark_parser_feed(parser, buffer, bytes);
- if (bytes < sizeof(buffer)) {
- break;
- }
- }
- end_timer("processing lines");
-
- fclose(fp);
- }
-
- if (numfps == 0) {
-
- while ((bytes = fread(buffer, 1, sizeof(buffer), stdin)) > 0) {
- cmark_parser_feed(parser, buffer, bytes);
- if (bytes < sizeof(buffer)) {
- break;
- }
- }
- }
-
- start_timer();
- document = cmark_parser_finish(parser);
- end_timer("finishing document");
- cmark_parser_free(parser);
-
- start_timer();
- print_document(document, writer, options, width);
- end_timer("print_document");
-
- start_timer();
- cmark_node_free(document);
- end_timer("free_blocks");
-
- free(files);
-
- return 0;
+ files = (int *)malloc(argc * sizeof(*files));
+
+ for (i = 1; i < argc; i++) {
+ if (strcmp(argv[i], "--version") == 0) {
+ printf("cmark %s", CMARK_VERSION_STRING);
+ printf(" - CommonMark converter\n(C) 2014, 2015 John MacFarlane\n");
+ exit(0);
+ } else if (strcmp(argv[i], "--sourcepos") == 0) {
+ options |= CMARK_OPT_SOURCEPOS;
+ } else if (strcmp(argv[i], "--hardbreaks") == 0) {
+ options |= CMARK_OPT_HARDBREAKS;
+ } else if (strcmp(argv[i], "--smart") == 0) {
+ options |= CMARK_OPT_SMART;
+ } else if (strcmp(argv[i], "--safe") == 0) {
+ options |= CMARK_OPT_SAFE;
+ } else if (strcmp(argv[i], "--normalize") == 0) {
+ options |= CMARK_OPT_NORMALIZE;
+ } else if (strcmp(argv[i], "--validate-utf8") == 0) {
+ options |= CMARK_OPT_VALIDATE_UTF8;
+ } else if ((strcmp(argv[i], "--help") == 0) ||
+ (strcmp(argv[i], "-h") == 0)) {
+ print_usage();
+ exit(0);
+ } else if (strcmp(argv[i], "--width") == 0) {
+ i += 1;
+ if (i < argc) {
+ width = (int)strtol(argv[i], &unparsed, 10);
+ if (unparsed && strlen(unparsed) > 0) {
+ fprintf(stderr, "failed parsing width '%s' at '%s'\n", argv[i],
+ unparsed);
+ exit(1);
+ }
+ } else {
+ fprintf(stderr, "--width requires an argument\n");
+ exit(1);
+ }
+ } else if ((strcmp(argv[i], "-t") == 0) || (strcmp(argv[i], "--to") == 0)) {
+ i += 1;
+ if (i < argc) {
+ if (strcmp(argv[i], "man") == 0) {
+ writer = FORMAT_MAN;
+ } else if (strcmp(argv[i], "html") == 0) {
+ writer = FORMAT_HTML;
+ } else if (strcmp(argv[i], "xml") == 0) {
+ writer = FORMAT_XML;
+ } else if (strcmp(argv[i], "commonmark") == 0) {
+ writer = FORMAT_COMMONMARK;
+ } else if (strcmp(argv[i], "latex") == 0) {
+ writer = FORMAT_LATEX;
+ } else {
+ fprintf(stderr, "Unknown format %s\n", argv[i]);
+ exit(1);
+ }
+ } else {
+ fprintf(stderr, "No argument provided for %s\n", argv[i - 1]);
+ exit(1);
+ }
+ } else if (*argv[i] == '-') {
+ print_usage();
+ exit(1);
+ } else { // treat as file argument
+ files[numfps++] = i;
+ }
+ }
+
+ parser = cmark_parser_new(options);
+ for (i = 0; i < numfps; i++) {
+ FILE *fp = fopen(argv[files[i]], "r");
+ if (fp == NULL) {
+ fprintf(stderr, "Error opening file %s: %s\n", argv[files[i]],
+ strerror(errno));
+ exit(1);
+ }
+
+ start_timer();
+ while ((bytes = fread(buffer, 1, sizeof(buffer), fp)) > 0) {
+ cmark_parser_feed(parser, buffer, bytes);
+ if (bytes < sizeof(buffer)) {
+ break;
+ }
+ }
+ end_timer("processing lines");
+
+ fclose(fp);
+ }
+
+ if (numfps == 0) {
+
+ while ((bytes = fread(buffer, 1, sizeof(buffer), stdin)) > 0) {
+ cmark_parser_feed(parser, buffer, bytes);
+ if (bytes < sizeof(buffer)) {
+ break;
+ }
+ }
+ }
+
+ start_timer();
+ document = cmark_parser_finish(parser);
+ end_timer("finishing document");
+ cmark_parser_free(parser);
+
+ start_timer();
+ print_document(document, writer, options, width);
+ end_timer("print_document");
+
+ start_timer();
+ cmark_node_free(document);
+ end_timer("free_blocks");
+
+ free(files);
+
+ return 0;
}
diff --git a/src/man.c b/src/man.c
index 6ff33f5..8e3913e 100644
--- a/src/man.c
+++ b/src/man.c
@@ -16,234 +16,220 @@
#define BLANKLINE() renderer->blankline(renderer)
// Functions to convert cmark_nodes to groff man strings.
-static
-void S_outc(cmark_renderer *renderer,
- cmark_escaping escape,
- int32_t c,
- unsigned char nextc)
-{
- (void)(nextc);
-
- if (escape == LITERAL) {
- cmark_render_code_point(renderer, c);
- return;
- }
-
- switch(c) {
- case 46:
- if (renderer->begin_line) {
- cmark_render_ascii(renderer, "\\&.");
- } else {
- cmark_render_code_point(renderer, c);
- }
- break;
- case 39:
- if (renderer->begin_line) {
- cmark_render_ascii(renderer, "\\&'");
- } else {
- cmark_render_code_point(renderer, c);
- }
- break;
- case 45:
- cmark_render_ascii(renderer, "\\-");
- break;
- case 92:
- cmark_render_ascii(renderer, "\\e");
- break;
- case 8216: // left single quote
- cmark_render_ascii(renderer, "\\[oq]");
- break;
- case 8217: // right single quote
- cmark_render_ascii(renderer, "\\[cq]");
- break;
- case 8220: // left double quote
- cmark_render_ascii(renderer, "\\[lq]");
- break;
- case 8221: // right double quote
- cmark_render_ascii(renderer, "\\[rq]");
- break;
- case 8212: // em dash
- cmark_render_ascii(renderer, "\\[em]");
- break;
- case 8211: // en dash
- cmark_render_ascii(renderer, "\\[en]");
- break;
- default:
- cmark_render_code_point(renderer, c);
- }
+static void S_outc(cmark_renderer *renderer, cmark_escaping escape, int32_t c,
+ unsigned char nextc) {
+ (void)(nextc);
+
+ if (escape == LITERAL) {
+ cmark_render_code_point(renderer, c);
+ return;
+ }
+
+ switch (c) {
+ case 46:
+ if (renderer->begin_line) {
+ cmark_render_ascii(renderer, "\\&.");
+ } else {
+ cmark_render_code_point(renderer, c);
+ }
+ break;
+ case 39:
+ if (renderer->begin_line) {
+ cmark_render_ascii(renderer, "\\&'");
+ } else {
+ cmark_render_code_point(renderer, c);
+ }
+ break;
+ case 45:
+ cmark_render_ascii(renderer, "\\-");
+ break;
+ case 92:
+ cmark_render_ascii(renderer, "\\e");
+ break;
+ case 8216: // left single quote
+ cmark_render_ascii(renderer, "\\[oq]");
+ break;
+ case 8217: // right single quote
+ cmark_render_ascii(renderer, "\\[cq]");
+ break;
+ case 8220: // left double quote
+ cmark_render_ascii(renderer, "\\[lq]");
+ break;
+ case 8221: // right double quote
+ cmark_render_ascii(renderer, "\\[rq]");
+ break;
+ case 8212: // em dash
+ cmark_render_ascii(renderer, "\\[em]");
+ break;
+ case 8211: // en dash
+ cmark_render_ascii(renderer, "\\[en]");
+ break;
+ default:
+ cmark_render_code_point(renderer, c);
+ }
}
-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);
-
- // avoid unused parameter error:
- (void)(options);
-
- switch (node->type) {
- case CMARK_NODE_DOCUMENT:
- break;
-
- case CMARK_NODE_BLOCK_QUOTE:
- if (entering) {
- CR();
- LIT(".RS");
- CR();
- } else {
- CR();
- LIT(".RE");
- CR();
- }
- break;
-
- case CMARK_NODE_LIST:
- break;
-
- case CMARK_NODE_ITEM:
- if (entering) {
- CR();
- LIT(".IP ");
- 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;
- }
- char list_number_s[20];
- sprintf(list_number_s, "\"%d.\" 4", list_number);
- LIT(list_number_s);
- }
- CR();
- } else {
- CR();
- }
- break;
-
- case CMARK_NODE_HEADER:
- if (entering) {
- CR();
- LIT(cmark_node_get_header_level(node) == 1 ?
- ".SH" : ".SS");
- CR();
- } else {
- CR();
- }
- break;
-
- case CMARK_NODE_CODE_BLOCK:
- CR();
- LIT(".IP\n.nf\n\\f[C]\n");
- OUT(cmark_node_get_literal(node),
- false,
- NORMAL);
- CR();
- LIT("\\f[]\n.fi");
- CR();
- break;
-
- case CMARK_NODE_HTML:
- break;
-
- case CMARK_NODE_HRULE:
- CR();
- LIT(".PP\n * * * * *");
- CR();
- break;
-
- case CMARK_NODE_PARAGRAPH:
- if (entering) {
- // no blank line if first paragraph in list:
- if (node->parent &&
- node->parent->type == CMARK_NODE_ITEM &&
- node->prev == NULL) {
- // no blank line or .PP
- } else {
- CR();
- LIT(".PP");
- CR();
- }
- } else {
- CR();
- }
- break;
-
- case CMARK_NODE_TEXT:
- OUT(cmark_node_get_literal(node), true, NORMAL);
- break;
-
- case CMARK_NODE_LINEBREAK:
- LIT(".PD 0\n.P\n.PD");
- CR();
- break;
-
- case CMARK_NODE_SOFTBREAK:
- if (renderer->width == 0) {
- CR();
- } else {
- OUT(" ", true, LITERAL);
- }
- break;
-
- case CMARK_NODE_CODE:
- LIT("\\f[C]");
- OUT(cmark_node_get_literal(node), true, NORMAL);
- LIT("\\f[]");
- break;
-
- case CMARK_NODE_INLINE_HTML:
- break;
-
- case CMARK_NODE_STRONG:
- if (entering) {
- LIT("\\f[B]");
- } else {
- LIT("\\f[]");
- }
- break;
-
- case CMARK_NODE_EMPH:
- if (entering) {
- LIT("\\f[I]");
- } else {
- LIT("\\f[]");
- }
- break;
-
- case CMARK_NODE_LINK:
- if (!entering) {
- LIT(" (");
- OUT(cmark_node_get_url(node), true, URL);
- LIT(")");
- }
- break;
-
- case CMARK_NODE_IMAGE:
- if (entering) {
- LIT("[IMAGE: ");
- } else {
- LIT("]");
- }
- break;
-
- default:
- assert(false);
- break;
- }
-
- return 1;
+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);
+
+ // avoid unused parameter error:
+ (void)(options);
+
+ switch (node->type) {
+ case CMARK_NODE_DOCUMENT:
+ break;
+
+ case CMARK_NODE_BLOCK_QUOTE:
+ if (entering) {
+ CR();
+ LIT(".RS");
+ CR();
+ } else {
+ CR();
+ LIT(".RE");
+ CR();
+ }
+ break;
+
+ case CMARK_NODE_LIST:
+ break;
+
+ case CMARK_NODE_ITEM:
+ if (entering) {
+ CR();
+ LIT(".IP ");
+ 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;
+ }
+ char list_number_s[20];
+ sprintf(list_number_s, "\"%d.\" 4", list_number);
+ LIT(list_number_s);
+ }
+ CR();
+ } else {
+ CR();
+ }
+ break;
+
+ case CMARK_NODE_HEADER:
+ if (entering) {
+ CR();
+ LIT(cmark_node_get_header_level(node) == 1 ? ".SH" : ".SS");
+ CR();
+ } else {
+ CR();
+ }
+ break;
+
+ case CMARK_NODE_CODE_BLOCK:
+ CR();
+ LIT(".IP\n.nf\n\\f[C]\n");
+ OUT(cmark_node_get_literal(node), false, NORMAL);
+ CR();
+ LIT("\\f[]\n.fi");
+ CR();
+ break;
+
+ case CMARK_NODE_HTML:
+ break;
+
+ case CMARK_NODE_HRULE:
+ CR();
+ LIT(".PP\n * * * * *");
+ CR();
+ break;
+
+ case CMARK_NODE_PARAGRAPH:
+ if (entering) {
+ // no blank line if first paragraph in list:
+ if (node->parent && node->parent->type == CMARK_NODE_ITEM &&
+ node->prev == NULL) {
+ // no blank line or .PP
+ } else {
+ CR();
+ LIT(".PP");
+ CR();
+ }
+ } else {
+ CR();
+ }
+ break;
+
+ case CMARK_NODE_TEXT:
+ OUT(cmark_node_get_literal(node), true, NORMAL);
+ break;
+
+ case CMARK_NODE_LINEBREAK:
+ LIT(".PD 0\n.P\n.PD");
+ CR();
+ break;
+
+ case CMARK_NODE_SOFTBREAK:
+ if (renderer->width == 0) {
+ CR();
+ } else {
+ OUT(" ", true, LITERAL);
+ }
+ break;
+
+ case CMARK_NODE_CODE:
+ LIT("\\f[C]");
+ OUT(cmark_node_get_literal(node), true, NORMAL);
+ LIT("\\f[]");
+ break;
+
+ case CMARK_NODE_INLINE_HTML:
+ break;
+
+ case CMARK_NODE_STRONG:
+ if (entering) {
+ LIT("\\f[B]");
+ } else {
+ LIT("\\f[]");
+ }
+ break;
+
+ case CMARK_NODE_EMPH:
+ if (entering) {
+ LIT("\\f[I]");
+ } else {
+ LIT("\\f[]");
+ }
+ break;
+
+ case CMARK_NODE_LINK:
+ if (!entering) {
+ LIT(" (");
+ OUT(cmark_node_get_url(node), true, URL);
+ LIT(")");
+ }
+ break;
+
+ case CMARK_NODE_IMAGE:
+ if (entering) {
+ LIT("[IMAGE: ");
+ } else {
+ LIT("]");
+ }
+ break;
+
+ default:
+ assert(false);
+ break;
+ }
+
+ return 1;
}
-char *cmark_render_man(cmark_node *root, int options, int width)
-{
- return cmark_render(root, options, width, S_outc, S_render_node);
+char *cmark_render_man(cmark_node *root, int options, int width) {
+ return cmark_render(root, options, width, S_outc, S_render_node);
}
diff --git a/src/node.c b/src/node.c
index 7b1bb10..ad12d63 100644
--- a/src/node.c
+++ b/src/node.c
@@ -4,855 +4,762 @@
#include "config.h"
#include "node.h"
-static void
-S_node_unlink(cmark_node *node);
-
-static inline bool
-S_is_block(cmark_node *node)
-{
- if (node == NULL) {
- return false;
- }
- return node->type >= CMARK_NODE_FIRST_BLOCK
- && node->type <= CMARK_NODE_LAST_BLOCK;
-}
-
-static inline bool
-S_is_inline(cmark_node *node)
-{
- if (node == NULL) {
- return false;
- }
- return node->type >= CMARK_NODE_FIRST_INLINE
- && node->type <= CMARK_NODE_LAST_INLINE;
-}
-
-static bool
-S_can_contain(cmark_node *node, cmark_node *child)
-{
- cmark_node *cur;
-
- if (node == NULL || child == NULL) {
- return false;
- }
-
- // 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 (child->type == CMARK_NODE_DOCUMENT) {
- return false;
- }
-
- switch (node->type) {
- case CMARK_NODE_DOCUMENT:
- case CMARK_NODE_BLOCK_QUOTE:
- case CMARK_NODE_ITEM:
- return S_is_block(child)
- && child->type != CMARK_NODE_ITEM;
-
- case CMARK_NODE_LIST:
- return child->type == CMARK_NODE_ITEM;
-
- case CMARK_NODE_PARAGRAPH:
- case CMARK_NODE_HEADER:
- case CMARK_NODE_EMPH:
- case CMARK_NODE_STRONG:
- case CMARK_NODE_LINK:
- case CMARK_NODE_IMAGE:
- return S_is_inline(child);
-
- default:
- break;
- }
-
- return false;
-}
-
-cmark_node*
-cmark_node_new(cmark_node_type type)
-{
- cmark_node *node = (cmark_node *)calloc(1, sizeof(*node));
- node->type = type;
-
- switch (node->type) {
- case CMARK_NODE_HEADER:
- node->as.header.level = 1;
- break;
-
- case CMARK_NODE_LIST: {
- cmark_list *list = &node->as.list;
- list->list_type = CMARK_BULLET_LIST;
- list->start = 1;
- list->tight = false;
- break;
- }
-
- default:
- break;
- }
-
- return node;
+static void S_node_unlink(cmark_node *node);
+
+static inline bool S_is_block(cmark_node *node) {
+ if (node == NULL) {
+ return false;
+ }
+ return node->type >= CMARK_NODE_FIRST_BLOCK &&
+ node->type <= CMARK_NODE_LAST_BLOCK;
+}
+
+static inline bool S_is_inline(cmark_node *node) {
+ if (node == NULL) {
+ return false;
+ }
+ return node->type >= CMARK_NODE_FIRST_INLINE &&
+ node->type <= CMARK_NODE_LAST_INLINE;
+}
+
+static bool S_can_contain(cmark_node *node, cmark_node *child) {
+ cmark_node *cur;
+
+ if (node == NULL || child == NULL) {
+ return false;
+ }
+
+ // 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 (child->type == CMARK_NODE_DOCUMENT) {
+ return false;
+ }
+
+ switch (node->type) {
+ case CMARK_NODE_DOCUMENT:
+ case CMARK_NODE_BLOCK_QUOTE:
+ case CMARK_NODE_ITEM:
+ return S_is_block(child) && child->type != CMARK_NODE_ITEM;
+
+ case CMARK_NODE_LIST:
+ return child->type == CMARK_NODE_ITEM;
+
+ case CMARK_NODE_PARAGRAPH:
+ case CMARK_NODE_HEADER:
+ case CMARK_NODE_EMPH:
+ case CMARK_NODE_STRONG:
+ case CMARK_NODE_LINK:
+ case CMARK_NODE_IMAGE:
+ return S_is_inline(child);
+
+ default:
+ break;
+ }
+
+ return false;
+}
+
+cmark_node *cmark_node_new(cmark_node_type type) {
+ cmark_node *node = (cmark_node *)calloc(1, sizeof(*node));
+ node->type = type;
+
+ switch (node->type) {
+ case CMARK_NODE_HEADER:
+ node->as.header.level = 1;
+ break;
+
+ case CMARK_NODE_LIST: {
+ cmark_list *list = &node->as.list;
+ list->list_type = CMARK_BULLET_LIST;
+ list->start = 1;
+ list->tight = false;
+ break;
+ }
+
+ default:
+ break;
+ }
+
+ return node;
}
// Free a cmark_node list and any children.
-static
-void S_free_nodes(cmark_node *e)
-{
- cmark_node *next;
- while (e != NULL) {
- if (S_is_block(e)) {
- cmark_strbuf_free(&e->string_content);
- }
- switch (e->type) {
- case NODE_CODE_BLOCK:
- cmark_chunk_free(&e->as.code.info);
- cmark_chunk_free(&e->as.code.literal);
- break;
- case NODE_TEXT:
- case NODE_INLINE_HTML:
- case NODE_CODE:
- case NODE_HTML:
- cmark_chunk_free(&e->as.literal);
- break;
- case NODE_LINK:
- case NODE_IMAGE:
- cmark_chunk_free(&e->as.link.url);
- cmark_chunk_free(&e->as.link.title);
- break;
- default:
- break;
- }
- if (e->last_child) {
- // Splice children into list
- e->last_child->next = e->next;
- e->next = e->first_child;
- }
- next = e->next;
- free(e);
- e = next;
- }
-}
-
-void
-cmark_node_free(cmark_node *node)
-{
- S_node_unlink(node);
- node->next = NULL;
- S_free_nodes(node);
-}
-
-cmark_node_type
-cmark_node_get_type(cmark_node *node)
-{
- if (node == NULL) {
- return CMARK_NODE_NONE;
- } else {
- return node->type;
- }
-}
-
-const char*
-cmark_node_get_type_string(cmark_node *node)
-{
- if (node == NULL) {
- return "NONE";
- }
-
- switch (node->type) {
- case CMARK_NODE_NONE:
- return "none";
- case CMARK_NODE_DOCUMENT:
- return "document";
- case CMARK_NODE_BLOCK_QUOTE:
- return "block_quote";
- case CMARK_NODE_LIST:
- return "list";
- case CMARK_NODE_ITEM:
- return "item";
- case CMARK_NODE_CODE_BLOCK:
- return "code_block";
- case CMARK_NODE_HTML:
- return "html";
- case CMARK_NODE_PARAGRAPH:
- return "paragraph";
- case CMARK_NODE_HEADER:
- return "header";
- case CMARK_NODE_HRULE:
- return "hrule";
- case CMARK_NODE_TEXT:
- return "text";
- case CMARK_NODE_SOFTBREAK:
- return "softbreak";
- case CMARK_NODE_LINEBREAK:
- return "linebreak";
- case CMARK_NODE_CODE:
- return "code";
- case CMARK_NODE_INLINE_HTML:
- return "inline_html";
- case CMARK_NODE_EMPH:
- return "emph";
- case CMARK_NODE_STRONG:
- return "strong";
- case CMARK_NODE_LINK:
- return "link";
- case CMARK_NODE_IMAGE:
- return "image";
- }
-
- return "<unknown>";
-}
-
-cmark_node*
-cmark_node_next(cmark_node *node)
-{
- if (node == NULL) {
- return NULL;
- } else {
- return node->next;
- }
-}
-
-cmark_node*
-cmark_node_previous(cmark_node *node)
-{
- if (node == NULL) {
- return NULL;
- } else {
- return node->prev;
- }
-}
-
-cmark_node*
-cmark_node_parent(cmark_node *node)
-{
- if (node == NULL) {
- return NULL;
- } else {
- return node->parent;
- }
-}
-
-cmark_node*
-cmark_node_first_child(cmark_node *node)
-{
- if (node == NULL) {
- return NULL;
- } else {
- return node->first_child;
- }
-}
-
-cmark_node*
-cmark_node_last_child(cmark_node *node)
-{
- if (node == NULL) {
- return NULL;
- } else {
- return node->last_child;
- }
-}
-
-void*
-cmark_node_get_user_data(cmark_node *node)
-{
- if (node == NULL) {
- return NULL;
- } else {
- return node->user_data;
- }
-}
-
-int
-cmark_node_set_user_data(cmark_node *node, void *user_data)
-{
- if (node == NULL) {
- return 0;
- }
- node->user_data = user_data;
- return 1;
-}
-
-const char*
-cmark_node_get_literal(cmark_node *node)
-{
- if (node == NULL) {
- return NULL;
- }
-
- switch (node->type) {
- case NODE_HTML:
- case NODE_TEXT:
- case NODE_INLINE_HTML:
- case NODE_CODE:
- return cmark_chunk_to_cstr(&node->as.literal);
-
- case NODE_CODE_BLOCK:
- return cmark_chunk_to_cstr(&node->as.code.literal);
-
- default:
- break;
- }
-
- return NULL;
-}
-
-int
-cmark_node_set_literal(cmark_node *node, const char *content)
-{
- if (node == NULL) {
- return 0;
- }
-
- switch (node->type) {
- case NODE_HTML:
- case NODE_TEXT:
- case NODE_INLINE_HTML:
- case NODE_CODE:
- cmark_chunk_set_cstr(&node->as.literal, content);
- return 1;
-
- case NODE_CODE_BLOCK:
- cmark_chunk_set_cstr(&node->as.code.literal, content);
- return 1;
-
- default:
- break;
- }
-
- return 0;
-}
-
-int
-cmark_node_get_header_level(cmark_node *node)
-{
- if (node == NULL) {
- return 0;
- }
-
- switch (node->type) {
- case CMARK_NODE_HEADER:
- return node->as.header.level;
-
- default:
- break;
- }
-
- return 0;
-}
-
-int
-cmark_node_set_header_level(cmark_node *node, int level)
-{
- if (node == NULL || level < 1 || level > 6) {
- return 0;
- }
-
- switch (node->type) {
- case CMARK_NODE_HEADER:
- node->as.header.level = level;
- return 1;
-
- default:
- break;
- }
-
- return 0;
-}
-
-cmark_list_type
-cmark_node_get_list_type(cmark_node *node)
-{
- if (node == NULL) {
- return CMARK_NO_LIST;
- }
-
- if (node->type == CMARK_NODE_LIST) {
- return node->as.list.list_type;
- } else {
- return CMARK_NO_LIST;
- }
-}
-
-int
-cmark_node_set_list_type(cmark_node *node, cmark_list_type type)
-{
- if (!(type == CMARK_BULLET_LIST || type == CMARK_ORDERED_LIST)) {
- return 0;
- }
-
- if (node == NULL) {
- return 0;
- }
-
- if (node->type == CMARK_NODE_LIST) {
- node->as.list.list_type = type;
- return 1;
- } else {
- return 0;
- }
-}
-
-cmark_delim_type
-cmark_node_get_list_delim(cmark_node *node)
-{
- if (node == NULL) {
- return CMARK_NO_DELIM;
- }
-
- if (node->type == CMARK_NODE_LIST) {
- return node->as.list.delimiter;
- } else {
- return CMARK_NO_DELIM;
- }
-}
-
-int
-cmark_node_set_list_delim(cmark_node *node, cmark_delim_type delim)
-{
- if (!(delim == CMARK_PERIOD_DELIM || delim == CMARK_PAREN_DELIM)) {
- return 0;
- }
-
- if (node == NULL) {
- return 0;
- }
-
- if (node->type == CMARK_NODE_LIST) {
- node->as.list.delimiter = delim;
- return 1;
- } else {
- return 0;
- }
-}
-
-int
-cmark_node_get_list_start(cmark_node *node)
-{
- if (node == NULL) {
- return 0;
- }
-
- if (node->type == CMARK_NODE_LIST) {
- return node->as.list.start;
- } else {
- return 0;
- }
-}
-
-int
-cmark_node_set_list_start(cmark_node *node, int start)
-{
- if (node == NULL || start < 0) {
- return 0;
- }
-
- if (node->type == CMARK_NODE_LIST) {
- node->as.list.start = start;
- return 1;
- } else {
- return 0;
- }
-}
-
-int
-cmark_node_get_list_tight(cmark_node *node)
-{
- if (node == NULL) {
- return 0;
- }
-
- if (node->type == CMARK_NODE_LIST) {
- return node->as.list.tight;
- } else {
- return 0;
- }
-}
-
-int
-cmark_node_set_list_tight(cmark_node *node, int tight)
-{
- if (node == NULL) {
- return 0;
- }
-
- if (node->type == CMARK_NODE_LIST) {
- node->as.list.tight = tight;
- return 1;
- } else {
- return 0;
- }
-}
-
-const char*
-cmark_node_get_fence_info(cmark_node *node)
-{
- if (node == NULL) {
- return NULL;
- }
-
- if (node->type == NODE_CODE_BLOCK) {
- return cmark_chunk_to_cstr(&node->as.code.info);
- } else {
- return NULL;
- }
-}
-
-int
-cmark_node_set_fence_info(cmark_node *node, const char *info)
-{
- if (node == NULL) {
- return 0;
- }
-
- if (node->type == NODE_CODE_BLOCK) {
- cmark_chunk_set_cstr(&node->as.code.info, info);
- return 1;
- } else {
- return 0;
- }
-}
-
-const char*
-cmark_node_get_url(cmark_node *node)
-{
- if (node == NULL) {
- return NULL;
- }
-
- switch (node->type) {
- case NODE_LINK:
- case NODE_IMAGE:
- return cmark_chunk_to_cstr(&node->as.link.url);
- default:
- break;
- }
-
- return NULL;
-}
-
-int
-cmark_node_set_url(cmark_node *node, const char *url)
-{
- if (node == NULL) {
- return 0;
- }
-
- switch (node->type) {
- case NODE_LINK:
- case NODE_IMAGE:
- cmark_chunk_set_cstr(&node->as.link.url, url);
- return 1;
- default:
- break;
- }
-
- return 0;
-}
-
-const char*
-cmark_node_get_title(cmark_node *node)
-{
- if (node == NULL) {
- return NULL;
- }
-
- switch (node->type) {
- case NODE_LINK:
- case NODE_IMAGE:
- return cmark_chunk_to_cstr(&node->as.link.title);
- default:
- break;
- }
-
- return NULL;
-}
-
-int
-cmark_node_set_title(cmark_node *node, const char *title)
-{
- if (node == NULL) {
- return 0;
- }
-
- switch (node->type) {
- case NODE_LINK:
- case NODE_IMAGE:
- cmark_chunk_set_cstr(&node->as.link.title, title);
- return 1;
- default:
- break;
- }
-
- return 0;
-}
-
-int
-cmark_node_get_start_line(cmark_node *node)
-{
- if (node == NULL) {
- return 0;
- }
- return node->start_line;
-}
-
-int
-cmark_node_get_start_column(cmark_node *node)
-{
- if (node == NULL) {
- return 0;
- }
- return node->start_column;
-}
-
-int
-cmark_node_get_end_line(cmark_node *node)
-{
- if (node == NULL) {
- return 0;
- }
- return node->end_line;
-}
-
-int
-cmark_node_get_end_column(cmark_node *node)
-{
- if (node == NULL) {
- return 0;
- }
- return node->end_column;
+static void S_free_nodes(cmark_node *e) {
+ cmark_node *next;
+ while (e != NULL) {
+ if (S_is_block(e)) {
+ cmark_strbuf_free(&e->string_content);
+ }
+ switch (e->type) {
+ case NODE_CODE_BLOCK:
+ cmark_chunk_free(&e->as.code.info);
+ cmark_chunk_free(&e->as.code.literal);
+ break;
+ case NODE_TEXT:
+ case NODE_INLINE_HTML:
+ case NODE_CODE:
+ case NODE_HTML:
+ cmark_chunk_free(&e->as.literal);
+ break;
+ case NODE_LINK:
+ case NODE_IMAGE:
+ cmark_chunk_free(&e->as.link.url);
+ cmark_chunk_free(&e->as.link.title);
+ break;
+ default:
+ break;
+ }
+ if (e->last_child) {
+ // Splice children into list
+ e->last_child->next = e->next;
+ e->next = e->first_child;
+ }
+ next = e->next;
+ free(e);
+ e = next;
+ }
+}
+
+void cmark_node_free(cmark_node *node) {
+ S_node_unlink(node);
+ node->next = NULL;
+ S_free_nodes(node);
+}
+
+cmark_node_type cmark_node_get_type(cmark_node *node) {
+ if (node == NULL) {
+ return CMARK_NODE_NONE;
+ } else {
+ return node->type;
+ }
+}
+
+const char *cmark_node_get_type_string(cmark_node *node) {
+ if (node == NULL) {
+ return "NONE";
+ }
+
+ switch (node->type) {
+ case CMARK_NODE_NONE:
+ return "none";
+ case CMARK_NODE_DOCUMENT:
+ return "document";
+ case CMARK_NODE_BLOCK_QUOTE:
+ return "block_quote";
+ case CMARK_NODE_LIST:
+ return "list";
+ case CMARK_NODE_ITEM:
+ return "item";
+ case CMARK_NODE_CODE_BLOCK:
+ return "code_block";
+ case CMARK_NODE_HTML:
+ return "html";
+ case CMARK_NODE_PARAGRAPH:
+ return "paragraph";
+ case CMARK_NODE_HEADER:
+ return "header";
+ case CMARK_NODE_HRULE:
+ return "hrule";
+ case CMARK_NODE_TEXT:
+ return "text";
+ case CMARK_NODE_SOFTBREAK:
+ return "softbreak";
+ case CMARK_NODE_LINEBREAK:
+ return "linebreak";
+ case CMARK_NODE_CODE:
+ return "code";
+ case CMARK_NODE_INLINE_HTML:
+ return "inline_html";
+ case CMARK_NODE_EMPH:
+ return "emph";
+ case CMARK_NODE_STRONG:
+ return "strong";
+ case CMARK_NODE_LINK:
+ return "link";
+ case CMARK_NODE_IMAGE:
+ return "image";
+ }
+
+ return "<unknown>";
+}
+
+cmark_node *cmark_node_next(cmark_node *node) {
+ if (node == NULL) {
+ return NULL;
+ } else {
+ return node->next;
+ }
+}
+
+cmark_node *cmark_node_previous(cmark_node *node) {
+ if (node == NULL) {
+ return NULL;
+ } else {
+ return node->prev;
+ }
+}
+
+cmark_node *cmark_node_parent(cmark_node *node) {
+ if (node == NULL) {
+ return NULL;
+ } else {
+ return node->parent;
+ }
+}
+
+cmark_node *cmark_node_first_child(cmark_node *node) {
+ if (node == NULL) {
+ return NULL;
+ } else {
+ return node->first_child;
+ }
+}
+
+cmark_node *cmark_node_last_child(cmark_node *node) {
+ if (node == NULL) {
+ return NULL;
+ } else {
+ return node->last_child;
+ }
+}
+
+void *cmark_node_get_user_data(cmark_node *node) {
+ if (node == NULL) {
+ return NULL;
+ } else {
+ return node->user_data;
+ }
+}
+
+int cmark_node_set_user_data(cmark_node *node, void *user_data) {
+ if (node == NULL) {
+ return 0;
+ }
+ node->user_data = user_data;
+ return 1;
+}
+
+const char *cmark_node_get_literal(cmark_node *node) {
+ if (node == NULL) {
+ return NULL;
+ }
+
+ switch (node->type) {
+ case NODE_HTML:
+ case NODE_TEXT:
+ case NODE_INLINE_HTML:
+ case NODE_CODE:
+ return cmark_chunk_to_cstr(&node->as.literal);
+
+ case NODE_CODE_BLOCK:
+ return cmark_chunk_to_cstr(&node->as.code.literal);
+
+ default:
+ break;
+ }
+
+ return NULL;
+}
+
+int cmark_node_set_literal(cmark_node *node, const char *content) {
+ if (node == NULL) {
+ return 0;
+ }
+
+ switch (node->type) {
+ case NODE_HTML:
+ case NODE_TEXT:
+ case NODE_INLINE_HTML:
+ case NODE_CODE:
+ cmark_chunk_set_cstr(&node->as.literal, content);
+ return 1;
+
+ case NODE_CODE_BLOCK:
+ cmark_chunk_set_cstr(&node->as.code.literal, content);
+ return 1;
+
+ default:
+ break;
+ }
+
+ return 0;
+}
+
+int cmark_node_get_header_level(cmark_node *node) {
+ if (node == NULL) {
+ return 0;
+ }
+
+ switch (node->type) {
+ case CMARK_NODE_HEADER:
+ return node->as.header.level;
+
+ default:
+ break;
+ }
+
+ return 0;
+}
+
+int cmark_node_set_header_level(cmark_node *node, int level) {
+ if (node == NULL || level < 1 || level > 6) {
+ return 0;
+ }
+
+ switch (node->type) {
+ case CMARK_NODE_HEADER:
+ node->as.header.level = level;
+ return 1;
+
+ default:
+ break;
+ }
+
+ return 0;
+}
+
+cmark_list_type cmark_node_get_list_type(cmark_node *node) {
+ if (node == NULL) {
+ return CMARK_NO_LIST;
+ }
+
+ if (node->type == CMARK_NODE_LIST) {
+ return node->as.list.list_type;
+ } else {
+ return CMARK_NO_LIST;
+ }
+}
+
+int cmark_node_set_list_type(cmark_node *node, cmark_list_type type) {
+ if (!(type == CMARK_BULLET_LIST || type == CMARK_ORDERED_LIST)) {
+ return 0;
+ }
+
+ if (node == NULL) {
+ return 0;
+ }
+
+ if (node->type == CMARK_NODE_LIST) {
+ node->as.list.list_type = type;
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+cmark_delim_type cmark_node_get_list_delim(cmark_node *node) {
+ if (node == NULL) {
+ return CMARK_NO_DELIM;
+ }
+
+ if (node->type == CMARK_NODE_LIST) {
+ return node->as.list.delimiter;
+ } else {
+ return CMARK_NO_DELIM;
+ }
+}
+
+int cmark_node_set_list_delim(cmark_node *node, cmark_delim_type delim) {
+ if (!(delim == CMARK_PERIOD_DELIM || delim == CMARK_PAREN_DELIM)) {
+ return 0;
+ }
+
+ if (node == NULL) {
+ return 0;
+ }
+
+ if (node->type == CMARK_NODE_LIST) {
+ node->as.list.delimiter = delim;
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+int cmark_node_get_list_start(cmark_node *node) {
+ if (node == NULL) {
+ return 0;
+ }
+
+ if (node->type == CMARK_NODE_LIST) {
+ return node->as.list.start;
+ } else {
+ return 0;
+ }
+}
+
+int cmark_node_set_list_start(cmark_node *node, int start) {
+ if (node == NULL || start < 0) {
+ return 0;
+ }
+
+ if (node->type == CMARK_NODE_LIST) {
+ node->as.list.start = start;
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+int cmark_node_get_list_tight(cmark_node *node) {
+ if (node == NULL) {
+ return 0;
+ }
+
+ if (node->type == CMARK_NODE_LIST) {
+ return node->as.list.tight;
+ } else {
+ return 0;
+ }
+}
+
+int cmark_node_set_list_tight(cmark_node *node, int tight) {
+ if (node == NULL) {
+ return 0;
+ }
+
+ if (node->type == CMARK_NODE_LIST) {
+ node->as.list.tight = tight;
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+const char *cmark_node_get_fence_info(cmark_node *node) {
+ if (node == NULL) {
+ return NULL;
+ }
+
+ if (node->type == NODE_CODE_BLOCK) {
+ return cmark_chunk_to_cstr(&node->as.code.info);
+ } else {
+ return NULL;
+ }
+}
+
+int cmark_node_set_fence_info(cmark_node *node, const char *info) {
+ if (node == NULL) {
+ return 0;
+ }
+
+ if (node->type == NODE_CODE_BLOCK) {
+ cmark_chunk_set_cstr(&node->as.code.info, info);
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+const char *cmark_node_get_url(cmark_node *node) {
+ if (node == NULL) {
+ return NULL;
+ }
+
+ switch (node->type) {
+ case NODE_LINK:
+ case NODE_IMAGE:
+ return cmark_chunk_to_cstr(&node->as.link.url);
+ default:
+ break;
+ }
+
+ return NULL;
+}
+
+int cmark_node_set_url(cmark_node *node, const char *url) {
+ if (node == NULL) {
+ return 0;
+ }
+
+ switch (node->type) {
+ case NODE_LINK:
+ case NODE_IMAGE:
+ cmark_chunk_set_cstr(&node->as.link.url, url);
+ return 1;
+ default:
+ break;
+ }
+
+ return 0;
+}
+
+const char *cmark_node_get_title(cmark_node *node) {
+ if (node == NULL) {
+ return NULL;
+ }
+
+ switch (node->type) {
+ case NODE_LINK:
+ case NODE_IMAGE:
+ return cmark_chunk_to_cstr(&node->as.link.title);
+ default:
+ break;
+ }
+
+ return NULL;
+}
+
+int cmark_node_set_title(cmark_node *node, const char *title) {
+ if (node == NULL) {
+ return 0;
+ }
+
+ switch (node->type) {
+ case NODE_LINK:
+ case NODE_IMAGE:
+ cmark_chunk_set_cstr(&node->as.link.title, title);
+ return 1;
+ default:
+ break;
+ }
+
+ return 0;
+}
+
+int cmark_node_get_start_line(cmark_node *node) {
+ if (node == NULL) {
+ return 0;
+ }
+ return node->start_line;
+}
+
+int cmark_node_get_start_column(cmark_node *node) {
+ if (node == NULL) {
+ return 0;
+ }
+ return node->start_column;
+}
+
+int cmark_node_get_end_line(cmark_node *node) {
+ if (node == NULL) {
+ return 0;
+ }
+ return node->end_line;
+}
+
+int cmark_node_get_end_column(cmark_node *node) {
+ if (node == NULL) {
+ return 0;
+ }
+ return node->end_column;
}
// Unlink a node without adjusting its next, prev, and parent pointers.
-static void
-S_node_unlink(cmark_node *node)
-{
- if (node == NULL) {
- return;
- }
+static void S_node_unlink(cmark_node *node) {
+ if (node == NULL) {
+ return;
+ }
- if (node->prev) {
- node->prev->next = node->next;
- }
- if (node->next) {
- node->next->prev = node->prev;
- }
-
- // Adjust first_child and last_child of parent.
- cmark_node *parent = node->parent;
- if (parent) {
- if (parent->first_child == node) {
- parent->first_child = node->next;
- }
- if (parent->last_child == node) {
- parent->last_child = node->prev;
- }
- }
-}
-
-void
-cmark_node_unlink(cmark_node *node)
-{
- S_node_unlink(node);
-
- node->next = NULL;
- node->prev = NULL;
- node->parent = NULL;
+ if (node->prev) {
+ node->prev->next = node->next;
+ }
+ if (node->next) {
+ node->next->prev = node->prev;
+ }
-}
-
-int
-cmark_node_insert_before(cmark_node *node, cmark_node *sibling)
-{
- if (node == NULL || sibling == NULL) {
- return 0;
- }
+ // Adjust first_child and last_child of parent.
+ cmark_node *parent = node->parent;
+ if (parent) {
+ if (parent->first_child == node) {
+ parent->first_child = node->next;
+ }
+ if (parent->last_child == node) {
+ parent->last_child = node->prev;
+ }
+ }
+}
- if (!node->parent || !S_can_contain(node->parent, sibling)) {
- return 0;
- }
-
- S_node_unlink(sibling);
+void cmark_node_unlink(cmark_node *node) {
+ S_node_unlink(node);
- cmark_node *old_prev = node->prev;
-
- // Insert 'sibling' between 'old_prev' and 'node'.
- if (old_prev) {
- old_prev->next = sibling;
- }
- sibling->prev = old_prev;
- sibling->next = node;
- node->prev = sibling;
+ node->next = NULL;
+ node->prev = NULL;
+ node->parent = NULL;
+}
+
+int cmark_node_insert_before(cmark_node *node, cmark_node *sibling) {
+ if (node == NULL || sibling == NULL) {
+ return 0;
+ }
+
+ if (!node->parent || !S_can_contain(node->parent, sibling)) {
+ return 0;
+ }
+
+ S_node_unlink(sibling);
+
+ cmark_node *old_prev = node->prev;
+
+ // Insert 'sibling' between 'old_prev' and 'node'.
+ if (old_prev) {
+ old_prev->next = sibling;
+ }
+ sibling->prev = old_prev;
+ sibling->next = node;
+ node->prev = sibling;
- // Set new parent.
- cmark_node *parent = node->parent;
- sibling->parent = parent;
-
- // Adjust first_child of parent if inserted as first child.
- if (parent && !old_prev) {
- parent->first_child = sibling;
- }
-
- return 1;
+ // Set new parent.
+ cmark_node *parent = node->parent;
+ sibling->parent = parent;
+
+ // Adjust first_child of parent if inserted as first child.
+ if (parent && !old_prev) {
+ parent->first_child = sibling;
+ }
+
+ return 1;
}
-
-int
-cmark_node_insert_after(cmark_node *node, cmark_node *sibling)
-{
- if (node == NULL || sibling == NULL) {
- return 0;
- }
-
- if (!node->parent || !S_can_contain(node->parent, sibling)) {
- return 0;
- }
-
- S_node_unlink(sibling);
-
- cmark_node *old_next = node->next;
-
- // Insert 'sibling' between 'node' and 'old_next'.
- if (old_next) {
- old_next->prev = sibling;
- }
- sibling->next = old_next;
- sibling->prev = node;
- node->next = sibling;
-
- // Set new parent.
- cmark_node *parent = node->parent;
- sibling->parent = parent;
-
- // Adjust last_child of parent if inserted as last child.
- if (parent && !old_next) {
- parent->last_child = sibling;
- }
-
- return 1;
-}
-
-int
-cmark_node_prepend_child(cmark_node *node, cmark_node *child)
-{
- if (!S_can_contain(node, child)) {
- return 0;
- }
-
- S_node_unlink(child);
-
- cmark_node *old_first_child = node->first_child;
-
- child->next = old_first_child;
- child->prev = NULL;
- child->parent = node;
- node->first_child = child;
-
- if (old_first_child) {
- old_first_child->prev = child;
- } else {
- // Also set last_child if node previously had no children.
- node->last_child = child;
- }
-
- return 1;
-}
-
-int
-cmark_node_append_child(cmark_node *node, cmark_node *child)
-{
- if (!S_can_contain(node, child)) {
- return 0;
- }
-
- S_node_unlink(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;
- }
-
- return 1;
-}
-
-static void
-S_print_error(FILE *out, cmark_node *node, const char *elem)
-{
- if (out == NULL) {
- return;
- }
- fprintf(out, "Invalid '%s' in node type %s at %d:%d\n", elem,
- cmark_node_get_type_string(node), node->start_line,
- node->start_column);
-}
-
-int
-cmark_node_check(cmark_node *node, FILE *out)
-{
- cmark_node *cur;
- int errors = 0;
-
- if (!node) {
- return 0;
- }
-
- cur = node;
- while (true) {
- if (cur->first_child) {
- if (cur->first_child->prev != NULL) {
- S_print_error(out, cur->first_child, "prev");
- cur->first_child->prev = NULL;
- ++errors;
- }
- if (cur->first_child->parent != cur) {
- S_print_error(out, cur->first_child, "parent");
- cur->first_child->parent = cur;
- ++errors;
- }
- cur = cur->first_child;
- continue;
- }
-
-next_sibling:
- if (cur == node) {
- break;
- }
- if (cur->next) {
- if (cur->next->prev != cur) {
- S_print_error(out, cur->next, "prev");
- cur->next->prev = cur;
- ++errors;
- }
- if (cur->next->parent != cur->parent) {
- S_print_error(out, cur->next, "parent");
- cur->next->parent = cur->parent;
- ++errors;
- }
- cur = cur->next;
- continue;
- }
-
- if (cur->parent->last_child != cur) {
- S_print_error(out, cur->parent, "last_child");
- cur->parent->last_child = cur;
- ++errors;
- }
- cur = cur->parent;
- goto next_sibling;
- }
-
- return errors;
+
+int cmark_node_insert_after(cmark_node *node, cmark_node *sibling) {
+ if (node == NULL || sibling == NULL) {
+ return 0;
+ }
+
+ if (!node->parent || !S_can_contain(node->parent, sibling)) {
+ return 0;
+ }
+
+ S_node_unlink(sibling);
+
+ cmark_node *old_next = node->next;
+
+ // Insert 'sibling' between 'node' and 'old_next'.
+ if (old_next) {
+ old_next->prev = sibling;
+ }
+ sibling->next = old_next;
+ sibling->prev = node;
+ node->next = sibling;
+
+ // Set new parent.
+ cmark_node *parent = node->parent;
+ sibling->parent = parent;
+
+ // Adjust last_child of parent if inserted as last child.
+ if (parent && !old_next) {
+ parent->last_child = sibling;
+ }
+
+ return 1;
+}
+
+int cmark_node_prepend_child(cmark_node *node, cmark_node *child) {
+ if (!S_can_contain(node, child)) {
+ return 0;
+ }
+
+ S_node_unlink(child);
+
+ cmark_node *old_first_child = node->first_child;
+
+ child->next = old_first_child;
+ child->prev = NULL;
+ child->parent = node;
+ node->first_child = child;
+
+ if (old_first_child) {
+ old_first_child->prev = child;
+ } else {
+ // Also set last_child if node previously had no children.
+ node->last_child = child;
+ }
+
+ return 1;
+}
+
+int cmark_node_append_child(cmark_node *node, cmark_node *child) {
+ if (!S_can_contain(node, child)) {
+ return 0;
+ }
+
+ S_node_unlink(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;
+ }
+
+ return 1;
+}
+
+static void S_print_error(FILE *out, cmark_node *node, const char *elem) {
+ if (out == NULL) {
+ return;
+ }
+ fprintf(out, "Invalid '%s' in node type %s at %d:%d\n", elem,
+ cmark_node_get_type_string(node), node->start_line,
+ node->start_column);
+}
+
+int cmark_node_check(cmark_node *node, FILE *out) {
+ cmark_node *cur;
+ int errors = 0;
+
+ if (!node) {
+ return 0;
+ }
+
+ cur = node;
+ while (true) {
+ if (cur->first_child) {
+ if (cur->first_child->prev != NULL) {
+ S_print_error(out, cur->first_child, "prev");
+ cur->first_child->prev = NULL;
+ ++errors;
+ }
+ if (cur->first_child->parent != cur) {
+ S_print_error(out, cur->first_child, "parent");
+ cur->first_child->parent = cur;
+ ++errors;
+ }
+ cur = cur->first_child;
+ continue;
+ }
+
+ next_sibling:
+ if (cur == node) {
+ break;
+ }
+ if (cur->next) {
+ if (cur->next->prev != cur) {
+ S_print_error(out, cur->next, "prev");
+ cur->next->prev = cur;
+ ++errors;
+ }
+ if (cur->next->parent != cur->parent) {
+ S_print_error(out, cur->next, "parent");
+ cur->next->parent = cur->parent;
+ ++errors;
+ }
+ cur = cur->next;
+ continue;
+ }
+
+ if (cur->parent->last_child != cur) {
+ S_print_error(out, cur->parent, "last_child");
+ cur->parent->last_child = cur;
+ ++errors;
+ }
+ cur = cur->parent;
+ goto next_sibling;
+ }
+
+ return errors;
}
diff --git a/src/node.h b/src/node.h
index b579408..48d12df 100644
--- a/src/node.h
+++ b/src/node.h
@@ -13,68 +13,67 @@ extern "C" {
#include "chunk.h"
typedef struct {
- cmark_list_type list_type;
- int marker_offset;
- int padding;
- int start;
- cmark_delim_type delimiter;
- unsigned char bullet_char;
- bool tight;
+ cmark_list_type list_type;
+ int marker_offset;
+ int padding;
+ int start;
+ cmark_delim_type delimiter;
+ unsigned char bullet_char;
+ bool tight;
} cmark_list;
typedef struct {
- cmark_chunk info;
- cmark_chunk literal;
- int fence_length;
- /* fence_offset must be 0-3, so we can use int8_t */
- int8_t fence_offset;
- unsigned char fence_char;
- bool fenced;
+ cmark_chunk info;
+ cmark_chunk literal;
+ int fence_length;
+ /* fence_offset must be 0-3, so we can use int8_t */
+ int8_t fence_offset;
+ unsigned char fence_char;
+ bool fenced;
} cmark_code;
typedef struct {
- int level;
- bool setext;
+ int level;
+ bool setext;
} cmark_header;
typedef struct {
- cmark_chunk url;
- cmark_chunk title;
+ cmark_chunk url;
+ cmark_chunk title;
} cmark_link;
struct cmark_node {
- struct cmark_node *next;
- struct cmark_node *prev;
- struct cmark_node *parent;
- struct cmark_node *first_child;
- struct cmark_node *last_child;
-
- void *user_data;
-
- int start_line;
- int start_column;
- int end_line;
- int end_column;
-
- cmark_node_type type;
-
- bool open;
- bool last_line_blank;
-
- cmark_strbuf string_content;
-
- union {
- cmark_chunk literal;
- cmark_list list;
- cmark_code code;
- cmark_header header;
- cmark_link link;
- int html_block_type;
- } as;
+ struct cmark_node *next;
+ struct cmark_node *prev;
+ struct cmark_node *parent;
+ struct cmark_node *first_child;
+ struct cmark_node *last_child;
+
+ void *user_data;
+
+ int start_line;
+ int start_column;
+ int end_line;
+ int end_column;
+
+ cmark_node_type type;
+
+ bool open;
+ bool last_line_blank;
+
+ cmark_strbuf string_content;
+
+ union {
+ cmark_chunk literal;
+ cmark_list list;
+ cmark_code code;
+ cmark_header header;
+ cmark_link link;
+ int html_block_type;
+ } as;
};
-CMARK_EXPORT int
-cmark_node_check(cmark_node *node, FILE *out);
+CMARK_EXPORT int cmark_node_check(cmark_node *node, FILE *out);
#ifdef __cplusplus
}
diff --git a/src/parser.h b/src/parser.h
index 01a7aeb..f359e10 100644
--- a/src/parser.h
+++ b/src/parser.h
@@ -12,20 +12,20 @@ extern "C" {
#define MAX_LINK_LABEL_LENGTH 1000
struct cmark_parser {
- struct cmark_reference_map *refmap;
- struct cmark_node* root;
- struct cmark_node* current;
- int line_number;
- bufsize_t offset;
- bufsize_t column;
- bufsize_t first_nonspace;
- bufsize_t first_nonspace_column;
- int indent;
- bool blank;
- cmark_strbuf *curline;
- bufsize_t last_line_length;
- cmark_strbuf *linebuf;
- int options;
+ struct cmark_reference_map *refmap;
+ struct cmark_node *root;
+ struct cmark_node *current;
+ int line_number;
+ bufsize_t offset;
+ bufsize_t column;
+ bufsize_t first_nonspace;
+ bufsize_t first_nonspace_column;
+ int indent;
+ bool blank;
+ cmark_strbuf *curline;
+ bufsize_t last_line_length;
+ cmark_strbuf *linebuf;
+ int options;
};
#ifdef __cplusplus
diff --git a/src/references.c b/src/references.c
index 1d3d56d..980a948 100644
--- a/src/references.c
+++ b/src/references.c
@@ -5,150 +5,140 @@
#include "inlines.h"
#include "chunk.h"
-static unsigned int
-refhash(const unsigned char *link_ref)
-{
- unsigned int hash = 0;
+static unsigned int refhash(const unsigned char *link_ref) {
+ unsigned int hash = 0;
- while (*link_ref)
- hash = (*link_ref++) + (hash << 6) + (hash << 16) - hash;
+ while (*link_ref)
+ hash = (*link_ref++) + (hash << 6) + (hash << 16) - hash;
- return hash;
+ return hash;
}
-static void reference_free(cmark_reference *ref)
-{
- if(ref != NULL) {
- free(ref->label);
- cmark_chunk_free(&ref->url);
- cmark_chunk_free(&ref->title);
- free(ref);
- }
+static void reference_free(cmark_reference *ref) {
+ if (ref != NULL) {
+ free(ref->label);
+ cmark_chunk_free(&ref->url);
+ cmark_chunk_free(&ref->title);
+ free(ref);
+ }
}
// normalize reference: collapse internal whitespace to single space,
// remove leading/trailing whitespace, case fold
// Return NULL if the reference name is actually empty (i.e. composed
// solely from whitespace)
-static unsigned char *normalize_reference(cmark_chunk *ref)
-{
- cmark_strbuf normalized = GH_BUF_INIT;
- unsigned char *result;
+static unsigned char *normalize_reference(cmark_chunk *ref) {
+ cmark_strbuf normalized = GH_BUF_INIT;
+ unsigned char *result;
- if(ref == NULL)
- return NULL;
+ if (ref == NULL)
+ return NULL;
- if (ref->len == 0)
- return NULL;
+ if (ref->len == 0)
+ return NULL;
- utf8proc_case_fold(&normalized, ref->data, ref->len);
- cmark_strbuf_trim(&normalized);
- cmark_strbuf_normalize_whitespace(&normalized);
+ utf8proc_case_fold(&normalized, ref->data, ref->len);
+ cmark_strbuf_trim(&normalized);
+ cmark_strbuf_normalize_whitespace(&normalized);
- result = cmark_strbuf_detach(&normalized);
- assert(result);
+ result = cmark_strbuf_detach(&normalized);
+ assert(result);
- if (result[0] == '\0') {
- free(result);
- return NULL;
- }
+ if (result[0] == '\0') {
+ free(result);
+ return NULL;
+ }
- return result;
+ return result;
}
-static void add_reference(cmark_reference_map *map, cmark_reference* ref)
-{
- cmark_reference *t = ref->next = map->table[ref->hash % REFMAP_SIZE];
+static void add_reference(cmark_reference_map *map, cmark_reference *ref) {
+ cmark_reference *t = ref->next = map->table[ref->hash % REFMAP_SIZE];
- while (t) {
- if (t->hash == ref->hash &&
- !strcmp((char *)t->label, (char *)ref->label)) {
- reference_free(ref);
- return;
- }
+ while (t) {
+ if (t->hash == ref->hash && !strcmp((char *)t->label, (char *)ref->label)) {
+ reference_free(ref);
+ return;
+ }
- t = t->next;
- }
+ t = t->next;
+ }
- map->table[ref->hash % REFMAP_SIZE] = ref;
+ map->table[ref->hash % REFMAP_SIZE] = ref;
}
-void cmark_reference_create(cmark_reference_map *map, cmark_chunk *label, cmark_chunk *url,
- cmark_chunk *title)
-{
- cmark_reference *ref;
- unsigned char *reflabel = normalize_reference(label);
-
- /* empty reference name, or composed from only whitespace */
- if (reflabel == NULL)
- return;
-
- ref = (cmark_reference *)calloc(1, sizeof(*ref));
- if(ref != NULL) {
- ref->label = reflabel;
- ref->hash = refhash(ref->label);
- ref->url = cmark_clean_url(url);
- ref->title = cmark_clean_title(title);
- ref->next = NULL;
-
- add_reference(map, ref);
- }
+void cmark_reference_create(cmark_reference_map *map, cmark_chunk *label,
+ cmark_chunk *url, cmark_chunk *title) {
+ cmark_reference *ref;
+ unsigned char *reflabel = normalize_reference(label);
+
+ /* empty reference name, or composed from only whitespace */
+ if (reflabel == NULL)
+ return;
+
+ ref = (cmark_reference *)calloc(1, sizeof(*ref));
+ if (ref != NULL) {
+ ref->label = reflabel;
+ ref->hash = refhash(ref->label);
+ ref->url = cmark_clean_url(url);
+ ref->title = cmark_clean_title(title);
+ ref->next = NULL;
+
+ add_reference(map, ref);
+ }
}
// Returns reference if refmap contains a reference with matching
// label, otherwise NULL.
-cmark_reference* cmark_reference_lookup(cmark_reference_map *map, cmark_chunk *label)
-{
- cmark_reference *ref = NULL;
- unsigned char *norm;
- unsigned int hash;
-
- if (label->len > MAX_LINK_LABEL_LENGTH)
- return NULL;
-
- if (map == NULL)
- return NULL;
-
- norm = normalize_reference(label);
- if (norm == NULL)
- return NULL;
-
- hash = refhash(norm);
- ref = map->table[hash % REFMAP_SIZE];
-
- while (ref) {
- if (ref->hash == hash &&
- !strcmp((char *)ref->label, (char *)norm))
- break;
- ref = ref->next;
- }
-
- free(norm);
- return ref;
+cmark_reference *cmark_reference_lookup(cmark_reference_map *map,
+ cmark_chunk *label) {
+ cmark_reference *ref = NULL;
+ unsigned char *norm;
+ unsigned int hash;
+
+ if (label->len > MAX_LINK_LABEL_LENGTH)
+ return NULL;
+
+ if (map == NULL)
+ return NULL;
+
+ norm = normalize_reference(label);
+ if (norm == NULL)
+ return NULL;
+
+ hash = refhash(norm);
+ ref = map->table[hash % REFMAP_SIZE];
+
+ while (ref) {
+ if (ref->hash == hash && !strcmp((char *)ref->label, (char *)norm))
+ break;
+ ref = ref->next;
+ }
+
+ free(norm);
+ return ref;
}
-void cmark_reference_map_free(cmark_reference_map *map)
-{
- unsigned int i;
+void cmark_reference_map_free(cmark_reference_map *map) {
+ unsigned int i;
- if(map == NULL)
- return;
+ if (map == NULL)
+ return;
- for (i = 0; i < REFMAP_SIZE; ++i) {
- cmark_reference *ref = map->table[i];
- cmark_reference *next;
+ for (i = 0; i < REFMAP_SIZE; ++i) {
+ cmark_reference *ref = map->table[i];
+ cmark_reference *next;
- while (ref) {
- next = ref->next;
- reference_free(ref);
- ref = next;
- }
- }
+ while (ref) {
+ next = ref->next;
+ reference_free(ref);
+ ref = next;
+ }
+ }
- free(map);
+ free(map);
}
-cmark_reference_map *cmark_reference_map_new(void)
-{
- return (cmark_reference_map *)calloc(1, sizeof(cmark_reference_map));
+cmark_reference_map *cmark_reference_map_new(void) {
+ return (cmark_reference_map *)calloc(1, sizeof(cmark_reference_map));
}
diff --git a/src/references.h b/src/references.h
index a360cd5..310ff9f 100644
--- a/src/references.h
+++ b/src/references.h
@@ -10,25 +10,27 @@ extern "C" {
#define REFMAP_SIZE 16
struct cmark_reference {
- struct cmark_reference *next;
- unsigned char *label;
- cmark_chunk url;
- cmark_chunk title;
- unsigned int hash;
+ struct cmark_reference *next;
+ unsigned char *label;
+ cmark_chunk url;
+ cmark_chunk title;
+ unsigned int hash;
};
typedef struct cmark_reference cmark_reference;
struct cmark_reference_map {
- cmark_reference *table[REFMAP_SIZE];
+ cmark_reference *table[REFMAP_SIZE];
};
typedef struct cmark_reference_map cmark_reference_map;
cmark_reference_map *cmark_reference_map_new(void);
void cmark_reference_map_free(cmark_reference_map *map);
-cmark_reference* cmark_reference_lookup(cmark_reference_map *map, cmark_chunk *label);
-extern void cmark_reference_create(cmark_reference_map *map, cmark_chunk *label, cmark_chunk *url, cmark_chunk *title);
+cmark_reference *cmark_reference_lookup(cmark_reference_map *map,
+ cmark_chunk *label);
+extern void cmark_reference_create(cmark_reference_map *map, cmark_chunk *label,
+ cmark_chunk *url, cmark_chunk *title);
#ifdef __cplusplus
}
diff --git a/src/render.c b/src/render.c
index 2f1faac..4912615 100644
--- a/src/render.c
+++ b/src/render.c
@@ -5,182 +5,159 @@
#include "utf8.h"
#include "render.h"
-static inline
-void S_cr(cmark_renderer *renderer)
-{
- if (renderer->need_cr < 1) {
- renderer->need_cr = 1;
- }
+static inline void S_cr(cmark_renderer *renderer) {
+ if (renderer->need_cr < 1) {
+ renderer->need_cr = 1;
+ }
}
-static inline
-void S_blankline(cmark_renderer *renderer)
-{
- if (renderer->need_cr < 2) {
- renderer->need_cr = 2;
- }
+static inline void S_blankline(cmark_renderer *renderer) {
+ if (renderer->need_cr < 2) {
+ renderer->need_cr = 2;
+ }
}
-static
-void S_out(cmark_renderer *renderer,
- const char *source,
- bool wrap,
- cmark_escaping escape)
-{
- int length = cmark_strbuf_safe_strlen(source);
- unsigned char nextc;
- int32_t c;
- int i = 0;
- int len;
- cmark_chunk remainder = cmark_chunk_literal("");
- int k = renderer->buffer->size - 1;
-
- wrap = wrap && !renderer->no_wrap;
-
- if (renderer->in_tight_list_item && renderer->need_cr > 1) {
- renderer->need_cr = 1;
- }
- while (renderer->need_cr) {
- if (k < 0 || renderer->buffer->ptr[k] == '\n') {
- k -= 1;
- } else {
- cmark_strbuf_putc(renderer->buffer, '\n');
- if (renderer->need_cr > 1) {
- cmark_strbuf_put(renderer->buffer, renderer->prefix->ptr,
- renderer->prefix->size);
- }
- }
- renderer->column = 0;
- renderer->begin_line = true;
- renderer->need_cr -= 1;
- }
-
- while (i < length) {
- if (renderer->begin_line) {
- cmark_strbuf_put(renderer->buffer, renderer->prefix->ptr,
- renderer->prefix->size);
- // note: this assumes prefix is ascii:
- renderer->column = renderer->prefix->size;
- }
-
- len = utf8proc_iterate((const uint8_t *)source + i, length - i, &c);
- if (len == -1) { // error condition
- return; // return without rendering rest of string
- }
- nextc = source[i + len];
- if (c == 32 && wrap) {
- if (!renderer->begin_line) {
- cmark_strbuf_putc(renderer->buffer, ' ');
- renderer->column += 1;
- renderer->begin_line = false;
- renderer->last_breakable = renderer->buffer->size -
- 1;
- // skip following spaces
- while (source[i + 1] == ' ') {
- i++;
- }
- }
-
- } else if (c == 10) {
- cmark_strbuf_putc(renderer->buffer, '\n');
- renderer->column = 0;
- renderer->begin_line = true;
- renderer->last_breakable = 0;
- } else if (escape == LITERAL) {
- cmark_render_code_point(renderer, c);
- renderer->begin_line = false;
- } else {
- (renderer->outc)(renderer, escape, c, nextc);
- renderer->begin_line = false;
- }
-
- // If adding the character went beyond width, look for an
- // earlier place where the line could be broken:
- if (renderer->width > 0 &&
- renderer->column > renderer->width &&
- !renderer->begin_line &&
- renderer->last_breakable > 0) {
-
- // copy from last_breakable to remainder
- cmark_chunk_set_cstr(&remainder, (char *) renderer->buffer->ptr + renderer->last_breakable + 1);
- // truncate at last_breakable
- cmark_strbuf_truncate(renderer->buffer, renderer->last_breakable);
- // add newline, prefix, and remainder
- cmark_strbuf_putc(renderer->buffer, '\n');
- cmark_strbuf_put(renderer->buffer, renderer->prefix->ptr,
- renderer->prefix->size);
- cmark_strbuf_put(renderer->buffer, remainder.data, remainder.len);
- renderer->column = renderer->prefix->size + remainder.len;
- cmark_chunk_free(&remainder);
- renderer->last_breakable = 0;
- renderer->begin_line = false;
- }
-
- i += len;
- }
+static void S_out(cmark_renderer *renderer, const char *source, bool wrap,
+ cmark_escaping escape) {
+ int length = cmark_strbuf_safe_strlen(source);
+ unsigned char nextc;
+ int32_t c;
+ int i = 0;
+ int len;
+ cmark_chunk remainder = cmark_chunk_literal("");
+ int k = renderer->buffer->size - 1;
+
+ wrap = wrap && !renderer->no_wrap;
+
+ if (renderer->in_tight_list_item && renderer->need_cr > 1) {
+ renderer->need_cr = 1;
+ }
+ while (renderer->need_cr) {
+ if (k < 0 || renderer->buffer->ptr[k] == '\n') {
+ k -= 1;
+ } else {
+ cmark_strbuf_putc(renderer->buffer, '\n');
+ if (renderer->need_cr > 1) {
+ cmark_strbuf_put(renderer->buffer, renderer->prefix->ptr,
+ renderer->prefix->size);
+ }
+ }
+ renderer->column = 0;
+ renderer->begin_line = true;
+ renderer->need_cr -= 1;
+ }
+
+ while (i < length) {
+ if (renderer->begin_line) {
+ cmark_strbuf_put(renderer->buffer, renderer->prefix->ptr,
+ renderer->prefix->size);
+ // note: this assumes prefix is ascii:
+ renderer->column = renderer->prefix->size;
+ }
+
+ len = utf8proc_iterate((const uint8_t *)source + i, length - i, &c);
+ if (len == -1) { // error condition
+ return; // return without rendering rest of string
+ }
+ nextc = source[i + len];
+ if (c == 32 && wrap) {
+ if (!renderer->begin_line) {
+ cmark_strbuf_putc(renderer->buffer, ' ');
+ renderer->column += 1;
+ renderer->begin_line = false;
+ renderer->last_breakable = renderer->buffer->size - 1;
+ // skip following spaces
+ while (source[i + 1] == ' ') {
+ i++;
+ }
+ }
+
+ } else if (c == 10) {
+ cmark_strbuf_putc(renderer->buffer, '\n');
+ renderer->column = 0;
+ renderer->begin_line = true;
+ renderer->last_breakable = 0;
+ } else if (escape == LITERAL) {
+ cmark_render_code_point(renderer, c);
+ renderer->begin_line = false;
+ } else {
+ (renderer->outc)(renderer, escape, c, nextc);
+ renderer->begin_line = false;
+ }
+
+ // If adding the character went beyond width, look for an
+ // earlier place where the line could be broken:
+ if (renderer->width > 0 && renderer->column > renderer->width &&
+ !renderer->begin_line && renderer->last_breakable > 0) {
+
+ // copy from last_breakable to remainder
+ cmark_chunk_set_cstr(&remainder, (char *)renderer->buffer->ptr +
+ renderer->last_breakable + 1);
+ // truncate at last_breakable
+ cmark_strbuf_truncate(renderer->buffer, renderer->last_breakable);
+ // add newline, prefix, and remainder
+ cmark_strbuf_putc(renderer->buffer, '\n');
+ cmark_strbuf_put(renderer->buffer, renderer->prefix->ptr,
+ renderer->prefix->size);
+ cmark_strbuf_put(renderer->buffer, remainder.data, remainder.len);
+ renderer->column = renderer->prefix->size + remainder.len;
+ cmark_chunk_free(&remainder);
+ renderer->last_breakable = 0;
+ renderer->begin_line = false;
+ }
+
+ i += len;
+ }
}
// Assumes no newlines, assumes ascii content:
-void
-cmark_render_ascii(cmark_renderer* renderer, const char* s)
-{
- int origsize = renderer->buffer->size;
- cmark_strbuf_puts(renderer->buffer, s);
- renderer->column += renderer->buffer->size - origsize;
+void cmark_render_ascii(cmark_renderer *renderer, const char *s) {
+ int origsize = renderer->buffer->size;
+ cmark_strbuf_puts(renderer->buffer, s);
+ renderer->column += renderer->buffer->size - origsize;
}
-void
-cmark_render_code_point(cmark_renderer *renderer, uint32_t c)
-{
- utf8proc_encode_char(c, renderer->buffer);
- renderer->column += 1;
+void cmark_render_code_point(cmark_renderer *renderer, uint32_t c) {
+ utf8proc_encode_char(c, renderer->buffer);
+ renderer->column += 1;
}
-char*
-cmark_render(cmark_node *root,
- int options,
- int width,
- void (*outc)(cmark_renderer*,
- cmark_escaping,
- int32_t,
- unsigned char),
- int (*render_node)(cmark_renderer *renderer,
- cmark_node *node,
- cmark_event_type ev_type,
- int options))
-{
- cmark_strbuf pref = GH_BUF_INIT;
- cmark_strbuf buf = GH_BUF_INIT;
- cmark_node *cur;
- cmark_event_type ev_type;
- char *result;
- cmark_iter *iter = cmark_iter_new(root);
-
- cmark_renderer renderer = { &buf, &pref, 0, width,
- 0, 0, true, false, false,
- outc, S_cr, S_blankline, S_out
- };
-
- while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
- cur = cmark_iter_get_node(iter);
- if (!render_node(&renderer, cur, ev_type, options)) {
- // a false value causes us to skip processing
- // the node's contents. this is used for
- // autolinks.
- cmark_iter_reset(iter, cur, CMARK_EVENT_EXIT);
- }
- }
-
- // ensure final newline
- if (renderer.buffer->ptr[renderer.buffer->size - 1] != '\n') {
- cmark_strbuf_putc(renderer.buffer, '\n');
- }
-
- result = (char *)cmark_strbuf_detach(renderer.buffer);
-
- cmark_iter_free(iter);
- cmark_strbuf_free(renderer.prefix);
- cmark_strbuf_free(renderer.buffer);
-
- return result;
+char *cmark_render(cmark_node *root, int options, int width,
+ void (*outc)(cmark_renderer *, cmark_escaping, int32_t,
+ unsigned char),
+ int (*render_node)(cmark_renderer *renderer,
+ cmark_node *node,
+ cmark_event_type ev_type, int options)) {
+ cmark_strbuf pref = GH_BUF_INIT;
+ cmark_strbuf buf = GH_BUF_INIT;
+ cmark_node *cur;
+ cmark_event_type ev_type;
+ char *result;
+ cmark_iter *iter = cmark_iter_new(root);
+
+ cmark_renderer renderer = {&buf, &pref, 0, width, 0, 0, true,
+ false, false, outc, S_cr, S_blankline, S_out};
+
+ while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
+ cur = cmark_iter_get_node(iter);
+ if (!render_node(&renderer, cur, ev_type, options)) {
+ // a false value causes us to skip processing
+ // the node's contents. this is used for
+ // autolinks.
+ cmark_iter_reset(iter, cur, CMARK_EVENT_EXIT);
+ }
+ }
+
+ // ensure final newline
+ if (renderer.buffer->ptr[renderer.buffer->size - 1] != '\n') {
+ cmark_strbuf_putc(renderer.buffer, '\n');
+ }
+
+ result = (char *)cmark_strbuf_detach(renderer.buffer);
+
+ cmark_iter_free(iter);
+ cmark_strbuf_free(renderer.prefix);
+ cmark_strbuf_free(renderer.buffer);
+
+ return result;
}
diff --git a/src/render.h b/src/render.h
index ca541bc..9ab347b 100644
--- a/src/render.h
+++ b/src/render.h
@@ -9,55 +9,36 @@ extern "C" {
#include "buffer.h"
#include "chunk.h"
-typedef enum {
- LITERAL,
- NORMAL,
- TITLE,
- URL
-} cmark_escaping;
+typedef enum { LITERAL, NORMAL, TITLE, URL } cmark_escaping;
struct cmark_renderer {
- cmark_strbuf* buffer;
- cmark_strbuf* prefix;
- int column;
- int width;
- int need_cr;
- bufsize_t last_breakable;
- bool begin_line;
- bool no_wrap;
- bool in_tight_list_item;
- void (*outc)(struct cmark_renderer*,
- cmark_escaping,
- int32_t,
- unsigned char);
- void (*cr)(struct cmark_renderer*);
- void (*blankline)(struct cmark_renderer*);
- void (*out)(struct cmark_renderer*,
- const char *,
- bool,
- cmark_escaping);
+ cmark_strbuf *buffer;
+ cmark_strbuf *prefix;
+ int column;
+ int width;
+ int need_cr;
+ bufsize_t last_breakable;
+ bool begin_line;
+ bool no_wrap;
+ bool in_tight_list_item;
+ void (*outc)(struct cmark_renderer *, cmark_escaping, int32_t, unsigned char);
+ void (*cr)(struct cmark_renderer *);
+ void (*blankline)(struct cmark_renderer *);
+ void (*out)(struct cmark_renderer *, const char *, bool, cmark_escaping);
};
typedef struct cmark_renderer cmark_renderer;
-void
-cmark_render_ascii(cmark_renderer *renderer, const char* s);
+void cmark_render_ascii(cmark_renderer *renderer, const char *s);
-void
-cmark_render_code_point(cmark_renderer *renderer, uint32_t c);
+void cmark_render_code_point(cmark_renderer *renderer, uint32_t c);
-char*
-cmark_render(cmark_node *root,
- int options,
- int width,
- void (*outc)(cmark_renderer*,
- cmark_escaping,
- int32_t,
- unsigned char),
- int (*render_node)(cmark_renderer *renderer,
- cmark_node *node,
- cmark_event_type ev_type,
- int options));
+char *cmark_render(cmark_node *root, int options, int width,
+ void (*outc)(cmark_renderer *, cmark_escaping, int32_t,
+ unsigned char),
+ int (*render_node)(cmark_renderer *renderer,
+ cmark_node *node,
+ cmark_event_type ev_type, int options));
#ifdef __cplusplus
}
diff --git a/src/scanners.c b/src/scanners.c
index 75fdb46..9237c7f 100644
--- a/src/scanners.c
+++ b/src/scanners.c
@@ -3,21045 +3,27836 @@
#include "chunk.h"
#include "scanners.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;
- unsigned char lim = ptr[c->len];
+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;
+ unsigned char lim = ptr[c->len];
- ptr[c->len] = '\0';
- res = scanner(ptr + offset);
- ptr[c->len] = lim;
+ 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 = *(marker = p);
- if (yych <= 'c') {
- if (yych <= 'M') {
- if (yych <= 'E') {
- if (yych <= 'A') {
- if (yych == '\n') goto yy2;
- if (yych <= '@') goto yy29;
- goto yy6;
- } else {
- if (yych <= 'B') goto yy24;
- if (yych <= 'C') goto yy3;
- if (yych <= 'D') goto yy4;
- goto yy25;
- }
- } else {
- if (yych <= 'I') {
- if (yych <= 'F') goto yy7;
- if (yych <= 'G') goto yy8;
- if (yych <= 'H') goto yy9;
- goto yy10;
- } else {
- if (yych <= 'J') goto yy5;
- if (yych <= 'K') goto yy26;
- if (yych <= 'L') goto yy11;
- goto yy12;
- }
- }
- } else {
- if (yych <= 'U') {
- if (yych <= 'Q') {
- if (yych <= 'N') goto yy13;
- if (yych <= 'O') goto yy14;
- if (yych <= 'P') goto yy15;
- goto yy27;
- } else {
- if (yych <= 'R') goto yy16;
- if (yych <= 'S') goto yy17;
- if (yych <= 'T') goto yy18;
- goto yy19;
- }
- } else {
- if (yych <= 'Y') {
- if (yych <= 'V') goto yy20;
- if (yych <= 'W') goto yy21;
- if (yych <= 'X') goto yy22;
- goto yy28;
- } else {
- if (yych <= '`') {
- if (yych <= 'Z') goto yy23;
- goto yy29;
- } else {
- if (yych <= 'a') goto yy6;
- if (yych <= 'b') goto yy24;
- goto yy3;
- }
- }
- }
- }
- } else {
- if (yych <= 't') {
- if (yych <= 'k') {
- if (yych <= 'g') {
- if (yych <= 'd') goto yy4;
- if (yych <= 'e') goto yy25;
- if (yych <= 'f') goto yy7;
- goto yy8;
- } else {
- if (yych <= 'h') goto yy9;
- if (yych <= 'i') goto yy10;
- if (yych <= 'j') goto yy5;
- goto yy26;
- }
- } else {
- if (yych <= 'o') {
- if (yych <= 'l') goto yy11;
- if (yych <= 'm') goto yy12;
- if (yych <= 'n') goto yy13;
- goto yy14;
- } else {
- if (yych <= 'q') {
- if (yych <= 'p') goto yy15;
- goto yy27;
- } else {
- if (yych <= 'r') goto yy16;
- if (yych <= 's') goto yy17;
- goto yy18;
- }
- }
- }
- } else {
- if (yych <= 0xC1) {
- if (yych <= 'x') {
- if (yych <= 'u') goto yy19;
- if (yych <= 'v') goto yy20;
- if (yych <= 'w') goto yy21;
- goto yy22;
- } else {
- if (yych <= 'y') goto yy28;
- if (yych <= 'z') goto yy23;
- if (yych <= 0x7F) goto yy29;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy30;
- if (yych <= 0xE0) goto yy32;
- if (yych <= 0xEC) goto yy33;
- goto yy37;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy33;
- goto yy34;
- } else {
- if (yych <= 0xF3) goto yy35;
- if (yych <= 0xF4) goto yy36;
- }
- }
- }
- }
- }
-yy2:
- { return 0; }
-yy3:
- yych = *(marker = ++p);
- switch (yych) {
- case 'A':
- case 'a': goto yy447;
- case 'H':
- case 'h': goto yy446;
- case 'I':
- case 'i': goto yy449;
- case 'O':
- case 'o': goto yy445;
- case 'R':
- case 'r': goto yy448;
- case 'V':
- case 'v': goto yy444;
- default: goto yy2;
- }
-yy4:
- yych = *(marker = ++p);
- switch (yych) {
- case 'A':
- case 'a': goto yy420;
- case 'I':
- case 'i': goto yy419;
- case 'L':
- case 'l': goto yy417;
- case 'N':
- case 'n': goto yy418;
- case 'O':
- case 'o': goto yy421;
- case 'T':
- case 't': goto yy416;
- case 'V':
- case 'v': goto yy415;
- default: goto yy2;
- }
-yy5:
- yych = *(marker = ++p);
- if (yych <= 'M') {
- if (yych == 'A') goto yy407;
- if (yych <= 'L') goto yy2;
- goto yy406;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy2;
- goto yy407;
- } else {
- if (yych == 'm') goto yy406;
- goto yy2;
- }
- }
-yy6:
- yych = *(marker = ++p);
- switch (yych) {
- case 'A':
- case 'a': goto yy388;
- case 'B':
- case 'b': goto yy387;
- case 'C':
- case 'c': goto yy386;
- case 'D':
- case 'd': goto yy385;
- case 'F':
- case 'f': goto yy384;
- case 'I':
- case 'i': goto yy383;
- case 'P':
- case 'p': goto yy382;
- case 'T':
- case 't': goto yy381;
- case 'W':
- case 'w': goto yy41;
- default: goto yy2;
- }
-yy7:
- yych = *(marker = ++p);
- if (yych <= 'T') {
- if (yych <= 'E') {
- if (yych == 'A') goto yy368;
- if (yych <= 'D') goto yy2;
- goto yy367;
- } else {
- if (yych == 'I') goto yy366;
- if (yych <= 'S') goto yy2;
- goto yy369;
- }
- } else {
- if (yych <= 'e') {
- if (yych == 'a') goto yy368;
- if (yych <= 'd') goto yy2;
- goto yy367;
- } else {
- if (yych <= 'i') {
- if (yych <= 'h') goto yy2;
- goto yy366;
- } else {
- if (yych == 't') goto yy369;
- goto yy2;
- }
- }
- }
-yy8:
- yych = *(marker = ++p);
- switch (yych) {
- case 'E':
- case 'e': goto yy351;
- case 'G':
- case 'g': goto yy41;
- case 'I':
- case 'i': goto yy349;
- case 'O':
- case 'o': goto yy350;
- case 'T':
- case 't': goto yy348;
- default: goto yy2;
- }
-yy9:
- yych = *(marker = ++p);
- if (yych <= 'S') {
- if (yych <= '3') {
- if (yych <= '2') goto yy2;
- goto yy344;
- } else {
- if (yych == 'C') goto yy342;
- goto yy2;
- }
- } else {
- if (yych <= 'c') {
- if (yych <= 'T') goto yy343;
- if (yych <= 'b') goto yy2;
- goto yy342;
- } else {
- if (yych == 't') goto yy343;
- goto yy2;
- }
- }
-yy10:
- yych = *(marker = ++p);
- switch (yych) {
- case 'A':
- case 'a': goto yy324;
- case 'C':
- case 'c': goto yy321;
- case 'M':
- case 'm': goto yy323;
- case 'N':
- case 'n': goto yy322;
- case 'P':
- case 'p': goto yy320;
- case 'R':
- case 'r': goto yy319;
- case 'T':
- case 't': goto yy318;
- default: goto yy2;
- }
-yy11:
- yych = *(marker = ++p);
- if (yych <= 'D') {
- if (yych == 'A') goto yy312;
- if (yych <= 'C') goto yy2;
- goto yy311;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy2;
- goto yy312;
- } else {
- if (yych == 'd') goto yy311;
- goto yy2;
- }
- }
-yy12:
- yych = *(marker = ++p);
- switch (yych) {
- case 'A':
- case 'a': goto yy278;
- case 'E':
- case 'e': goto yy277;
- case 'I':
- case 'i': goto yy280;
- case 'M':
- case 'm': goto yy276;
- case 'S':
- case 's': goto yy275;
- case 'T':
- case 't': goto yy279;
- case 'U':
- case 'u': goto yy274;
- case 'V':
- case 'v': goto yy273;
- default: goto yy2;
- }
-yy13:
- yych = *(marker = ++p);
- switch (yych) {
- case 'E':
- case 'e': goto yy268;
- case 'F':
- case 'f': goto yy267;
- case 'I':
- case 'i': goto yy266;
- case 'N':
- case 'n': goto yy265;
- case 'O':
- case 'o': goto yy264;
- default: goto yy2;
- }
-yy14:
- yych = *(marker = ++p);
- if (yych <= 'P') {
- if (yych == 'I') goto yy250;
- if (yych <= 'O') goto yy2;
- goto yy251;
- } else {
- if (yych <= 'i') {
- if (yych <= 'h') goto yy2;
- goto yy250;
- } else {
- if (yych == 'p') goto yy251;
- goto yy2;
- }
- }
-yy15:
- yych = *(marker = ++p);
- if (yych <= 'S') {
- if (yych <= 'L') {
- if (yych == 'A') goto yy232;
- if (yych <= 'K') goto yy2;
- goto yy231;
- } else {
- if (yych <= 'O') {
- if (yych <= 'N') goto yy2;
- goto yy233;
- } else {
- if (yych <= 'Q') goto yy2;
- if (yych <= 'R') goto yy230;
- goto yy229;
- }
- }
- } else {
- if (yych <= 'n') {
- if (yych <= 'a') {
- if (yych <= '`') goto yy2;
- goto yy232;
- } else {
- if (yych == 'l') goto yy231;
- goto yy2;
- }
- } else {
- if (yych <= 'q') {
- if (yych <= 'o') goto yy233;
- goto yy2;
- } else {
- if (yych <= 'r') goto yy230;
- if (yych <= 's') goto yy229;
- goto yy2;
- }
- }
- }
-yy16:
- yych = *(marker = ++p);
- if (yych <= 'T') {
- if (yych <= 'L') {
- if (yych == 'E') goto yy219;
- goto yy2;
- } else {
- if (yych <= 'M') goto yy218;
- if (yych <= 'R') goto yy2;
- if (yych <= 'S') goto yy217;
- goto yy216;
- }
- } else {
- if (yych <= 'm') {
- if (yych == 'e') goto yy219;
- if (yych <= 'l') goto yy2;
- goto yy218;
- } else {
- if (yych <= 'r') goto yy2;
- if (yych <= 's') goto yy217;
- if (yych <= 't') goto yy216;
- goto yy2;
- }
- }
-yy17:
- yych = *(marker = ++p);
- switch (yych) {
- case 'E':
- case 'e': goto yy172;
- case 'F':
- case 'f': goto yy171;
- case 'G':
- case 'g': goto yy170;
- case 'H':
- case 'h': goto yy175;
- case 'I':
- case 'i': goto yy174;
- case 'K':
- case 'k': goto yy169;
- case 'M':
- case 'm': goto yy168;
- case 'N':
- case 'n': goto yy173;
- case 'O':
- case 'o': goto yy167;
- case 'P':
- case 'p': goto yy166;
- case 'S':
- case 's': goto yy165;
- case 'T':
- case 't': goto yy164;
- case 'V':
- case 'v': goto yy163;
- default: goto yy2;
- }
-yy18:
- yych = *(marker = ++p);
- switch (yych) {
- case 'A':
- case 'a': goto yy139;
- case 'E':
- case 'e': goto yy135;
- case 'F':
- case 'f': goto yy138;
- case 'H':
- case 'h': goto yy134;
- case 'I':
- case 'i': goto yy136;
- case 'N':
- case 'n': goto yy137;
- case 'V':
- case 'v': goto yy41;
- default: goto yy2;
- }
-yy19:
- yych = *(marker = ++p);
- if (yych <= 'T') {
- if (yych <= 'N') {
- if (yych == 'D') goto yy126;
- if (yych <= 'M') goto yy2;
- goto yy125;
- } else {
- if (yych == 'R') goto yy127;
- if (yych <= 'S') goto yy2;
- goto yy124;
- }
- } else {
- if (yych <= 'n') {
- if (yych == 'd') goto yy126;
- if (yych <= 'm') goto yy2;
- goto yy125;
- } else {
- if (yych <= 'r') {
- if (yych <= 'q') goto yy2;
- goto yy127;
- } else {
- if (yych == 't') goto yy124;
- goto yy2;
- }
- }
- }
-yy20:
- yych = *(marker = ++p);
- if (yych <= 'I') {
- if (yych == 'E') goto yy108;
- if (yych <= 'H') goto yy2;
- goto yy107;
- } else {
- if (yych <= 'e') {
- if (yych <= 'd') goto yy2;
- goto yy108;
- } else {
- if (yych == 'i') goto yy107;
- goto yy2;
- }
- }
-yy21:
- yych = *(marker = ++p);
- if (yych <= 'Y') {
- if (yych <= 'R') {
- if (yych == 'E') goto yy97;
- goto yy2;
- } else {
- if (yych <= 'S') goto yy98;
- if (yych <= 'T') goto yy96;
- if (yych <= 'X') goto yy2;
- goto yy95;
- }
- } else {
- if (yych <= 's') {
- if (yych == 'e') goto yy97;
- if (yych <= 'r') goto yy2;
- goto yy98;
- } else {
- if (yych <= 't') goto yy96;
- if (yych == 'y') goto yy95;
- goto yy2;
- }
- }
-yy22:
- yych = *(marker = ++p);
- if (yych <= 'R') {
- if (yych <= 'F') {
- if (yych == 'C') goto yy74;
- if (yych <= 'E') goto yy2;
- goto yy72;
- } else {
- if (yych == 'M') goto yy73;
- if (yych <= 'Q') goto yy2;
- goto yy71;
- }
- } else {
- if (yych <= 'f') {
- if (yych == 'c') goto yy74;
- if (yych <= 'e') goto yy2;
- goto yy72;
- } else {
- if (yych <= 'm') {
- if (yych <= 'l') goto yy2;
- goto yy73;
- } else {
- if (yych == 'r') goto yy71;
- goto yy2;
- }
- }
- }
-yy23:
- yych = *(marker = ++p);
- if (yych == '3') goto yy66;
- goto yy2;
-yy24:
- yych = *(marker = ++p);
- if (yych <= 'O') {
- if (yych <= 'H') {
- if (yych == 'E') goto yy56;
- goto yy2;
- } else {
- if (yych <= 'I') goto yy55;
- if (yych <= 'N') goto yy2;
- goto yy54;
- }
- } else {
- if (yych <= 'h') {
- if (yych == 'e') goto yy56;
- goto yy2;
- } else {
- if (yych <= 'i') goto yy55;
- if (yych == 'o') goto yy54;
- goto yy2;
- }
- }
-yy25:
- yych = *(marker = ++p);
- if (yych == 'D') goto yy52;
- if (yych == 'd') goto yy52;
- goto yy2;
-yy26:
- yych = *(marker = ++p);
- if (yych == 'E') goto yy47;
- if (yych == 'e') goto yy47;
- goto yy2;
-yy27:
- yych = *(marker = ++p);
- if (yych == 'U') goto yy44;
- if (yych == 'u') goto yy44;
- goto yy2;
-yy28:
- yych = *(marker = ++p);
- if (yych == 'M') goto yy38;
- if (yych == 'm') goto yy38;
- goto yy2;
-yy29:
- yych = *++p;
- goto yy2;
-yy30:
- yych = *++p;
- if (yych <= 0x7F) goto yy31;
- if (yych <= 0xBF) goto yy29;
-yy31:
- p = marker;
- goto yy2;
-yy32:
- yych = *++p;
- if (yych <= 0x9F) goto yy31;
- if (yych <= 0xBF) goto yy30;
- goto yy31;
-yy33:
- yych = *++p;
- if (yych <= 0x7F) goto yy31;
- if (yych <= 0xBF) goto yy30;
- goto yy31;
-yy34:
- yych = *++p;
- if (yych <= 0x8F) goto yy31;
- if (yych <= 0xBF) goto yy33;
- goto yy31;
-yy35:
- yych = *++p;
- if (yych <= 0x7F) goto yy31;
- if (yych <= 0xBF) goto yy33;
- goto yy31;
-yy36:
- yych = *++p;
- if (yych <= 0x7F) goto yy31;
- if (yych <= 0x8F) goto yy33;
- goto yy31;
-yy37:
- yych = *++p;
- if (yych <= 0x7F) goto yy31;
- if (yych <= 0x9F) goto yy30;
- goto yy31;
-yy38:
- yych = *++p;
- if (yych == 'S') goto yy39;
- if (yych != 's') goto yy31;
-yy39:
- yych = *++p;
- if (yych == 'G') goto yy40;
- if (yych != 'g') goto yy31;
-yy40:
- yych = *++p;
- if (yych == 'R') goto yy41;
- if (yych != 'r') goto yy31;
-yy41:
- yych = *++p;
- if (yych != ':') goto yy31;
-yy42:
- ++p;
- { return (bufsize_t)(p - start); }
-yy44:
- yych = *++p;
- if (yych == 'E') goto yy45;
- if (yych != 'e') goto yy31;
-yy45:
- yych = *++p;
- if (yych == 'R') goto yy46;
- if (yych != 'r') goto yy31;
-yy46:
- yych = *++p;
- if (yych == 'Y') goto yy41;
- if (yych == 'y') goto yy41;
- goto yy31;
-yy47:
- yych = *++p;
- if (yych == 'Y') goto yy48;
- if (yych != 'y') goto yy31;
-yy48:
- yych = *++p;
- if (yych == 'P') goto yy49;
- if (yych != 'p') goto yy31;
-yy49:
- yych = *++p;
- if (yych == 'A') goto yy50;
- if (yych != 'a') goto yy31;
-yy50:
- yych = *++p;
- if (yych == 'R') goto yy51;
- if (yych != 'r') goto yy31;
-yy51:
- yych = *++p;
- if (yych == 'C') goto yy41;
- if (yych == 'c') goto yy41;
- goto yy31;
-yy52:
- yych = *++p;
- if (yych != '2') goto yy31;
- yych = *++p;
- if (yych == 'K') goto yy41;
- if (yych == 'k') goto yy41;
- goto yy31;
-yy54:
- yych = *++p;
- if (yych == 'L') goto yy65;
- if (yych == 'l') goto yy65;
- goto yy31;
-yy55:
- yych = *++p;
- if (yych == 'T') goto yy61;
- if (yych == 't') goto yy61;
- goto yy31;
-yy56:
- yych = *++p;
- if (yych == 'S') goto yy57;
- if (yych != 's') goto yy31;
-yy57:
- yych = *++p;
- if (yych == 'H') goto yy58;
- if (yych != 'h') goto yy31;
-yy58:
- yych = *++p;
- if (yych == 'A') goto yy59;
- if (yych != 'a') goto yy31;
-yy59:
- yych = *++p;
- if (yych == 'R') goto yy60;
- if (yych != 'r') goto yy31;
-yy60:
- yych = *++p;
- if (yych == 'E') goto yy41;
- if (yych == 'e') goto yy41;
- goto yy31;
-yy61:
- yych = *++p;
- if (yych == 'C') goto yy62;
- if (yych != 'c') goto yy31;
-yy62:
- yych = *++p;
- if (yych == 'O') goto yy63;
- if (yych != 'o') goto yy31;
-yy63:
- yych = *++p;
- if (yych == 'I') goto yy64;
- if (yych != 'i') goto yy31;
-yy64:
- yych = *++p;
- if (yych == 'N') goto yy41;
- if (yych == 'n') goto yy41;
- goto yy31;
-yy65:
- yych = *++p;
- if (yych == 'O') goto yy41;
- if (yych == 'o') goto yy41;
- goto yy31;
-yy66:
- yych = *++p;
- if (yych != '9') goto yy31;
- yych = *++p;
- if (yych != '.') goto yy31;
- yych = *++p;
- if (yych != '5') goto yy31;
- yych = *++p;
- if (yych != '0') goto yy31;
- yych = *++p;
- if (yych <= 'Q') goto yy31;
- if (yych <= 'S') goto yy41;
- if (yych <= 'q') goto yy31;
- if (yych <= 's') goto yy41;
- goto yy31;
-yy71:
- yych = *++p;
- if (yych == 'I') goto yy41;
- if (yych == 'i') goto yy41;
- goto yy31;
-yy72:
- yych = *++p;
- if (yych == 'I') goto yy93;
- if (yych == 'i') goto yy93;
- goto yy31;
-yy73:
- yych = *++p;
- if (yych <= 'P') {
- if (yych == 'L') goto yy83;
- if (yych <= 'O') goto yy31;
- goto yy84;
- } else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy31;
- goto yy83;
- } else {
- if (yych == 'p') goto yy84;
- goto yy31;
- }
- }
-yy74:
- yych = *++p;
- if (yych == 'O') goto yy75;
- if (yych != 'o') goto yy31;
-yy75:
- yych = *++p;
- if (yych == 'N') goto yy76;
- if (yych != 'n') goto yy31;
-yy76:
- yych = *++p;
- if (yych == '-') goto yy77;
- if (yych == ':') goto yy42;
- goto yy31;
-yy77:
- yych = *++p;
- if (yych == 'U') goto yy78;
- if (yych != 'u') goto yy31;
-yy78:
- yych = *++p;
- if (yych == 'S') goto yy79;
- if (yych != 's') goto yy31;
-yy79:
- yych = *++p;
- if (yych == 'E') goto yy80;
- if (yych != 'e') goto yy31;
-yy80:
- yych = *++p;
- if (yych == 'R') goto yy81;
- if (yych != 'r') goto yy31;
-yy81:
- yych = *++p;
- if (yych == 'I') goto yy82;
- if (yych != 'i') goto yy31;
-yy82:
- yych = *++p;
- if (yych == 'D') goto yy41;
- if (yych == 'd') goto yy41;
- goto yy31;
-yy83:
- yych = *++p;
- if (yych == 'R') goto yy85;
- if (yych == 'r') goto yy85;
- goto yy31;
-yy84:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy85:
- yych = *++p;
- if (yych == 'P') goto yy86;
- if (yych != 'p') goto yy31;
-yy86:
- yych = *++p;
- if (yych == 'C') goto yy87;
- if (yych != 'c') goto yy31;
-yy87:
- yych = *++p;
- if (yych != '.') goto yy31;
- yych = *++p;
- if (yych == 'B') goto yy89;
- if (yych != 'b') goto yy31;
-yy89:
- yych = *++p;
- if (yych == 'E') goto yy90;
- if (yych != 'e') goto yy31;
-yy90:
- yych = *++p;
- if (yych == 'E') goto yy91;
- if (yych != 'e') goto yy31;
-yy91:
- yych = *++p;
- if (yych == 'P') goto yy92;
- if (yych != 'p') goto yy31;
-yy92:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy42;
- goto yy31;
- } else {
- if (yych <= 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
- }
-yy93:
- yych = *++p;
- if (yych == 'R') goto yy94;
- if (yych != 'r') goto yy31;
-yy94:
- yych = *++p;
- if (yych == 'E') goto yy41;
- if (yych == 'e') goto yy41;
- goto yy31;
-yy95:
- yych = *++p;
- if (yych == 'C') goto yy103;
- if (yych == 'c') goto yy103;
- goto yy31;
-yy96:
- yych = *++p;
- if (yych == 'A') goto yy102;
- if (yych == 'a') goto yy102;
- goto yy31;
-yy97:
- yych = *++p;
- if (yych == 'B') goto yy99;
- if (yych == 'b') goto yy99;
- goto yy31;
-yy98:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy42;
- goto yy31;
- } else {
- if (yych <= 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
- }
-yy99:
- yych = *++p;
- if (yych == 'C') goto yy100;
- if (yych != 'c') goto yy31;
-yy100:
- yych = *++p;
- if (yych == 'A') goto yy101;
- if (yych != 'a') goto yy31;
-yy101:
- yych = *++p;
- if (yych == 'L') goto yy41;
- if (yych == 'l') goto yy41;
- goto yy31;
-yy102:
- yych = *++p;
- if (yych == 'I') goto yy41;
- if (yych == 'i') goto yy41;
- goto yy31;
-yy103:
- yych = *++p;
- if (yych == 'I') goto yy104;
- if (yych != 'i') goto yy31;
-yy104:
- yych = *++p;
- if (yych == 'W') goto yy105;
- if (yych != 'w') goto yy31;
-yy105:
- yych = *++p;
- if (yych == 'Y') goto yy106;
- if (yych != 'y') goto yy31;
-yy106:
- yych = *++p;
- if (yych == 'G') goto yy41;
- if (yych == 'g') goto yy41;
- goto yy31;
-yy107:
- yych = *++p;
- if (yych == 'E') goto yy116;
- if (yych == 'e') goto yy116;
- goto yy31;
-yy108:
- yych = *++p;
- if (yych <= 'N') {
- if (yych <= 'L') goto yy31;
- if (yych >= 'N') goto yy110;
- } else {
- if (yych <= 'l') goto yy31;
- if (yych <= 'm') goto yy109;
- if (yych <= 'n') goto yy110;
- goto yy31;
- }
-yy109:
- yych = *++p;
- if (yych == 'M') goto yy115;
- if (yych == 'm') goto yy115;
- goto yy31;
-yy110:
- yych = *++p;
- if (yych == 'T') goto yy111;
- if (yych != 't') goto yy31;
-yy111:
- yych = *++p;
- if (yych == 'R') goto yy112;
- if (yych != 'r') goto yy31;
-yy112:
- yych = *++p;
- if (yych == 'I') goto yy113;
- if (yych != 'i') goto yy31;
-yy113:
- yych = *++p;
- if (yych == 'L') goto yy114;
- if (yych != 'l') goto yy31;
-yy114:
- yych = *++p;
- if (yych == 'O') goto yy41;
- if (yych == 'o') goto yy41;
- goto yy31;
-yy115:
- yych = *++p;
- if (yych == 'I') goto yy41;
- if (yych == 'i') goto yy41;
- goto yy31;
-yy116:
- yych = *++p;
- if (yych == 'W') goto yy117;
- if (yych != 'w') goto yy31;
-yy117:
- yych = *++p;
- if (yych != '-') goto yy31;
- yych = *++p;
- if (yych == 'S') goto yy119;
- if (yych != 's') goto yy31;
-yy119:
- yych = *++p;
- if (yych == 'O') goto yy120;
- if (yych != 'o') goto yy31;
-yy120:
- yych = *++p;
- if (yych == 'U') goto yy121;
- if (yych != 'u') goto yy31;
-yy121:
- yych = *++p;
- if (yych == 'R') goto yy122;
- if (yych != 'r') goto yy31;
-yy122:
- yych = *++p;
- if (yych == 'C') goto yy123;
- if (yych != 'c') goto yy31;
-yy123:
- yych = *++p;
- if (yych == 'E') goto yy41;
- if (yych == 'e') goto yy41;
- goto yy31;
-yy124:
- yych = *++p;
- if (yych == '2') goto yy131;
- goto yy31;
-yy125:
- yych = *++p;
- if (yych == 'R') goto yy128;
- if (yych == 'r') goto yy128;
- goto yy31;
-yy126:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy127:
- yych = *++p;
- if (yych == 'N') goto yy41;
- if (yych == 'n') goto yy41;
- goto yy31;
-yy128:
- yych = *++p;
- if (yych == 'E') goto yy129;
- if (yych != 'e') goto yy31;
-yy129:
- yych = *++p;
- if (yych == 'A') goto yy130;
- if (yych != 'a') goto yy31;
-yy130:
- yych = *++p;
- if (yych == 'L') goto yy41;
- if (yych == 'l') goto yy41;
- goto yy31;
-yy131:
- yych = *++p;
- if (yych != '0') goto yy31;
- yych = *++p;
- if (yych != '0') goto yy31;
- yych = *++p;
- if (yych == '4') goto yy41;
- goto yy31;
-yy134:
- yych = *++p;
- if (yych == 'I') goto yy153;
- if (yych == 'i') goto yy153;
- goto yy31;
-yy135:
- yych = *++p;
- if (yych <= 'L') {
- if (yych == 'A') goto yy145;
- if (yych <= 'K') goto yy31;
- goto yy144;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy31;
- goto yy145;
- } else {
- if (yych == 'l') goto yy144;
- goto yy31;
- }
- }
-yy136:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy137:
- yych = *++p;
- if (yych == '3') goto yy141;
- goto yy31;
-yy138:
- yych = *++p;
- if (yych == 'T') goto yy140;
- if (yych == 't') goto yy140;
- goto yy31;
-yy139:
- yych = *++p;
- if (yych == 'G') goto yy41;
- if (yych == 'g') goto yy41;
- goto yy31;
-yy140:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy141:
- yych = *++p;
- if (yych != '2') goto yy31;
- yych = *++p;
- if (yych != '7') goto yy31;
- yych = *++p;
- if (yych == '0') goto yy41;
- goto yy31;
-yy144:
- yych = *++p;
- if (yych <= 'M') {
- if (yych == ':') goto yy42;
- goto yy31;
- } else {
- if (yych <= 'N') goto yy151;
- if (yych == 'n') goto yy151;
- goto yy31;
- }
-yy145:
- yych = *++p;
- if (yych == 'M') goto yy146;
- if (yych != 'm') goto yy31;
-yy146:
- yych = *++p;
- if (yych == 'S') goto yy147;
- if (yych != 's') goto yy31;
-yy147:
- yych = *++p;
- if (yych == 'P') goto yy148;
- if (yych != 'p') goto yy31;
-yy148:
- yych = *++p;
- if (yych == 'E') goto yy149;
- if (yych != 'e') goto yy31;
-yy149:
- yych = *++p;
- if (yych == 'A') goto yy150;
- if (yych != 'a') goto yy31;
-yy150:
- yych = *++p;
- if (yych == 'K') goto yy41;
- if (yych == 'k') goto yy41;
- goto yy31;
-yy151:
- yych = *++p;
- if (yych == 'E') goto yy152;
- if (yych != 'e') goto yy31;
-yy152:
- yych = *++p;
- if (yych == 'T') goto yy41;
- if (yych == 't') goto yy41;
- goto yy31;
-yy153:
- yych = *++p;
- if (yych <= 'S') {
- if (yych == 'N') goto yy154;
- if (yych <= 'R') goto yy31;
- goto yy155;
- } else {
- if (yych <= 'n') {
- if (yych <= 'm') goto yy31;
- } else {
- if (yych == 's') goto yy155;
- goto yy31;
- }
- }
-yy154:
- yych = *++p;
- if (yych == 'G') goto yy162;
- if (yych == 'g') goto yy162;
- goto yy31;
-yy155:
- yych = *++p;
- if (yych == 'M') goto yy156;
- if (yych != 'm') goto yy31;
-yy156:
- yych = *++p;
- if (yych == 'E') goto yy157;
- if (yych != 'e') goto yy31;
-yy157:
- yych = *++p;
- if (yych == 'S') goto yy158;
- if (yych != 's') goto yy31;
-yy158:
- yych = *++p;
- if (yych == 'S') goto yy159;
- if (yych != 's') goto yy31;
-yy159:
- yych = *++p;
- if (yych == 'A') goto yy160;
- if (yych != 'a') goto yy31;
-yy160:
- yych = *++p;
- if (yych == 'G') goto yy161;
- if (yych != 'g') goto yy31;
-yy161:
- yych = *++p;
- if (yych == 'E') goto yy41;
- if (yych == 'e') goto yy41;
- goto yy31;
-yy162:
- yych = *++p;
- if (yych == 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
-yy163:
- yych = *++p;
- if (yych == 'N') goto yy41;
- if (yych == 'n') goto yy41;
- goto yy31;
-yy164:
- yych = *++p;
- if (yych == 'E') goto yy214;
- if (yych == 'e') goto yy214;
- goto yy31;
-yy165:
- yych = *++p;
- if (yych == 'H') goto yy41;
- if (yych == 'h') goto yy41;
- goto yy31;
-yy166:
- yych = *++p;
- if (yych == 'O') goto yy210;
- if (yych == 'o') goto yy210;
- goto yy31;
-yy167:
- yych = *++p;
- if (yych <= 'L') {
- if (yych == 'A') goto yy200;
- if (yych <= 'K') goto yy31;
- goto yy201;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy31;
- goto yy200;
- } else {
- if (yych == 'l') goto yy201;
- goto yy31;
- }
- }
-yy168:
- yych = *++p;
- if (yych <= 'S') {
- if (yych == 'B') goto yy41;
- if (yych <= 'R') goto yy31;
- goto yy41;
- } else {
- if (yych <= 'b') {
- if (yych <= 'a') goto yy31;
- goto yy41;
- } else {
- if (yych == 's') goto yy41;
- goto yy31;
- }
- }
-yy169:
- yych = *++p;
- if (yych == 'Y') goto yy198;
- if (yych == 'y') goto yy198;
- goto yy31;
-yy170:
- yych = *++p;
- if (yych == 'N') goto yy41;
- if (yych == 'n') goto yy41;
- goto yy31;
-yy171:
- yych = *++p;
- if (yych == 'T') goto yy197;
- if (yych == 't') goto yy197;
- goto yy31;
-yy172:
- yych = *++p;
- if (yych <= 'S') {
- if (yych <= 'C') {
- if (yych <= 'B') goto yy31;
- goto yy184;
- } else {
- if (yych <= 'Q') goto yy31;
- if (yych <= 'R') goto yy182;
- goto yy183;
- }
- } else {
- if (yych <= 'q') {
- if (yych == 'c') goto yy184;
- goto yy31;
- } else {
- if (yych <= 'r') goto yy182;
- if (yych <= 's') goto yy183;
- goto yy31;
- }
- }
-yy173:
- yych = *++p;
- if (yych == 'M') goto yy181;
- if (yych == 'm') goto yy181;
- goto yy31;
-yy174:
- yych = *++p;
- if (yych <= 'P') {
- if (yych == 'E') goto yy178;
- if (yych <= 'O') goto yy31;
- goto yy179;
- } else {
- if (yych <= 'e') {
- if (yych <= 'd') goto yy31;
- goto yy178;
- } else {
- if (yych == 'p') goto yy179;
- goto yy31;
- }
- }
-yy175:
- yych = *++p;
- if (yych == 'T') goto yy176;
- if (yych != 't') goto yy31;
-yy176:
- yych = *++p;
- if (yych == 'T') goto yy177;
- if (yych != 't') goto yy31;
-yy177:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy178:
- yych = *++p;
- if (yych == 'V') goto yy180;
- if (yych == 'v') goto yy180;
- goto yy31;
-yy179:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy42;
- goto yy31;
- } else {
- if (yych <= 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
- }
-yy180:
- yych = *++p;
- if (yych == 'E') goto yy41;
- if (yych == 'e') goto yy41;
- goto yy31;
-yy181:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy182:
- yych = *++p;
- if (yych == 'V') goto yy194;
- if (yych == 'v') goto yy194;
- goto yy31;
-yy183:
- yych = *++p;
- if (yych == 'S') goto yy191;
- if (yych == 's') goto yy191;
- goto yy31;
-yy184:
- yych = *++p;
- if (yych == 'O') goto yy185;
- if (yych != 'o') goto yy31;
-yy185:
- yych = *++p;
- if (yych == 'N') goto yy186;
- if (yych != 'n') goto yy31;
-yy186:
- yych = *++p;
- if (yych == 'D') goto yy187;
- if (yych != 'd') goto yy31;
-yy187:
- yych = *++p;
- if (yych == 'L') goto yy188;
- if (yych != 'l') goto yy31;
-yy188:
- yych = *++p;
- if (yych == 'I') goto yy189;
- if (yych != 'i') goto yy31;
-yy189:
- yych = *++p;
- if (yych == 'F') goto yy190;
- if (yych != 'f') goto yy31;
-yy190:
- yych = *++p;
- if (yych == 'E') goto yy41;
- if (yych == 'e') goto yy41;
- goto yy31;
-yy191:
- yych = *++p;
- if (yych == 'I') goto yy192;
- if (yych != 'i') goto yy31;
-yy192:
- yych = *++p;
- if (yych == 'O') goto yy193;
- if (yych != 'o') goto yy31;
-yy193:
- yych = *++p;
- if (yych == 'N') goto yy41;
- if (yych == 'n') goto yy41;
- goto yy31;
-yy194:
- yych = *++p;
- if (yych == 'I') goto yy195;
- if (yych != 'i') goto yy31;
-yy195:
- yych = *++p;
- if (yych == 'C') goto yy196;
- if (yych != 'c') goto yy31;
-yy196:
- yych = *++p;
- if (yych == 'E') goto yy41;
- if (yych == 'e') goto yy41;
- goto yy31;
-yy197:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy198:
- yych = *++p;
- if (yych == 'P') goto yy199;
- if (yych != 'p') goto yy31;
-yy199:
- yych = *++p;
- if (yych == 'E') goto yy41;
- if (yych == 'e') goto yy41;
- goto yy31;
-yy200:
- yych = *++p;
- if (yych == 'P') goto yy204;
- if (yych == 'p') goto yy204;
- goto yy31;
-yy201:
- yych = *++p;
- if (yych == 'D') goto yy202;
- if (yych != 'd') goto yy31;
-yy202:
- yych = *++p;
- if (yych == 'A') goto yy203;
- if (yych != 'a') goto yy31;
-yy203:
- yych = *++p;
- if (yych == 'T') goto yy41;
- if (yych == 't') goto yy41;
- goto yy31;
-yy204:
- yych = *++p;
- if (yych != '.') goto yy31;
- yych = *++p;
- if (yych == 'B') goto yy206;
- if (yych != 'b') goto yy31;
-yy206:
- yych = *++p;
- if (yych == 'E') goto yy207;
- if (yych != 'e') goto yy31;
-yy207:
- yych = *++p;
- if (yych == 'E') goto yy208;
- if (yych != 'e') goto yy31;
-yy208:
- yych = *++p;
- if (yych == 'P') goto yy209;
- if (yych != 'p') goto yy31;
-yy209:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy42;
- goto yy31;
- } else {
- if (yych <= 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
- }
-yy210:
- yych = *++p;
- if (yych == 'T') goto yy211;
- if (yych != 't') goto yy31;
-yy211:
- yych = *++p;
- if (yych == 'I') goto yy212;
- if (yych != 'i') goto yy31;
-yy212:
- yych = *++p;
- if (yych == 'F') goto yy213;
- if (yych != 'f') goto yy31;
-yy213:
- yych = *++p;
- if (yych == 'Y') goto yy41;
- if (yych == 'y') goto yy41;
- goto yy31;
-yy214:
- yych = *++p;
- if (yych == 'A') goto yy215;
- if (yych != 'a') goto yy31;
-yy215:
- yych = *++p;
- if (yych == 'M') goto yy41;
- if (yych == 'm') goto yy41;
- goto yy31;
-yy216:
- yych = *++p;
- if (yych <= 'S') {
- if (yych == 'M') goto yy228;
- if (yych <= 'R') goto yy31;
- goto yy227;
- } else {
- if (yych <= 'm') {
- if (yych <= 'l') goto yy31;
- goto yy228;
- } else {
- if (yych == 's') goto yy227;
- goto yy31;
- }
- }
-yy217:
- yych = *++p;
- if (yych == 'Y') goto yy225;
- if (yych == 'y') goto yy225;
- goto yy31;
-yy218:
- yych = *++p;
- if (yych == 'I') goto yy41;
- if (yych == 'i') goto yy41;
- goto yy31;
-yy219:
- yych = *++p;
- if (yych == 'S') goto yy220;
- if (yych != 's') goto yy31;
-yy220:
- yych = *++p;
- if (yych <= 'N') {
- if (yych == ':') goto yy42;
- goto yy31;
- } else {
- if (yych <= 'O') goto yy221;
- if (yych != 'o') goto yy31;
- }
-yy221:
- yych = *++p;
- if (yych == 'U') goto yy222;
- if (yych != 'u') goto yy31;
-yy222:
- yych = *++p;
- if (yych == 'R') goto yy223;
- if (yych != 'r') goto yy31;
-yy223:
- yych = *++p;
- if (yych == 'C') goto yy224;
- if (yych != 'c') goto yy31;
-yy224:
- yych = *++p;
- if (yych == 'E') goto yy41;
- if (yych == 'e') goto yy41;
- goto yy31;
-yy225:
- yych = *++p;
- if (yych == 'N') goto yy226;
- if (yych != 'n') goto yy31;
-yy226:
- yych = *++p;
- if (yych == 'C') goto yy41;
- if (yych == 'c') goto yy41;
- goto yy31;
-yy227:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy228:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy229:
- yych = *++p;
- if (yych == 'Y') goto yy249;
- if (yych == 'y') goto yy249;
- goto yy31;
-yy230:
- yych = *++p;
- if (yych <= 'O') {
- if (yych == 'E') goto yy246;
- if (yych <= 'N') goto yy31;
- goto yy247;
- } else {
- if (yych <= 'e') {
- if (yych <= 'd') goto yy31;
- goto yy246;
- } else {
- if (yych == 'o') goto yy247;
- goto yy31;
- }
- }
-yy231:
- yych = *++p;
- if (yych == 'A') goto yy241;
- if (yych == 'a') goto yy241;
- goto yy31;
-yy232:
- yych = *++p;
- if (yych <= 'P') {
- if (yych == 'L') goto yy234;
- if (yych <= 'O') goto yy31;
- goto yy235;
- } else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy31;
- goto yy234;
- } else {
- if (yych == 'p') goto yy235;
- goto yy31;
- }
- }
-yy233:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy234:
- yych = *++p;
- if (yych == 'M') goto yy41;
- if (yych == 'm') goto yy41;
- goto yy31;
-yy235:
- yych = *++p;
- if (yych == 'A') goto yy236;
- if (yych != 'a') goto yy31;
-yy236:
- yych = *++p;
- if (yych == 'R') goto yy237;
- if (yych != 'r') goto yy31;
-yy237:
- yych = *++p;
- if (yych == 'A') goto yy238;
- if (yych != 'a') goto yy31;
-yy238:
- yych = *++p;
- if (yych == 'Z') goto yy239;
- if (yych != 'z') goto yy31;
-yy239:
- yych = *++p;
- if (yych == 'Z') goto yy240;
- if (yych != 'z') goto yy31;
-yy240:
- yych = *++p;
- if (yych == 'I') goto yy41;
- if (yych == 'i') goto yy41;
- goto yy31;
-yy241:
- yych = *++p;
- if (yych == 'T') goto yy242;
- if (yych != 't') goto yy31;
-yy242:
- yych = *++p;
- if (yych == 'F') goto yy243;
- if (yych != 'f') goto yy31;
-yy243:
- yych = *++p;
- if (yych == 'O') goto yy244;
- if (yych != 'o') goto yy31;
-yy244:
- yych = *++p;
- if (yych == 'R') goto yy245;
- if (yych != 'r') goto yy31;
-yy245:
- yych = *++p;
- if (yych == 'M') goto yy41;
- if (yych == 'm') goto yy41;
- goto yy31;
-yy246:
- yych = *++p;
- if (yych == 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
-yy247:
- yych = *++p;
- if (yych == 'X') goto yy248;
- if (yych != 'x') goto yy31;
-yy248:
- yych = *++p;
- if (yych == 'Y') goto yy41;
- if (yych == 'y') goto yy41;
- goto yy31;
-yy249:
- yych = *++p;
- if (yych == 'C') goto yy41;
- if (yych == 'c') goto yy41;
- goto yy31;
-yy250:
- yych = *++p;
- if (yych == 'D') goto yy41;
- if (yych == 'd') goto yy41;
- goto yy31;
-yy251:
- yych = *++p;
- if (yych == 'A') goto yy252;
- if (yych != 'a') goto yy31;
-yy252:
- yych = *++p;
- if (yych == 'Q') goto yy253;
- if (yych != 'q') goto yy31;
-yy253:
- yych = *++p;
- if (yych == 'U') goto yy254;
- if (yych != 'u') goto yy31;
-yy254:
- yych = *++p;
- if (yych == 'E') goto yy255;
- if (yych != 'e') goto yy31;
-yy255:
- yych = *++p;
- if (yych == 'L') goto yy256;
- if (yych != 'l') goto yy31;
-yy256:
- yych = *++p;
- if (yych == 'O') goto yy257;
- if (yych != 'o') goto yy31;
-yy257:
- yych = *++p;
- if (yych == 'C') goto yy258;
- if (yych != 'c') goto yy31;
-yy258:
- yych = *++p;
- if (yych == 'K') goto yy259;
- if (yych != 'k') goto yy31;
-yy259:
- yych = *++p;
- if (yych == 'T') goto yy260;
- if (yych != 't') goto yy31;
-yy260:
- yych = *++p;
- if (yych == 'O') goto yy261;
- if (yych != 'o') goto yy31;
-yy261:
- yych = *++p;
- if (yych == 'K') goto yy262;
- if (yych != 'k') goto yy31;
-yy262:
- yych = *++p;
- if (yych == 'E') goto yy263;
- if (yych != 'e') goto yy31;
-yy263:
- yych = *++p;
- if (yych == 'N') goto yy41;
- if (yych == 'n') goto yy41;
- goto yy31;
-yy264:
- yych = *++p;
- if (yych == 'T') goto yy271;
- if (yych == 't') goto yy271;
- goto yy31;
-yy265:
- yych = *++p;
- if (yych == 'T') goto yy270;
- if (yych == 't') goto yy270;
- goto yy31;
-yy266:
- yych = *++p;
- if (yych <= 'G') {
- if (yych == ':') goto yy42;
- goto yy31;
- } else {
- if (yych <= 'H') goto yy41;
- if (yych == 'h') goto yy41;
- goto yy31;
- }
-yy267:
- yych = *++p;
- if (yych == 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
-yy268:
- yych = *++p;
- if (yych == 'W') goto yy269;
- if (yych != 'w') goto yy31;
-yy269:
- yych = *++p;
- if (yych == 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
-yy270:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy271:
- yych = *++p;
- if (yych == 'E') goto yy272;
- if (yych != 'e') goto yy31;
-yy272:
- yych = *++p;
- if (yych == 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
-yy273:
- yych = *++p;
- if (yych == 'N') goto yy41;
- if (yych == 'n') goto yy41;
- goto yy31;
-yy274:
- yych = *++p;
- if (yych <= 'P') {
- if (yych == 'M') goto yy305;
- if (yych <= 'O') goto yy31;
- goto yy304;
- } else {
- if (yych <= 'm') {
- if (yych <= 'l') goto yy31;
- goto yy305;
- } else {
- if (yych == 'p') goto yy304;
- goto yy31;
- }
- }
-yy275:
- yych = *++p;
- if (yych <= 'Q') {
- if (yych <= '-') {
- if (yych <= ',') goto yy31;
- goto yy297;
- } else {
- if (yych == 'N') goto yy298;
- goto yy31;
- }
- } else {
- if (yych <= 'n') {
- if (yych <= 'R') goto yy296;
- if (yych <= 'm') goto yy31;
- goto yy298;
- } else {
- if (yych == 'r') goto yy296;
- goto yy31;
- }
- }
-yy276:
- yych = *++p;
- if (yych == 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
-yy277:
- yych = *++p;
- if (yych == 'S') goto yy292;
- if (yych == 's') goto yy292;
- goto yy31;
-yy278:
- yych = *++p;
- switch (yych) {
- case 'G':
- case 'g': goto yy283;
- case 'I':
- case 'i': goto yy282;
- case 'P':
- case 'p': goto yy284;
- case 'R':
- case 'r': goto yy285;
- default: goto yy31;
- }
-yy279:
- yych = *++p;
- if (yych == 'Q') goto yy281;
- if (yych == 'q') goto yy281;
- goto yy31;
-yy280:
- yych = *++p;
- if (yych == 'D') goto yy41;
- if (yych == 'd') goto yy41;
- goto yy31;
-yy281:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy282:
- yych = *++p;
- if (yych == 'L') goto yy290;
- if (yych == 'l') goto yy290;
- goto yy31;
-yy283:
- yych = *++p;
- if (yych == 'N') goto yy288;
- if (yych == 'n') goto yy288;
- goto yy31;
-yy284:
- yych = *++p;
- if (yych == 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
-yy285:
- yych = *++p;
- if (yych == 'K') goto yy286;
- if (yych != 'k') goto yy31;
-yy286:
- yych = *++p;
- if (yych == 'E') goto yy287;
- if (yych != 'e') goto yy31;
-yy287:
- yych = *++p;
- if (yych == 'T') goto yy41;
- if (yych == 't') goto yy41;
- goto yy31;
-yy288:
- yych = *++p;
- if (yych == 'E') goto yy289;
- if (yych != 'e') goto yy31;
-yy289:
- yych = *++p;
- if (yych == 'T') goto yy41;
- if (yych == 't') goto yy41;
- goto yy31;
-yy290:
- yych = *++p;
- if (yych == 'T') goto yy291;
- if (yych != 't') goto yy31;
-yy291:
- yych = *++p;
- if (yych == 'O') goto yy41;
- if (yych == 'o') goto yy41;
- goto yy31;
-yy292:
- yych = *++p;
- if (yych == 'S') goto yy293;
- if (yych != 's') goto yy31;
-yy293:
- yych = *++p;
- if (yych == 'A') goto yy294;
- if (yych != 'a') goto yy31;
-yy294:
- yych = *++p;
- if (yych == 'G') goto yy295;
- if (yych != 'g') goto yy31;
-yy295:
- yych = *++p;
- if (yych == 'E') goto yy41;
- if (yych == 'e') goto yy41;
- goto yy31;
-yy296:
- yych = *++p;
- if (yych == 'P') goto yy303;
- if (yych == 'p') goto yy303;
- goto yy31;
-yy297:
- yych = *++p;
- if (yych == 'H') goto yy300;
- if (yych == 'h') goto yy300;
- goto yy31;
-yy298:
- yych = *++p;
- if (yych == 'I') goto yy299;
- if (yych != 'i') goto yy31;
-yy299:
- yych = *++p;
- if (yych == 'M') goto yy41;
- if (yych == 'm') goto yy41;
- goto yy31;
-yy300:
- yych = *++p;
- if (yych == 'E') goto yy301;
- if (yych != 'e') goto yy31;
-yy301:
- yych = *++p;
- if (yych == 'L') goto yy302;
- if (yych != 'l') goto yy31;
-yy302:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy303:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy42;
- goto yy31;
- } else {
- if (yych <= 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
- }
-yy304:
- yych = *++p;
- if (yych == 'D') goto yy308;
- if (yych == 'd') goto yy308;
- goto yy31;
-yy305:
- yych = *++p;
- if (yych == 'B') goto yy306;
- if (yych != 'b') goto yy31;
-yy306:
- yych = *++p;
- if (yych == 'L') goto yy307;
- if (yych != 'l') goto yy31;
-yy307:
- yych = *++p;
- if (yych == 'E') goto yy41;
- if (yych == 'e') goto yy41;
- goto yy31;
-yy308:
- yych = *++p;
- if (yych == 'A') goto yy309;
- if (yych != 'a') goto yy31;
-yy309:
- yych = *++p;
- if (yych == 'T') goto yy310;
- if (yych != 't') goto yy31;
-yy310:
- yych = *++p;
- if (yych == 'E') goto yy41;
- if (yych == 'e') goto yy41;
- goto yy31;
-yy311:
- yych = *++p;
- if (yych == 'A') goto yy316;
- if (yych == 'a') goto yy316;
- goto yy31;
-yy312:
- yych = *++p;
- if (yych == 'S') goto yy313;
- if (yych != 's') goto yy31;
-yy313:
- yych = *++p;
- if (yych == 'T') goto yy314;
- if (yych != 't') goto yy31;
-yy314:
- yych = *++p;
- if (yych == 'F') goto yy315;
- if (yych != 'f') goto yy31;
-yy315:
- yych = *++p;
- if (yych == 'M') goto yy41;
- if (yych == 'm') goto yy41;
- goto yy31;
-yy316:
- yych = *++p;
- if (yych == 'P') goto yy317;
- if (yych != 'p') goto yy31;
-yy317:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy42;
- goto yy31;
- } else {
- if (yych <= 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
- }
-yy318:
- yych = *++p;
- if (yych == 'M') goto yy341;
- if (yych == 'm') goto yy341;
- goto yy31;
-yy319:
- yych = *++p;
- if (yych <= 'I') {
- if (yych == 'C') goto yy330;
- if (yych <= 'H') goto yy31;
- goto yy329;
- } else {
- if (yych <= 'c') {
- if (yych <= 'b') goto yy31;
- goto yy330;
- } else {
- if (yych == 'i') goto yy329;
- goto yy31;
- }
- }
-yy320:
- yych = *++p;
- if (yych <= 'P') {
- if (yych == 'N') goto yy41;
- if (yych <= 'O') goto yy31;
- goto yy41;
- } else {
- if (yych <= 'n') {
- if (yych <= 'm') goto yy31;
- goto yy41;
- } else {
- if (yych == 'p') goto yy41;
- goto yy31;
- }
- }
-yy321:
- yych = *++p;
- if (yych <= 'O') {
- if (yych == 'A') goto yy327;
- if (yych <= 'N') goto yy31;
- goto yy328;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy31;
- goto yy327;
- } else {
- if (yych == 'o') goto yy328;
- goto yy31;
- }
- }
-yy322:
- yych = *++p;
- if (yych == 'F') goto yy326;
- if (yych == 'f') goto yy326;
- goto yy31;
-yy323:
- yych = *++p;
- if (yych <= '@') {
- if (yych == ':') goto yy42;
- goto yy31;
- } else {
- if (yych <= 'A') goto yy325;
- if (yych == 'a') goto yy325;
- goto yy31;
- }
-yy324:
- yych = *++p;
- if (yych == 'X') goto yy41;
- if (yych == 'x') goto yy41;
- goto yy31;
-yy325:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy326:
- yych = *++p;
- if (yych == 'O') goto yy41;
- if (yych == 'o') goto yy41;
- goto yy31;
-yy327:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy328:
- yych = *++p;
- if (yych == 'N') goto yy41;
- if (yych == 'n') goto yy41;
- goto yy31;
-yy329:
- yych = *++p;
- if (yych == 'S') goto yy331;
- if (yych == 's') goto yy331;
- goto yy31;
-yy330:
- yych = *++p;
- if (yych <= ':') {
- if (yych == '6') goto yy41;
- if (yych <= '9') goto yy31;
- goto yy42;
- } else {
- if (yych <= 'S') {
- if (yych <= 'R') goto yy31;
- goto yy41;
- } else {
- if (yych == 's') goto yy41;
- goto yy31;
- }
- }
-yy331:
- yych = *++p;
- if (yych == '.') goto yy332;
- if (yych == ':') goto yy42;
- goto yy31;
-yy332:
- yych = *++p;
- if (yych <= 'X') {
- if (yych <= 'K') {
- if (yych == 'B') goto yy335;
- goto yy31;
- } else {
- if (yych <= 'L') goto yy333;
- if (yych <= 'W') goto yy31;
- goto yy334;
- }
- } else {
- if (yych <= 'k') {
- if (yych == 'b') goto yy335;
- goto yy31;
- } else {
- if (yych <= 'l') goto yy333;
- if (yych == 'x') goto yy334;
- goto yy31;
- }
- }
-yy333:
- yych = *++p;
- if (yych == 'W') goto yy340;
- if (yych == 'w') goto yy340;
- goto yy31;
-yy334:
- yych = *++p;
- if (yych == 'P') goto yy338;
- if (yych == 'p') goto yy338;
- goto yy31;
-yy335:
- yych = *++p;
- if (yych == 'E') goto yy336;
- if (yych != 'e') goto yy31;
-yy336:
- yych = *++p;
- if (yych == 'E') goto yy337;
- if (yych != 'e') goto yy31;
-yy337:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy338:
- yych = *++p;
- if (yych == 'C') goto yy339;
- if (yych != 'c') goto yy31;
-yy339:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy42;
- goto yy31;
- } else {
- if (yych <= 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
- }
-yy340:
- yych = *++p;
- if (yych == 'Z') goto yy41;
- if (yych == 'z') goto yy41;
- goto yy31;
-yy341:
- yych = *++p;
- if (yych == 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
-yy342:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy343:
- yych = *++p;
- if (yych == 'T') goto yy346;
- if (yych == 't') goto yy346;
- goto yy31;
-yy344:
- yych = *++p;
- if (yych != '2') goto yy31;
- yych = *++p;
- if (yych == '3') goto yy41;
- goto yy31;
-yy346:
- yych = *++p;
- if (yych == 'P') goto yy347;
- if (yych != 'p') goto yy31;
-yy347:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy42;
- goto yy31;
- } else {
- if (yych <= 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
- }
-yy348:
- yych = *++p;
- if (yych == 'A') goto yy364;
- if (yych == 'a') goto yy364;
- goto yy31;
-yy349:
- yych = *++p;
- if (yych <= 'Z') {
- if (yych == 'T') goto yy41;
- if (yych <= 'Y') goto yy31;
- goto yy355;
- } else {
- if (yych <= 't') {
- if (yych <= 's') goto yy31;
- goto yy41;
- } else {
- if (yych == 'z') goto yy355;
- goto yy31;
- }
- }
-yy350:
- yych = *++p;
- if (yych <= 'O') {
- if (yych == ':') goto yy42;
- goto yy31;
- } else {
- if (yych <= 'P') goto yy352;
- if (yych == 'p') goto yy352;
- goto yy31;
- }
-yy351:
- yych = *++p;
- if (yych == 'O') goto yy41;
- if (yych == 'o') goto yy41;
- goto yy31;
-yy352:
- yych = *++p;
- if (yych == 'H') goto yy353;
- if (yych != 'h') goto yy31;
-yy353:
- yych = *++p;
- if (yych == 'E') goto yy354;
- if (yych != 'e') goto yy31;
-yy354:
- yych = *++p;
- if (yych == 'R') goto yy41;
- if (yych == 'r') goto yy41;
- goto yy31;
-yy355:
- yych = *++p;
- if (yych == 'M') goto yy356;
- if (yych != 'm') goto yy31;
-yy356:
- yych = *++p;
- if (yych == 'O') goto yy357;
- if (yych != 'o') goto yy31;
-yy357:
- yych = *++p;
- if (yych == 'P') goto yy358;
- if (yych != 'p') goto yy31;
-yy358:
- yych = *++p;
- if (yych == 'R') goto yy359;
- if (yych != 'r') goto yy31;
-yy359:
- yych = *++p;
- if (yych == 'O') goto yy360;
- if (yych != 'o') goto yy31;
-yy360:
- yych = *++p;
- if (yych == 'J') goto yy361;
- if (yych != 'j') goto yy31;
-yy361:
- yych = *++p;
- if (yych == 'E') goto yy362;
- if (yych != 'e') goto yy31;
-yy362:
- yych = *++p;
- if (yych == 'C') goto yy363;
- if (yych != 'c') goto yy31;
-yy363:
- yych = *++p;
- if (yych == 'T') goto yy41;
- if (yych == 't') goto yy41;
- goto yy31;
-yy364:
- yych = *++p;
- if (yych == 'L') goto yy365;
- if (yych != 'l') goto yy31;
-yy365:
- yych = *++p;
- if (yych == 'K') goto yy41;
- if (yych == 'k') goto yy41;
- goto yy31;
-yy366:
- yych = *++p;
- if (yych <= 'S') {
- if (yych <= 'M') {
- if (yych == 'L') goto yy376;
- goto yy31;
- } else {
- if (yych <= 'N') goto yy377;
- if (yych <= 'R') goto yy31;
- goto yy378;
- }
- } else {
- if (yych <= 'm') {
- if (yych == 'l') goto yy376;
- goto yy31;
- } else {
- if (yych <= 'n') goto yy377;
- if (yych == 's') goto yy378;
- goto yy31;
- }
- }
-yy367:
- yych = *++p;
- if (yych == 'E') goto yy375;
- if (yych == 'e') goto yy375;
- goto yy31;
-yy368:
- yych = *++p;
- if (yych == 'C') goto yy370;
- if (yych == 'c') goto yy370;
- goto yy31;
-yy369:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy370:
- yych = *++p;
- if (yych == 'E') goto yy371;
- if (yych != 'e') goto yy31;
-yy371:
- yych = *++p;
- if (yych == 'T') goto yy372;
- if (yych != 't') goto yy31;
-yy372:
- yych = *++p;
- if (yych == 'I') goto yy373;
- if (yych != 'i') goto yy31;
-yy373:
- yych = *++p;
- if (yych == 'M') goto yy374;
- if (yych != 'm') goto yy31;
-yy374:
- yych = *++p;
- if (yych == 'E') goto yy41;
- if (yych == 'e') goto yy41;
- goto yy31;
-yy375:
- yych = *++p;
- if (yych == 'D') goto yy41;
- if (yych == 'd') goto yy41;
- goto yy31;
-yy376:
- yych = *++p;
- if (yych == 'E') goto yy41;
- if (yych == 'e') goto yy41;
- goto yy31;
-yy377:
- yych = *++p;
- if (yych == 'G') goto yy379;
- if (yych == 'g') goto yy379;
- goto yy31;
-yy378:
- yych = *++p;
- if (yych == 'H') goto yy41;
- if (yych == 'h') goto yy41;
- goto yy31;
-yy379:
- yych = *++p;
- if (yych == 'E') goto yy380;
- if (yych != 'e') goto yy31;
-yy380:
- yych = *++p;
- if (yych == 'R') goto yy41;
- if (yych == 'r') goto yy41;
- goto yy31;
-yy381:
- yych = *++p;
- if (yych == 'T') goto yy399;
- if (yych == 't') goto yy399;
- goto yy31;
-yy382:
- yych = *++p;
- if (yych == 'T') goto yy41;
- if (yych == 't') goto yy41;
- goto yy31;
-yy383:
- yych = *++p;
- if (yych == 'M') goto yy41;
- if (yych == 'm') goto yy41;
- goto yy31;
-yy384:
- yych = *++p;
- if (yych <= 'S') {
- if (yych == 'P') goto yy41;
- if (yych <= 'R') goto yy31;
- goto yy41;
- } else {
- if (yych <= 'p') {
- if (yych <= 'o') goto yy31;
- goto yy41;
- } else {
- if (yych == 's') goto yy41;
- goto yy31;
- }
- }
-yy385:
- yych = *++p;
- if (yych == 'I') goto yy393;
- if (yych == 'i') goto yy393;
- goto yy31;
-yy386:
- yych = *++p;
- if (yych == 'A') goto yy392;
- if (yych == 'a') goto yy392;
- goto yy31;
-yy387:
- yych = *++p;
- if (yych == 'O') goto yy390;
- if (yych == 'o') goto yy390;
- goto yy31;
-yy388:
- yych = *++p;
- if (yych == 'A') goto yy389;
- if (yych != 'a') goto yy31;
-yy389:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy42;
- goto yy31;
- } else {
- if (yych <= 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
- }
-yy390:
- yych = *++p;
- if (yych == 'U') goto yy391;
- if (yych != 'u') goto yy31;
-yy391:
- yych = *++p;
- if (yych == 'T') goto yy41;
- if (yych == 't') goto yy41;
- goto yy31;
-yy392:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy393:
- yych = *++p;
- if (yych == 'U') goto yy394;
- if (yych != 'u') goto yy31;
-yy394:
- yych = *++p;
- if (yych == 'M') goto yy395;
- if (yych != 'm') goto yy31;
-yy395:
- yych = *++p;
- if (yych == 'X') goto yy396;
- if (yych != 'x') goto yy31;
-yy396:
- yych = *++p;
- if (yych == 'T') goto yy397;
- if (yych != 't') goto yy31;
-yy397:
- yych = *++p;
- if (yych == 'R') goto yy398;
- if (yych != 'r') goto yy31;
-yy398:
- yych = *++p;
- if (yych == 'A') goto yy41;
- if (yych == 'a') goto yy41;
- goto yy31;
-yy399:
- yych = *++p;
- if (yych == 'A') goto yy400;
- if (yych != 'a') goto yy31;
-yy400:
- yych = *++p;
- if (yych == 'C') goto yy401;
- if (yych != 'c') goto yy31;
-yy401:
- yych = *++p;
- if (yych == 'H') goto yy402;
- if (yych != 'h') goto yy31;
-yy402:
- yych = *++p;
- if (yych == 'M') goto yy403;
- if (yych != 'm') goto yy31;
-yy403:
- yych = *++p;
- if (yych == 'E') goto yy404;
- if (yych != 'e') goto yy31;
-yy404:
- yych = *++p;
- if (yych == 'N') goto yy405;
- if (yych != 'n') goto yy31;
-yy405:
- yych = *++p;
- if (yych == 'T') goto yy41;
- if (yych == 't') goto yy41;
- goto yy31;
-yy406:
- yych = *++p;
- if (yych == 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
-yy407:
- yych = *++p;
- if (yych <= 'V') {
- if (yych == 'R') goto yy41;
- if (yych <= 'U') goto yy31;
- } else {
- if (yych <= 'r') {
- if (yych <= 'q') goto yy31;
- goto yy41;
- } else {
- if (yych != 'v') goto yy31;
- }
- }
- yych = *++p;
- if (yych == 'A') goto yy409;
- if (yych != 'a') goto yy31;
-yy409:
- yych = *++p;
- if (yych == 'S') goto yy410;
- if (yych != 's') goto yy31;
-yy410:
- yych = *++p;
- if (yych == 'C') goto yy411;
- if (yych != 'c') goto yy31;
-yy411:
- yych = *++p;
- if (yych == 'R') goto yy412;
- if (yych != 'r') goto yy31;
-yy412:
- yych = *++p;
- if (yych == 'I') goto yy413;
- if (yych != 'i') goto yy31;
-yy413:
- yych = *++p;
- if (yych == 'P') goto yy414;
- if (yych != 'p') goto yy31;
-yy414:
- yych = *++p;
- if (yych == 'T') goto yy41;
- if (yych == 't') goto yy41;
- goto yy31;
-yy415:
- yych = *++p;
- if (yych == 'B') goto yy41;
- if (yych == 'b') goto yy41;
- goto yy31;
-yy416:
- yych = *++p;
- if (yych == 'N') goto yy41;
- if (yych == 'n') goto yy41;
- goto yy31;
-yy417:
- yych = *++p;
- if (yych == 'N') goto yy424;
- if (yych == 'n') goto yy424;
- goto yy31;
-yy418:
- yych = *++p;
- if (yych == 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
-yy419:
- yych = *++p;
- if (yych == 'C') goto yy423;
- if (yych == 'c') goto yy423;
- goto yy31;
-yy420:
- yych = *++p;
- if (yych <= 'V') {
- if (yych == 'T') goto yy422;
- if (yych <= 'U') goto yy31;
- goto yy41;
- } else {
- if (yych <= 't') {
- if (yych <= 's') goto yy31;
- goto yy422;
- } else {
- if (yych == 'v') goto yy41;
- goto yy31;
- }
- }
-yy421:
- yych = *++p;
- if (yych == 'I') goto yy41;
- if (yych == 'i') goto yy41;
- goto yy31;
-yy422:
- yych = *++p;
- if (yych == 'A') goto yy41;
- if (yych == 'a') goto yy41;
- goto yy31;
-yy423:
- yych = *++p;
- if (yych == 'T') goto yy41;
- if (yych == 't') goto yy41;
- goto yy31;
-yy424:
- yych = *++p;
- if (yych == 'A') goto yy425;
- if (yych != 'a') goto yy31;
-yy425:
- yych = *++p;
- if (yych != '-') goto yy31;
- yych = *++p;
- if (yych == 'P') goto yy427;
- if (yych != 'p') goto yy31;
-yy427:
- yych = *++p;
- if (yych == 'L') goto yy428;
- if (yych != 'l') goto yy31;
-yy428:
- yych = *++p;
- if (yych == 'A') goto yy429;
- if (yych != 'a') goto yy31;
-yy429:
- yych = *++p;
- if (yych == 'Y') goto yy430;
- if (yych != 'y') goto yy31;
-yy430:
- yych = *++p;
- if (yych <= 'S') {
- if (yych == 'C') goto yy431;
- if (yych <= 'R') goto yy31;
- goto yy432;
- } else {
- if (yych <= 'c') {
- if (yych <= 'b') goto yy31;
- } else {
- if (yych == 's') goto yy432;
- goto yy31;
- }
- }
-yy431:
- yych = *++p;
- if (yych == 'O') goto yy437;
- if (yych == 'o') goto yy437;
- goto yy31;
-yy432:
- yych = *++p;
- if (yych == 'I') goto yy433;
- if (yych != 'i') goto yy31;
-yy433:
- yych = *++p;
- if (yych == 'N') goto yy434;
- if (yych != 'n') goto yy31;
-yy434:
- yych = *++p;
- if (yych == 'G') goto yy435;
- if (yych != 'g') goto yy31;
-yy435:
- yych = *++p;
- if (yych == 'L') goto yy436;
- if (yych != 'l') goto yy31;
-yy436:
- yych = *++p;
- if (yych == 'E') goto yy41;
- if (yych == 'e') goto yy41;
- goto yy31;
-yy437:
- yych = *++p;
- if (yych == 'N') goto yy438;
- if (yych != 'n') goto yy31;
-yy438:
- yych = *++p;
- if (yych == 'T') goto yy439;
- if (yych != 't') goto yy31;
-yy439:
- yych = *++p;
- if (yych == 'A') goto yy440;
- if (yych != 'a') goto yy31;
-yy440:
- yych = *++p;
- if (yych == 'I') goto yy441;
- if (yych != 'i') goto yy31;
-yy441:
- yych = *++p;
- if (yych == 'N') goto yy442;
- if (yych != 'n') goto yy31;
-yy442:
- yych = *++p;
- if (yych == 'E') goto yy443;
- if (yych != 'e') goto yy31;
-yy443:
- yych = *++p;
- if (yych == 'R') goto yy41;
- if (yych == 'r') goto yy41;
- goto yy31;
-yy444:
- yych = *++p;
- if (yych == 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy31;
-yy445:
- yych = *++p;
- if (yych <= 'N') {
- if (yych <= 'A') {
- if (yych <= '@') goto yy31;
- goto yy467;
- } else {
- if (yych <= 'L') goto yy31;
- if (yych <= 'M') goto yy468;
- goto yy469;
- }
- } else {
- if (yych <= 'l') {
- if (yych == 'a') goto yy467;
- goto yy31;
- } else {
- if (yych <= 'm') goto yy468;
- if (yych <= 'n') goto yy469;
- goto yy31;
- }
- }
-yy446:
- yych = *++p;
- if (yych == 'R') goto yy454;
- if (yych == 'r') goto yy454;
- goto yy31;
-yy447:
- yych = *++p;
- if (yych <= 'P') {
- if (yych == 'L') goto yy451;
- if (yych <= 'O') goto yy31;
- goto yy41;
- } else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy31;
- goto yy451;
- } else {
- if (yych == 'p') goto yy41;
- goto yy31;
- }
- }
-yy448:
- yych = *++p;
- if (yych == 'I') goto yy450;
- if (yych == 'i') goto yy450;
- goto yy31;
-yy449:
- yych = *++p;
- if (yych == 'D') goto yy41;
- if (yych == 'd') goto yy41;
- goto yy31;
-yy450:
- yych = *++p;
- if (yych == 'D') goto yy41;
- if (yych == 'd') goto yy41;
- goto yy31;
-yy451:
- yych = *++p;
- if (yych == 'L') goto yy452;
- if (yych != 'l') goto yy31;
-yy452:
- yych = *++p;
- if (yych == 'T') goto yy453;
- if (yych != 't') goto yy31;
-yy453:
- yych = *++p;
- if (yych == 'O') goto yy41;
- if (yych == 'o') goto yy41;
- goto yy31;
-yy454:
- yych = *++p;
- if (yych == 'O') goto yy455;
- if (yych != 'o') goto yy31;
-yy455:
- yych = *++p;
- if (yych == 'M') goto yy456;
- if (yych != 'm') goto yy31;
-yy456:
- yych = *++p;
- if (yych == 'E') goto yy457;
- if (yych != 'e') goto yy31;
-yy457:
- yych = *++p;
- if (yych == '-') goto yy458;
- if (yych == ':') goto yy42;
- goto yy31;
-yy458:
- yych = *++p;
- if (yych == 'E') goto yy459;
- if (yych != 'e') goto yy31;
-yy459:
- yych = *++p;
- if (yych == 'X') goto yy460;
- if (yych != 'x') goto yy31;
-yy460:
- yych = *++p;
- if (yych == 'T') goto yy461;
- if (yych != 't') goto yy31;
-yy461:
- yych = *++p;
- if (yych == 'E') goto yy462;
- if (yych != 'e') goto yy31;
-yy462:
- yych = *++p;
- if (yych == 'N') goto yy463;
- if (yych != 'n') goto yy31;
-yy463:
- yych = *++p;
- if (yych == 'S') goto yy464;
- if (yych != 's') goto yy31;
-yy464:
- yych = *++p;
- if (yych == 'I') goto yy465;
- if (yych != 'i') goto yy31;
-yy465:
- yych = *++p;
- if (yych == 'O') goto yy466;
- if (yych != 'o') goto yy31;
-yy466:
- yych = *++p;
- if (yych == 'N') goto yy41;
- if (yych == 'n') goto yy41;
- goto yy31;
-yy467:
- yych = *++p;
- if (yych == 'P') goto yy41;
- if (yych == 'p') goto yy41;
- goto yy31;
-yy468:
- yych = *++p;
- if (yych == '-') goto yy473;
- goto yy31;
-yy469:
- yych = *++p;
- if (yych == 'T') goto yy470;
- if (yych != 't') goto yy31;
-yy470:
- yych = *++p;
- if (yych == 'E') goto yy471;
- if (yych != 'e') goto yy31;
-yy471:
- yych = *++p;
- if (yych == 'N') goto yy472;
- if (yych != 'n') goto yy31;
-yy472:
- yych = *++p;
- if (yych == 'T') goto yy41;
- if (yych == 't') goto yy41;
- goto yy31;
-yy473:
- yych = *++p;
- if (yych == 'E') goto yy474;
- if (yych != 'e') goto yy31;
-yy474:
- yych = *++p;
- if (yych == 'V') goto yy475;
- if (yych != 'v') goto yy31;
-yy475:
- yych = *++p;
- if (yych == 'E') goto yy476;
- if (yych != 'e') goto yy31;
-yy476:
- yych = *++p;
- if (yych == 'N') goto yy477;
- if (yych != 'n') goto yy31;
-yy477:
- yych = *++p;
- if (yych == 'T') goto yy478;
- if (yych != 't') goto yy31;
-yy478:
- yych = *++p;
- if (yych == 'B') goto yy479;
- if (yych != 'b') goto yy31;
-yy479:
- yych = *++p;
- if (yych == 'R') goto yy480;
- if (yych != 'r') goto yy31;
-yy480:
- yych = *++p;
- if (yych == 'I') goto yy481;
- if (yych != 'i') goto yy31;
-yy481:
- yych = *++p;
- if (yych == 'T') goto yy482;
- if (yych != 't') goto yy31;
-yy482:
- yych = *++p;
- if (yych == 'E') goto yy483;
- if (yych != 'e') goto yy31;
-yy483:
- yych = *++p;
- if (yych != '-') goto yy31;
- yych = *++p;
- if (yych == 'A') goto yy485;
- if (yych != 'a') goto yy31;
-yy485:
- yych = *++p;
- if (yych == 'T') goto yy486;
- if (yych != 't') goto yy31;
-yy486:
- yych = *++p;
- if (yych == 'T') goto yy487;
- if (yych != 't') goto yy31;
-yy487:
- yych = *++p;
- if (yych == 'E') goto yy488;
- if (yych != 'e') goto yy31;
-yy488:
- yych = *++p;
- if (yych == 'N') goto yy489;
- if (yych != 'n') goto yy31;
-yy489:
- yych = *++p;
- if (yych == 'D') goto yy490;
- if (yych != 'd') goto yy31;
-yy490:
- yych = *++p;
- if (yych == 'E') goto yy491;
- if (yych != 'e') goto yy31;
-yy491:
- ++p;
- if ((yych = *p) == 'E') goto yy41;
- if (yych == 'e') goto yy41;
- goto yy31;
-}
+ {
+ unsigned char yych;
+ yych = *(marker = p);
+ if (yych <= 'c') {
+ if (yych <= 'M') {
+ if (yych <= 'E') {
+ if (yych <= 'A') {
+ if (yych == '\n')
+ goto yy2;
+ if (yych <= '@')
+ goto yy29;
+ goto yy6;
+ } else {
+ if (yych <= 'B')
+ goto yy24;
+ if (yych <= 'C')
+ goto yy3;
+ if (yych <= 'D')
+ goto yy4;
+ goto yy25;
+ }
+ } else {
+ if (yych <= 'I') {
+ if (yych <= 'F')
+ goto yy7;
+ if (yych <= 'G')
+ goto yy8;
+ if (yych <= 'H')
+ goto yy9;
+ goto yy10;
+ } else {
+ if (yych <= 'J')
+ goto yy5;
+ if (yych <= 'K')
+ goto yy26;
+ if (yych <= 'L')
+ goto yy11;
+ goto yy12;
+ }
+ }
+ } else {
+ if (yych <= 'U') {
+ if (yych <= 'Q') {
+ if (yych <= 'N')
+ goto yy13;
+ if (yych <= 'O')
+ goto yy14;
+ if (yych <= 'P')
+ goto yy15;
+ goto yy27;
+ } else {
+ if (yych <= 'R')
+ goto yy16;
+ if (yych <= 'S')
+ goto yy17;
+ if (yych <= 'T')
+ goto yy18;
+ goto yy19;
+ }
+ } else {
+ if (yych <= 'Y') {
+ if (yych <= 'V')
+ goto yy20;
+ if (yych <= 'W')
+ goto yy21;
+ if (yych <= 'X')
+ goto yy22;
+ goto yy28;
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z')
+ goto yy23;
+ goto yy29;
+ } else {
+ if (yych <= 'a')
+ goto yy6;
+ if (yych <= 'b')
+ goto yy24;
+ goto yy3;
+ }
+ }
+ }
+ }
+ } else {
+ if (yych <= 't') {
+ if (yych <= 'k') {
+ if (yych <= 'g') {
+ if (yych <= 'd')
+ goto yy4;
+ if (yych <= 'e')
+ goto yy25;
+ if (yych <= 'f')
+ goto yy7;
+ goto yy8;
+ } else {
+ if (yych <= 'h')
+ goto yy9;
+ if (yych <= 'i')
+ goto yy10;
+ if (yych <= 'j')
+ goto yy5;
+ goto yy26;
+ }
+ } else {
+ if (yych <= 'o') {
+ if (yych <= 'l')
+ goto yy11;
+ if (yych <= 'm')
+ goto yy12;
+ if (yych <= 'n')
+ goto yy13;
+ goto yy14;
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'p')
+ goto yy15;
+ goto yy27;
+ } else {
+ if (yych <= 'r')
+ goto yy16;
+ if (yych <= 's')
+ goto yy17;
+ goto yy18;
+ }
+ }
+ }
+ } else {
+ if (yych <= 0xC1) {
+ if (yych <= 'x') {
+ if (yych <= 'u')
+ goto yy19;
+ if (yych <= 'v')
+ goto yy20;
+ if (yych <= 'w')
+ goto yy21;
+ goto yy22;
+ } else {
+ if (yych <= 'y')
+ goto yy28;
+ if (yych <= 'z')
+ goto yy23;
+ if (yych <= 0x7F)
+ goto yy29;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy30;
+ if (yych <= 0xE0)
+ goto yy32;
+ if (yych <= 0xEC)
+ goto yy33;
+ goto yy37;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy33;
+ goto yy34;
+ } else {
+ if (yych <= 0xF3)
+ goto yy35;
+ if (yych <= 0xF4)
+ goto yy36;
+ }
+ }
+ }
+ }
+ }
+ yy2 : { return 0; }
+ yy3:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy447;
+ case 'H':
+ case 'h':
+ goto yy446;
+ case 'I':
+ case 'i':
+ goto yy449;
+ case 'O':
+ case 'o':
+ goto yy445;
+ case 'R':
+ case 'r':
+ goto yy448;
+ case 'V':
+ case 'v':
+ goto yy444;
+ default:
+ goto yy2;
+ }
+ yy4:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy420;
+ case 'I':
+ case 'i':
+ goto yy419;
+ case 'L':
+ case 'l':
+ goto yy417;
+ case 'N':
+ case 'n':
+ goto yy418;
+ case 'O':
+ case 'o':
+ goto yy421;
+ case 'T':
+ case 't':
+ goto yy416;
+ case 'V':
+ case 'v':
+ goto yy415;
+ default:
+ goto yy2;
+ }
+ yy5:
+ yych = *(marker = ++p);
+ if (yych <= 'M') {
+ if (yych == 'A')
+ goto yy407;
+ if (yych <= 'L')
+ goto yy2;
+ goto yy406;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy2;
+ goto yy407;
+ } else {
+ if (yych == 'm')
+ goto yy406;
+ goto yy2;
+ }
+ }
+ yy6:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy388;
+ case 'B':
+ case 'b':
+ goto yy387;
+ case 'C':
+ case 'c':
+ goto yy386;
+ case 'D':
+ case 'd':
+ goto yy385;
+ case 'F':
+ case 'f':
+ goto yy384;
+ case 'I':
+ case 'i':
+ goto yy383;
+ case 'P':
+ case 'p':
+ goto yy382;
+ case 'T':
+ case 't':
+ goto yy381;
+ case 'W':
+ case 'w':
+ goto yy41;
+ default:
+ goto yy2;
+ }
+ yy7:
+ yych = *(marker = ++p);
+ if (yych <= 'T') {
+ if (yych <= 'E') {
+ if (yych == 'A')
+ goto yy368;
+ if (yych <= 'D')
+ goto yy2;
+ goto yy367;
+ } else {
+ if (yych == 'I')
+ goto yy366;
+ if (yych <= 'S')
+ goto yy2;
+ goto yy369;
+ }
+ } else {
+ if (yych <= 'e') {
+ if (yych == 'a')
+ goto yy368;
+ if (yych <= 'd')
+ goto yy2;
+ goto yy367;
+ } else {
+ if (yych <= 'i') {
+ if (yych <= 'h')
+ goto yy2;
+ goto yy366;
+ } else {
+ if (yych == 't')
+ goto yy369;
+ goto yy2;
+ }
+ }
+ }
+ yy8:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'E':
+ case 'e':
+ goto yy351;
+ case 'G':
+ case 'g':
+ goto yy41;
+ case 'I':
+ case 'i':
+ goto yy349;
+ case 'O':
+ case 'o':
+ goto yy350;
+ case 'T':
+ case 't':
+ goto yy348;
+ default:
+ goto yy2;
+ }
+ yy9:
+ yych = *(marker = ++p);
+ if (yych <= 'S') {
+ if (yych <= '3') {
+ if (yych <= '2')
+ goto yy2;
+ goto yy344;
+ } else {
+ if (yych == 'C')
+ goto yy342;
+ goto yy2;
+ }
+ } else {
+ if (yych <= 'c') {
+ if (yych <= 'T')
+ goto yy343;
+ if (yych <= 'b')
+ goto yy2;
+ goto yy342;
+ } else {
+ if (yych == 't')
+ goto yy343;
+ goto yy2;
+ }
+ }
+ yy10:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy324;
+ case 'C':
+ case 'c':
+ goto yy321;
+ case 'M':
+ case 'm':
+ goto yy323;
+ case 'N':
+ case 'n':
+ goto yy322;
+ case 'P':
+ case 'p':
+ goto yy320;
+ case 'R':
+ case 'r':
+ goto yy319;
+ case 'T':
+ case 't':
+ goto yy318;
+ default:
+ goto yy2;
+ }
+ yy11:
+ yych = *(marker = ++p);
+ if (yych <= 'D') {
+ if (yych == 'A')
+ goto yy312;
+ if (yych <= 'C')
+ goto yy2;
+ goto yy311;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy2;
+ goto yy312;
+ } else {
+ if (yych == 'd')
+ goto yy311;
+ goto yy2;
+ }
+ }
+ yy12:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy278;
+ case 'E':
+ case 'e':
+ goto yy277;
+ case 'I':
+ case 'i':
+ goto yy280;
+ case 'M':
+ case 'm':
+ goto yy276;
+ case 'S':
+ case 's':
+ goto yy275;
+ case 'T':
+ case 't':
+ goto yy279;
+ case 'U':
+ case 'u':
+ goto yy274;
+ case 'V':
+ case 'v':
+ goto yy273;
+ default:
+ goto yy2;
+ }
+ yy13:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'E':
+ case 'e':
+ goto yy268;
+ case 'F':
+ case 'f':
+ goto yy267;
+ case 'I':
+ case 'i':
+ goto yy266;
+ case 'N':
+ case 'n':
+ goto yy265;
+ case 'O':
+ case 'o':
+ goto yy264;
+ default:
+ goto yy2;
+ }
+ yy14:
+ yych = *(marker = ++p);
+ if (yych <= 'P') {
+ if (yych == 'I')
+ goto yy250;
+ if (yych <= 'O')
+ goto yy2;
+ goto yy251;
+ } else {
+ if (yych <= 'i') {
+ if (yych <= 'h')
+ goto yy2;
+ goto yy250;
+ } else {
+ if (yych == 'p')
+ goto yy251;
+ goto yy2;
+ }
+ }
+ yy15:
+ yych = *(marker = ++p);
+ if (yych <= 'S') {
+ if (yych <= 'L') {
+ if (yych == 'A')
+ goto yy232;
+ if (yych <= 'K')
+ goto yy2;
+ goto yy231;
+ } else {
+ if (yych <= 'O') {
+ if (yych <= 'N')
+ goto yy2;
+ goto yy233;
+ } else {
+ if (yych <= 'Q')
+ goto yy2;
+ if (yych <= 'R')
+ goto yy230;
+ goto yy229;
+ }
+ }
+ } else {
+ if (yych <= 'n') {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy2;
+ goto yy232;
+ } else {
+ if (yych == 'l')
+ goto yy231;
+ goto yy2;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'o')
+ goto yy233;
+ goto yy2;
+ } else {
+ if (yych <= 'r')
+ goto yy230;
+ if (yych <= 's')
+ goto yy229;
+ goto yy2;
+ }
+ }
+ }
+ yy16:
+ yych = *(marker = ++p);
+ if (yych <= 'T') {
+ if (yych <= 'L') {
+ if (yych == 'E')
+ goto yy219;
+ goto yy2;
+ } else {
+ if (yych <= 'M')
+ goto yy218;
+ if (yych <= 'R')
+ goto yy2;
+ if (yych <= 'S')
+ goto yy217;
+ goto yy216;
+ }
+ } else {
+ if (yych <= 'm') {
+ if (yych == 'e')
+ goto yy219;
+ if (yych <= 'l')
+ goto yy2;
+ goto yy218;
+ } else {
+ if (yych <= 'r')
+ goto yy2;
+ if (yych <= 's')
+ goto yy217;
+ if (yych <= 't')
+ goto yy216;
+ goto yy2;
+ }
+ }
+ yy17:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'E':
+ case 'e':
+ goto yy172;
+ case 'F':
+ case 'f':
+ goto yy171;
+ case 'G':
+ case 'g':
+ goto yy170;
+ case 'H':
+ case 'h':
+ goto yy175;
+ case 'I':
+ case 'i':
+ goto yy174;
+ case 'K':
+ case 'k':
+ goto yy169;
+ case 'M':
+ case 'm':
+ goto yy168;
+ case 'N':
+ case 'n':
+ goto yy173;
+ case 'O':
+ case 'o':
+ goto yy167;
+ case 'P':
+ case 'p':
+ goto yy166;
+ case 'S':
+ case 's':
+ goto yy165;
+ case 'T':
+ case 't':
+ goto yy164;
+ case 'V':
+ case 'v':
+ goto yy163;
+ default:
+ goto yy2;
+ }
+ yy18:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy139;
+ case 'E':
+ case 'e':
+ goto yy135;
+ case 'F':
+ case 'f':
+ goto yy138;
+ case 'H':
+ case 'h':
+ goto yy134;
+ case 'I':
+ case 'i':
+ goto yy136;
+ case 'N':
+ case 'n':
+ goto yy137;
+ case 'V':
+ case 'v':
+ goto yy41;
+ default:
+ goto yy2;
+ }
+ yy19:
+ yych = *(marker = ++p);
+ if (yych <= 'T') {
+ if (yych <= 'N') {
+ if (yych == 'D')
+ goto yy126;
+ if (yych <= 'M')
+ goto yy2;
+ goto yy125;
+ } else {
+ if (yych == 'R')
+ goto yy127;
+ if (yych <= 'S')
+ goto yy2;
+ goto yy124;
+ }
+ } else {
+ if (yych <= 'n') {
+ if (yych == 'd')
+ goto yy126;
+ if (yych <= 'm')
+ goto yy2;
+ goto yy125;
+ } else {
+ if (yych <= 'r') {
+ if (yych <= 'q')
+ goto yy2;
+ goto yy127;
+ } else {
+ if (yych == 't')
+ goto yy124;
+ goto yy2;
+ }
+ }
+ }
+ yy20:
+ yych = *(marker = ++p);
+ if (yych <= 'I') {
+ if (yych == 'E')
+ goto yy108;
+ if (yych <= 'H')
+ goto yy2;
+ goto yy107;
+ } else {
+ if (yych <= 'e') {
+ if (yych <= 'd')
+ goto yy2;
+ goto yy108;
+ } else {
+ if (yych == 'i')
+ goto yy107;
+ goto yy2;
+ }
+ }
+ yy21:
+ yych = *(marker = ++p);
+ if (yych <= 'Y') {
+ if (yych <= 'R') {
+ if (yych == 'E')
+ goto yy97;
+ goto yy2;
+ } else {
+ if (yych <= 'S')
+ goto yy98;
+ if (yych <= 'T')
+ goto yy96;
+ if (yych <= 'X')
+ goto yy2;
+ goto yy95;
+ }
+ } else {
+ if (yych <= 's') {
+ if (yych == 'e')
+ goto yy97;
+ if (yych <= 'r')
+ goto yy2;
+ goto yy98;
+ } else {
+ if (yych <= 't')
+ goto yy96;
+ if (yych == 'y')
+ goto yy95;
+ goto yy2;
+ }
+ }
+ yy22:
+ yych = *(marker = ++p);
+ if (yych <= 'R') {
+ if (yych <= 'F') {
+ if (yych == 'C')
+ goto yy74;
+ if (yych <= 'E')
+ goto yy2;
+ goto yy72;
+ } else {
+ if (yych == 'M')
+ goto yy73;
+ if (yych <= 'Q')
+ goto yy2;
+ goto yy71;
+ }
+ } else {
+ if (yych <= 'f') {
+ if (yych == 'c')
+ goto yy74;
+ if (yych <= 'e')
+ goto yy2;
+ goto yy72;
+ } else {
+ if (yych <= 'm') {
+ if (yych <= 'l')
+ goto yy2;
+ goto yy73;
+ } else {
+ if (yych == 'r')
+ goto yy71;
+ goto yy2;
+ }
+ }
+ }
+ yy23:
+ yych = *(marker = ++p);
+ if (yych == '3')
+ goto yy66;
+ goto yy2;
+ yy24:
+ yych = *(marker = ++p);
+ if (yych <= 'O') {
+ if (yych <= 'H') {
+ if (yych == 'E')
+ goto yy56;
+ goto yy2;
+ } else {
+ if (yych <= 'I')
+ goto yy55;
+ if (yych <= 'N')
+ goto yy2;
+ goto yy54;
+ }
+ } else {
+ if (yych <= 'h') {
+ if (yych == 'e')
+ goto yy56;
+ goto yy2;
+ } else {
+ if (yych <= 'i')
+ goto yy55;
+ if (yych == 'o')
+ goto yy54;
+ goto yy2;
+ }
+ }
+ yy25:
+ yych = *(marker = ++p);
+ if (yych == 'D')
+ goto yy52;
+ if (yych == 'd')
+ goto yy52;
+ goto yy2;
+ yy26:
+ yych = *(marker = ++p);
+ if (yych == 'E')
+ goto yy47;
+ if (yych == 'e')
+ goto yy47;
+ goto yy2;
+ yy27:
+ yych = *(marker = ++p);
+ if (yych == 'U')
+ goto yy44;
+ if (yych == 'u')
+ goto yy44;
+ goto yy2;
+ yy28:
+ yych = *(marker = ++p);
+ if (yych == 'M')
+ goto yy38;
+ if (yych == 'm')
+ goto yy38;
+ goto yy2;
+ yy29:
+ yych = *++p;
+ goto yy2;
+ yy30:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy31;
+ if (yych <= 0xBF)
+ goto yy29;
+ yy31:
+ p = marker;
+ goto yy2;
+ yy32:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy31;
+ if (yych <= 0xBF)
+ goto yy30;
+ goto yy31;
+ yy33:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy31;
+ if (yych <= 0xBF)
+ goto yy30;
+ goto yy31;
+ yy34:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy31;
+ if (yych <= 0xBF)
+ goto yy33;
+ goto yy31;
+ yy35:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy31;
+ if (yych <= 0xBF)
+ goto yy33;
+ goto yy31;
+ yy36:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy31;
+ if (yych <= 0x8F)
+ goto yy33;
+ goto yy31;
+ yy37:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy31;
+ if (yych <= 0x9F)
+ goto yy30;
+ goto yy31;
+ yy38:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy39;
+ if (yych != 's')
+ goto yy31;
+ yy39:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy40;
+ if (yych != 'g')
+ goto yy31;
+ yy40:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy41;
+ if (yych != 'r')
+ goto yy31;
+ yy41:
+ yych = *++p;
+ if (yych != ':')
+ goto yy31;
+ yy42:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy44:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy45;
+ if (yych != 'e')
+ goto yy31;
+ yy45:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy46;
+ if (yych != 'r')
+ goto yy31;
+ yy46:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy41;
+ if (yych == 'y')
+ goto yy41;
+ goto yy31;
+ yy47:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy48;
+ if (yych != 'y')
+ goto yy31;
+ yy48:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy49;
+ if (yych != 'p')
+ goto yy31;
+ yy49:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy50;
+ if (yych != 'a')
+ goto yy31;
+ yy50:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy51;
+ if (yych != 'r')
+ goto yy31;
+ yy51:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy41;
+ if (yych == 'c')
+ goto yy41;
+ goto yy31;
+ yy52:
+ yych = *++p;
+ if (yych != '2')
+ goto yy31;
+ yych = *++p;
+ if (yych == 'K')
+ goto yy41;
+ if (yych == 'k')
+ goto yy41;
+ goto yy31;
+ yy54:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy65;
+ if (yych == 'l')
+ goto yy65;
+ goto yy31;
+ yy55:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy61;
+ if (yych == 't')
+ goto yy61;
+ goto yy31;
+ yy56:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy57;
+ if (yych != 's')
+ goto yy31;
+ yy57:
+ yych = *++p;
+ if (yych == 'H')
+ goto yy58;
+ if (yych != 'h')
+ goto yy31;
+ yy58:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy59;
+ if (yych != 'a')
+ goto yy31;
+ yy59:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy60;
+ if (yych != 'r')
+ goto yy31;
+ yy60:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy41;
+ if (yych == 'e')
+ goto yy41;
+ goto yy31;
+ yy61:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy62;
+ if (yych != 'c')
+ goto yy31;
+ yy62:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy63;
+ if (yych != 'o')
+ goto yy31;
+ yy63:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy64;
+ if (yych != 'i')
+ goto yy31;
+ yy64:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy41;
+ if (yych == 'n')
+ goto yy41;
+ goto yy31;
+ yy65:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy41;
+ if (yych == 'o')
+ goto yy41;
+ goto yy31;
+ yy66:
+ yych = *++p;
+ if (yych != '9')
+ goto yy31;
+ yych = *++p;
+ if (yych != '.')
+ goto yy31;
+ yych = *++p;
+ if (yych != '5')
+ goto yy31;
+ yych = *++p;
+ if (yych != '0')
+ goto yy31;
+ yych = *++p;
+ if (yych <= 'Q')
+ goto yy31;
+ if (yych <= 'S')
+ goto yy41;
+ if (yych <= 'q')
+ goto yy31;
+ if (yych <= 's')
+ goto yy41;
+ goto yy31;
+ yy71:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy41;
+ if (yych == 'i')
+ goto yy41;
+ goto yy31;
+ yy72:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy93;
+ if (yych == 'i')
+ goto yy93;
+ goto yy31;
+ yy73:
+ yych = *++p;
+ if (yych <= 'P') {
+ if (yych == 'L')
+ goto yy83;
+ if (yych <= 'O')
+ goto yy31;
+ goto yy84;
+ } else {
+ if (yych <= 'l') {
+ if (yych <= 'k')
+ goto yy31;
+ goto yy83;
+ } else {
+ if (yych == 'p')
+ goto yy84;
+ goto yy31;
+ }
+ }
+ yy74:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy75;
+ if (yych != 'o')
+ goto yy31;
+ yy75:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy76;
+ if (yych != 'n')
+ goto yy31;
+ yy76:
+ yych = *++p;
+ if (yych == '-')
+ goto yy77;
+ if (yych == ':')
+ goto yy42;
+ goto yy31;
+ yy77:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy78;
+ if (yych != 'u')
+ goto yy31;
+ yy78:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy79;
+ if (yych != 's')
+ goto yy31;
+ yy79:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy80;
+ if (yych != 'e')
+ goto yy31;
+ yy80:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy81;
+ if (yych != 'r')
+ goto yy31;
+ yy81:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy82;
+ if (yych != 'i')
+ goto yy31;
+ yy82:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy41;
+ if (yych == 'd')
+ goto yy41;
+ goto yy31;
+ yy83:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy85;
+ if (yych == 'r')
+ goto yy85;
+ goto yy31;
+ yy84:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy85:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy86;
+ if (yych != 'p')
+ goto yy31;
+ yy86:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy87;
+ if (yych != 'c')
+ goto yy31;
+ yy87:
+ yych = *++p;
+ if (yych != '.')
+ goto yy31;
+ yych = *++p;
+ if (yych == 'B')
+ goto yy89;
+ if (yych != 'b')
+ goto yy31;
+ yy89:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy90;
+ if (yych != 'e')
+ goto yy31;
+ yy90:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy91;
+ if (yych != 'e')
+ goto yy31;
+ yy91:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy92;
+ if (yych != 'p')
+ goto yy31;
+ yy92:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy42;
+ goto yy31;
+ } else {
+ if (yych <= 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ }
+ yy93:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy94;
+ if (yych != 'r')
+ goto yy31;
+ yy94:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy41;
+ if (yych == 'e')
+ goto yy41;
+ goto yy31;
+ yy95:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy103;
+ if (yych == 'c')
+ goto yy103;
+ goto yy31;
+ yy96:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy102;
+ if (yych == 'a')
+ goto yy102;
+ goto yy31;
+ yy97:
+ yych = *++p;
+ if (yych == 'B')
+ goto yy99;
+ if (yych == 'b')
+ goto yy99;
+ goto yy31;
+ yy98:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy42;
+ goto yy31;
+ } else {
+ if (yych <= 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ }
+ yy99:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy100;
+ if (yych != 'c')
+ goto yy31;
+ yy100:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy101;
+ if (yych != 'a')
+ goto yy31;
+ yy101:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy41;
+ if (yych == 'l')
+ goto yy41;
+ goto yy31;
+ yy102:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy41;
+ if (yych == 'i')
+ goto yy41;
+ goto yy31;
+ yy103:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy104;
+ if (yych != 'i')
+ goto yy31;
+ yy104:
+ yych = *++p;
+ if (yych == 'W')
+ goto yy105;
+ if (yych != 'w')
+ goto yy31;
+ yy105:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy106;
+ if (yych != 'y')
+ goto yy31;
+ yy106:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy41;
+ if (yych == 'g')
+ goto yy41;
+ goto yy31;
+ yy107:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy116;
+ if (yych == 'e')
+ goto yy116;
+ goto yy31;
+ yy108:
+ yych = *++p;
+ if (yych <= 'N') {
+ if (yych <= 'L')
+ goto yy31;
+ if (yych >= 'N')
+ goto yy110;
+ } else {
+ if (yych <= 'l')
+ goto yy31;
+ if (yych <= 'm')
+ goto yy109;
+ if (yych <= 'n')
+ goto yy110;
+ goto yy31;
+ }
+ yy109:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy115;
+ if (yych == 'm')
+ goto yy115;
+ goto yy31;
+ yy110:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy111;
+ if (yych != 't')
+ goto yy31;
+ yy111:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy112;
+ if (yych != 'r')
+ goto yy31;
+ yy112:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy113;
+ if (yych != 'i')
+ goto yy31;
+ yy113:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy114;
+ if (yych != 'l')
+ goto yy31;
+ yy114:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy41;
+ if (yych == 'o')
+ goto yy41;
+ goto yy31;
+ yy115:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy41;
+ if (yych == 'i')
+ goto yy41;
+ goto yy31;
+ yy116:
+ yych = *++p;
+ if (yych == 'W')
+ goto yy117;
+ if (yych != 'w')
+ goto yy31;
+ yy117:
+ yych = *++p;
+ if (yych != '-')
+ goto yy31;
+ yych = *++p;
+ if (yych == 'S')
+ goto yy119;
+ if (yych != 's')
+ goto yy31;
+ yy119:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy120;
+ if (yych != 'o')
+ goto yy31;
+ yy120:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy121;
+ if (yych != 'u')
+ goto yy31;
+ yy121:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy122;
+ if (yych != 'r')
+ goto yy31;
+ yy122:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy123;
+ if (yych != 'c')
+ goto yy31;
+ yy123:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy41;
+ if (yych == 'e')
+ goto yy41;
+ goto yy31;
+ yy124:
+ yych = *++p;
+ if (yych == '2')
+ goto yy131;
+ goto yy31;
+ yy125:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy128;
+ if (yych == 'r')
+ goto yy128;
+ goto yy31;
+ yy126:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy127:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy41;
+ if (yych == 'n')
+ goto yy41;
+ goto yy31;
+ yy128:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy129;
+ if (yych != 'e')
+ goto yy31;
+ yy129:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy130;
+ if (yych != 'a')
+ goto yy31;
+ yy130:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy41;
+ if (yych == 'l')
+ goto yy41;
+ goto yy31;
+ yy131:
+ yych = *++p;
+ if (yych != '0')
+ goto yy31;
+ yych = *++p;
+ if (yych != '0')
+ goto yy31;
+ yych = *++p;
+ if (yych == '4')
+ goto yy41;
+ goto yy31;
+ yy134:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy153;
+ if (yych == 'i')
+ goto yy153;
+ goto yy31;
+ yy135:
+ yych = *++p;
+ if (yych <= 'L') {
+ if (yych == 'A')
+ goto yy145;
+ if (yych <= 'K')
+ goto yy31;
+ goto yy144;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy31;
+ goto yy145;
+ } else {
+ if (yych == 'l')
+ goto yy144;
+ goto yy31;
+ }
+ }
+ yy136:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy137:
+ yych = *++p;
+ if (yych == '3')
+ goto yy141;
+ goto yy31;
+ yy138:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy140;
+ if (yych == 't')
+ goto yy140;
+ goto yy31;
+ yy139:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy41;
+ if (yych == 'g')
+ goto yy41;
+ goto yy31;
+ yy140:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy141:
+ yych = *++p;
+ if (yych != '2')
+ goto yy31;
+ yych = *++p;
+ if (yych != '7')
+ goto yy31;
+ yych = *++p;
+ if (yych == '0')
+ goto yy41;
+ goto yy31;
+ yy144:
+ yych = *++p;
+ if (yych <= 'M') {
+ if (yych == ':')
+ goto yy42;
+ goto yy31;
+ } else {
+ if (yych <= 'N')
+ goto yy151;
+ if (yych == 'n')
+ goto yy151;
+ goto yy31;
+ }
+ yy145:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy146;
+ if (yych != 'm')
+ goto yy31;
+ yy146:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy147;
+ if (yych != 's')
+ goto yy31;
+ yy147:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy148;
+ if (yych != 'p')
+ goto yy31;
+ yy148:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy149;
+ if (yych != 'e')
+ goto yy31;
+ yy149:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy150;
+ if (yych != 'a')
+ goto yy31;
+ yy150:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy41;
+ if (yych == 'k')
+ goto yy41;
+ goto yy31;
+ yy151:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy152;
+ if (yych != 'e')
+ goto yy31;
+ yy152:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy41;
+ if (yych == 't')
+ goto yy41;
+ goto yy31;
+ yy153:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych == 'N')
+ goto yy154;
+ if (yych <= 'R')
+ goto yy31;
+ goto yy155;
+ } else {
+ if (yych <= 'n') {
+ if (yych <= 'm')
+ goto yy31;
+ } else {
+ if (yych == 's')
+ goto yy155;
+ goto yy31;
+ }
+ }
+ yy154:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy162;
+ if (yych == 'g')
+ goto yy162;
+ goto yy31;
+ yy155:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy156;
+ if (yych != 'm')
+ goto yy31;
+ yy156:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy157;
+ if (yych != 'e')
+ goto yy31;
+ yy157:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy158;
+ if (yych != 's')
+ goto yy31;
+ yy158:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy159;
+ if (yych != 's')
+ goto yy31;
+ yy159:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy160;
+ if (yych != 'a')
+ goto yy31;
+ yy160:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy161;
+ if (yych != 'g')
+ goto yy31;
+ yy161:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy41;
+ if (yych == 'e')
+ goto yy41;
+ goto yy31;
+ yy162:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ yy163:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy41;
+ if (yych == 'n')
+ goto yy41;
+ goto yy31;
+ yy164:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy214;
+ if (yych == 'e')
+ goto yy214;
+ goto yy31;
+ yy165:
+ yych = *++p;
+ if (yych == 'H')
+ goto yy41;
+ if (yych == 'h')
+ goto yy41;
+ goto yy31;
+ yy166:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy210;
+ if (yych == 'o')
+ goto yy210;
+ goto yy31;
+ yy167:
+ yych = *++p;
+ if (yych <= 'L') {
+ if (yych == 'A')
+ goto yy200;
+ if (yych <= 'K')
+ goto yy31;
+ goto yy201;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy31;
+ goto yy200;
+ } else {
+ if (yych == 'l')
+ goto yy201;
+ goto yy31;
+ }
+ }
+ yy168:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych == 'B')
+ goto yy41;
+ if (yych <= 'R')
+ goto yy31;
+ goto yy41;
+ } else {
+ if (yych <= 'b') {
+ if (yych <= 'a')
+ goto yy31;
+ goto yy41;
+ } else {
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ }
+ }
+ yy169:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy198;
+ if (yych == 'y')
+ goto yy198;
+ goto yy31;
+ yy170:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy41;
+ if (yych == 'n')
+ goto yy41;
+ goto yy31;
+ yy171:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy197;
+ if (yych == 't')
+ goto yy197;
+ goto yy31;
+ yy172:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych <= 'C') {
+ if (yych <= 'B')
+ goto yy31;
+ goto yy184;
+ } else {
+ if (yych <= 'Q')
+ goto yy31;
+ if (yych <= 'R')
+ goto yy182;
+ goto yy183;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych == 'c')
+ goto yy184;
+ goto yy31;
+ } else {
+ if (yych <= 'r')
+ goto yy182;
+ if (yych <= 's')
+ goto yy183;
+ goto yy31;
+ }
+ }
+ yy173:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy181;
+ if (yych == 'm')
+ goto yy181;
+ goto yy31;
+ yy174:
+ yych = *++p;
+ if (yych <= 'P') {
+ if (yych == 'E')
+ goto yy178;
+ if (yych <= 'O')
+ goto yy31;
+ goto yy179;
+ } else {
+ if (yych <= 'e') {
+ if (yych <= 'd')
+ goto yy31;
+ goto yy178;
+ } else {
+ if (yych == 'p')
+ goto yy179;
+ goto yy31;
+ }
+ }
+ yy175:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy176;
+ if (yych != 't')
+ goto yy31;
+ yy176:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy177;
+ if (yych != 't')
+ goto yy31;
+ yy177:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy178:
+ yych = *++p;
+ if (yych == 'V')
+ goto yy180;
+ if (yych == 'v')
+ goto yy180;
+ goto yy31;
+ yy179:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy42;
+ goto yy31;
+ } else {
+ if (yych <= 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ }
+ yy180:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy41;
+ if (yych == 'e')
+ goto yy41;
+ goto yy31;
+ yy181:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy182:
+ yych = *++p;
+ if (yych == 'V')
+ goto yy194;
+ if (yych == 'v')
+ goto yy194;
+ goto yy31;
+ yy183:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy191;
+ if (yych == 's')
+ goto yy191;
+ goto yy31;
+ yy184:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy185;
+ if (yych != 'o')
+ goto yy31;
+ yy185:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy186;
+ if (yych != 'n')
+ goto yy31;
+ yy186:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy187;
+ if (yych != 'd')
+ goto yy31;
+ yy187:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy188;
+ if (yych != 'l')
+ goto yy31;
+ yy188:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy189;
+ if (yych != 'i')
+ goto yy31;
+ yy189:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy190;
+ if (yych != 'f')
+ goto yy31;
+ yy190:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy41;
+ if (yych == 'e')
+ goto yy41;
+ goto yy31;
+ yy191:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy192;
+ if (yych != 'i')
+ goto yy31;
+ yy192:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy193;
+ if (yych != 'o')
+ goto yy31;
+ yy193:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy41;
+ if (yych == 'n')
+ goto yy41;
+ goto yy31;
+ yy194:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy195;
+ if (yych != 'i')
+ goto yy31;
+ yy195:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy196;
+ if (yych != 'c')
+ goto yy31;
+ yy196:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy41;
+ if (yych == 'e')
+ goto yy41;
+ goto yy31;
+ yy197:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy198:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy199;
+ if (yych != 'p')
+ goto yy31;
+ yy199:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy41;
+ if (yych == 'e')
+ goto yy41;
+ goto yy31;
+ yy200:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy204;
+ if (yych == 'p')
+ goto yy204;
+ goto yy31;
+ yy201:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy202;
+ if (yych != 'd')
+ goto yy31;
+ yy202:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy203;
+ if (yych != 'a')
+ goto yy31;
+ yy203:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy41;
+ if (yych == 't')
+ goto yy41;
+ goto yy31;
+ yy204:
+ yych = *++p;
+ if (yych != '.')
+ goto yy31;
+ yych = *++p;
+ if (yych == 'B')
+ goto yy206;
+ if (yych != 'b')
+ goto yy31;
+ yy206:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy207;
+ if (yych != 'e')
+ goto yy31;
+ yy207:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy208;
+ if (yych != 'e')
+ goto yy31;
+ yy208:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy209;
+ if (yych != 'p')
+ goto yy31;
+ yy209:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy42;
+ goto yy31;
+ } else {
+ if (yych <= 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ }
+ yy210:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy211;
+ if (yych != 't')
+ goto yy31;
+ yy211:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy212;
+ if (yych != 'i')
+ goto yy31;
+ yy212:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy213;
+ if (yych != 'f')
+ goto yy31;
+ yy213:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy41;
+ if (yych == 'y')
+ goto yy41;
+ goto yy31;
+ yy214:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy215;
+ if (yych != 'a')
+ goto yy31;
+ yy215:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy41;
+ if (yych == 'm')
+ goto yy41;
+ goto yy31;
+ yy216:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych == 'M')
+ goto yy228;
+ if (yych <= 'R')
+ goto yy31;
+ goto yy227;
+ } else {
+ if (yych <= 'm') {
+ if (yych <= 'l')
+ goto yy31;
+ goto yy228;
+ } else {
+ if (yych == 's')
+ goto yy227;
+ goto yy31;
+ }
+ }
+ yy217:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy225;
+ if (yych == 'y')
+ goto yy225;
+ goto yy31;
+ yy218:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy41;
+ if (yych == 'i')
+ goto yy41;
+ goto yy31;
+ yy219:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy220;
+ if (yych != 's')
+ goto yy31;
+ yy220:
+ yych = *++p;
+ if (yych <= 'N') {
+ if (yych == ':')
+ goto yy42;
+ goto yy31;
+ } else {
+ if (yych <= 'O')
+ goto yy221;
+ if (yych != 'o')
+ goto yy31;
+ }
+ yy221:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy222;
+ if (yych != 'u')
+ goto yy31;
+ yy222:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy223;
+ if (yych != 'r')
+ goto yy31;
+ yy223:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy224;
+ if (yych != 'c')
+ goto yy31;
+ yy224:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy41;
+ if (yych == 'e')
+ goto yy41;
+ goto yy31;
+ yy225:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy226;
+ if (yych != 'n')
+ goto yy31;
+ yy226:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy41;
+ if (yych == 'c')
+ goto yy41;
+ goto yy31;
+ yy227:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy228:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy229:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy249;
+ if (yych == 'y')
+ goto yy249;
+ goto yy31;
+ yy230:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych == 'E')
+ goto yy246;
+ if (yych <= 'N')
+ goto yy31;
+ goto yy247;
+ } else {
+ if (yych <= 'e') {
+ if (yych <= 'd')
+ goto yy31;
+ goto yy246;
+ } else {
+ if (yych == 'o')
+ goto yy247;
+ goto yy31;
+ }
+ }
+ yy231:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy241;
+ if (yych == 'a')
+ goto yy241;
+ goto yy31;
+ yy232:
+ yych = *++p;
+ if (yych <= 'P') {
+ if (yych == 'L')
+ goto yy234;
+ if (yych <= 'O')
+ goto yy31;
+ goto yy235;
+ } else {
+ if (yych <= 'l') {
+ if (yych <= 'k')
+ goto yy31;
+ goto yy234;
+ } else {
+ if (yych == 'p')
+ goto yy235;
+ goto yy31;
+ }
+ }
+ yy233:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy234:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy41;
+ if (yych == 'm')
+ goto yy41;
+ goto yy31;
+ yy235:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy236;
+ if (yych != 'a')
+ goto yy31;
+ yy236:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy237;
+ if (yych != 'r')
+ goto yy31;
+ yy237:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy238;
+ if (yych != 'a')
+ goto yy31;
+ yy238:
+ yych = *++p;
+ if (yych == 'Z')
+ goto yy239;
+ if (yych != 'z')
+ goto yy31;
+ yy239:
+ yych = *++p;
+ if (yych == 'Z')
+ goto yy240;
+ if (yych != 'z')
+ goto yy31;
+ yy240:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy41;
+ if (yych == 'i')
+ goto yy41;
+ goto yy31;
+ yy241:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy242;
+ if (yych != 't')
+ goto yy31;
+ yy242:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy243;
+ if (yych != 'f')
+ goto yy31;
+ yy243:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy244;
+ if (yych != 'o')
+ goto yy31;
+ yy244:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy245;
+ if (yych != 'r')
+ goto yy31;
+ yy245:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy41;
+ if (yych == 'm')
+ goto yy41;
+ goto yy31;
+ yy246:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ yy247:
+ yych = *++p;
+ if (yych == 'X')
+ goto yy248;
+ if (yych != 'x')
+ goto yy31;
+ yy248:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy41;
+ if (yych == 'y')
+ goto yy41;
+ goto yy31;
+ yy249:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy41;
+ if (yych == 'c')
+ goto yy41;
+ goto yy31;
+ yy250:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy41;
+ if (yych == 'd')
+ goto yy41;
+ goto yy31;
+ yy251:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy252;
+ if (yych != 'a')
+ goto yy31;
+ yy252:
+ yych = *++p;
+ if (yych == 'Q')
+ goto yy253;
+ if (yych != 'q')
+ goto yy31;
+ yy253:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy254;
+ if (yych != 'u')
+ goto yy31;
+ yy254:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy255;
+ if (yych != 'e')
+ goto yy31;
+ yy255:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy256;
+ if (yych != 'l')
+ goto yy31;
+ yy256:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy257;
+ if (yych != 'o')
+ goto yy31;
+ yy257:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy258;
+ if (yych != 'c')
+ goto yy31;
+ yy258:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy259;
+ if (yych != 'k')
+ goto yy31;
+ yy259:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy260;
+ if (yych != 't')
+ goto yy31;
+ yy260:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy261;
+ if (yych != 'o')
+ goto yy31;
+ yy261:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy262;
+ if (yych != 'k')
+ goto yy31;
+ yy262:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy263;
+ if (yych != 'e')
+ goto yy31;
+ yy263:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy41;
+ if (yych == 'n')
+ goto yy41;
+ goto yy31;
+ yy264:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy271;
+ if (yych == 't')
+ goto yy271;
+ goto yy31;
+ yy265:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy270;
+ if (yych == 't')
+ goto yy270;
+ goto yy31;
+ yy266:
+ yych = *++p;
+ if (yych <= 'G') {
+ if (yych == ':')
+ goto yy42;
+ goto yy31;
+ } else {
+ if (yych <= 'H')
+ goto yy41;
+ if (yych == 'h')
+ goto yy41;
+ goto yy31;
+ }
+ yy267:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ yy268:
+ yych = *++p;
+ if (yych == 'W')
+ goto yy269;
+ if (yych != 'w')
+ goto yy31;
+ yy269:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ yy270:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy271:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy272;
+ if (yych != 'e')
+ goto yy31;
+ yy272:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ yy273:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy41;
+ if (yych == 'n')
+ goto yy41;
+ goto yy31;
+ yy274:
+ yych = *++p;
+ if (yych <= 'P') {
+ if (yych == 'M')
+ goto yy305;
+ if (yych <= 'O')
+ goto yy31;
+ goto yy304;
+ } else {
+ if (yych <= 'm') {
+ if (yych <= 'l')
+ goto yy31;
+ goto yy305;
+ } else {
+ if (yych == 'p')
+ goto yy304;
+ goto yy31;
+ }
+ }
+ yy275:
+ yych = *++p;
+ if (yych <= 'Q') {
+ if (yych <= '-') {
+ if (yych <= ',')
+ goto yy31;
+ goto yy297;
+ } else {
+ if (yych == 'N')
+ goto yy298;
+ goto yy31;
+ }
+ } else {
+ if (yych <= 'n') {
+ if (yych <= 'R')
+ goto yy296;
+ if (yych <= 'm')
+ goto yy31;
+ goto yy298;
+ } else {
+ if (yych == 'r')
+ goto yy296;
+ goto yy31;
+ }
+ }
+ yy276:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ yy277:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy292;
+ if (yych == 's')
+ goto yy292;
+ goto yy31;
+ yy278:
+ yych = *++p;
+ switch (yych) {
+ case 'G':
+ case 'g':
+ goto yy283;
+ case 'I':
+ case 'i':
+ goto yy282;
+ case 'P':
+ case 'p':
+ goto yy284;
+ case 'R':
+ case 'r':
+ goto yy285;
+ default:
+ goto yy31;
+ }
+ yy279:
+ yych = *++p;
+ if (yych == 'Q')
+ goto yy281;
+ if (yych == 'q')
+ goto yy281;
+ goto yy31;
+ yy280:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy41;
+ if (yych == 'd')
+ goto yy41;
+ goto yy31;
+ yy281:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy282:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy290;
+ if (yych == 'l')
+ goto yy290;
+ goto yy31;
+ yy283:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy288;
+ if (yych == 'n')
+ goto yy288;
+ goto yy31;
+ yy284:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ yy285:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy286;
+ if (yych != 'k')
+ goto yy31;
+ yy286:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy287;
+ if (yych != 'e')
+ goto yy31;
+ yy287:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy41;
+ if (yych == 't')
+ goto yy41;
+ goto yy31;
+ yy288:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy289;
+ if (yych != 'e')
+ goto yy31;
+ yy289:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy41;
+ if (yych == 't')
+ goto yy41;
+ goto yy31;
+ yy290:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy291;
+ if (yych != 't')
+ goto yy31;
+ yy291:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy41;
+ if (yych == 'o')
+ goto yy41;
+ goto yy31;
+ yy292:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy293;
+ if (yych != 's')
+ goto yy31;
+ yy293:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy294;
+ if (yych != 'a')
+ goto yy31;
+ yy294:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy295;
+ if (yych != 'g')
+ goto yy31;
+ yy295:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy41;
+ if (yych == 'e')
+ goto yy41;
+ goto yy31;
+ yy296:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy303;
+ if (yych == 'p')
+ goto yy303;
+ goto yy31;
+ yy297:
+ yych = *++p;
+ if (yych == 'H')
+ goto yy300;
+ if (yych == 'h')
+ goto yy300;
+ goto yy31;
+ yy298:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy299;
+ if (yych != 'i')
+ goto yy31;
+ yy299:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy41;
+ if (yych == 'm')
+ goto yy41;
+ goto yy31;
+ yy300:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy301;
+ if (yych != 'e')
+ goto yy31;
+ yy301:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy302;
+ if (yych != 'l')
+ goto yy31;
+ yy302:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy303:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy42;
+ goto yy31;
+ } else {
+ if (yych <= 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ }
+ yy304:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy308;
+ if (yych == 'd')
+ goto yy308;
+ goto yy31;
+ yy305:
+ yych = *++p;
+ if (yych == 'B')
+ goto yy306;
+ if (yych != 'b')
+ goto yy31;
+ yy306:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy307;
+ if (yych != 'l')
+ goto yy31;
+ yy307:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy41;
+ if (yych == 'e')
+ goto yy41;
+ goto yy31;
+ yy308:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy309;
+ if (yych != 'a')
+ goto yy31;
+ yy309:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy310;
+ if (yych != 't')
+ goto yy31;
+ yy310:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy41;
+ if (yych == 'e')
+ goto yy41;
+ goto yy31;
+ yy311:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy316;
+ if (yych == 'a')
+ goto yy316;
+ goto yy31;
+ yy312:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy313;
+ if (yych != 's')
+ goto yy31;
+ yy313:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy314;
+ if (yych != 't')
+ goto yy31;
+ yy314:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy315;
+ if (yych != 'f')
+ goto yy31;
+ yy315:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy41;
+ if (yych == 'm')
+ goto yy41;
+ goto yy31;
+ yy316:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy317;
+ if (yych != 'p')
+ goto yy31;
+ yy317:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy42;
+ goto yy31;
+ } else {
+ if (yych <= 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ }
+ yy318:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy341;
+ if (yych == 'm')
+ goto yy341;
+ goto yy31;
+ yy319:
+ yych = *++p;
+ if (yych <= 'I') {
+ if (yych == 'C')
+ goto yy330;
+ if (yych <= 'H')
+ goto yy31;
+ goto yy329;
+ } else {
+ if (yych <= 'c') {
+ if (yych <= 'b')
+ goto yy31;
+ goto yy330;
+ } else {
+ if (yych == 'i')
+ goto yy329;
+ goto yy31;
+ }
+ }
+ yy320:
+ yych = *++p;
+ if (yych <= 'P') {
+ if (yych == 'N')
+ goto yy41;
+ if (yych <= 'O')
+ goto yy31;
+ goto yy41;
+ } else {
+ if (yych <= 'n') {
+ if (yych <= 'm')
+ goto yy31;
+ goto yy41;
+ } else {
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ }
+ }
+ yy321:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych == 'A')
+ goto yy327;
+ if (yych <= 'N')
+ goto yy31;
+ goto yy328;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy31;
+ goto yy327;
+ } else {
+ if (yych == 'o')
+ goto yy328;
+ goto yy31;
+ }
+ }
+ yy322:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy326;
+ if (yych == 'f')
+ goto yy326;
+ goto yy31;
+ yy323:
+ yych = *++p;
+ if (yych <= '@') {
+ if (yych == ':')
+ goto yy42;
+ goto yy31;
+ } else {
+ if (yych <= 'A')
+ goto yy325;
+ if (yych == 'a')
+ goto yy325;
+ goto yy31;
+ }
+ yy324:
+ yych = *++p;
+ if (yych == 'X')
+ goto yy41;
+ if (yych == 'x')
+ goto yy41;
+ goto yy31;
+ yy325:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy326:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy41;
+ if (yych == 'o')
+ goto yy41;
+ goto yy31;
+ yy327:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy328:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy41;
+ if (yych == 'n')
+ goto yy41;
+ goto yy31;
+ yy329:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy331;
+ if (yych == 's')
+ goto yy331;
+ goto yy31;
+ yy330:
+ yych = *++p;
+ if (yych <= ':') {
+ if (yych == '6')
+ goto yy41;
+ if (yych <= '9')
+ goto yy31;
+ goto yy42;
+ } else {
+ if (yych <= 'S') {
+ if (yych <= 'R')
+ goto yy31;
+ goto yy41;
+ } else {
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ }
+ }
+ yy331:
+ yych = *++p;
+ if (yych == '.')
+ goto yy332;
+ if (yych == ':')
+ goto yy42;
+ goto yy31;
+ yy332:
+ yych = *++p;
+ if (yych <= 'X') {
+ if (yych <= 'K') {
+ if (yych == 'B')
+ goto yy335;
+ goto yy31;
+ } else {
+ if (yych <= 'L')
+ goto yy333;
+ if (yych <= 'W')
+ goto yy31;
+ goto yy334;
+ }
+ } else {
+ if (yych <= 'k') {
+ if (yych == 'b')
+ goto yy335;
+ goto yy31;
+ } else {
+ if (yych <= 'l')
+ goto yy333;
+ if (yych == 'x')
+ goto yy334;
+ goto yy31;
+ }
+ }
+ yy333:
+ yych = *++p;
+ if (yych == 'W')
+ goto yy340;
+ if (yych == 'w')
+ goto yy340;
+ goto yy31;
+ yy334:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy338;
+ if (yych == 'p')
+ goto yy338;
+ goto yy31;
+ yy335:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy336;
+ if (yych != 'e')
+ goto yy31;
+ yy336:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy337;
+ if (yych != 'e')
+ goto yy31;
+ yy337:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy338:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy339;
+ if (yych != 'c')
+ goto yy31;
+ yy339:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy42;
+ goto yy31;
+ } else {
+ if (yych <= 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ }
+ yy340:
+ yych = *++p;
+ if (yych == 'Z')
+ goto yy41;
+ if (yych == 'z')
+ goto yy41;
+ goto yy31;
+ yy341:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ yy342:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy343:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy346;
+ if (yych == 't')
+ goto yy346;
+ goto yy31;
+ yy344:
+ yych = *++p;
+ if (yych != '2')
+ goto yy31;
+ yych = *++p;
+ if (yych == '3')
+ goto yy41;
+ goto yy31;
+ yy346:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy347;
+ if (yych != 'p')
+ goto yy31;
+ yy347:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy42;
+ goto yy31;
+ } else {
+ if (yych <= 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ }
+ yy348:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy364;
+ if (yych == 'a')
+ goto yy364;
+ goto yy31;
+ yy349:
+ yych = *++p;
+ if (yych <= 'Z') {
+ if (yych == 'T')
+ goto yy41;
+ if (yych <= 'Y')
+ goto yy31;
+ goto yy355;
+ } else {
+ if (yych <= 't') {
+ if (yych <= 's')
+ goto yy31;
+ goto yy41;
+ } else {
+ if (yych == 'z')
+ goto yy355;
+ goto yy31;
+ }
+ }
+ yy350:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych == ':')
+ goto yy42;
+ goto yy31;
+ } else {
+ if (yych <= 'P')
+ goto yy352;
+ if (yych == 'p')
+ goto yy352;
+ goto yy31;
+ }
+ yy351:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy41;
+ if (yych == 'o')
+ goto yy41;
+ goto yy31;
+ yy352:
+ yych = *++p;
+ if (yych == 'H')
+ goto yy353;
+ if (yych != 'h')
+ goto yy31;
+ yy353:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy354;
+ if (yych != 'e')
+ goto yy31;
+ yy354:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy41;
+ if (yych == 'r')
+ goto yy41;
+ goto yy31;
+ yy355:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy356;
+ if (yych != 'm')
+ goto yy31;
+ yy356:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy357;
+ if (yych != 'o')
+ goto yy31;
+ yy357:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy358;
+ if (yych != 'p')
+ goto yy31;
+ yy358:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy359;
+ if (yych != 'r')
+ goto yy31;
+ yy359:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy360;
+ if (yych != 'o')
+ goto yy31;
+ yy360:
+ yych = *++p;
+ if (yych == 'J')
+ goto yy361;
+ if (yych != 'j')
+ goto yy31;
+ yy361:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy362;
+ if (yych != 'e')
+ goto yy31;
+ yy362:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy363;
+ if (yych != 'c')
+ goto yy31;
+ yy363:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy41;
+ if (yych == 't')
+ goto yy41;
+ goto yy31;
+ yy364:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy365;
+ if (yych != 'l')
+ goto yy31;
+ yy365:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy41;
+ if (yych == 'k')
+ goto yy41;
+ goto yy31;
+ yy366:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych <= 'M') {
+ if (yych == 'L')
+ goto yy376;
+ goto yy31;
+ } else {
+ if (yych <= 'N')
+ goto yy377;
+ if (yych <= 'R')
+ goto yy31;
+ goto yy378;
+ }
+ } else {
+ if (yych <= 'm') {
+ if (yych == 'l')
+ goto yy376;
+ goto yy31;
+ } else {
+ if (yych <= 'n')
+ goto yy377;
+ if (yych == 's')
+ goto yy378;
+ goto yy31;
+ }
+ }
+ yy367:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy375;
+ if (yych == 'e')
+ goto yy375;
+ goto yy31;
+ yy368:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy370;
+ if (yych == 'c')
+ goto yy370;
+ goto yy31;
+ yy369:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy370:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy371;
+ if (yych != 'e')
+ goto yy31;
+ yy371:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy372;
+ if (yych != 't')
+ goto yy31;
+ yy372:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy373;
+ if (yych != 'i')
+ goto yy31;
+ yy373:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy374;
+ if (yych != 'm')
+ goto yy31;
+ yy374:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy41;
+ if (yych == 'e')
+ goto yy41;
+ goto yy31;
+ yy375:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy41;
+ if (yych == 'd')
+ goto yy41;
+ goto yy31;
+ yy376:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy41;
+ if (yych == 'e')
+ goto yy41;
+ goto yy31;
+ yy377:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy379;
+ if (yych == 'g')
+ goto yy379;
+ goto yy31;
+ yy378:
+ yych = *++p;
+ if (yych == 'H')
+ goto yy41;
+ if (yych == 'h')
+ goto yy41;
+ goto yy31;
+ yy379:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy380;
+ if (yych != 'e')
+ goto yy31;
+ yy380:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy41;
+ if (yych == 'r')
+ goto yy41;
+ goto yy31;
+ yy381:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy399;
+ if (yych == 't')
+ goto yy399;
+ goto yy31;
+ yy382:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy41;
+ if (yych == 't')
+ goto yy41;
+ goto yy31;
+ yy383:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy41;
+ if (yych == 'm')
+ goto yy41;
+ goto yy31;
+ yy384:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych == 'P')
+ goto yy41;
+ if (yych <= 'R')
+ goto yy31;
+ goto yy41;
+ } else {
+ if (yych <= 'p') {
+ if (yych <= 'o')
+ goto yy31;
+ goto yy41;
+ } else {
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ }
+ }
+ yy385:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy393;
+ if (yych == 'i')
+ goto yy393;
+ goto yy31;
+ yy386:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy392;
+ if (yych == 'a')
+ goto yy392;
+ goto yy31;
+ yy387:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy390;
+ if (yych == 'o')
+ goto yy390;
+ goto yy31;
+ yy388:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy389;
+ if (yych != 'a')
+ goto yy31;
+ yy389:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy42;
+ goto yy31;
+ } else {
+ if (yych <= 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ }
+ yy390:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy391;
+ if (yych != 'u')
+ goto yy31;
+ yy391:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy41;
+ if (yych == 't')
+ goto yy41;
+ goto yy31;
+ yy392:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy393:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy394;
+ if (yych != 'u')
+ goto yy31;
+ yy394:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy395;
+ if (yych != 'm')
+ goto yy31;
+ yy395:
+ yych = *++p;
+ if (yych == 'X')
+ goto yy396;
+ if (yych != 'x')
+ goto yy31;
+ yy396:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy397;
+ if (yych != 't')
+ goto yy31;
+ yy397:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy398;
+ if (yych != 'r')
+ goto yy31;
+ yy398:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy41;
+ if (yych == 'a')
+ goto yy41;
+ goto yy31;
+ yy399:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy400;
+ if (yych != 'a')
+ goto yy31;
+ yy400:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy401;
+ if (yych != 'c')
+ goto yy31;
+ yy401:
+ yych = *++p;
+ if (yych == 'H')
+ goto yy402;
+ if (yych != 'h')
+ goto yy31;
+ yy402:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy403;
+ if (yych != 'm')
+ goto yy31;
+ yy403:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy404;
+ if (yych != 'e')
+ goto yy31;
+ yy404:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy405;
+ if (yych != 'n')
+ goto yy31;
+ yy405:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy41;
+ if (yych == 't')
+ goto yy41;
+ goto yy31;
+ yy406:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ yy407:
+ yych = *++p;
+ if (yych <= 'V') {
+ if (yych == 'R')
+ goto yy41;
+ if (yych <= 'U')
+ goto yy31;
+ } else {
+ if (yych <= 'r') {
+ if (yych <= 'q')
+ goto yy31;
+ goto yy41;
+ } else {
+ if (yych != 'v')
+ goto yy31;
+ }
+ }
+ yych = *++p;
+ if (yych == 'A')
+ goto yy409;
+ if (yych != 'a')
+ goto yy31;
+ yy409:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy410;
+ if (yych != 's')
+ goto yy31;
+ yy410:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy411;
+ if (yych != 'c')
+ goto yy31;
+ yy411:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy412;
+ if (yych != 'r')
+ goto yy31;
+ yy412:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy413;
+ if (yych != 'i')
+ goto yy31;
+ yy413:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy414;
+ if (yych != 'p')
+ goto yy31;
+ yy414:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy41;
+ if (yych == 't')
+ goto yy41;
+ goto yy31;
+ yy415:
+ yych = *++p;
+ if (yych == 'B')
+ goto yy41;
+ if (yych == 'b')
+ goto yy41;
+ goto yy31;
+ yy416:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy41;
+ if (yych == 'n')
+ goto yy41;
+ goto yy31;
+ yy417:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy424;
+ if (yych == 'n')
+ goto yy424;
+ goto yy31;
+ yy418:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ yy419:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy423;
+ if (yych == 'c')
+ goto yy423;
+ goto yy31;
+ yy420:
+ yych = *++p;
+ if (yych <= 'V') {
+ if (yych == 'T')
+ goto yy422;
+ if (yych <= 'U')
+ goto yy31;
+ goto yy41;
+ } else {
+ if (yych <= 't') {
+ if (yych <= 's')
+ goto yy31;
+ goto yy422;
+ } else {
+ if (yych == 'v')
+ goto yy41;
+ goto yy31;
+ }
+ }
+ yy421:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy41;
+ if (yych == 'i')
+ goto yy41;
+ goto yy31;
+ yy422:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy41;
+ if (yych == 'a')
+ goto yy41;
+ goto yy31;
+ yy423:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy41;
+ if (yych == 't')
+ goto yy41;
+ goto yy31;
+ yy424:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy425;
+ if (yych != 'a')
+ goto yy31;
+ yy425:
+ yych = *++p;
+ if (yych != '-')
+ goto yy31;
+ yych = *++p;
+ if (yych == 'P')
+ goto yy427;
+ if (yych != 'p')
+ goto yy31;
+ yy427:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy428;
+ if (yych != 'l')
+ goto yy31;
+ yy428:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy429;
+ if (yych != 'a')
+ goto yy31;
+ yy429:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy430;
+ if (yych != 'y')
+ goto yy31;
+ yy430:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych == 'C')
+ goto yy431;
+ if (yych <= 'R')
+ goto yy31;
+ goto yy432;
+ } else {
+ if (yych <= 'c') {
+ if (yych <= 'b')
+ goto yy31;
+ } else {
+ if (yych == 's')
+ goto yy432;
+ goto yy31;
+ }
+ }
+ yy431:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy437;
+ if (yych == 'o')
+ goto yy437;
+ goto yy31;
+ yy432:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy433;
+ if (yych != 'i')
+ goto yy31;
+ yy433:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy434;
+ if (yych != 'n')
+ goto yy31;
+ yy434:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy435;
+ if (yych != 'g')
+ goto yy31;
+ yy435:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy436;
+ if (yych != 'l')
+ goto yy31;
+ yy436:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy41;
+ if (yych == 'e')
+ goto yy41;
+ goto yy31;
+ yy437:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy438;
+ if (yych != 'n')
+ goto yy31;
+ yy438:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy439;
+ if (yych != 't')
+ goto yy31;
+ yy439:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy440;
+ if (yych != 'a')
+ goto yy31;
+ yy440:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy441;
+ if (yych != 'i')
+ goto yy31;
+ yy441:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy442;
+ if (yych != 'n')
+ goto yy31;
+ yy442:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy443;
+ if (yych != 'e')
+ goto yy31;
+ yy443:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy41;
+ if (yych == 'r')
+ goto yy41;
+ goto yy31;
+ yy444:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy41;
+ if (yych == 's')
+ goto yy41;
+ goto yy31;
+ yy445:
+ yych = *++p;
+ if (yych <= 'N') {
+ if (yych <= 'A') {
+ if (yych <= '@')
+ goto yy31;
+ goto yy467;
+ } else {
+ if (yych <= 'L')
+ goto yy31;
+ if (yych <= 'M')
+ goto yy468;
+ goto yy469;
+ }
+ } else {
+ if (yych <= 'l') {
+ if (yych == 'a')
+ goto yy467;
+ goto yy31;
+ } else {
+ if (yych <= 'm')
+ goto yy468;
+ if (yych <= 'n')
+ goto yy469;
+ goto yy31;
+ }
+ }
+ yy446:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy454;
+ if (yych == 'r')
+ goto yy454;
+ goto yy31;
+ yy447:
+ yych = *++p;
+ if (yych <= 'P') {
+ if (yych == 'L')
+ goto yy451;
+ if (yych <= 'O')
+ goto yy31;
+ goto yy41;
+ } else {
+ if (yych <= 'l') {
+ if (yych <= 'k')
+ goto yy31;
+ goto yy451;
+ } else {
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ }
+ }
+ yy448:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy450;
+ if (yych == 'i')
+ goto yy450;
+ goto yy31;
+ yy449:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy41;
+ if (yych == 'd')
+ goto yy41;
+ goto yy31;
+ yy450:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy41;
+ if (yych == 'd')
+ goto yy41;
+ goto yy31;
+ yy451:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy452;
+ if (yych != 'l')
+ goto yy31;
+ yy452:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy453;
+ if (yych != 't')
+ goto yy31;
+ yy453:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy41;
+ if (yych == 'o')
+ goto yy41;
+ goto yy31;
+ yy454:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy455;
+ if (yych != 'o')
+ goto yy31;
+ yy455:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy456;
+ if (yych != 'm')
+ goto yy31;
+ yy456:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy457;
+ if (yych != 'e')
+ goto yy31;
+ yy457:
+ yych = *++p;
+ if (yych == '-')
+ goto yy458;
+ if (yych == ':')
+ goto yy42;
+ goto yy31;
+ yy458:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy459;
+ if (yych != 'e')
+ goto yy31;
+ yy459:
+ yych = *++p;
+ if (yych == 'X')
+ goto yy460;
+ if (yych != 'x')
+ goto yy31;
+ yy460:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy461;
+ if (yych != 't')
+ goto yy31;
+ yy461:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy462;
+ if (yych != 'e')
+ goto yy31;
+ yy462:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy463;
+ if (yych != 'n')
+ goto yy31;
+ yy463:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy464;
+ if (yych != 's')
+ goto yy31;
+ yy464:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy465;
+ if (yych != 'i')
+ goto yy31;
+ yy465:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy466;
+ if (yych != 'o')
+ goto yy31;
+ yy466:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy41;
+ if (yych == 'n')
+ goto yy41;
+ goto yy31;
+ yy467:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy41;
+ if (yych == 'p')
+ goto yy41;
+ goto yy31;
+ yy468:
+ yych = *++p;
+ if (yych == '-')
+ goto yy473;
+ goto yy31;
+ yy469:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy470;
+ if (yych != 't')
+ goto yy31;
+ yy470:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy471;
+ if (yych != 'e')
+ goto yy31;
+ yy471:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy472;
+ if (yych != 'n')
+ goto yy31;
+ yy472:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy41;
+ if (yych == 't')
+ goto yy41;
+ goto yy31;
+ yy473:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy474;
+ if (yych != 'e')
+ goto yy31;
+ yy474:
+ yych = *++p;
+ if (yych == 'V')
+ goto yy475;
+ if (yych != 'v')
+ goto yy31;
+ yy475:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy476;
+ if (yych != 'e')
+ goto yy31;
+ yy476:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy477;
+ if (yych != 'n')
+ goto yy31;
+ yy477:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy478;
+ if (yych != 't')
+ goto yy31;
+ yy478:
+ yych = *++p;
+ if (yych == 'B')
+ goto yy479;
+ if (yych != 'b')
+ goto yy31;
+ yy479:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy480;
+ if (yych != 'r')
+ goto yy31;
+ yy480:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy481;
+ if (yych != 'i')
+ goto yy31;
+ yy481:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy482;
+ if (yych != 't')
+ goto yy31;
+ yy482:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy483;
+ if (yych != 'e')
+ goto yy31;
+ yy483:
+ yych = *++p;
+ if (yych != '-')
+ goto yy31;
+ yych = *++p;
+ if (yych == 'A')
+ goto yy485;
+ if (yych != 'a')
+ goto yy31;
+ yy485:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy486;
+ if (yych != 't')
+ goto yy31;
+ yy486:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy487;
+ if (yych != 't')
+ goto yy31;
+ yy487:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy488;
+ if (yych != 'e')
+ goto yy31;
+ yy488:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy489;
+ if (yych != 'n')
+ goto yy31;
+ yy489:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy490;
+ if (yych != 'd')
+ goto yy31;
+ yy490:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy491;
+ if (yych != 'e')
+ goto yy31;
+ yy491:
+ ++p;
+ if ((yych = *p) == 'E')
+ goto yy41;
+ if (yych == 'e')
+ goto yy41;
+ goto yy31;
+ }
}
// 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 = *(marker = p);
- if (yych <= 'c') {
- if (yych <= 'M') {
- if (yych <= 'E') {
- if (yych <= 'A') {
- if (yych == '\n') goto yy494;
- if (yych <= '@') goto yy521;
- goto yy498;
- } else {
- if (yych <= 'B') goto yy516;
- if (yych <= 'C') goto yy495;
- if (yych <= 'D') goto yy496;
- goto yy517;
- }
- } else {
- if (yych <= 'I') {
- if (yych <= 'F') goto yy499;
- if (yych <= 'G') goto yy500;
- if (yych <= 'H') goto yy501;
- goto yy502;
- } else {
- if (yych <= 'J') goto yy497;
- if (yych <= 'K') goto yy518;
- if (yych <= 'L') goto yy503;
- goto yy504;
- }
- }
- } else {
- if (yych <= 'U') {
- if (yych <= 'Q') {
- if (yych <= 'N') goto yy505;
- if (yych <= 'O') goto yy506;
- if (yych <= 'P') goto yy507;
- goto yy519;
- } else {
- if (yych <= 'R') goto yy508;
- if (yych <= 'S') goto yy509;
- if (yych <= 'T') goto yy510;
- goto yy511;
- }
- } else {
- if (yych <= 'Y') {
- if (yych <= 'V') goto yy512;
- if (yych <= 'W') goto yy513;
- if (yych <= 'X') goto yy514;
- goto yy520;
- } else {
- if (yych <= '`') {
- if (yych <= 'Z') goto yy515;
- goto yy521;
- } else {
- if (yych <= 'a') goto yy498;
- if (yych <= 'b') goto yy516;
- goto yy495;
- }
- }
- }
- }
- } else {
- if (yych <= 't') {
- if (yych <= 'k') {
- if (yych <= 'g') {
- if (yych <= 'd') goto yy496;
- if (yych <= 'e') goto yy517;
- if (yych <= 'f') goto yy499;
- goto yy500;
- } else {
- if (yych <= 'h') goto yy501;
- if (yych <= 'i') goto yy502;
- if (yych <= 'j') goto yy497;
- goto yy518;
- }
- } else {
- if (yych <= 'o') {
- if (yych <= 'l') goto yy503;
- if (yych <= 'm') goto yy504;
- if (yych <= 'n') goto yy505;
- goto yy506;
- } else {
- if (yych <= 'q') {
- if (yych <= 'p') goto yy507;
- goto yy519;
- } else {
- if (yych <= 'r') goto yy508;
- if (yych <= 's') goto yy509;
- goto yy510;
- }
- }
- }
- } else {
- if (yych <= 0xC1) {
- if (yych <= 'x') {
- if (yych <= 'u') goto yy511;
- if (yych <= 'v') goto yy512;
- if (yych <= 'w') goto yy513;
- goto yy514;
- } else {
- if (yych <= 'y') goto yy520;
- if (yych <= 'z') goto yy515;
- if (yych <= 0x7F) goto yy521;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy522;
- if (yych <= 0xE0) goto yy524;
- if (yych <= 0xEC) goto yy525;
- goto yy529;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy525;
- goto yy526;
- } else {
- if (yych <= 0xF3) goto yy527;
- if (yych <= 0xF4) goto yy528;
- }
- }
- }
- }
- }
-yy494:
- { return 0; }
-yy495:
- yych = *(marker = ++p);
- switch (yych) {
- case 'A':
- case 'a': goto yy948;
- case 'H':
- case 'h': goto yy947;
- case 'I':
- case 'i': goto yy950;
- case 'O':
- case 'o': goto yy946;
- case 'R':
- case 'r': goto yy949;
- case 'V':
- case 'v': goto yy945;
- default: goto yy494;
- }
-yy496:
- yych = *(marker = ++p);
- switch (yych) {
- case 'A':
- case 'a': goto yy921;
- case 'I':
- case 'i': goto yy920;
- case 'L':
- case 'l': goto yy918;
- case 'N':
- case 'n': goto yy919;
- case 'O':
- case 'o': goto yy922;
- case 'T':
- case 't': goto yy917;
- case 'V':
- case 'v': goto yy916;
- default: goto yy494;
- }
-yy497:
- yych = *(marker = ++p);
- if (yych <= 'M') {
- if (yych == 'A') goto yy908;
- if (yych <= 'L') goto yy494;
- goto yy907;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy494;
- goto yy908;
- } else {
- if (yych == 'm') goto yy907;
- goto yy494;
- }
- }
-yy498:
- yych = *(marker = ++p);
- switch (yych) {
- case 'A':
- case 'a': goto yy889;
- case 'B':
- case 'b': goto yy888;
- case 'C':
- case 'c': goto yy887;
- case 'D':
- case 'd': goto yy886;
- case 'F':
- case 'f': goto yy885;
- case 'I':
- case 'i': goto yy884;
- case 'P':
- case 'p': goto yy883;
- case 'T':
- case 't': goto yy882;
- case 'W':
- case 'w': goto yy533;
- default: goto yy494;
- }
-yy499:
- yych = *(marker = ++p);
- if (yych <= 'T') {
- if (yych <= 'E') {
- if (yych == 'A') goto yy869;
- if (yych <= 'D') goto yy494;
- goto yy868;
- } else {
- if (yych == 'I') goto yy867;
- if (yych <= 'S') goto yy494;
- goto yy870;
- }
- } else {
- if (yych <= 'e') {
- if (yych == 'a') goto yy869;
- if (yych <= 'd') goto yy494;
- goto yy868;
- } else {
- if (yych <= 'i') {
- if (yych <= 'h') goto yy494;
- goto yy867;
- } else {
- if (yych == 't') goto yy870;
- goto yy494;
- }
- }
- }
-yy500:
- yych = *(marker = ++p);
- switch (yych) {
- case 'E':
- case 'e': goto yy852;
- case 'G':
- case 'g': goto yy533;
- case 'I':
- case 'i': goto yy850;
- case 'O':
- case 'o': goto yy851;
- case 'T':
- case 't': goto yy849;
- default: goto yy494;
- }
-yy501:
- yych = *(marker = ++p);
- if (yych <= 'S') {
- if (yych <= '3') {
- if (yych <= '2') goto yy494;
- goto yy845;
- } else {
- if (yych == 'C') goto yy843;
- goto yy494;
- }
- } else {
- if (yych <= 'c') {
- if (yych <= 'T') goto yy844;
- if (yych <= 'b') goto yy494;
- goto yy843;
- } else {
- if (yych == 't') goto yy844;
- goto yy494;
- }
- }
-yy502:
- yych = *(marker = ++p);
- switch (yych) {
- case 'A':
- case 'a': goto yy825;
- case 'C':
- case 'c': goto yy822;
- case 'M':
- case 'm': goto yy824;
- case 'N':
- case 'n': goto yy823;
- case 'P':
- case 'p': goto yy821;
- case 'R':
- case 'r': goto yy820;
- case 'T':
- case 't': goto yy819;
- default: goto yy494;
- }
-yy503:
- yych = *(marker = ++p);
- if (yych <= 'D') {
- if (yych == 'A') goto yy813;
- if (yych <= 'C') goto yy494;
- goto yy812;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy494;
- goto yy813;
- } else {
- if (yych == 'd') goto yy812;
- goto yy494;
- }
- }
-yy504:
- yych = *(marker = ++p);
- switch (yych) {
- case 'A':
- case 'a': goto yy779;
- case 'E':
- case 'e': goto yy778;
- case 'I':
- case 'i': goto yy781;
- case 'M':
- case 'm': goto yy777;
- case 'S':
- case 's': goto yy776;
- case 'T':
- case 't': goto yy780;
- case 'U':
- case 'u': goto yy775;
- case 'V':
- case 'v': goto yy774;
- default: goto yy494;
- }
-yy505:
- yych = *(marker = ++p);
- switch (yych) {
- case 'E':
- case 'e': goto yy769;
- case 'F':
- case 'f': goto yy768;
- case 'I':
- case 'i': goto yy767;
- case 'N':
- case 'n': goto yy766;
- case 'O':
- case 'o': goto yy765;
- default: goto yy494;
- }
-yy506:
- yych = *(marker = ++p);
- if (yych <= 'P') {
- if (yych == 'I') goto yy751;
- if (yych <= 'O') goto yy494;
- goto yy752;
- } else {
- if (yych <= 'i') {
- if (yych <= 'h') goto yy494;
- goto yy751;
- } else {
- if (yych == 'p') goto yy752;
- goto yy494;
- }
- }
-yy507:
- yych = *(marker = ++p);
- if (yych <= 'S') {
- if (yych <= 'L') {
- if (yych == 'A') goto yy733;
- if (yych <= 'K') goto yy494;
- goto yy732;
- } else {
- if (yych <= 'O') {
- if (yych <= 'N') goto yy494;
- goto yy734;
- } else {
- if (yych <= 'Q') goto yy494;
- if (yych <= 'R') goto yy731;
- goto yy730;
- }
- }
- } else {
- if (yych <= 'n') {
- if (yych <= 'a') {
- if (yych <= '`') goto yy494;
- goto yy733;
- } else {
- if (yych == 'l') goto yy732;
- goto yy494;
- }
- } else {
- if (yych <= 'q') {
- if (yych <= 'o') goto yy734;
- goto yy494;
- } else {
- if (yych <= 'r') goto yy731;
- if (yych <= 's') goto yy730;
- goto yy494;
- }
- }
- }
-yy508:
- yych = *(marker = ++p);
- if (yych <= 'T') {
- if (yych <= 'L') {
- if (yych == 'E') goto yy720;
- goto yy494;
- } else {
- if (yych <= 'M') goto yy719;
- if (yych <= 'R') goto yy494;
- if (yych <= 'S') goto yy718;
- goto yy717;
- }
- } else {
- if (yych <= 'm') {
- if (yych == 'e') goto yy720;
- if (yych <= 'l') goto yy494;
- goto yy719;
- } else {
- if (yych <= 'r') goto yy494;
- if (yych <= 's') goto yy718;
- if (yych <= 't') goto yy717;
- goto yy494;
- }
- }
-yy509:
- yych = *(marker = ++p);
- switch (yych) {
- case 'E':
- case 'e': goto yy673;
- case 'F':
- case 'f': goto yy672;
- case 'G':
- case 'g': goto yy671;
- case 'H':
- case 'h': goto yy676;
- case 'I':
- case 'i': goto yy675;
- case 'K':
- case 'k': goto yy670;
- case 'M':
- case 'm': goto yy669;
- case 'N':
- case 'n': goto yy674;
- case 'O':
- case 'o': goto yy668;
- case 'P':
- case 'p': goto yy667;
- case 'S':
- case 's': goto yy666;
- case 'T':
- case 't': goto yy665;
- case 'V':
- case 'v': goto yy664;
- default: goto yy494;
- }
-yy510:
- yych = *(marker = ++p);
- switch (yych) {
- case 'A':
- case 'a': goto yy640;
- case 'E':
- case 'e': goto yy636;
- case 'F':
- case 'f': goto yy639;
- case 'H':
- case 'h': goto yy635;
- case 'I':
- case 'i': goto yy637;
- case 'N':
- case 'n': goto yy638;
- case 'V':
- case 'v': goto yy533;
- default: goto yy494;
- }
-yy511:
- yych = *(marker = ++p);
- if (yych <= 'T') {
- if (yych <= 'N') {
- if (yych == 'D') goto yy627;
- if (yych <= 'M') goto yy494;
- goto yy626;
- } else {
- if (yych == 'R') goto yy628;
- if (yych <= 'S') goto yy494;
- goto yy625;
- }
- } else {
- if (yych <= 'n') {
- if (yych == 'd') goto yy627;
- if (yych <= 'm') goto yy494;
- goto yy626;
- } else {
- if (yych <= 'r') {
- if (yych <= 'q') goto yy494;
- goto yy628;
- } else {
- if (yych == 't') goto yy625;
- goto yy494;
- }
- }
- }
-yy512:
- yych = *(marker = ++p);
- if (yych <= 'I') {
- if (yych == 'E') goto yy609;
- if (yych <= 'H') goto yy494;
- goto yy608;
- } else {
- if (yych <= 'e') {
- if (yych <= 'd') goto yy494;
- goto yy609;
- } else {
- if (yych == 'i') goto yy608;
- goto yy494;
- }
- }
-yy513:
- yych = *(marker = ++p);
- if (yych <= 'Y') {
- if (yych <= 'R') {
- if (yych == 'E') goto yy598;
- goto yy494;
- } else {
- if (yych <= 'S') goto yy599;
- if (yych <= 'T') goto yy597;
- if (yych <= 'X') goto yy494;
- goto yy596;
- }
- } else {
- if (yych <= 's') {
- if (yych == 'e') goto yy598;
- if (yych <= 'r') goto yy494;
- goto yy599;
- } else {
- if (yych <= 't') goto yy597;
- if (yych == 'y') goto yy596;
- goto yy494;
- }
- }
-yy514:
- yych = *(marker = ++p);
- if (yych <= 'R') {
- if (yych <= 'F') {
- if (yych == 'C') goto yy575;
- if (yych <= 'E') goto yy494;
- goto yy573;
- } else {
- if (yych == 'M') goto yy574;
- if (yych <= 'Q') goto yy494;
- goto yy572;
- }
- } else {
- if (yych <= 'f') {
- if (yych == 'c') goto yy575;
- if (yych <= 'e') goto yy494;
- goto yy573;
- } else {
- if (yych <= 'm') {
- if (yych <= 'l') goto yy494;
- goto yy574;
- } else {
- if (yych == 'r') goto yy572;
- goto yy494;
- }
- }
- }
-yy515:
- yych = *(marker = ++p);
- if (yych == '3') goto yy567;
- goto yy494;
-yy516:
- yych = *(marker = ++p);
- if (yych <= 'O') {
- if (yych <= 'H') {
- if (yych == 'E') goto yy557;
- goto yy494;
- } else {
- if (yych <= 'I') goto yy556;
- if (yych <= 'N') goto yy494;
- goto yy555;
- }
- } else {
- if (yych <= 'h') {
- if (yych == 'e') goto yy557;
- goto yy494;
- } else {
- if (yych <= 'i') goto yy556;
- if (yych == 'o') goto yy555;
- goto yy494;
- }
- }
-yy517:
- yych = *(marker = ++p);
- if (yych == 'D') goto yy553;
- if (yych == 'd') goto yy553;
- goto yy494;
-yy518:
- yych = *(marker = ++p);
- if (yych == 'E') goto yy548;
- if (yych == 'e') goto yy548;
- goto yy494;
-yy519:
- yych = *(marker = ++p);
- if (yych == 'U') goto yy545;
- if (yych == 'u') goto yy545;
- goto yy494;
-yy520:
- yych = *(marker = ++p);
- if (yych == 'M') goto yy530;
- if (yych == 'm') goto yy530;
- goto yy494;
-yy521:
- yych = *++p;
- goto yy494;
-yy522:
- yych = *++p;
- if (yych <= 0x7F) goto yy523;
- if (yych <= 0xBF) goto yy521;
-yy523:
- p = marker;
- goto yy494;
-yy524:
- yych = *++p;
- if (yych <= 0x9F) goto yy523;
- if (yych <= 0xBF) goto yy522;
- goto yy523;
-yy525:
- yych = *++p;
- if (yych <= 0x7F) goto yy523;
- if (yych <= 0xBF) goto yy522;
- goto yy523;
-yy526:
- yych = *++p;
- if (yych <= 0x8F) goto yy523;
- if (yych <= 0xBF) goto yy525;
- goto yy523;
-yy527:
- yych = *++p;
- if (yych <= 0x7F) goto yy523;
- if (yych <= 0xBF) goto yy525;
- goto yy523;
-yy528:
- yych = *++p;
- if (yych <= 0x7F) goto yy523;
- if (yych <= 0x8F) goto yy525;
- goto yy523;
-yy529:
- yych = *++p;
- if (yych <= 0x7F) goto yy523;
- if (yych <= 0x9F) goto yy522;
- goto yy523;
-yy530:
- yych = *++p;
- if (yych == 'S') goto yy531;
- if (yych != 's') goto yy523;
-yy531:
- yych = *++p;
- if (yych == 'G') goto yy532;
- if (yych != 'g') goto yy523;
-yy532:
- yych = *++p;
- if (yych == 'R') goto yy533;
- if (yych != 'r') goto yy523;
-yy533:
- yych = *++p;
- if (yych != ':') goto yy523;
-yy534:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy534;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '<') goto yy523;
- if (yych <= '>') goto yy543;
- goto yy523;
- } else {
- if (yych <= 0xDF) goto yy536;
- if (yych <= 0xE0) goto yy537;
- goto yy538;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy542;
- if (yych <= 0xEF) goto yy538;
- goto yy539;
- } else {
- if (yych <= 0xF3) goto yy540;
- if (yych <= 0xF4) goto yy541;
- goto yy523;
- }
- }
-yy536:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy523;
- if (yych <= 0xBF) goto yy534;
- goto yy523;
-yy537:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy523;
- if (yych <= 0xBF) goto yy536;
- goto yy523;
-yy538:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy523;
- if (yych <= 0xBF) goto yy536;
- goto yy523;
-yy539:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy523;
- if (yych <= 0xBF) goto yy538;
- goto yy523;
-yy540:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy523;
- if (yych <= 0xBF) goto yy538;
- goto yy523;
-yy541:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy523;
- if (yych <= 0x8F) goto yy538;
- goto yy523;
-yy542:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy523;
- if (yych <= 0x9F) goto yy536;
- goto yy523;
-yy543:
- ++p;
- { return (bufsize_t)(p - start); }
-yy545:
- yych = *++p;
- if (yych == 'E') goto yy546;
- if (yych != 'e') goto yy523;
-yy546:
- yych = *++p;
- if (yych == 'R') goto yy547;
- if (yych != 'r') goto yy523;
-yy547:
- yych = *++p;
- if (yych == 'Y') goto yy533;
- if (yych == 'y') goto yy533;
- goto yy523;
-yy548:
- yych = *++p;
- if (yych == 'Y') goto yy549;
- if (yych != 'y') goto yy523;
-yy549:
- yych = *++p;
- if (yych == 'P') goto yy550;
- if (yych != 'p') goto yy523;
-yy550:
- yych = *++p;
- if (yych == 'A') goto yy551;
- if (yych != 'a') goto yy523;
-yy551:
- yych = *++p;
- if (yych == 'R') goto yy552;
- if (yych != 'r') goto yy523;
-yy552:
- yych = *++p;
- if (yych == 'C') goto yy533;
- if (yych == 'c') goto yy533;
- goto yy523;
-yy553:
- yych = *++p;
- if (yych != '2') goto yy523;
- yych = *++p;
- if (yych == 'K') goto yy533;
- if (yych == 'k') goto yy533;
- goto yy523;
-yy555:
- yych = *++p;
- if (yych == 'L') goto yy566;
- if (yych == 'l') goto yy566;
- goto yy523;
-yy556:
- yych = *++p;
- if (yych == 'T') goto yy562;
- if (yych == 't') goto yy562;
- goto yy523;
-yy557:
- yych = *++p;
- if (yych == 'S') goto yy558;
- if (yych != 's') goto yy523;
-yy558:
- yych = *++p;
- if (yych == 'H') goto yy559;
- if (yych != 'h') goto yy523;
-yy559:
- yych = *++p;
- if (yych == 'A') goto yy560;
- if (yych != 'a') goto yy523;
-yy560:
- yych = *++p;
- if (yych == 'R') goto yy561;
- if (yych != 'r') goto yy523;
-yy561:
- yych = *++p;
- if (yych == 'E') goto yy533;
- if (yych == 'e') goto yy533;
- goto yy523;
-yy562:
- yych = *++p;
- if (yych == 'C') goto yy563;
- if (yych != 'c') goto yy523;
-yy563:
- yych = *++p;
- if (yych == 'O') goto yy564;
- if (yych != 'o') goto yy523;
-yy564:
- yych = *++p;
- if (yych == 'I') goto yy565;
- if (yych != 'i') goto yy523;
-yy565:
- yych = *++p;
- if (yych == 'N') goto yy533;
- if (yych == 'n') goto yy533;
- goto yy523;
-yy566:
- yych = *++p;
- if (yych == 'O') goto yy533;
- if (yych == 'o') goto yy533;
- goto yy523;
-yy567:
- yych = *++p;
- if (yych != '9') goto yy523;
- yych = *++p;
- if (yych != '.') goto yy523;
- yych = *++p;
- if (yych != '5') goto yy523;
- yych = *++p;
- if (yych != '0') goto yy523;
- yych = *++p;
- if (yych <= 'Q') goto yy523;
- if (yych <= 'S') goto yy533;
- if (yych <= 'q') goto yy523;
- if (yych <= 's') goto yy533;
- goto yy523;
-yy572:
- yych = *++p;
- if (yych == 'I') goto yy533;
- if (yych == 'i') goto yy533;
- goto yy523;
-yy573:
- yych = *++p;
- if (yych == 'I') goto yy594;
- if (yych == 'i') goto yy594;
- goto yy523;
-yy574:
- yych = *++p;
- if (yych <= 'P') {
- if (yych == 'L') goto yy584;
- if (yych <= 'O') goto yy523;
- goto yy585;
- } else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy523;
- goto yy584;
- } else {
- if (yych == 'p') goto yy585;
- goto yy523;
- }
- }
-yy575:
- yych = *++p;
- if (yych == 'O') goto yy576;
- if (yych != 'o') goto yy523;
-yy576:
- yych = *++p;
- if (yych == 'N') goto yy577;
- if (yych != 'n') goto yy523;
-yy577:
- yych = *++p;
- if (yych == '-') goto yy578;
- if (yych == ':') goto yy534;
- goto yy523;
-yy578:
- yych = *++p;
- if (yych == 'U') goto yy579;
- if (yych != 'u') goto yy523;
-yy579:
- yych = *++p;
- if (yych == 'S') goto yy580;
- if (yych != 's') goto yy523;
-yy580:
- yych = *++p;
- if (yych == 'E') goto yy581;
- if (yych != 'e') goto yy523;
-yy581:
- yych = *++p;
- if (yych == 'R') goto yy582;
- if (yych != 'r') goto yy523;
-yy582:
- yych = *++p;
- if (yych == 'I') goto yy583;
- if (yych != 'i') goto yy523;
-yy583:
- yych = *++p;
- if (yych == 'D') goto yy533;
- if (yych == 'd') goto yy533;
- goto yy523;
-yy584:
- yych = *++p;
- if (yych == 'R') goto yy586;
- if (yych == 'r') goto yy586;
- goto yy523;
-yy585:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy586:
- yych = *++p;
- if (yych == 'P') goto yy587;
- if (yych != 'p') goto yy523;
-yy587:
- yych = *++p;
- if (yych == 'C') goto yy588;
- if (yych != 'c') goto yy523;
-yy588:
- yych = *++p;
- if (yych != '.') goto yy523;
- yych = *++p;
- if (yych == 'B') goto yy590;
- if (yych != 'b') goto yy523;
-yy590:
- yych = *++p;
- if (yych == 'E') goto yy591;
- if (yych != 'e') goto yy523;
-yy591:
- yych = *++p;
- if (yych == 'E') goto yy592;
- if (yych != 'e') goto yy523;
-yy592:
- yych = *++p;
- if (yych == 'P') goto yy593;
- if (yych != 'p') goto yy523;
-yy593:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy534;
- goto yy523;
- } else {
- if (yych <= 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
- }
-yy594:
- yych = *++p;
- if (yych == 'R') goto yy595;
- if (yych != 'r') goto yy523;
-yy595:
- yych = *++p;
- if (yych == 'E') goto yy533;
- if (yych == 'e') goto yy533;
- goto yy523;
-yy596:
- yych = *++p;
- if (yych == 'C') goto yy604;
- if (yych == 'c') goto yy604;
- goto yy523;
-yy597:
- yych = *++p;
- if (yych == 'A') goto yy603;
- if (yych == 'a') goto yy603;
- goto yy523;
-yy598:
- yych = *++p;
- if (yych == 'B') goto yy600;
- if (yych == 'b') goto yy600;
- goto yy523;
-yy599:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy534;
- goto yy523;
- } else {
- if (yych <= 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
- }
-yy600:
- yych = *++p;
- if (yych == 'C') goto yy601;
- if (yych != 'c') goto yy523;
-yy601:
- yych = *++p;
- if (yych == 'A') goto yy602;
- if (yych != 'a') goto yy523;
-yy602:
- yych = *++p;
- if (yych == 'L') goto yy533;
- if (yych == 'l') goto yy533;
- goto yy523;
-yy603:
- yych = *++p;
- if (yych == 'I') goto yy533;
- if (yych == 'i') goto yy533;
- goto yy523;
-yy604:
- yych = *++p;
- if (yych == 'I') goto yy605;
- if (yych != 'i') goto yy523;
-yy605:
- yych = *++p;
- if (yych == 'W') goto yy606;
- if (yych != 'w') goto yy523;
-yy606:
- yych = *++p;
- if (yych == 'Y') goto yy607;
- if (yych != 'y') goto yy523;
-yy607:
- yych = *++p;
- if (yych == 'G') goto yy533;
- if (yych == 'g') goto yy533;
- goto yy523;
-yy608:
- yych = *++p;
- if (yych == 'E') goto yy617;
- if (yych == 'e') goto yy617;
- goto yy523;
-yy609:
- yych = *++p;
- if (yych <= 'N') {
- if (yych <= 'L') goto yy523;
- if (yych >= 'N') goto yy611;
- } else {
- if (yych <= 'l') goto yy523;
- if (yych <= 'm') goto yy610;
- if (yych <= 'n') goto yy611;
- goto yy523;
- }
-yy610:
- yych = *++p;
- if (yych == 'M') goto yy616;
- if (yych == 'm') goto yy616;
- goto yy523;
-yy611:
- yych = *++p;
- if (yych == 'T') goto yy612;
- if (yych != 't') goto yy523;
-yy612:
- yych = *++p;
- if (yych == 'R') goto yy613;
- if (yych != 'r') goto yy523;
-yy613:
- yych = *++p;
- if (yych == 'I') goto yy614;
- if (yych != 'i') goto yy523;
-yy614:
- yych = *++p;
- if (yych == 'L') goto yy615;
- if (yych != 'l') goto yy523;
-yy615:
- yych = *++p;
- if (yych == 'O') goto yy533;
- if (yych == 'o') goto yy533;
- goto yy523;
-yy616:
- yych = *++p;
- if (yych == 'I') goto yy533;
- if (yych == 'i') goto yy533;
- goto yy523;
-yy617:
- yych = *++p;
- if (yych == 'W') goto yy618;
- if (yych != 'w') goto yy523;
-yy618:
- yych = *++p;
- if (yych != '-') goto yy523;
- yych = *++p;
- if (yych == 'S') goto yy620;
- if (yych != 's') goto yy523;
-yy620:
- yych = *++p;
- if (yych == 'O') goto yy621;
- if (yych != 'o') goto yy523;
-yy621:
- yych = *++p;
- if (yych == 'U') goto yy622;
- if (yych != 'u') goto yy523;
-yy622:
- yych = *++p;
- if (yych == 'R') goto yy623;
- if (yych != 'r') goto yy523;
-yy623:
- yych = *++p;
- if (yych == 'C') goto yy624;
- if (yych != 'c') goto yy523;
-yy624:
- yych = *++p;
- if (yych == 'E') goto yy533;
- if (yych == 'e') goto yy533;
- goto yy523;
-yy625:
- yych = *++p;
- if (yych == '2') goto yy632;
- goto yy523;
-yy626:
- yych = *++p;
- if (yych == 'R') goto yy629;
- if (yych == 'r') goto yy629;
- goto yy523;
-yy627:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy628:
- yych = *++p;
- if (yych == 'N') goto yy533;
- if (yych == 'n') goto yy533;
- goto yy523;
-yy629:
- yych = *++p;
- if (yych == 'E') goto yy630;
- if (yych != 'e') goto yy523;
-yy630:
- yych = *++p;
- if (yych == 'A') goto yy631;
- if (yych != 'a') goto yy523;
-yy631:
- yych = *++p;
- if (yych == 'L') goto yy533;
- if (yych == 'l') goto yy533;
- goto yy523;
-yy632:
- yych = *++p;
- if (yych != '0') goto yy523;
- yych = *++p;
- if (yych != '0') goto yy523;
- yych = *++p;
- if (yych == '4') goto yy533;
- goto yy523;
-yy635:
- yych = *++p;
- if (yych == 'I') goto yy654;
- if (yych == 'i') goto yy654;
- goto yy523;
-yy636:
- yych = *++p;
- if (yych <= 'L') {
- if (yych == 'A') goto yy646;
- if (yych <= 'K') goto yy523;
- goto yy645;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy523;
- goto yy646;
- } else {
- if (yych == 'l') goto yy645;
- goto yy523;
- }
- }
-yy637:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy638:
- yych = *++p;
- if (yych == '3') goto yy642;
- goto yy523;
-yy639:
- yych = *++p;
- if (yych == 'T') goto yy641;
- if (yych == 't') goto yy641;
- goto yy523;
-yy640:
- yych = *++p;
- if (yych == 'G') goto yy533;
- if (yych == 'g') goto yy533;
- goto yy523;
-yy641:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy642:
- yych = *++p;
- if (yych != '2') goto yy523;
- yych = *++p;
- if (yych != '7') goto yy523;
- yych = *++p;
- if (yych == '0') goto yy533;
- goto yy523;
-yy645:
- yych = *++p;
- if (yych <= 'M') {
- if (yych == ':') goto yy534;
- goto yy523;
- } else {
- if (yych <= 'N') goto yy652;
- if (yych == 'n') goto yy652;
- goto yy523;
- }
-yy646:
- yych = *++p;
- if (yych == 'M') goto yy647;
- if (yych != 'm') goto yy523;
-yy647:
- yych = *++p;
- if (yych == 'S') goto yy648;
- if (yych != 's') goto yy523;
-yy648:
- yych = *++p;
- if (yych == 'P') goto yy649;
- if (yych != 'p') goto yy523;
-yy649:
- yych = *++p;
- if (yych == 'E') goto yy650;
- if (yych != 'e') goto yy523;
-yy650:
- yych = *++p;
- if (yych == 'A') goto yy651;
- if (yych != 'a') goto yy523;
-yy651:
- yych = *++p;
- if (yych == 'K') goto yy533;
- if (yych == 'k') goto yy533;
- goto yy523;
-yy652:
- yych = *++p;
- if (yych == 'E') goto yy653;
- if (yych != 'e') goto yy523;
-yy653:
- yych = *++p;
- if (yych == 'T') goto yy533;
- if (yych == 't') goto yy533;
- goto yy523;
-yy654:
- yych = *++p;
- if (yych <= 'S') {
- if (yych == 'N') goto yy655;
- if (yych <= 'R') goto yy523;
- goto yy656;
- } else {
- if (yych <= 'n') {
- if (yych <= 'm') goto yy523;
- } else {
- if (yych == 's') goto yy656;
- goto yy523;
- }
- }
-yy655:
- yych = *++p;
- if (yych == 'G') goto yy663;
- if (yych == 'g') goto yy663;
- goto yy523;
-yy656:
- yych = *++p;
- if (yych == 'M') goto yy657;
- if (yych != 'm') goto yy523;
-yy657:
- yych = *++p;
- if (yych == 'E') goto yy658;
- if (yych != 'e') goto yy523;
-yy658:
- yych = *++p;
- if (yych == 'S') goto yy659;
- if (yych != 's') goto yy523;
-yy659:
- yych = *++p;
- if (yych == 'S') goto yy660;
- if (yych != 's') goto yy523;
-yy660:
- yych = *++p;
- if (yych == 'A') goto yy661;
- if (yych != 'a') goto yy523;
-yy661:
- yych = *++p;
- if (yych == 'G') goto yy662;
- if (yych != 'g') goto yy523;
-yy662:
- yych = *++p;
- if (yych == 'E') goto yy533;
- if (yych == 'e') goto yy533;
- goto yy523;
-yy663:
- yych = *++p;
- if (yych == 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
-yy664:
- yych = *++p;
- if (yych == 'N') goto yy533;
- if (yych == 'n') goto yy533;
- goto yy523;
-yy665:
- yych = *++p;
- if (yych == 'E') goto yy715;
- if (yych == 'e') goto yy715;
- goto yy523;
-yy666:
- yych = *++p;
- if (yych == 'H') goto yy533;
- if (yych == 'h') goto yy533;
- goto yy523;
-yy667:
- yych = *++p;
- if (yych == 'O') goto yy711;
- if (yych == 'o') goto yy711;
- goto yy523;
-yy668:
- yych = *++p;
- if (yych <= 'L') {
- if (yych == 'A') goto yy701;
- if (yych <= 'K') goto yy523;
- goto yy702;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy523;
- goto yy701;
- } else {
- if (yych == 'l') goto yy702;
- goto yy523;
- }
- }
-yy669:
- yych = *++p;
- if (yych <= 'S') {
- if (yych == 'B') goto yy533;
- if (yych <= 'R') goto yy523;
- goto yy533;
- } else {
- if (yych <= 'b') {
- if (yych <= 'a') goto yy523;
- goto yy533;
- } else {
- if (yych == 's') goto yy533;
- goto yy523;
- }
- }
-yy670:
- yych = *++p;
- if (yych == 'Y') goto yy699;
- if (yych == 'y') goto yy699;
- goto yy523;
-yy671:
- yych = *++p;
- if (yych == 'N') goto yy533;
- if (yych == 'n') goto yy533;
- goto yy523;
-yy672:
- yych = *++p;
- if (yych == 'T') goto yy698;
- if (yych == 't') goto yy698;
- goto yy523;
-yy673:
- yych = *++p;
- if (yych <= 'S') {
- if (yych <= 'C') {
- if (yych <= 'B') goto yy523;
- goto yy685;
- } else {
- if (yych <= 'Q') goto yy523;
- if (yych <= 'R') goto yy683;
- goto yy684;
- }
- } else {
- if (yych <= 'q') {
- if (yych == 'c') goto yy685;
- goto yy523;
- } else {
- if (yych <= 'r') goto yy683;
- if (yych <= 's') goto yy684;
- goto yy523;
- }
- }
-yy674:
- yych = *++p;
- if (yych == 'M') goto yy682;
- if (yych == 'm') goto yy682;
- goto yy523;
-yy675:
- yych = *++p;
- if (yych <= 'P') {
- if (yych == 'E') goto yy679;
- if (yych <= 'O') goto yy523;
- goto yy680;
- } else {
- if (yych <= 'e') {
- if (yych <= 'd') goto yy523;
- goto yy679;
- } else {
- if (yych == 'p') goto yy680;
- goto yy523;
- }
- }
-yy676:
- yych = *++p;
- if (yych == 'T') goto yy677;
- if (yych != 't') goto yy523;
-yy677:
- yych = *++p;
- if (yych == 'T') goto yy678;
- if (yych != 't') goto yy523;
-yy678:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy679:
- yych = *++p;
- if (yych == 'V') goto yy681;
- if (yych == 'v') goto yy681;
- goto yy523;
-yy680:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy534;
- goto yy523;
- } else {
- if (yych <= 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
- }
-yy681:
- yych = *++p;
- if (yych == 'E') goto yy533;
- if (yych == 'e') goto yy533;
- goto yy523;
-yy682:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy683:
- yych = *++p;
- if (yych == 'V') goto yy695;
- if (yych == 'v') goto yy695;
- goto yy523;
-yy684:
- yych = *++p;
- if (yych == 'S') goto yy692;
- if (yych == 's') goto yy692;
- goto yy523;
-yy685:
- yych = *++p;
- if (yych == 'O') goto yy686;
- if (yych != 'o') goto yy523;
-yy686:
- yych = *++p;
- if (yych == 'N') goto yy687;
- if (yych != 'n') goto yy523;
-yy687:
- yych = *++p;
- if (yych == 'D') goto yy688;
- if (yych != 'd') goto yy523;
-yy688:
- yych = *++p;
- if (yych == 'L') goto yy689;
- if (yych != 'l') goto yy523;
-yy689:
- yych = *++p;
- if (yych == 'I') goto yy690;
- if (yych != 'i') goto yy523;
-yy690:
- yych = *++p;
- if (yych == 'F') goto yy691;
- if (yych != 'f') goto yy523;
-yy691:
- yych = *++p;
- if (yych == 'E') goto yy533;
- if (yych == 'e') goto yy533;
- goto yy523;
-yy692:
- yych = *++p;
- if (yych == 'I') goto yy693;
- if (yych != 'i') goto yy523;
-yy693:
- yych = *++p;
- if (yych == 'O') goto yy694;
- if (yych != 'o') goto yy523;
-yy694:
- yych = *++p;
- if (yych == 'N') goto yy533;
- if (yych == 'n') goto yy533;
- goto yy523;
-yy695:
- yych = *++p;
- if (yych == 'I') goto yy696;
- if (yych != 'i') goto yy523;
-yy696:
- yych = *++p;
- if (yych == 'C') goto yy697;
- if (yych != 'c') goto yy523;
-yy697:
- yych = *++p;
- if (yych == 'E') goto yy533;
- if (yych == 'e') goto yy533;
- goto yy523;
-yy698:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy699:
- yych = *++p;
- if (yych == 'P') goto yy700;
- if (yych != 'p') goto yy523;
-yy700:
- yych = *++p;
- if (yych == 'E') goto yy533;
- if (yych == 'e') goto yy533;
- goto yy523;
-yy701:
- yych = *++p;
- if (yych == 'P') goto yy705;
- if (yych == 'p') goto yy705;
- goto yy523;
-yy702:
- yych = *++p;
- if (yych == 'D') goto yy703;
- if (yych != 'd') goto yy523;
-yy703:
- yych = *++p;
- if (yych == 'A') goto yy704;
- if (yych != 'a') goto yy523;
-yy704:
- yych = *++p;
- if (yych == 'T') goto yy533;
- if (yych == 't') goto yy533;
- goto yy523;
-yy705:
- yych = *++p;
- if (yych != '.') goto yy523;
- yych = *++p;
- if (yych == 'B') goto yy707;
- if (yych != 'b') goto yy523;
-yy707:
- yych = *++p;
- if (yych == 'E') goto yy708;
- if (yych != 'e') goto yy523;
-yy708:
- yych = *++p;
- if (yych == 'E') goto yy709;
- if (yych != 'e') goto yy523;
-yy709:
- yych = *++p;
- if (yych == 'P') goto yy710;
- if (yych != 'p') goto yy523;
-yy710:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy534;
- goto yy523;
- } else {
- if (yych <= 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
- }
-yy711:
- yych = *++p;
- if (yych == 'T') goto yy712;
- if (yych != 't') goto yy523;
-yy712:
- yych = *++p;
- if (yych == 'I') goto yy713;
- if (yych != 'i') goto yy523;
-yy713:
- yych = *++p;
- if (yych == 'F') goto yy714;
- if (yych != 'f') goto yy523;
-yy714:
- yych = *++p;
- if (yych == 'Y') goto yy533;
- if (yych == 'y') goto yy533;
- goto yy523;
-yy715:
- yych = *++p;
- if (yych == 'A') goto yy716;
- if (yych != 'a') goto yy523;
-yy716:
- yych = *++p;
- if (yych == 'M') goto yy533;
- if (yych == 'm') goto yy533;
- goto yy523;
-yy717:
- yych = *++p;
- if (yych <= 'S') {
- if (yych == 'M') goto yy729;
- if (yych <= 'R') goto yy523;
- goto yy728;
- } else {
- if (yych <= 'm') {
- if (yych <= 'l') goto yy523;
- goto yy729;
- } else {
- if (yych == 's') goto yy728;
- goto yy523;
- }
- }
-yy718:
- yych = *++p;
- if (yych == 'Y') goto yy726;
- if (yych == 'y') goto yy726;
- goto yy523;
-yy719:
- yych = *++p;
- if (yych == 'I') goto yy533;
- if (yych == 'i') goto yy533;
- goto yy523;
-yy720:
- yych = *++p;
- if (yych == 'S') goto yy721;
- if (yych != 's') goto yy523;
-yy721:
- yych = *++p;
- if (yych <= 'N') {
- if (yych == ':') goto yy534;
- goto yy523;
- } else {
- if (yych <= 'O') goto yy722;
- if (yych != 'o') goto yy523;
- }
-yy722:
- yych = *++p;
- if (yych == 'U') goto yy723;
- if (yych != 'u') goto yy523;
-yy723:
- yych = *++p;
- if (yych == 'R') goto yy724;
- if (yych != 'r') goto yy523;
-yy724:
- yych = *++p;
- if (yych == 'C') goto yy725;
- if (yych != 'c') goto yy523;
-yy725:
- yych = *++p;
- if (yych == 'E') goto yy533;
- if (yych == 'e') goto yy533;
- goto yy523;
-yy726:
- yych = *++p;
- if (yych == 'N') goto yy727;
- if (yych != 'n') goto yy523;
-yy727:
- yych = *++p;
- if (yych == 'C') goto yy533;
- if (yych == 'c') goto yy533;
- goto yy523;
-yy728:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy729:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy730:
- yych = *++p;
- if (yych == 'Y') goto yy750;
- if (yych == 'y') goto yy750;
- goto yy523;
-yy731:
- yych = *++p;
- if (yych <= 'O') {
- if (yych == 'E') goto yy747;
- if (yych <= 'N') goto yy523;
- goto yy748;
- } else {
- if (yych <= 'e') {
- if (yych <= 'd') goto yy523;
- goto yy747;
- } else {
- if (yych == 'o') goto yy748;
- goto yy523;
- }
- }
-yy732:
- yych = *++p;
- if (yych == 'A') goto yy742;
- if (yych == 'a') goto yy742;
- goto yy523;
-yy733:
- yych = *++p;
- if (yych <= 'P') {
- if (yych == 'L') goto yy735;
- if (yych <= 'O') goto yy523;
- goto yy736;
- } else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy523;
- goto yy735;
- } else {
- if (yych == 'p') goto yy736;
- goto yy523;
- }
- }
-yy734:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy735:
- yych = *++p;
- if (yych == 'M') goto yy533;
- if (yych == 'm') goto yy533;
- goto yy523;
-yy736:
- yych = *++p;
- if (yych == 'A') goto yy737;
- if (yych != 'a') goto yy523;
-yy737:
- yych = *++p;
- if (yych == 'R') goto yy738;
- if (yych != 'r') goto yy523;
-yy738:
- yych = *++p;
- if (yych == 'A') goto yy739;
- if (yych != 'a') goto yy523;
-yy739:
- yych = *++p;
- if (yych == 'Z') goto yy740;
- if (yych != 'z') goto yy523;
-yy740:
- yych = *++p;
- if (yych == 'Z') goto yy741;
- if (yych != 'z') goto yy523;
-yy741:
- yych = *++p;
- if (yych == 'I') goto yy533;
- if (yych == 'i') goto yy533;
- goto yy523;
-yy742:
- yych = *++p;
- if (yych == 'T') goto yy743;
- if (yych != 't') goto yy523;
-yy743:
- yych = *++p;
- if (yych == 'F') goto yy744;
- if (yych != 'f') goto yy523;
-yy744:
- yych = *++p;
- if (yych == 'O') goto yy745;
- if (yych != 'o') goto yy523;
-yy745:
- yych = *++p;
- if (yych == 'R') goto yy746;
- if (yych != 'r') goto yy523;
-yy746:
- yych = *++p;
- if (yych == 'M') goto yy533;
- if (yych == 'm') goto yy533;
- goto yy523;
-yy747:
- yych = *++p;
- if (yych == 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
-yy748:
- yych = *++p;
- if (yych == 'X') goto yy749;
- if (yych != 'x') goto yy523;
-yy749:
- yych = *++p;
- if (yych == 'Y') goto yy533;
- if (yych == 'y') goto yy533;
- goto yy523;
-yy750:
- yych = *++p;
- if (yych == 'C') goto yy533;
- if (yych == 'c') goto yy533;
- goto yy523;
-yy751:
- yych = *++p;
- if (yych == 'D') goto yy533;
- if (yych == 'd') goto yy533;
- goto yy523;
-yy752:
- yych = *++p;
- if (yych == 'A') goto yy753;
- if (yych != 'a') goto yy523;
-yy753:
- yych = *++p;
- if (yych == 'Q') goto yy754;
- if (yych != 'q') goto yy523;
-yy754:
- yych = *++p;
- if (yych == 'U') goto yy755;
- if (yych != 'u') goto yy523;
-yy755:
- yych = *++p;
- if (yych == 'E') goto yy756;
- if (yych != 'e') goto yy523;
-yy756:
- yych = *++p;
- if (yych == 'L') goto yy757;
- if (yych != 'l') goto yy523;
-yy757:
- yych = *++p;
- if (yych == 'O') goto yy758;
- if (yych != 'o') goto yy523;
-yy758:
- yych = *++p;
- if (yych == 'C') goto yy759;
- if (yych != 'c') goto yy523;
-yy759:
- yych = *++p;
- if (yych == 'K') goto yy760;
- if (yych != 'k') goto yy523;
-yy760:
- yych = *++p;
- if (yych == 'T') goto yy761;
- if (yych != 't') goto yy523;
-yy761:
- yych = *++p;
- if (yych == 'O') goto yy762;
- if (yych != 'o') goto yy523;
-yy762:
- yych = *++p;
- if (yych == 'K') goto yy763;
- if (yych != 'k') goto yy523;
-yy763:
- yych = *++p;
- if (yych == 'E') goto yy764;
- if (yych != 'e') goto yy523;
-yy764:
- yych = *++p;
- if (yych == 'N') goto yy533;
- if (yych == 'n') goto yy533;
- goto yy523;
-yy765:
- yych = *++p;
- if (yych == 'T') goto yy772;
- if (yych == 't') goto yy772;
- goto yy523;
-yy766:
- yych = *++p;
- if (yych == 'T') goto yy771;
- if (yych == 't') goto yy771;
- goto yy523;
-yy767:
- yych = *++p;
- if (yych <= 'G') {
- if (yych == ':') goto yy534;
- goto yy523;
- } else {
- if (yych <= 'H') goto yy533;
- if (yych == 'h') goto yy533;
- goto yy523;
- }
-yy768:
- yych = *++p;
- if (yych == 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
-yy769:
- yych = *++p;
- if (yych == 'W') goto yy770;
- if (yych != 'w') goto yy523;
-yy770:
- yych = *++p;
- if (yych == 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
-yy771:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy772:
- yych = *++p;
- if (yych == 'E') goto yy773;
- if (yych != 'e') goto yy523;
-yy773:
- yych = *++p;
- if (yych == 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
-yy774:
- yych = *++p;
- if (yych == 'N') goto yy533;
- if (yych == 'n') goto yy533;
- goto yy523;
-yy775:
- yych = *++p;
- if (yych <= 'P') {
- if (yych == 'M') goto yy806;
- if (yych <= 'O') goto yy523;
- goto yy805;
- } else {
- if (yych <= 'm') {
- if (yych <= 'l') goto yy523;
- goto yy806;
- } else {
- if (yych == 'p') goto yy805;
- goto yy523;
- }
- }
-yy776:
- yych = *++p;
- if (yych <= 'Q') {
- if (yych <= '-') {
- if (yych <= ',') goto yy523;
- goto yy798;
- } else {
- if (yych == 'N') goto yy799;
- goto yy523;
- }
- } else {
- if (yych <= 'n') {
- if (yych <= 'R') goto yy797;
- if (yych <= 'm') goto yy523;
- goto yy799;
- } else {
- if (yych == 'r') goto yy797;
- goto yy523;
- }
- }
-yy777:
- yych = *++p;
- if (yych == 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
-yy778:
- yych = *++p;
- if (yych == 'S') goto yy793;
- if (yych == 's') goto yy793;
- goto yy523;
-yy779:
- yych = *++p;
- switch (yych) {
- case 'G':
- case 'g': goto yy784;
- case 'I':
- case 'i': goto yy783;
- case 'P':
- case 'p': goto yy785;
- case 'R':
- case 'r': goto yy786;
- default: goto yy523;
- }
-yy780:
- yych = *++p;
- if (yych == 'Q') goto yy782;
- if (yych == 'q') goto yy782;
- goto yy523;
-yy781:
- yych = *++p;
- if (yych == 'D') goto yy533;
- if (yych == 'd') goto yy533;
- goto yy523;
-yy782:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy783:
- yych = *++p;
- if (yych == 'L') goto yy791;
- if (yych == 'l') goto yy791;
- goto yy523;
-yy784:
- yych = *++p;
- if (yych == 'N') goto yy789;
- if (yych == 'n') goto yy789;
- goto yy523;
-yy785:
- yych = *++p;
- if (yych == 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
-yy786:
- yych = *++p;
- if (yych == 'K') goto yy787;
- if (yych != 'k') goto yy523;
-yy787:
- yych = *++p;
- if (yych == 'E') goto yy788;
- if (yych != 'e') goto yy523;
-yy788:
- yych = *++p;
- if (yych == 'T') goto yy533;
- if (yych == 't') goto yy533;
- goto yy523;
-yy789:
- yych = *++p;
- if (yych == 'E') goto yy790;
- if (yych != 'e') goto yy523;
-yy790:
- yych = *++p;
- if (yych == 'T') goto yy533;
- if (yych == 't') goto yy533;
- goto yy523;
-yy791:
- yych = *++p;
- if (yych == 'T') goto yy792;
- if (yych != 't') goto yy523;
-yy792:
- yych = *++p;
- if (yych == 'O') goto yy533;
- if (yych == 'o') goto yy533;
- goto yy523;
-yy793:
- yych = *++p;
- if (yych == 'S') goto yy794;
- if (yych != 's') goto yy523;
-yy794:
- yych = *++p;
- if (yych == 'A') goto yy795;
- if (yych != 'a') goto yy523;
-yy795:
- yych = *++p;
- if (yych == 'G') goto yy796;
- if (yych != 'g') goto yy523;
-yy796:
- yych = *++p;
- if (yych == 'E') goto yy533;
- if (yych == 'e') goto yy533;
- goto yy523;
-yy797:
- yych = *++p;
- if (yych == 'P') goto yy804;
- if (yych == 'p') goto yy804;
- goto yy523;
-yy798:
- yych = *++p;
- if (yych == 'H') goto yy801;
- if (yych == 'h') goto yy801;
- goto yy523;
-yy799:
- yych = *++p;
- if (yych == 'I') goto yy800;
- if (yych != 'i') goto yy523;
-yy800:
- yych = *++p;
- if (yych == 'M') goto yy533;
- if (yych == 'm') goto yy533;
- goto yy523;
-yy801:
- yych = *++p;
- if (yych == 'E') goto yy802;
- if (yych != 'e') goto yy523;
-yy802:
- yych = *++p;
- if (yych == 'L') goto yy803;
- if (yych != 'l') goto yy523;
-yy803:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy804:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy534;
- goto yy523;
- } else {
- if (yych <= 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
- }
-yy805:
- yych = *++p;
- if (yych == 'D') goto yy809;
- if (yych == 'd') goto yy809;
- goto yy523;
-yy806:
- yych = *++p;
- if (yych == 'B') goto yy807;
- if (yych != 'b') goto yy523;
-yy807:
- yych = *++p;
- if (yych == 'L') goto yy808;
- if (yych != 'l') goto yy523;
-yy808:
- yych = *++p;
- if (yych == 'E') goto yy533;
- if (yych == 'e') goto yy533;
- goto yy523;
-yy809:
- yych = *++p;
- if (yych == 'A') goto yy810;
- if (yych != 'a') goto yy523;
-yy810:
- yych = *++p;
- if (yych == 'T') goto yy811;
- if (yych != 't') goto yy523;
-yy811:
- yych = *++p;
- if (yych == 'E') goto yy533;
- if (yych == 'e') goto yy533;
- goto yy523;
-yy812:
- yych = *++p;
- if (yych == 'A') goto yy817;
- if (yych == 'a') goto yy817;
- goto yy523;
-yy813:
- yych = *++p;
- if (yych == 'S') goto yy814;
- if (yych != 's') goto yy523;
-yy814:
- yych = *++p;
- if (yych == 'T') goto yy815;
- if (yych != 't') goto yy523;
-yy815:
- yych = *++p;
- if (yych == 'F') goto yy816;
- if (yych != 'f') goto yy523;
-yy816:
- yych = *++p;
- if (yych == 'M') goto yy533;
- if (yych == 'm') goto yy533;
- goto yy523;
-yy817:
- yych = *++p;
- if (yych == 'P') goto yy818;
- if (yych != 'p') goto yy523;
-yy818:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy534;
- goto yy523;
- } else {
- if (yych <= 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
- }
-yy819:
- yych = *++p;
- if (yych == 'M') goto yy842;
- if (yych == 'm') goto yy842;
- goto yy523;
-yy820:
- yych = *++p;
- if (yych <= 'I') {
- if (yych == 'C') goto yy831;
- if (yych <= 'H') goto yy523;
- goto yy830;
- } else {
- if (yych <= 'c') {
- if (yych <= 'b') goto yy523;
- goto yy831;
- } else {
- if (yych == 'i') goto yy830;
- goto yy523;
- }
- }
-yy821:
- yych = *++p;
- if (yych <= 'P') {
- if (yych == 'N') goto yy533;
- if (yych <= 'O') goto yy523;
- goto yy533;
- } else {
- if (yych <= 'n') {
- if (yych <= 'm') goto yy523;
- goto yy533;
- } else {
- if (yych == 'p') goto yy533;
- goto yy523;
- }
- }
-yy822:
- yych = *++p;
- if (yych <= 'O') {
- if (yych == 'A') goto yy828;
- if (yych <= 'N') goto yy523;
- goto yy829;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy523;
- goto yy828;
- } else {
- if (yych == 'o') goto yy829;
- goto yy523;
- }
- }
-yy823:
- yych = *++p;
- if (yych == 'F') goto yy827;
- if (yych == 'f') goto yy827;
- goto yy523;
-yy824:
- yych = *++p;
- if (yych <= '@') {
- if (yych == ':') goto yy534;
- goto yy523;
- } else {
- if (yych <= 'A') goto yy826;
- if (yych == 'a') goto yy826;
- goto yy523;
- }
-yy825:
- yych = *++p;
- if (yych == 'X') goto yy533;
- if (yych == 'x') goto yy533;
- goto yy523;
-yy826:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy827:
- yych = *++p;
- if (yych == 'O') goto yy533;
- if (yych == 'o') goto yy533;
- goto yy523;
-yy828:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy829:
- yych = *++p;
- if (yych == 'N') goto yy533;
- if (yych == 'n') goto yy533;
- goto yy523;
-yy830:
- yych = *++p;
- if (yych == 'S') goto yy832;
- if (yych == 's') goto yy832;
- goto yy523;
-yy831:
- yych = *++p;
- if (yych <= ':') {
- if (yych == '6') goto yy533;
- if (yych <= '9') goto yy523;
- goto yy534;
- } else {
- if (yych <= 'S') {
- if (yych <= 'R') goto yy523;
- goto yy533;
- } else {
- if (yych == 's') goto yy533;
- goto yy523;
- }
- }
-yy832:
- yych = *++p;
- if (yych == '.') goto yy833;
- if (yych == ':') goto yy534;
- goto yy523;
-yy833:
- yych = *++p;
- if (yych <= 'X') {
- if (yych <= 'K') {
- if (yych == 'B') goto yy836;
- goto yy523;
- } else {
- if (yych <= 'L') goto yy834;
- if (yych <= 'W') goto yy523;
- goto yy835;
- }
- } else {
- if (yych <= 'k') {
- if (yych == 'b') goto yy836;
- goto yy523;
- } else {
- if (yych <= 'l') goto yy834;
- if (yych == 'x') goto yy835;
- goto yy523;
- }
- }
-yy834:
- yych = *++p;
- if (yych == 'W') goto yy841;
- if (yych == 'w') goto yy841;
- goto yy523;
-yy835:
- yych = *++p;
- if (yych == 'P') goto yy839;
- if (yych == 'p') goto yy839;
- goto yy523;
-yy836:
- yych = *++p;
- if (yych == 'E') goto yy837;
- if (yych != 'e') goto yy523;
-yy837:
- yych = *++p;
- if (yych == 'E') goto yy838;
- if (yych != 'e') goto yy523;
-yy838:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy839:
- yych = *++p;
- if (yych == 'C') goto yy840;
- if (yych != 'c') goto yy523;
-yy840:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy534;
- goto yy523;
- } else {
- if (yych <= 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
- }
-yy841:
- yych = *++p;
- if (yych == 'Z') goto yy533;
- if (yych == 'z') goto yy533;
- goto yy523;
-yy842:
- yych = *++p;
- if (yych == 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
-yy843:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy844:
- yych = *++p;
- if (yych == 'T') goto yy847;
- if (yych == 't') goto yy847;
- goto yy523;
-yy845:
- yych = *++p;
- if (yych != '2') goto yy523;
- yych = *++p;
- if (yych == '3') goto yy533;
- goto yy523;
-yy847:
- yych = *++p;
- if (yych == 'P') goto yy848;
- if (yych != 'p') goto yy523;
-yy848:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy534;
- goto yy523;
- } else {
- if (yych <= 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
- }
-yy849:
- yych = *++p;
- if (yych == 'A') goto yy865;
- if (yych == 'a') goto yy865;
- goto yy523;
-yy850:
- yych = *++p;
- if (yych <= 'Z') {
- if (yych == 'T') goto yy533;
- if (yych <= 'Y') goto yy523;
- goto yy856;
- } else {
- if (yych <= 't') {
- if (yych <= 's') goto yy523;
- goto yy533;
- } else {
- if (yych == 'z') goto yy856;
- goto yy523;
- }
- }
-yy851:
- yych = *++p;
- if (yych <= 'O') {
- if (yych == ':') goto yy534;
- goto yy523;
- } else {
- if (yych <= 'P') goto yy853;
- if (yych == 'p') goto yy853;
- goto yy523;
- }
-yy852:
- yych = *++p;
- if (yych == 'O') goto yy533;
- if (yych == 'o') goto yy533;
- goto yy523;
-yy853:
- yych = *++p;
- if (yych == 'H') goto yy854;
- if (yych != 'h') goto yy523;
-yy854:
- yych = *++p;
- if (yych == 'E') goto yy855;
- if (yych != 'e') goto yy523;
-yy855:
- yych = *++p;
- if (yych == 'R') goto yy533;
- if (yych == 'r') goto yy533;
- goto yy523;
-yy856:
- yych = *++p;
- if (yych == 'M') goto yy857;
- if (yych != 'm') goto yy523;
-yy857:
- yych = *++p;
- if (yych == 'O') goto yy858;
- if (yych != 'o') goto yy523;
-yy858:
- yych = *++p;
- if (yych == 'P') goto yy859;
- if (yych != 'p') goto yy523;
-yy859:
- yych = *++p;
- if (yych == 'R') goto yy860;
- if (yych != 'r') goto yy523;
-yy860:
- yych = *++p;
- if (yych == 'O') goto yy861;
- if (yych != 'o') goto yy523;
-yy861:
- yych = *++p;
- if (yych == 'J') goto yy862;
- if (yych != 'j') goto yy523;
-yy862:
- yych = *++p;
- if (yych == 'E') goto yy863;
- if (yych != 'e') goto yy523;
-yy863:
- yych = *++p;
- if (yych == 'C') goto yy864;
- if (yych != 'c') goto yy523;
-yy864:
- yych = *++p;
- if (yych == 'T') goto yy533;
- if (yych == 't') goto yy533;
- goto yy523;
-yy865:
- yych = *++p;
- if (yych == 'L') goto yy866;
- if (yych != 'l') goto yy523;
-yy866:
- yych = *++p;
- if (yych == 'K') goto yy533;
- if (yych == 'k') goto yy533;
- goto yy523;
-yy867:
- yych = *++p;
- if (yych <= 'S') {
- if (yych <= 'M') {
- if (yych == 'L') goto yy877;
- goto yy523;
- } else {
- if (yych <= 'N') goto yy878;
- if (yych <= 'R') goto yy523;
- goto yy879;
- }
- } else {
- if (yych <= 'm') {
- if (yych == 'l') goto yy877;
- goto yy523;
- } else {
- if (yych <= 'n') goto yy878;
- if (yych == 's') goto yy879;
- goto yy523;
- }
- }
-yy868:
- yych = *++p;
- if (yych == 'E') goto yy876;
- if (yych == 'e') goto yy876;
- goto yy523;
-yy869:
- yych = *++p;
- if (yych == 'C') goto yy871;
- if (yych == 'c') goto yy871;
- goto yy523;
-yy870:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy871:
- yych = *++p;
- if (yych == 'E') goto yy872;
- if (yych != 'e') goto yy523;
-yy872:
- yych = *++p;
- if (yych == 'T') goto yy873;
- if (yych != 't') goto yy523;
-yy873:
- yych = *++p;
- if (yych == 'I') goto yy874;
- if (yych != 'i') goto yy523;
-yy874:
- yych = *++p;
- if (yych == 'M') goto yy875;
- if (yych != 'm') goto yy523;
-yy875:
- yych = *++p;
- if (yych == 'E') goto yy533;
- if (yych == 'e') goto yy533;
- goto yy523;
-yy876:
- yych = *++p;
- if (yych == 'D') goto yy533;
- if (yych == 'd') goto yy533;
- goto yy523;
-yy877:
- yych = *++p;
- if (yych == 'E') goto yy533;
- if (yych == 'e') goto yy533;
- goto yy523;
-yy878:
- yych = *++p;
- if (yych == 'G') goto yy880;
- if (yych == 'g') goto yy880;
- goto yy523;
-yy879:
- yych = *++p;
- if (yych == 'H') goto yy533;
- if (yych == 'h') goto yy533;
- goto yy523;
-yy880:
- yych = *++p;
- if (yych == 'E') goto yy881;
- if (yych != 'e') goto yy523;
-yy881:
- yych = *++p;
- if (yych == 'R') goto yy533;
- if (yych == 'r') goto yy533;
- goto yy523;
-yy882:
- yych = *++p;
- if (yych == 'T') goto yy900;
- if (yych == 't') goto yy900;
- goto yy523;
-yy883:
- yych = *++p;
- if (yych == 'T') goto yy533;
- if (yych == 't') goto yy533;
- goto yy523;
-yy884:
- yych = *++p;
- if (yych == 'M') goto yy533;
- if (yych == 'm') goto yy533;
- goto yy523;
-yy885:
- yych = *++p;
- if (yych <= 'S') {
- if (yych == 'P') goto yy533;
- if (yych <= 'R') goto yy523;
- goto yy533;
- } else {
- if (yych <= 'p') {
- if (yych <= 'o') goto yy523;
- goto yy533;
- } else {
- if (yych == 's') goto yy533;
- goto yy523;
- }
- }
-yy886:
- yych = *++p;
- if (yych == 'I') goto yy894;
- if (yych == 'i') goto yy894;
- goto yy523;
-yy887:
- yych = *++p;
- if (yych == 'A') goto yy893;
- if (yych == 'a') goto yy893;
- goto yy523;
-yy888:
- yych = *++p;
- if (yych == 'O') goto yy891;
- if (yych == 'o') goto yy891;
- goto yy523;
-yy889:
- yych = *++p;
- if (yych == 'A') goto yy890;
- if (yych != 'a') goto yy523;
-yy890:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == ':') goto yy534;
- goto yy523;
- } else {
- if (yych <= 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
- }
-yy891:
- yych = *++p;
- if (yych == 'U') goto yy892;
- if (yych != 'u') goto yy523;
-yy892:
- yych = *++p;
- if (yych == 'T') goto yy533;
- if (yych == 't') goto yy533;
- goto yy523;
-yy893:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy894:
- yych = *++p;
- if (yych == 'U') goto yy895;
- if (yych != 'u') goto yy523;
-yy895:
- yych = *++p;
- if (yych == 'M') goto yy896;
- if (yych != 'm') goto yy523;
-yy896:
- yych = *++p;
- if (yych == 'X') goto yy897;
- if (yych != 'x') goto yy523;
-yy897:
- yych = *++p;
- if (yych == 'T') goto yy898;
- if (yych != 't') goto yy523;
-yy898:
- yych = *++p;
- if (yych == 'R') goto yy899;
- if (yych != 'r') goto yy523;
-yy899:
- yych = *++p;
- if (yych == 'A') goto yy533;
- if (yych == 'a') goto yy533;
- goto yy523;
-yy900:
- yych = *++p;
- if (yych == 'A') goto yy901;
- if (yych != 'a') goto yy523;
-yy901:
- yych = *++p;
- if (yych == 'C') goto yy902;
- if (yych != 'c') goto yy523;
-yy902:
- yych = *++p;
- if (yych == 'H') goto yy903;
- if (yych != 'h') goto yy523;
-yy903:
- yych = *++p;
- if (yych == 'M') goto yy904;
- if (yych != 'm') goto yy523;
-yy904:
- yych = *++p;
- if (yych == 'E') goto yy905;
- if (yych != 'e') goto yy523;
-yy905:
- yych = *++p;
- if (yych == 'N') goto yy906;
- if (yych != 'n') goto yy523;
-yy906:
- yych = *++p;
- if (yych == 'T') goto yy533;
- if (yych == 't') goto yy533;
- goto yy523;
-yy907:
- yych = *++p;
- if (yych == 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
-yy908:
- yych = *++p;
- if (yych <= 'V') {
- if (yych == 'R') goto yy533;
- if (yych <= 'U') goto yy523;
- } else {
- if (yych <= 'r') {
- if (yych <= 'q') goto yy523;
- goto yy533;
- } else {
- if (yych != 'v') goto yy523;
- }
- }
- yych = *++p;
- if (yych == 'A') goto yy910;
- if (yych != 'a') goto yy523;
-yy910:
- yych = *++p;
- if (yych == 'S') goto yy911;
- if (yych != 's') goto yy523;
-yy911:
- yych = *++p;
- if (yych == 'C') goto yy912;
- if (yych != 'c') goto yy523;
-yy912:
- yych = *++p;
- if (yych == 'R') goto yy913;
- if (yych != 'r') goto yy523;
-yy913:
- yych = *++p;
- if (yych == 'I') goto yy914;
- if (yych != 'i') goto yy523;
-yy914:
- yych = *++p;
- if (yych == 'P') goto yy915;
- if (yych != 'p') goto yy523;
-yy915:
- yych = *++p;
- if (yych == 'T') goto yy533;
- if (yych == 't') goto yy533;
- goto yy523;
-yy916:
- yych = *++p;
- if (yych == 'B') goto yy533;
- if (yych == 'b') goto yy533;
- goto yy523;
-yy917:
- yych = *++p;
- if (yych == 'N') goto yy533;
- if (yych == 'n') goto yy533;
- goto yy523;
-yy918:
- yych = *++p;
- if (yych == 'N') goto yy925;
- if (yych == 'n') goto yy925;
- goto yy523;
-yy919:
- yych = *++p;
- if (yych == 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
-yy920:
- yych = *++p;
- if (yych == 'C') goto yy924;
- if (yych == 'c') goto yy924;
- goto yy523;
-yy921:
- yych = *++p;
- if (yych <= 'V') {
- if (yych == 'T') goto yy923;
- if (yych <= 'U') goto yy523;
- goto yy533;
- } else {
- if (yych <= 't') {
- if (yych <= 's') goto yy523;
- goto yy923;
- } else {
- if (yych == 'v') goto yy533;
- goto yy523;
- }
- }
-yy922:
- yych = *++p;
- if (yych == 'I') goto yy533;
- if (yych == 'i') goto yy533;
- goto yy523;
-yy923:
- yych = *++p;
- if (yych == 'A') goto yy533;
- if (yych == 'a') goto yy533;
- goto yy523;
-yy924:
- yych = *++p;
- if (yych == 'T') goto yy533;
- if (yych == 't') goto yy533;
- goto yy523;
-yy925:
- yych = *++p;
- if (yych == 'A') goto yy926;
- if (yych != 'a') goto yy523;
-yy926:
- yych = *++p;
- if (yych != '-') goto yy523;
- yych = *++p;
- if (yych == 'P') goto yy928;
- if (yych != 'p') goto yy523;
-yy928:
- yych = *++p;
- if (yych == 'L') goto yy929;
- if (yych != 'l') goto yy523;
-yy929:
- yych = *++p;
- if (yych == 'A') goto yy930;
- if (yych != 'a') goto yy523;
-yy930:
- yych = *++p;
- if (yych == 'Y') goto yy931;
- if (yych != 'y') goto yy523;
-yy931:
- yych = *++p;
- if (yych <= 'S') {
- if (yych == 'C') goto yy932;
- if (yych <= 'R') goto yy523;
- goto yy933;
- } else {
- if (yych <= 'c') {
- if (yych <= 'b') goto yy523;
- } else {
- if (yych == 's') goto yy933;
- goto yy523;
- }
- }
-yy932:
- yych = *++p;
- if (yych == 'O') goto yy938;
- if (yych == 'o') goto yy938;
- goto yy523;
-yy933:
- yych = *++p;
- if (yych == 'I') goto yy934;
- if (yych != 'i') goto yy523;
-yy934:
- yych = *++p;
- if (yych == 'N') goto yy935;
- if (yych != 'n') goto yy523;
-yy935:
- yych = *++p;
- if (yych == 'G') goto yy936;
- if (yych != 'g') goto yy523;
-yy936:
- yych = *++p;
- if (yych == 'L') goto yy937;
- if (yych != 'l') goto yy523;
-yy937:
- yych = *++p;
- if (yych == 'E') goto yy533;
- if (yych == 'e') goto yy533;
- goto yy523;
-yy938:
- yych = *++p;
- if (yych == 'N') goto yy939;
- if (yych != 'n') goto yy523;
-yy939:
- yych = *++p;
- if (yych == 'T') goto yy940;
- if (yych != 't') goto yy523;
-yy940:
- yych = *++p;
- if (yych == 'A') goto yy941;
- if (yych != 'a') goto yy523;
-yy941:
- yych = *++p;
- if (yych == 'I') goto yy942;
- if (yych != 'i') goto yy523;
-yy942:
- yych = *++p;
- if (yych == 'N') goto yy943;
- if (yych != 'n') goto yy523;
-yy943:
- yych = *++p;
- if (yych == 'E') goto yy944;
- if (yych != 'e') goto yy523;
-yy944:
- yych = *++p;
- if (yych == 'R') goto yy533;
- if (yych == 'r') goto yy533;
- goto yy523;
-yy945:
- yych = *++p;
- if (yych == 'S') goto yy533;
- if (yych == 's') goto yy533;
- goto yy523;
-yy946:
- yych = *++p;
- if (yych <= 'N') {
- if (yych <= 'A') {
- if (yych <= '@') goto yy523;
- goto yy968;
- } else {
- if (yych <= 'L') goto yy523;
- if (yych <= 'M') goto yy969;
- goto yy970;
- }
- } else {
- if (yych <= 'l') {
- if (yych == 'a') goto yy968;
- goto yy523;
- } else {
- if (yych <= 'm') goto yy969;
- if (yych <= 'n') goto yy970;
- goto yy523;
- }
- }
-yy947:
- yych = *++p;
- if (yych == 'R') goto yy955;
- if (yych == 'r') goto yy955;
- goto yy523;
-yy948:
- yych = *++p;
- if (yych <= 'P') {
- if (yych == 'L') goto yy952;
- if (yych <= 'O') goto yy523;
- goto yy533;
- } else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy523;
- goto yy952;
- } else {
- if (yych == 'p') goto yy533;
- goto yy523;
- }
- }
-yy949:
- yych = *++p;
- if (yych == 'I') goto yy951;
- if (yych == 'i') goto yy951;
- goto yy523;
-yy950:
- yych = *++p;
- if (yych == 'D') goto yy533;
- if (yych == 'd') goto yy533;
- goto yy523;
-yy951:
- yych = *++p;
- if (yych == 'D') goto yy533;
- if (yych == 'd') goto yy533;
- goto yy523;
-yy952:
- yych = *++p;
- if (yych == 'L') goto yy953;
- if (yych != 'l') goto yy523;
-yy953:
- yych = *++p;
- if (yych == 'T') goto yy954;
- if (yych != 't') goto yy523;
-yy954:
- yych = *++p;
- if (yych == 'O') goto yy533;
- if (yych == 'o') goto yy533;
- goto yy523;
-yy955:
- yych = *++p;
- if (yych == 'O') goto yy956;
- if (yych != 'o') goto yy523;
-yy956:
- yych = *++p;
- if (yych == 'M') goto yy957;
- if (yych != 'm') goto yy523;
-yy957:
- yych = *++p;
- if (yych == 'E') goto yy958;
- if (yych != 'e') goto yy523;
-yy958:
- yych = *++p;
- if (yych == '-') goto yy959;
- if (yych == ':') goto yy534;
- goto yy523;
-yy959:
- yych = *++p;
- if (yych == 'E') goto yy960;
- if (yych != 'e') goto yy523;
-yy960:
- yych = *++p;
- if (yych == 'X') goto yy961;
- if (yych != 'x') goto yy523;
-yy961:
- yych = *++p;
- if (yych == 'T') goto yy962;
- if (yych != 't') goto yy523;
-yy962:
- yych = *++p;
- if (yych == 'E') goto yy963;
- if (yych != 'e') goto yy523;
-yy963:
- yych = *++p;
- if (yych == 'N') goto yy964;
- if (yych != 'n') goto yy523;
-yy964:
- yych = *++p;
- if (yych == 'S') goto yy965;
- if (yych != 's') goto yy523;
-yy965:
- yych = *++p;
- if (yych == 'I') goto yy966;
- if (yych != 'i') goto yy523;
-yy966:
- yych = *++p;
- if (yych == 'O') goto yy967;
- if (yych != 'o') goto yy523;
-yy967:
- yych = *++p;
- if (yych == 'N') goto yy533;
- if (yych == 'n') goto yy533;
- goto yy523;
-yy968:
- yych = *++p;
- if (yych == 'P') goto yy533;
- if (yych == 'p') goto yy533;
- goto yy523;
-yy969:
- yych = *++p;
- if (yych == '-') goto yy974;
- goto yy523;
-yy970:
- yych = *++p;
- if (yych == 'T') goto yy971;
- if (yych != 't') goto yy523;
-yy971:
- yych = *++p;
- if (yych == 'E') goto yy972;
- if (yych != 'e') goto yy523;
-yy972:
- yych = *++p;
- if (yych == 'N') goto yy973;
- if (yych != 'n') goto yy523;
-yy973:
- yych = *++p;
- if (yych == 'T') goto yy533;
- if (yych == 't') goto yy533;
- goto yy523;
-yy974:
- yych = *++p;
- if (yych == 'E') goto yy975;
- if (yych != 'e') goto yy523;
-yy975:
- yych = *++p;
- if (yych == 'V') goto yy976;
- if (yych != 'v') goto yy523;
-yy976:
- yych = *++p;
- if (yych == 'E') goto yy977;
- if (yych != 'e') goto yy523;
-yy977:
- yych = *++p;
- if (yych == 'N') goto yy978;
- if (yych != 'n') goto yy523;
-yy978:
- yych = *++p;
- if (yych == 'T') goto yy979;
- if (yych != 't') goto yy523;
-yy979:
- yych = *++p;
- if (yych == 'B') goto yy980;
- if (yych != 'b') goto yy523;
-yy980:
- yych = *++p;
- if (yych == 'R') goto yy981;
- if (yych != 'r') goto yy523;
-yy981:
- yych = *++p;
- if (yych == 'I') goto yy982;
- if (yych != 'i') goto yy523;
-yy982:
- yych = *++p;
- if (yych == 'T') goto yy983;
- if (yych != 't') goto yy523;
-yy983:
- yych = *++p;
- if (yych == 'E') goto yy984;
- if (yych != 'e') goto yy523;
-yy984:
- yych = *++p;
- if (yych != '-') goto yy523;
- yych = *++p;
- if (yych == 'A') goto yy986;
- if (yych != 'a') goto yy523;
-yy986:
- yych = *++p;
- if (yych == 'T') goto yy987;
- if (yych != 't') goto yy523;
-yy987:
- yych = *++p;
- if (yych == 'T') goto yy988;
- if (yych != 't') goto yy523;
-yy988:
- yych = *++p;
- if (yych == 'E') goto yy989;
- if (yych != 'e') goto yy523;
-yy989:
- yych = *++p;
- if (yych == 'N') goto yy990;
- if (yych != 'n') goto yy523;
-yy990:
- yych = *++p;
- if (yych == 'D') goto yy991;
- if (yych != 'd') goto yy523;
-yy991:
- yych = *++p;
- if (yych == 'E') goto yy992;
- if (yych != 'e') goto yy523;
-yy992:
- ++p;
- if ((yych = *p) == 'E') goto yy533;
- if (yych == 'e') goto yy533;
- goto yy523;
-}
-
+ {
+ 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 = *(marker = p);
+ if (yych <= 'c') {
+ if (yych <= 'M') {
+ if (yych <= 'E') {
+ if (yych <= 'A') {
+ if (yych == '\n')
+ goto yy494;
+ if (yych <= '@')
+ goto yy521;
+ goto yy498;
+ } else {
+ if (yych <= 'B')
+ goto yy516;
+ if (yych <= 'C')
+ goto yy495;
+ if (yych <= 'D')
+ goto yy496;
+ goto yy517;
+ }
+ } else {
+ if (yych <= 'I') {
+ if (yych <= 'F')
+ goto yy499;
+ if (yych <= 'G')
+ goto yy500;
+ if (yych <= 'H')
+ goto yy501;
+ goto yy502;
+ } else {
+ if (yych <= 'J')
+ goto yy497;
+ if (yych <= 'K')
+ goto yy518;
+ if (yych <= 'L')
+ goto yy503;
+ goto yy504;
+ }
+ }
+ } else {
+ if (yych <= 'U') {
+ if (yych <= 'Q') {
+ if (yych <= 'N')
+ goto yy505;
+ if (yych <= 'O')
+ goto yy506;
+ if (yych <= 'P')
+ goto yy507;
+ goto yy519;
+ } else {
+ if (yych <= 'R')
+ goto yy508;
+ if (yych <= 'S')
+ goto yy509;
+ if (yych <= 'T')
+ goto yy510;
+ goto yy511;
+ }
+ } else {
+ if (yych <= 'Y') {
+ if (yych <= 'V')
+ goto yy512;
+ if (yych <= 'W')
+ goto yy513;
+ if (yych <= 'X')
+ goto yy514;
+ goto yy520;
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z')
+ goto yy515;
+ goto yy521;
+ } else {
+ if (yych <= 'a')
+ goto yy498;
+ if (yych <= 'b')
+ goto yy516;
+ goto yy495;
+ }
+ }
+ }
+ }
+ } else {
+ if (yych <= 't') {
+ if (yych <= 'k') {
+ if (yych <= 'g') {
+ if (yych <= 'd')
+ goto yy496;
+ if (yych <= 'e')
+ goto yy517;
+ if (yych <= 'f')
+ goto yy499;
+ goto yy500;
+ } else {
+ if (yych <= 'h')
+ goto yy501;
+ if (yych <= 'i')
+ goto yy502;
+ if (yych <= 'j')
+ goto yy497;
+ goto yy518;
+ }
+ } else {
+ if (yych <= 'o') {
+ if (yych <= 'l')
+ goto yy503;
+ if (yych <= 'm')
+ goto yy504;
+ if (yych <= 'n')
+ goto yy505;
+ goto yy506;
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'p')
+ goto yy507;
+ goto yy519;
+ } else {
+ if (yych <= 'r')
+ goto yy508;
+ if (yych <= 's')
+ goto yy509;
+ goto yy510;
+ }
+ }
+ }
+ } else {
+ if (yych <= 0xC1) {
+ if (yych <= 'x') {
+ if (yych <= 'u')
+ goto yy511;
+ if (yych <= 'v')
+ goto yy512;
+ if (yych <= 'w')
+ goto yy513;
+ goto yy514;
+ } else {
+ if (yych <= 'y')
+ goto yy520;
+ if (yych <= 'z')
+ goto yy515;
+ if (yych <= 0x7F)
+ goto yy521;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy522;
+ if (yych <= 0xE0)
+ goto yy524;
+ if (yych <= 0xEC)
+ goto yy525;
+ goto yy529;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy525;
+ goto yy526;
+ } else {
+ if (yych <= 0xF3)
+ goto yy527;
+ if (yych <= 0xF4)
+ goto yy528;
+ }
+ }
+ }
+ }
+ }
+ yy494 : { return 0; }
+ yy495:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy948;
+ case 'H':
+ case 'h':
+ goto yy947;
+ case 'I':
+ case 'i':
+ goto yy950;
+ case 'O':
+ case 'o':
+ goto yy946;
+ case 'R':
+ case 'r':
+ goto yy949;
+ case 'V':
+ case 'v':
+ goto yy945;
+ default:
+ goto yy494;
+ }
+ yy496:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy921;
+ case 'I':
+ case 'i':
+ goto yy920;
+ case 'L':
+ case 'l':
+ goto yy918;
+ case 'N':
+ case 'n':
+ goto yy919;
+ case 'O':
+ case 'o':
+ goto yy922;
+ case 'T':
+ case 't':
+ goto yy917;
+ case 'V':
+ case 'v':
+ goto yy916;
+ default:
+ goto yy494;
+ }
+ yy497:
+ yych = *(marker = ++p);
+ if (yych <= 'M') {
+ if (yych == 'A')
+ goto yy908;
+ if (yych <= 'L')
+ goto yy494;
+ goto yy907;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy494;
+ goto yy908;
+ } else {
+ if (yych == 'm')
+ goto yy907;
+ goto yy494;
+ }
+ }
+ yy498:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy889;
+ case 'B':
+ case 'b':
+ goto yy888;
+ case 'C':
+ case 'c':
+ goto yy887;
+ case 'D':
+ case 'd':
+ goto yy886;
+ case 'F':
+ case 'f':
+ goto yy885;
+ case 'I':
+ case 'i':
+ goto yy884;
+ case 'P':
+ case 'p':
+ goto yy883;
+ case 'T':
+ case 't':
+ goto yy882;
+ case 'W':
+ case 'w':
+ goto yy533;
+ default:
+ goto yy494;
+ }
+ yy499:
+ yych = *(marker = ++p);
+ if (yych <= 'T') {
+ if (yych <= 'E') {
+ if (yych == 'A')
+ goto yy869;
+ if (yych <= 'D')
+ goto yy494;
+ goto yy868;
+ } else {
+ if (yych == 'I')
+ goto yy867;
+ if (yych <= 'S')
+ goto yy494;
+ goto yy870;
+ }
+ } else {
+ if (yych <= 'e') {
+ if (yych == 'a')
+ goto yy869;
+ if (yych <= 'd')
+ goto yy494;
+ goto yy868;
+ } else {
+ if (yych <= 'i') {
+ if (yych <= 'h')
+ goto yy494;
+ goto yy867;
+ } else {
+ if (yych == 't')
+ goto yy870;
+ goto yy494;
+ }
+ }
+ }
+ yy500:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'E':
+ case 'e':
+ goto yy852;
+ case 'G':
+ case 'g':
+ goto yy533;
+ case 'I':
+ case 'i':
+ goto yy850;
+ case 'O':
+ case 'o':
+ goto yy851;
+ case 'T':
+ case 't':
+ goto yy849;
+ default:
+ goto yy494;
+ }
+ yy501:
+ yych = *(marker = ++p);
+ if (yych <= 'S') {
+ if (yych <= '3') {
+ if (yych <= '2')
+ goto yy494;
+ goto yy845;
+ } else {
+ if (yych == 'C')
+ goto yy843;
+ goto yy494;
+ }
+ } else {
+ if (yych <= 'c') {
+ if (yych <= 'T')
+ goto yy844;
+ if (yych <= 'b')
+ goto yy494;
+ goto yy843;
+ } else {
+ if (yych == 't')
+ goto yy844;
+ goto yy494;
+ }
+ }
+ yy502:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy825;
+ case 'C':
+ case 'c':
+ goto yy822;
+ case 'M':
+ case 'm':
+ goto yy824;
+ case 'N':
+ case 'n':
+ goto yy823;
+ case 'P':
+ case 'p':
+ goto yy821;
+ case 'R':
+ case 'r':
+ goto yy820;
+ case 'T':
+ case 't':
+ goto yy819;
+ default:
+ goto yy494;
+ }
+ yy503:
+ yych = *(marker = ++p);
+ if (yych <= 'D') {
+ if (yych == 'A')
+ goto yy813;
+ if (yych <= 'C')
+ goto yy494;
+ goto yy812;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy494;
+ goto yy813;
+ } else {
+ if (yych == 'd')
+ goto yy812;
+ goto yy494;
+ }
+ }
+ yy504:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy779;
+ case 'E':
+ case 'e':
+ goto yy778;
+ case 'I':
+ case 'i':
+ goto yy781;
+ case 'M':
+ case 'm':
+ goto yy777;
+ case 'S':
+ case 's':
+ goto yy776;
+ case 'T':
+ case 't':
+ goto yy780;
+ case 'U':
+ case 'u':
+ goto yy775;
+ case 'V':
+ case 'v':
+ goto yy774;
+ default:
+ goto yy494;
+ }
+ yy505:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'E':
+ case 'e':
+ goto yy769;
+ case 'F':
+ case 'f':
+ goto yy768;
+ case 'I':
+ case 'i':
+ goto yy767;
+ case 'N':
+ case 'n':
+ goto yy766;
+ case 'O':
+ case 'o':
+ goto yy765;
+ default:
+ goto yy494;
+ }
+ yy506:
+ yych = *(marker = ++p);
+ if (yych <= 'P') {
+ if (yych == 'I')
+ goto yy751;
+ if (yych <= 'O')
+ goto yy494;
+ goto yy752;
+ } else {
+ if (yych <= 'i') {
+ if (yych <= 'h')
+ goto yy494;
+ goto yy751;
+ } else {
+ if (yych == 'p')
+ goto yy752;
+ goto yy494;
+ }
+ }
+ yy507:
+ yych = *(marker = ++p);
+ if (yych <= 'S') {
+ if (yych <= 'L') {
+ if (yych == 'A')
+ goto yy733;
+ if (yych <= 'K')
+ goto yy494;
+ goto yy732;
+ } else {
+ if (yych <= 'O') {
+ if (yych <= 'N')
+ goto yy494;
+ goto yy734;
+ } else {
+ if (yych <= 'Q')
+ goto yy494;
+ if (yych <= 'R')
+ goto yy731;
+ goto yy730;
+ }
+ }
+ } else {
+ if (yych <= 'n') {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy494;
+ goto yy733;
+ } else {
+ if (yych == 'l')
+ goto yy732;
+ goto yy494;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'o')
+ goto yy734;
+ goto yy494;
+ } else {
+ if (yych <= 'r')
+ goto yy731;
+ if (yych <= 's')
+ goto yy730;
+ goto yy494;
+ }
+ }
+ }
+ yy508:
+ yych = *(marker = ++p);
+ if (yych <= 'T') {
+ if (yych <= 'L') {
+ if (yych == 'E')
+ goto yy720;
+ goto yy494;
+ } else {
+ if (yych <= 'M')
+ goto yy719;
+ if (yych <= 'R')
+ goto yy494;
+ if (yych <= 'S')
+ goto yy718;
+ goto yy717;
+ }
+ } else {
+ if (yych <= 'm') {
+ if (yych == 'e')
+ goto yy720;
+ if (yych <= 'l')
+ goto yy494;
+ goto yy719;
+ } else {
+ if (yych <= 'r')
+ goto yy494;
+ if (yych <= 's')
+ goto yy718;
+ if (yych <= 't')
+ goto yy717;
+ goto yy494;
+ }
+ }
+ yy509:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'E':
+ case 'e':
+ goto yy673;
+ case 'F':
+ case 'f':
+ goto yy672;
+ case 'G':
+ case 'g':
+ goto yy671;
+ case 'H':
+ case 'h':
+ goto yy676;
+ case 'I':
+ case 'i':
+ goto yy675;
+ case 'K':
+ case 'k':
+ goto yy670;
+ case 'M':
+ case 'm':
+ goto yy669;
+ case 'N':
+ case 'n':
+ goto yy674;
+ case 'O':
+ case 'o':
+ goto yy668;
+ case 'P':
+ case 'p':
+ goto yy667;
+ case 'S':
+ case 's':
+ goto yy666;
+ case 'T':
+ case 't':
+ goto yy665;
+ case 'V':
+ case 'v':
+ goto yy664;
+ default:
+ goto yy494;
+ }
+ yy510:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy640;
+ case 'E':
+ case 'e':
+ goto yy636;
+ case 'F':
+ case 'f':
+ goto yy639;
+ case 'H':
+ case 'h':
+ goto yy635;
+ case 'I':
+ case 'i':
+ goto yy637;
+ case 'N':
+ case 'n':
+ goto yy638;
+ case 'V':
+ case 'v':
+ goto yy533;
+ default:
+ goto yy494;
+ }
+ yy511:
+ yych = *(marker = ++p);
+ if (yych <= 'T') {
+ if (yych <= 'N') {
+ if (yych == 'D')
+ goto yy627;
+ if (yych <= 'M')
+ goto yy494;
+ goto yy626;
+ } else {
+ if (yych == 'R')
+ goto yy628;
+ if (yych <= 'S')
+ goto yy494;
+ goto yy625;
+ }
+ } else {
+ if (yych <= 'n') {
+ if (yych == 'd')
+ goto yy627;
+ if (yych <= 'm')
+ goto yy494;
+ goto yy626;
+ } else {
+ if (yych <= 'r') {
+ if (yych <= 'q')
+ goto yy494;
+ goto yy628;
+ } else {
+ if (yych == 't')
+ goto yy625;
+ goto yy494;
+ }
+ }
+ }
+ yy512:
+ yych = *(marker = ++p);
+ if (yych <= 'I') {
+ if (yych == 'E')
+ goto yy609;
+ if (yych <= 'H')
+ goto yy494;
+ goto yy608;
+ } else {
+ if (yych <= 'e') {
+ if (yych <= 'd')
+ goto yy494;
+ goto yy609;
+ } else {
+ if (yych == 'i')
+ goto yy608;
+ goto yy494;
+ }
+ }
+ yy513:
+ yych = *(marker = ++p);
+ if (yych <= 'Y') {
+ if (yych <= 'R') {
+ if (yych == 'E')
+ goto yy598;
+ goto yy494;
+ } else {
+ if (yych <= 'S')
+ goto yy599;
+ if (yych <= 'T')
+ goto yy597;
+ if (yych <= 'X')
+ goto yy494;
+ goto yy596;
+ }
+ } else {
+ if (yych <= 's') {
+ if (yych == 'e')
+ goto yy598;
+ if (yych <= 'r')
+ goto yy494;
+ goto yy599;
+ } else {
+ if (yych <= 't')
+ goto yy597;
+ if (yych == 'y')
+ goto yy596;
+ goto yy494;
+ }
+ }
+ yy514:
+ yych = *(marker = ++p);
+ if (yych <= 'R') {
+ if (yych <= 'F') {
+ if (yych == 'C')
+ goto yy575;
+ if (yych <= 'E')
+ goto yy494;
+ goto yy573;
+ } else {
+ if (yych == 'M')
+ goto yy574;
+ if (yych <= 'Q')
+ goto yy494;
+ goto yy572;
+ }
+ } else {
+ if (yych <= 'f') {
+ if (yych == 'c')
+ goto yy575;
+ if (yych <= 'e')
+ goto yy494;
+ goto yy573;
+ } else {
+ if (yych <= 'm') {
+ if (yych <= 'l')
+ goto yy494;
+ goto yy574;
+ } else {
+ if (yych == 'r')
+ goto yy572;
+ goto yy494;
+ }
+ }
+ }
+ yy515:
+ yych = *(marker = ++p);
+ if (yych == '3')
+ goto yy567;
+ goto yy494;
+ yy516:
+ yych = *(marker = ++p);
+ if (yych <= 'O') {
+ if (yych <= 'H') {
+ if (yych == 'E')
+ goto yy557;
+ goto yy494;
+ } else {
+ if (yych <= 'I')
+ goto yy556;
+ if (yych <= 'N')
+ goto yy494;
+ goto yy555;
+ }
+ } else {
+ if (yych <= 'h') {
+ if (yych == 'e')
+ goto yy557;
+ goto yy494;
+ } else {
+ if (yych <= 'i')
+ goto yy556;
+ if (yych == 'o')
+ goto yy555;
+ goto yy494;
+ }
+ }
+ yy517:
+ yych = *(marker = ++p);
+ if (yych == 'D')
+ goto yy553;
+ if (yych == 'd')
+ goto yy553;
+ goto yy494;
+ yy518:
+ yych = *(marker = ++p);
+ if (yych == 'E')
+ goto yy548;
+ if (yych == 'e')
+ goto yy548;
+ goto yy494;
+ yy519:
+ yych = *(marker = ++p);
+ if (yych == 'U')
+ goto yy545;
+ if (yych == 'u')
+ goto yy545;
+ goto yy494;
+ yy520:
+ yych = *(marker = ++p);
+ if (yych == 'M')
+ goto yy530;
+ if (yych == 'm')
+ goto yy530;
+ goto yy494;
+ yy521:
+ yych = *++p;
+ goto yy494;
+ yy522:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy523;
+ if (yych <= 0xBF)
+ goto yy521;
+ yy523:
+ p = marker;
+ goto yy494;
+ yy524:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy523;
+ if (yych <= 0xBF)
+ goto yy522;
+ goto yy523;
+ yy525:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy523;
+ if (yych <= 0xBF)
+ goto yy522;
+ goto yy523;
+ yy526:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy523;
+ if (yych <= 0xBF)
+ goto yy525;
+ goto yy523;
+ yy527:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy523;
+ if (yych <= 0xBF)
+ goto yy525;
+ goto yy523;
+ yy528:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy523;
+ if (yych <= 0x8F)
+ goto yy525;
+ goto yy523;
+ yy529:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy523;
+ if (yych <= 0x9F)
+ goto yy522;
+ goto yy523;
+ yy530:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy531;
+ if (yych != 's')
+ goto yy523;
+ yy531:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy532;
+ if (yych != 'g')
+ goto yy523;
+ yy532:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy533;
+ if (yych != 'r')
+ goto yy523;
+ yy533:
+ yych = *++p;
+ if (yych != ':')
+ goto yy523;
+ yy534:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy534;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '<')
+ goto yy523;
+ if (yych <= '>')
+ goto yy543;
+ goto yy523;
+ } else {
+ if (yych <= 0xDF)
+ goto yy536;
+ if (yych <= 0xE0)
+ goto yy537;
+ goto yy538;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy542;
+ if (yych <= 0xEF)
+ goto yy538;
+ goto yy539;
+ } else {
+ if (yych <= 0xF3)
+ goto yy540;
+ if (yych <= 0xF4)
+ goto yy541;
+ goto yy523;
+ }
+ }
+ yy536:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy523;
+ if (yych <= 0xBF)
+ goto yy534;
+ goto yy523;
+ yy537:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy523;
+ if (yych <= 0xBF)
+ goto yy536;
+ goto yy523;
+ yy538:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy523;
+ if (yych <= 0xBF)
+ goto yy536;
+ goto yy523;
+ yy539:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy523;
+ if (yych <= 0xBF)
+ goto yy538;
+ goto yy523;
+ yy540:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy523;
+ if (yych <= 0xBF)
+ goto yy538;
+ goto yy523;
+ yy541:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy523;
+ if (yych <= 0x8F)
+ goto yy538;
+ goto yy523;
+ yy542:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy523;
+ if (yych <= 0x9F)
+ goto yy536;
+ goto yy523;
+ yy543:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy545:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy546;
+ if (yych != 'e')
+ goto yy523;
+ yy546:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy547;
+ if (yych != 'r')
+ goto yy523;
+ yy547:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy533;
+ if (yych == 'y')
+ goto yy533;
+ goto yy523;
+ yy548:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy549;
+ if (yych != 'y')
+ goto yy523;
+ yy549:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy550;
+ if (yych != 'p')
+ goto yy523;
+ yy550:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy551;
+ if (yych != 'a')
+ goto yy523;
+ yy551:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy552;
+ if (yych != 'r')
+ goto yy523;
+ yy552:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy533;
+ if (yych == 'c')
+ goto yy533;
+ goto yy523;
+ yy553:
+ yych = *++p;
+ if (yych != '2')
+ goto yy523;
+ yych = *++p;
+ if (yych == 'K')
+ goto yy533;
+ if (yych == 'k')
+ goto yy533;
+ goto yy523;
+ yy555:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy566;
+ if (yych == 'l')
+ goto yy566;
+ goto yy523;
+ yy556:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy562;
+ if (yych == 't')
+ goto yy562;
+ goto yy523;
+ yy557:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy558;
+ if (yych != 's')
+ goto yy523;
+ yy558:
+ yych = *++p;
+ if (yych == 'H')
+ goto yy559;
+ if (yych != 'h')
+ goto yy523;
+ yy559:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy560;
+ if (yych != 'a')
+ goto yy523;
+ yy560:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy561;
+ if (yych != 'r')
+ goto yy523;
+ yy561:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy533;
+ if (yych == 'e')
+ goto yy533;
+ goto yy523;
+ yy562:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy563;
+ if (yych != 'c')
+ goto yy523;
+ yy563:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy564;
+ if (yych != 'o')
+ goto yy523;
+ yy564:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy565;
+ if (yych != 'i')
+ goto yy523;
+ yy565:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy533;
+ if (yych == 'n')
+ goto yy533;
+ goto yy523;
+ yy566:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy533;
+ if (yych == 'o')
+ goto yy533;
+ goto yy523;
+ yy567:
+ yych = *++p;
+ if (yych != '9')
+ goto yy523;
+ yych = *++p;
+ if (yych != '.')
+ goto yy523;
+ yych = *++p;
+ if (yych != '5')
+ goto yy523;
+ yych = *++p;
+ if (yych != '0')
+ goto yy523;
+ yych = *++p;
+ if (yych <= 'Q')
+ goto yy523;
+ if (yych <= 'S')
+ goto yy533;
+ if (yych <= 'q')
+ goto yy523;
+ if (yych <= 's')
+ goto yy533;
+ goto yy523;
+ yy572:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy533;
+ if (yych == 'i')
+ goto yy533;
+ goto yy523;
+ yy573:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy594;
+ if (yych == 'i')
+ goto yy594;
+ goto yy523;
+ yy574:
+ yych = *++p;
+ if (yych <= 'P') {
+ if (yych == 'L')
+ goto yy584;
+ if (yych <= 'O')
+ goto yy523;
+ goto yy585;
+ } else {
+ if (yych <= 'l') {
+ if (yych <= 'k')
+ goto yy523;
+ goto yy584;
+ } else {
+ if (yych == 'p')
+ goto yy585;
+ goto yy523;
+ }
+ }
+ yy575:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy576;
+ if (yych != 'o')
+ goto yy523;
+ yy576:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy577;
+ if (yych != 'n')
+ goto yy523;
+ yy577:
+ yych = *++p;
+ if (yych == '-')
+ goto yy578;
+ if (yych == ':')
+ goto yy534;
+ goto yy523;
+ yy578:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy579;
+ if (yych != 'u')
+ goto yy523;
+ yy579:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy580;
+ if (yych != 's')
+ goto yy523;
+ yy580:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy581;
+ if (yych != 'e')
+ goto yy523;
+ yy581:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy582;
+ if (yych != 'r')
+ goto yy523;
+ yy582:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy583;
+ if (yych != 'i')
+ goto yy523;
+ yy583:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy533;
+ if (yych == 'd')
+ goto yy533;
+ goto yy523;
+ yy584:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy586;
+ if (yych == 'r')
+ goto yy586;
+ goto yy523;
+ yy585:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy586:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy587;
+ if (yych != 'p')
+ goto yy523;
+ yy587:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy588;
+ if (yych != 'c')
+ goto yy523;
+ yy588:
+ yych = *++p;
+ if (yych != '.')
+ goto yy523;
+ yych = *++p;
+ if (yych == 'B')
+ goto yy590;
+ if (yych != 'b')
+ goto yy523;
+ yy590:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy591;
+ if (yych != 'e')
+ goto yy523;
+ yy591:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy592;
+ if (yych != 'e')
+ goto yy523;
+ yy592:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy593;
+ if (yych != 'p')
+ goto yy523;
+ yy593:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy534;
+ goto yy523;
+ } else {
+ if (yych <= 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ }
+ yy594:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy595;
+ if (yych != 'r')
+ goto yy523;
+ yy595:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy533;
+ if (yych == 'e')
+ goto yy533;
+ goto yy523;
+ yy596:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy604;
+ if (yych == 'c')
+ goto yy604;
+ goto yy523;
+ yy597:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy603;
+ if (yych == 'a')
+ goto yy603;
+ goto yy523;
+ yy598:
+ yych = *++p;
+ if (yych == 'B')
+ goto yy600;
+ if (yych == 'b')
+ goto yy600;
+ goto yy523;
+ yy599:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy534;
+ goto yy523;
+ } else {
+ if (yych <= 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ }
+ yy600:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy601;
+ if (yych != 'c')
+ goto yy523;
+ yy601:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy602;
+ if (yych != 'a')
+ goto yy523;
+ yy602:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy533;
+ if (yych == 'l')
+ goto yy533;
+ goto yy523;
+ yy603:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy533;
+ if (yych == 'i')
+ goto yy533;
+ goto yy523;
+ yy604:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy605;
+ if (yych != 'i')
+ goto yy523;
+ yy605:
+ yych = *++p;
+ if (yych == 'W')
+ goto yy606;
+ if (yych != 'w')
+ goto yy523;
+ yy606:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy607;
+ if (yych != 'y')
+ goto yy523;
+ yy607:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy533;
+ if (yych == 'g')
+ goto yy533;
+ goto yy523;
+ yy608:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy617;
+ if (yych == 'e')
+ goto yy617;
+ goto yy523;
+ yy609:
+ yych = *++p;
+ if (yych <= 'N') {
+ if (yych <= 'L')
+ goto yy523;
+ if (yych >= 'N')
+ goto yy611;
+ } else {
+ if (yych <= 'l')
+ goto yy523;
+ if (yych <= 'm')
+ goto yy610;
+ if (yych <= 'n')
+ goto yy611;
+ goto yy523;
+ }
+ yy610:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy616;
+ if (yych == 'm')
+ goto yy616;
+ goto yy523;
+ yy611:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy612;
+ if (yych != 't')
+ goto yy523;
+ yy612:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy613;
+ if (yych != 'r')
+ goto yy523;
+ yy613:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy614;
+ if (yych != 'i')
+ goto yy523;
+ yy614:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy615;
+ if (yych != 'l')
+ goto yy523;
+ yy615:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy533;
+ if (yych == 'o')
+ goto yy533;
+ goto yy523;
+ yy616:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy533;
+ if (yych == 'i')
+ goto yy533;
+ goto yy523;
+ yy617:
+ yych = *++p;
+ if (yych == 'W')
+ goto yy618;
+ if (yych != 'w')
+ goto yy523;
+ yy618:
+ yych = *++p;
+ if (yych != '-')
+ goto yy523;
+ yych = *++p;
+ if (yych == 'S')
+ goto yy620;
+ if (yych != 's')
+ goto yy523;
+ yy620:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy621;
+ if (yych != 'o')
+ goto yy523;
+ yy621:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy622;
+ if (yych != 'u')
+ goto yy523;
+ yy622:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy623;
+ if (yych != 'r')
+ goto yy523;
+ yy623:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy624;
+ if (yych != 'c')
+ goto yy523;
+ yy624:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy533;
+ if (yych == 'e')
+ goto yy533;
+ goto yy523;
+ yy625:
+ yych = *++p;
+ if (yych == '2')
+ goto yy632;
+ goto yy523;
+ yy626:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy629;
+ if (yych == 'r')
+ goto yy629;
+ goto yy523;
+ yy627:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy628:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy533;
+ if (yych == 'n')
+ goto yy533;
+ goto yy523;
+ yy629:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy630;
+ if (yych != 'e')
+ goto yy523;
+ yy630:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy631;
+ if (yych != 'a')
+ goto yy523;
+ yy631:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy533;
+ if (yych == 'l')
+ goto yy533;
+ goto yy523;
+ yy632:
+ yych = *++p;
+ if (yych != '0')
+ goto yy523;
+ yych = *++p;
+ if (yych != '0')
+ goto yy523;
+ yych = *++p;
+ if (yych == '4')
+ goto yy533;
+ goto yy523;
+ yy635:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy654;
+ if (yych == 'i')
+ goto yy654;
+ goto yy523;
+ yy636:
+ yych = *++p;
+ if (yych <= 'L') {
+ if (yych == 'A')
+ goto yy646;
+ if (yych <= 'K')
+ goto yy523;
+ goto yy645;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy523;
+ goto yy646;
+ } else {
+ if (yych == 'l')
+ goto yy645;
+ goto yy523;
+ }
+ }
+ yy637:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy638:
+ yych = *++p;
+ if (yych == '3')
+ goto yy642;
+ goto yy523;
+ yy639:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy641;
+ if (yych == 't')
+ goto yy641;
+ goto yy523;
+ yy640:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy533;
+ if (yych == 'g')
+ goto yy533;
+ goto yy523;
+ yy641:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy642:
+ yych = *++p;
+ if (yych != '2')
+ goto yy523;
+ yych = *++p;
+ if (yych != '7')
+ goto yy523;
+ yych = *++p;
+ if (yych == '0')
+ goto yy533;
+ goto yy523;
+ yy645:
+ yych = *++p;
+ if (yych <= 'M') {
+ if (yych == ':')
+ goto yy534;
+ goto yy523;
+ } else {
+ if (yych <= 'N')
+ goto yy652;
+ if (yych == 'n')
+ goto yy652;
+ goto yy523;
+ }
+ yy646:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy647;
+ if (yych != 'm')
+ goto yy523;
+ yy647:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy648;
+ if (yych != 's')
+ goto yy523;
+ yy648:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy649;
+ if (yych != 'p')
+ goto yy523;
+ yy649:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy650;
+ if (yych != 'e')
+ goto yy523;
+ yy650:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy651;
+ if (yych != 'a')
+ goto yy523;
+ yy651:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy533;
+ if (yych == 'k')
+ goto yy533;
+ goto yy523;
+ yy652:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy653;
+ if (yych != 'e')
+ goto yy523;
+ yy653:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy533;
+ if (yych == 't')
+ goto yy533;
+ goto yy523;
+ yy654:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych == 'N')
+ goto yy655;
+ if (yych <= 'R')
+ goto yy523;
+ goto yy656;
+ } else {
+ if (yych <= 'n') {
+ if (yych <= 'm')
+ goto yy523;
+ } else {
+ if (yych == 's')
+ goto yy656;
+ goto yy523;
+ }
+ }
+ yy655:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy663;
+ if (yych == 'g')
+ goto yy663;
+ goto yy523;
+ yy656:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy657;
+ if (yych != 'm')
+ goto yy523;
+ yy657:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy658;
+ if (yych != 'e')
+ goto yy523;
+ yy658:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy659;
+ if (yych != 's')
+ goto yy523;
+ yy659:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy660;
+ if (yych != 's')
+ goto yy523;
+ yy660:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy661;
+ if (yych != 'a')
+ goto yy523;
+ yy661:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy662;
+ if (yych != 'g')
+ goto yy523;
+ yy662:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy533;
+ if (yych == 'e')
+ goto yy533;
+ goto yy523;
+ yy663:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ yy664:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy533;
+ if (yych == 'n')
+ goto yy533;
+ goto yy523;
+ yy665:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy715;
+ if (yych == 'e')
+ goto yy715;
+ goto yy523;
+ yy666:
+ yych = *++p;
+ if (yych == 'H')
+ goto yy533;
+ if (yych == 'h')
+ goto yy533;
+ goto yy523;
+ yy667:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy711;
+ if (yych == 'o')
+ goto yy711;
+ goto yy523;
+ yy668:
+ yych = *++p;
+ if (yych <= 'L') {
+ if (yych == 'A')
+ goto yy701;
+ if (yych <= 'K')
+ goto yy523;
+ goto yy702;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy523;
+ goto yy701;
+ } else {
+ if (yych == 'l')
+ goto yy702;
+ goto yy523;
+ }
+ }
+ yy669:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych == 'B')
+ goto yy533;
+ if (yych <= 'R')
+ goto yy523;
+ goto yy533;
+ } else {
+ if (yych <= 'b') {
+ if (yych <= 'a')
+ goto yy523;
+ goto yy533;
+ } else {
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ }
+ }
+ yy670:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy699;
+ if (yych == 'y')
+ goto yy699;
+ goto yy523;
+ yy671:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy533;
+ if (yych == 'n')
+ goto yy533;
+ goto yy523;
+ yy672:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy698;
+ if (yych == 't')
+ goto yy698;
+ goto yy523;
+ yy673:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych <= 'C') {
+ if (yych <= 'B')
+ goto yy523;
+ goto yy685;
+ } else {
+ if (yych <= 'Q')
+ goto yy523;
+ if (yych <= 'R')
+ goto yy683;
+ goto yy684;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych == 'c')
+ goto yy685;
+ goto yy523;
+ } else {
+ if (yych <= 'r')
+ goto yy683;
+ if (yych <= 's')
+ goto yy684;
+ goto yy523;
+ }
+ }
+ yy674:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy682;
+ if (yych == 'm')
+ goto yy682;
+ goto yy523;
+ yy675:
+ yych = *++p;
+ if (yych <= 'P') {
+ if (yych == 'E')
+ goto yy679;
+ if (yych <= 'O')
+ goto yy523;
+ goto yy680;
+ } else {
+ if (yych <= 'e') {
+ if (yych <= 'd')
+ goto yy523;
+ goto yy679;
+ } else {
+ if (yych == 'p')
+ goto yy680;
+ goto yy523;
+ }
+ }
+ yy676:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy677;
+ if (yych != 't')
+ goto yy523;
+ yy677:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy678;
+ if (yych != 't')
+ goto yy523;
+ yy678:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy679:
+ yych = *++p;
+ if (yych == 'V')
+ goto yy681;
+ if (yych == 'v')
+ goto yy681;
+ goto yy523;
+ yy680:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy534;
+ goto yy523;
+ } else {
+ if (yych <= 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ }
+ yy681:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy533;
+ if (yych == 'e')
+ goto yy533;
+ goto yy523;
+ yy682:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy683:
+ yych = *++p;
+ if (yych == 'V')
+ goto yy695;
+ if (yych == 'v')
+ goto yy695;
+ goto yy523;
+ yy684:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy692;
+ if (yych == 's')
+ goto yy692;
+ goto yy523;
+ yy685:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy686;
+ if (yych != 'o')
+ goto yy523;
+ yy686:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy687;
+ if (yych != 'n')
+ goto yy523;
+ yy687:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy688;
+ if (yych != 'd')
+ goto yy523;
+ yy688:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy689;
+ if (yych != 'l')
+ goto yy523;
+ yy689:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy690;
+ if (yych != 'i')
+ goto yy523;
+ yy690:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy691;
+ if (yych != 'f')
+ goto yy523;
+ yy691:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy533;
+ if (yych == 'e')
+ goto yy533;
+ goto yy523;
+ yy692:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy693;
+ if (yych != 'i')
+ goto yy523;
+ yy693:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy694;
+ if (yych != 'o')
+ goto yy523;
+ yy694:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy533;
+ if (yych == 'n')
+ goto yy533;
+ goto yy523;
+ yy695:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy696;
+ if (yych != 'i')
+ goto yy523;
+ yy696:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy697;
+ if (yych != 'c')
+ goto yy523;
+ yy697:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy533;
+ if (yych == 'e')
+ goto yy533;
+ goto yy523;
+ yy698:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy699:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy700;
+ if (yych != 'p')
+ goto yy523;
+ yy700:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy533;
+ if (yych == 'e')
+ goto yy533;
+ goto yy523;
+ yy701:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy705;
+ if (yych == 'p')
+ goto yy705;
+ goto yy523;
+ yy702:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy703;
+ if (yych != 'd')
+ goto yy523;
+ yy703:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy704;
+ if (yych != 'a')
+ goto yy523;
+ yy704:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy533;
+ if (yych == 't')
+ goto yy533;
+ goto yy523;
+ yy705:
+ yych = *++p;
+ if (yych != '.')
+ goto yy523;
+ yych = *++p;
+ if (yych == 'B')
+ goto yy707;
+ if (yych != 'b')
+ goto yy523;
+ yy707:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy708;
+ if (yych != 'e')
+ goto yy523;
+ yy708:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy709;
+ if (yych != 'e')
+ goto yy523;
+ yy709:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy710;
+ if (yych != 'p')
+ goto yy523;
+ yy710:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy534;
+ goto yy523;
+ } else {
+ if (yych <= 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ }
+ yy711:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy712;
+ if (yych != 't')
+ goto yy523;
+ yy712:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy713;
+ if (yych != 'i')
+ goto yy523;
+ yy713:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy714;
+ if (yych != 'f')
+ goto yy523;
+ yy714:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy533;
+ if (yych == 'y')
+ goto yy533;
+ goto yy523;
+ yy715:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy716;
+ if (yych != 'a')
+ goto yy523;
+ yy716:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy533;
+ if (yych == 'm')
+ goto yy533;
+ goto yy523;
+ yy717:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych == 'M')
+ goto yy729;
+ if (yych <= 'R')
+ goto yy523;
+ goto yy728;
+ } else {
+ if (yych <= 'm') {
+ if (yych <= 'l')
+ goto yy523;
+ goto yy729;
+ } else {
+ if (yych == 's')
+ goto yy728;
+ goto yy523;
+ }
+ }
+ yy718:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy726;
+ if (yych == 'y')
+ goto yy726;
+ goto yy523;
+ yy719:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy533;
+ if (yych == 'i')
+ goto yy533;
+ goto yy523;
+ yy720:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy721;
+ if (yych != 's')
+ goto yy523;
+ yy721:
+ yych = *++p;
+ if (yych <= 'N') {
+ if (yych == ':')
+ goto yy534;
+ goto yy523;
+ } else {
+ if (yych <= 'O')
+ goto yy722;
+ if (yych != 'o')
+ goto yy523;
+ }
+ yy722:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy723;
+ if (yych != 'u')
+ goto yy523;
+ yy723:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy724;
+ if (yych != 'r')
+ goto yy523;
+ yy724:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy725;
+ if (yych != 'c')
+ goto yy523;
+ yy725:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy533;
+ if (yych == 'e')
+ goto yy533;
+ goto yy523;
+ yy726:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy727;
+ if (yych != 'n')
+ goto yy523;
+ yy727:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy533;
+ if (yych == 'c')
+ goto yy533;
+ goto yy523;
+ yy728:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy729:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy730:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy750;
+ if (yych == 'y')
+ goto yy750;
+ goto yy523;
+ yy731:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych == 'E')
+ goto yy747;
+ if (yych <= 'N')
+ goto yy523;
+ goto yy748;
+ } else {
+ if (yych <= 'e') {
+ if (yych <= 'd')
+ goto yy523;
+ goto yy747;
+ } else {
+ if (yych == 'o')
+ goto yy748;
+ goto yy523;
+ }
+ }
+ yy732:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy742;
+ if (yych == 'a')
+ goto yy742;
+ goto yy523;
+ yy733:
+ yych = *++p;
+ if (yych <= 'P') {
+ if (yych == 'L')
+ goto yy735;
+ if (yych <= 'O')
+ goto yy523;
+ goto yy736;
+ } else {
+ if (yych <= 'l') {
+ if (yych <= 'k')
+ goto yy523;
+ goto yy735;
+ } else {
+ if (yych == 'p')
+ goto yy736;
+ goto yy523;
+ }
+ }
+ yy734:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy735:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy533;
+ if (yych == 'm')
+ goto yy533;
+ goto yy523;
+ yy736:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy737;
+ if (yych != 'a')
+ goto yy523;
+ yy737:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy738;
+ if (yych != 'r')
+ goto yy523;
+ yy738:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy739;
+ if (yych != 'a')
+ goto yy523;
+ yy739:
+ yych = *++p;
+ if (yych == 'Z')
+ goto yy740;
+ if (yych != 'z')
+ goto yy523;
+ yy740:
+ yych = *++p;
+ if (yych == 'Z')
+ goto yy741;
+ if (yych != 'z')
+ goto yy523;
+ yy741:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy533;
+ if (yych == 'i')
+ goto yy533;
+ goto yy523;
+ yy742:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy743;
+ if (yych != 't')
+ goto yy523;
+ yy743:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy744;
+ if (yych != 'f')
+ goto yy523;
+ yy744:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy745;
+ if (yych != 'o')
+ goto yy523;
+ yy745:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy746;
+ if (yych != 'r')
+ goto yy523;
+ yy746:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy533;
+ if (yych == 'm')
+ goto yy533;
+ goto yy523;
+ yy747:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ yy748:
+ yych = *++p;
+ if (yych == 'X')
+ goto yy749;
+ if (yych != 'x')
+ goto yy523;
+ yy749:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy533;
+ if (yych == 'y')
+ goto yy533;
+ goto yy523;
+ yy750:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy533;
+ if (yych == 'c')
+ goto yy533;
+ goto yy523;
+ yy751:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy533;
+ if (yych == 'd')
+ goto yy533;
+ goto yy523;
+ yy752:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy753;
+ if (yych != 'a')
+ goto yy523;
+ yy753:
+ yych = *++p;
+ if (yych == 'Q')
+ goto yy754;
+ if (yych != 'q')
+ goto yy523;
+ yy754:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy755;
+ if (yych != 'u')
+ goto yy523;
+ yy755:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy756;
+ if (yych != 'e')
+ goto yy523;
+ yy756:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy757;
+ if (yych != 'l')
+ goto yy523;
+ yy757:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy758;
+ if (yych != 'o')
+ goto yy523;
+ yy758:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy759;
+ if (yych != 'c')
+ goto yy523;
+ yy759:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy760;
+ if (yych != 'k')
+ goto yy523;
+ yy760:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy761;
+ if (yych != 't')
+ goto yy523;
+ yy761:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy762;
+ if (yych != 'o')
+ goto yy523;
+ yy762:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy763;
+ if (yych != 'k')
+ goto yy523;
+ yy763:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy764;
+ if (yych != 'e')
+ goto yy523;
+ yy764:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy533;
+ if (yych == 'n')
+ goto yy533;
+ goto yy523;
+ yy765:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy772;
+ if (yych == 't')
+ goto yy772;
+ goto yy523;
+ yy766:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy771;
+ if (yych == 't')
+ goto yy771;
+ goto yy523;
+ yy767:
+ yych = *++p;
+ if (yych <= 'G') {
+ if (yych == ':')
+ goto yy534;
+ goto yy523;
+ } else {
+ if (yych <= 'H')
+ goto yy533;
+ if (yych == 'h')
+ goto yy533;
+ goto yy523;
+ }
+ yy768:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ yy769:
+ yych = *++p;
+ if (yych == 'W')
+ goto yy770;
+ if (yych != 'w')
+ goto yy523;
+ yy770:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ yy771:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy772:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy773;
+ if (yych != 'e')
+ goto yy523;
+ yy773:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ yy774:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy533;
+ if (yych == 'n')
+ goto yy533;
+ goto yy523;
+ yy775:
+ yych = *++p;
+ if (yych <= 'P') {
+ if (yych == 'M')
+ goto yy806;
+ if (yych <= 'O')
+ goto yy523;
+ goto yy805;
+ } else {
+ if (yych <= 'm') {
+ if (yych <= 'l')
+ goto yy523;
+ goto yy806;
+ } else {
+ if (yych == 'p')
+ goto yy805;
+ goto yy523;
+ }
+ }
+ yy776:
+ yych = *++p;
+ if (yych <= 'Q') {
+ if (yych <= '-') {
+ if (yych <= ',')
+ goto yy523;
+ goto yy798;
+ } else {
+ if (yych == 'N')
+ goto yy799;
+ goto yy523;
+ }
+ } else {
+ if (yych <= 'n') {
+ if (yych <= 'R')
+ goto yy797;
+ if (yych <= 'm')
+ goto yy523;
+ goto yy799;
+ } else {
+ if (yych == 'r')
+ goto yy797;
+ goto yy523;
+ }
+ }
+ yy777:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ yy778:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy793;
+ if (yych == 's')
+ goto yy793;
+ goto yy523;
+ yy779:
+ yych = *++p;
+ switch (yych) {
+ case 'G':
+ case 'g':
+ goto yy784;
+ case 'I':
+ case 'i':
+ goto yy783;
+ case 'P':
+ case 'p':
+ goto yy785;
+ case 'R':
+ case 'r':
+ goto yy786;
+ default:
+ goto yy523;
+ }
+ yy780:
+ yych = *++p;
+ if (yych == 'Q')
+ goto yy782;
+ if (yych == 'q')
+ goto yy782;
+ goto yy523;
+ yy781:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy533;
+ if (yych == 'd')
+ goto yy533;
+ goto yy523;
+ yy782:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy783:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy791;
+ if (yych == 'l')
+ goto yy791;
+ goto yy523;
+ yy784:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy789;
+ if (yych == 'n')
+ goto yy789;
+ goto yy523;
+ yy785:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ yy786:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy787;
+ if (yych != 'k')
+ goto yy523;
+ yy787:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy788;
+ if (yych != 'e')
+ goto yy523;
+ yy788:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy533;
+ if (yych == 't')
+ goto yy533;
+ goto yy523;
+ yy789:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy790;
+ if (yych != 'e')
+ goto yy523;
+ yy790:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy533;
+ if (yych == 't')
+ goto yy533;
+ goto yy523;
+ yy791:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy792;
+ if (yych != 't')
+ goto yy523;
+ yy792:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy533;
+ if (yych == 'o')
+ goto yy533;
+ goto yy523;
+ yy793:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy794;
+ if (yych != 's')
+ goto yy523;
+ yy794:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy795;
+ if (yych != 'a')
+ goto yy523;
+ yy795:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy796;
+ if (yych != 'g')
+ goto yy523;
+ yy796:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy533;
+ if (yych == 'e')
+ goto yy533;
+ goto yy523;
+ yy797:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy804;
+ if (yych == 'p')
+ goto yy804;
+ goto yy523;
+ yy798:
+ yych = *++p;
+ if (yych == 'H')
+ goto yy801;
+ if (yych == 'h')
+ goto yy801;
+ goto yy523;
+ yy799:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy800;
+ if (yych != 'i')
+ goto yy523;
+ yy800:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy533;
+ if (yych == 'm')
+ goto yy533;
+ goto yy523;
+ yy801:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy802;
+ if (yych != 'e')
+ goto yy523;
+ yy802:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy803;
+ if (yych != 'l')
+ goto yy523;
+ yy803:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy804:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy534;
+ goto yy523;
+ } else {
+ if (yych <= 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ }
+ yy805:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy809;
+ if (yych == 'd')
+ goto yy809;
+ goto yy523;
+ yy806:
+ yych = *++p;
+ if (yych == 'B')
+ goto yy807;
+ if (yych != 'b')
+ goto yy523;
+ yy807:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy808;
+ if (yych != 'l')
+ goto yy523;
+ yy808:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy533;
+ if (yych == 'e')
+ goto yy533;
+ goto yy523;
+ yy809:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy810;
+ if (yych != 'a')
+ goto yy523;
+ yy810:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy811;
+ if (yych != 't')
+ goto yy523;
+ yy811:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy533;
+ if (yych == 'e')
+ goto yy533;
+ goto yy523;
+ yy812:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy817;
+ if (yych == 'a')
+ goto yy817;
+ goto yy523;
+ yy813:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy814;
+ if (yych != 's')
+ goto yy523;
+ yy814:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy815;
+ if (yych != 't')
+ goto yy523;
+ yy815:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy816;
+ if (yych != 'f')
+ goto yy523;
+ yy816:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy533;
+ if (yych == 'm')
+ goto yy533;
+ goto yy523;
+ yy817:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy818;
+ if (yych != 'p')
+ goto yy523;
+ yy818:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy534;
+ goto yy523;
+ } else {
+ if (yych <= 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ }
+ yy819:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy842;
+ if (yych == 'm')
+ goto yy842;
+ goto yy523;
+ yy820:
+ yych = *++p;
+ if (yych <= 'I') {
+ if (yych == 'C')
+ goto yy831;
+ if (yych <= 'H')
+ goto yy523;
+ goto yy830;
+ } else {
+ if (yych <= 'c') {
+ if (yych <= 'b')
+ goto yy523;
+ goto yy831;
+ } else {
+ if (yych == 'i')
+ goto yy830;
+ goto yy523;
+ }
+ }
+ yy821:
+ yych = *++p;
+ if (yych <= 'P') {
+ if (yych == 'N')
+ goto yy533;
+ if (yych <= 'O')
+ goto yy523;
+ goto yy533;
+ } else {
+ if (yych <= 'n') {
+ if (yych <= 'm')
+ goto yy523;
+ goto yy533;
+ } else {
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ }
+ }
+ yy822:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych == 'A')
+ goto yy828;
+ if (yych <= 'N')
+ goto yy523;
+ goto yy829;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy523;
+ goto yy828;
+ } else {
+ if (yych == 'o')
+ goto yy829;
+ goto yy523;
+ }
+ }
+ yy823:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy827;
+ if (yych == 'f')
+ goto yy827;
+ goto yy523;
+ yy824:
+ yych = *++p;
+ if (yych <= '@') {
+ if (yych == ':')
+ goto yy534;
+ goto yy523;
+ } else {
+ if (yych <= 'A')
+ goto yy826;
+ if (yych == 'a')
+ goto yy826;
+ goto yy523;
+ }
+ yy825:
+ yych = *++p;
+ if (yych == 'X')
+ goto yy533;
+ if (yych == 'x')
+ goto yy533;
+ goto yy523;
+ yy826:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy827:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy533;
+ if (yych == 'o')
+ goto yy533;
+ goto yy523;
+ yy828:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy829:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy533;
+ if (yych == 'n')
+ goto yy533;
+ goto yy523;
+ yy830:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy832;
+ if (yych == 's')
+ goto yy832;
+ goto yy523;
+ yy831:
+ yych = *++p;
+ if (yych <= ':') {
+ if (yych == '6')
+ goto yy533;
+ if (yych <= '9')
+ goto yy523;
+ goto yy534;
+ } else {
+ if (yych <= 'S') {
+ if (yych <= 'R')
+ goto yy523;
+ goto yy533;
+ } else {
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ }
+ }
+ yy832:
+ yych = *++p;
+ if (yych == '.')
+ goto yy833;
+ if (yych == ':')
+ goto yy534;
+ goto yy523;
+ yy833:
+ yych = *++p;
+ if (yych <= 'X') {
+ if (yych <= 'K') {
+ if (yych == 'B')
+ goto yy836;
+ goto yy523;
+ } else {
+ if (yych <= 'L')
+ goto yy834;
+ if (yych <= 'W')
+ goto yy523;
+ goto yy835;
+ }
+ } else {
+ if (yych <= 'k') {
+ if (yych == 'b')
+ goto yy836;
+ goto yy523;
+ } else {
+ if (yych <= 'l')
+ goto yy834;
+ if (yych == 'x')
+ goto yy835;
+ goto yy523;
+ }
+ }
+ yy834:
+ yych = *++p;
+ if (yych == 'W')
+ goto yy841;
+ if (yych == 'w')
+ goto yy841;
+ goto yy523;
+ yy835:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy839;
+ if (yych == 'p')
+ goto yy839;
+ goto yy523;
+ yy836:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy837;
+ if (yych != 'e')
+ goto yy523;
+ yy837:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy838;
+ if (yych != 'e')
+ goto yy523;
+ yy838:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy839:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy840;
+ if (yych != 'c')
+ goto yy523;
+ yy840:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy534;
+ goto yy523;
+ } else {
+ if (yych <= 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ }
+ yy841:
+ yych = *++p;
+ if (yych == 'Z')
+ goto yy533;
+ if (yych == 'z')
+ goto yy533;
+ goto yy523;
+ yy842:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ yy843:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy844:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy847;
+ if (yych == 't')
+ goto yy847;
+ goto yy523;
+ yy845:
+ yych = *++p;
+ if (yych != '2')
+ goto yy523;
+ yych = *++p;
+ if (yych == '3')
+ goto yy533;
+ goto yy523;
+ yy847:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy848;
+ if (yych != 'p')
+ goto yy523;
+ yy848:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy534;
+ goto yy523;
+ } else {
+ if (yych <= 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ }
+ yy849:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy865;
+ if (yych == 'a')
+ goto yy865;
+ goto yy523;
+ yy850:
+ yych = *++p;
+ if (yych <= 'Z') {
+ if (yych == 'T')
+ goto yy533;
+ if (yych <= 'Y')
+ goto yy523;
+ goto yy856;
+ } else {
+ if (yych <= 't') {
+ if (yych <= 's')
+ goto yy523;
+ goto yy533;
+ } else {
+ if (yych == 'z')
+ goto yy856;
+ goto yy523;
+ }
+ }
+ yy851:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych == ':')
+ goto yy534;
+ goto yy523;
+ } else {
+ if (yych <= 'P')
+ goto yy853;
+ if (yych == 'p')
+ goto yy853;
+ goto yy523;
+ }
+ yy852:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy533;
+ if (yych == 'o')
+ goto yy533;
+ goto yy523;
+ yy853:
+ yych = *++p;
+ if (yych == 'H')
+ goto yy854;
+ if (yych != 'h')
+ goto yy523;
+ yy854:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy855;
+ if (yych != 'e')
+ goto yy523;
+ yy855:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy533;
+ if (yych == 'r')
+ goto yy533;
+ goto yy523;
+ yy856:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy857;
+ if (yych != 'm')
+ goto yy523;
+ yy857:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy858;
+ if (yych != 'o')
+ goto yy523;
+ yy858:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy859;
+ if (yych != 'p')
+ goto yy523;
+ yy859:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy860;
+ if (yych != 'r')
+ goto yy523;
+ yy860:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy861;
+ if (yych != 'o')
+ goto yy523;
+ yy861:
+ yych = *++p;
+ if (yych == 'J')
+ goto yy862;
+ if (yych != 'j')
+ goto yy523;
+ yy862:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy863;
+ if (yych != 'e')
+ goto yy523;
+ yy863:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy864;
+ if (yych != 'c')
+ goto yy523;
+ yy864:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy533;
+ if (yych == 't')
+ goto yy533;
+ goto yy523;
+ yy865:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy866;
+ if (yych != 'l')
+ goto yy523;
+ yy866:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy533;
+ if (yych == 'k')
+ goto yy533;
+ goto yy523;
+ yy867:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych <= 'M') {
+ if (yych == 'L')
+ goto yy877;
+ goto yy523;
+ } else {
+ if (yych <= 'N')
+ goto yy878;
+ if (yych <= 'R')
+ goto yy523;
+ goto yy879;
+ }
+ } else {
+ if (yych <= 'm') {
+ if (yych == 'l')
+ goto yy877;
+ goto yy523;
+ } else {
+ if (yych <= 'n')
+ goto yy878;
+ if (yych == 's')
+ goto yy879;
+ goto yy523;
+ }
+ }
+ yy868:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy876;
+ if (yych == 'e')
+ goto yy876;
+ goto yy523;
+ yy869:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy871;
+ if (yych == 'c')
+ goto yy871;
+ goto yy523;
+ yy870:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy871:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy872;
+ if (yych != 'e')
+ goto yy523;
+ yy872:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy873;
+ if (yych != 't')
+ goto yy523;
+ yy873:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy874;
+ if (yych != 'i')
+ goto yy523;
+ yy874:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy875;
+ if (yych != 'm')
+ goto yy523;
+ yy875:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy533;
+ if (yych == 'e')
+ goto yy533;
+ goto yy523;
+ yy876:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy533;
+ if (yych == 'd')
+ goto yy533;
+ goto yy523;
+ yy877:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy533;
+ if (yych == 'e')
+ goto yy533;
+ goto yy523;
+ yy878:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy880;
+ if (yych == 'g')
+ goto yy880;
+ goto yy523;
+ yy879:
+ yych = *++p;
+ if (yych == 'H')
+ goto yy533;
+ if (yych == 'h')
+ goto yy533;
+ goto yy523;
+ yy880:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy881;
+ if (yych != 'e')
+ goto yy523;
+ yy881:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy533;
+ if (yych == 'r')
+ goto yy533;
+ goto yy523;
+ yy882:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy900;
+ if (yych == 't')
+ goto yy900;
+ goto yy523;
+ yy883:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy533;
+ if (yych == 't')
+ goto yy533;
+ goto yy523;
+ yy884:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy533;
+ if (yych == 'm')
+ goto yy533;
+ goto yy523;
+ yy885:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych == 'P')
+ goto yy533;
+ if (yych <= 'R')
+ goto yy523;
+ goto yy533;
+ } else {
+ if (yych <= 'p') {
+ if (yych <= 'o')
+ goto yy523;
+ goto yy533;
+ } else {
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ }
+ }
+ yy886:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy894;
+ if (yych == 'i')
+ goto yy894;
+ goto yy523;
+ yy887:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy893;
+ if (yych == 'a')
+ goto yy893;
+ goto yy523;
+ yy888:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy891;
+ if (yych == 'o')
+ goto yy891;
+ goto yy523;
+ yy889:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy890;
+ if (yych != 'a')
+ goto yy523;
+ yy890:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == ':')
+ goto yy534;
+ goto yy523;
+ } else {
+ if (yych <= 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ }
+ yy891:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy892;
+ if (yych != 'u')
+ goto yy523;
+ yy892:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy533;
+ if (yych == 't')
+ goto yy533;
+ goto yy523;
+ yy893:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy894:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy895;
+ if (yych != 'u')
+ goto yy523;
+ yy895:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy896;
+ if (yych != 'm')
+ goto yy523;
+ yy896:
+ yych = *++p;
+ if (yych == 'X')
+ goto yy897;
+ if (yych != 'x')
+ goto yy523;
+ yy897:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy898;
+ if (yych != 't')
+ goto yy523;
+ yy898:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy899;
+ if (yych != 'r')
+ goto yy523;
+ yy899:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy533;
+ if (yych == 'a')
+ goto yy533;
+ goto yy523;
+ yy900:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy901;
+ if (yych != 'a')
+ goto yy523;
+ yy901:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy902;
+ if (yych != 'c')
+ goto yy523;
+ yy902:
+ yych = *++p;
+ if (yych == 'H')
+ goto yy903;
+ if (yych != 'h')
+ goto yy523;
+ yy903:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy904;
+ if (yych != 'm')
+ goto yy523;
+ yy904:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy905;
+ if (yych != 'e')
+ goto yy523;
+ yy905:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy906;
+ if (yych != 'n')
+ goto yy523;
+ yy906:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy533;
+ if (yych == 't')
+ goto yy533;
+ goto yy523;
+ yy907:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ yy908:
+ yych = *++p;
+ if (yych <= 'V') {
+ if (yych == 'R')
+ goto yy533;
+ if (yych <= 'U')
+ goto yy523;
+ } else {
+ if (yych <= 'r') {
+ if (yych <= 'q')
+ goto yy523;
+ goto yy533;
+ } else {
+ if (yych != 'v')
+ goto yy523;
+ }
+ }
+ yych = *++p;
+ if (yych == 'A')
+ goto yy910;
+ if (yych != 'a')
+ goto yy523;
+ yy910:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy911;
+ if (yych != 's')
+ goto yy523;
+ yy911:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy912;
+ if (yych != 'c')
+ goto yy523;
+ yy912:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy913;
+ if (yych != 'r')
+ goto yy523;
+ yy913:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy914;
+ if (yych != 'i')
+ goto yy523;
+ yy914:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy915;
+ if (yych != 'p')
+ goto yy523;
+ yy915:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy533;
+ if (yych == 't')
+ goto yy533;
+ goto yy523;
+ yy916:
+ yych = *++p;
+ if (yych == 'B')
+ goto yy533;
+ if (yych == 'b')
+ goto yy533;
+ goto yy523;
+ yy917:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy533;
+ if (yych == 'n')
+ goto yy533;
+ goto yy523;
+ yy918:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy925;
+ if (yych == 'n')
+ goto yy925;
+ goto yy523;
+ yy919:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ yy920:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy924;
+ if (yych == 'c')
+ goto yy924;
+ goto yy523;
+ yy921:
+ yych = *++p;
+ if (yych <= 'V') {
+ if (yych == 'T')
+ goto yy923;
+ if (yych <= 'U')
+ goto yy523;
+ goto yy533;
+ } else {
+ if (yych <= 't') {
+ if (yych <= 's')
+ goto yy523;
+ goto yy923;
+ } else {
+ if (yych == 'v')
+ goto yy533;
+ goto yy523;
+ }
+ }
+ yy922:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy533;
+ if (yych == 'i')
+ goto yy533;
+ goto yy523;
+ yy923:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy533;
+ if (yych == 'a')
+ goto yy533;
+ goto yy523;
+ yy924:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy533;
+ if (yych == 't')
+ goto yy533;
+ goto yy523;
+ yy925:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy926;
+ if (yych != 'a')
+ goto yy523;
+ yy926:
+ yych = *++p;
+ if (yych != '-')
+ goto yy523;
+ yych = *++p;
+ if (yych == 'P')
+ goto yy928;
+ if (yych != 'p')
+ goto yy523;
+ yy928:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy929;
+ if (yych != 'l')
+ goto yy523;
+ yy929:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy930;
+ if (yych != 'a')
+ goto yy523;
+ yy930:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy931;
+ if (yych != 'y')
+ goto yy523;
+ yy931:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych == 'C')
+ goto yy932;
+ if (yych <= 'R')
+ goto yy523;
+ goto yy933;
+ } else {
+ if (yych <= 'c') {
+ if (yych <= 'b')
+ goto yy523;
+ } else {
+ if (yych == 's')
+ goto yy933;
+ goto yy523;
+ }
+ }
+ yy932:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy938;
+ if (yych == 'o')
+ goto yy938;
+ goto yy523;
+ yy933:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy934;
+ if (yych != 'i')
+ goto yy523;
+ yy934:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy935;
+ if (yych != 'n')
+ goto yy523;
+ yy935:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy936;
+ if (yych != 'g')
+ goto yy523;
+ yy936:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy937;
+ if (yych != 'l')
+ goto yy523;
+ yy937:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy533;
+ if (yych == 'e')
+ goto yy533;
+ goto yy523;
+ yy938:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy939;
+ if (yych != 'n')
+ goto yy523;
+ yy939:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy940;
+ if (yych != 't')
+ goto yy523;
+ yy940:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy941;
+ if (yych != 'a')
+ goto yy523;
+ yy941:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy942;
+ if (yych != 'i')
+ goto yy523;
+ yy942:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy943;
+ if (yych != 'n')
+ goto yy523;
+ yy943:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy944;
+ if (yych != 'e')
+ goto yy523;
+ yy944:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy533;
+ if (yych == 'r')
+ goto yy533;
+ goto yy523;
+ yy945:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy533;
+ if (yych == 's')
+ goto yy533;
+ goto yy523;
+ yy946:
+ yych = *++p;
+ if (yych <= 'N') {
+ if (yych <= 'A') {
+ if (yych <= '@')
+ goto yy523;
+ goto yy968;
+ } else {
+ if (yych <= 'L')
+ goto yy523;
+ if (yych <= 'M')
+ goto yy969;
+ goto yy970;
+ }
+ } else {
+ if (yych <= 'l') {
+ if (yych == 'a')
+ goto yy968;
+ goto yy523;
+ } else {
+ if (yych <= 'm')
+ goto yy969;
+ if (yych <= 'n')
+ goto yy970;
+ goto yy523;
+ }
+ }
+ yy947:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy955;
+ if (yych == 'r')
+ goto yy955;
+ goto yy523;
+ yy948:
+ yych = *++p;
+ if (yych <= 'P') {
+ if (yych == 'L')
+ goto yy952;
+ if (yych <= 'O')
+ goto yy523;
+ goto yy533;
+ } else {
+ if (yych <= 'l') {
+ if (yych <= 'k')
+ goto yy523;
+ goto yy952;
+ } else {
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ }
+ }
+ yy949:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy951;
+ if (yych == 'i')
+ goto yy951;
+ goto yy523;
+ yy950:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy533;
+ if (yych == 'd')
+ goto yy533;
+ goto yy523;
+ yy951:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy533;
+ if (yych == 'd')
+ goto yy533;
+ goto yy523;
+ yy952:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy953;
+ if (yych != 'l')
+ goto yy523;
+ yy953:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy954;
+ if (yych != 't')
+ goto yy523;
+ yy954:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy533;
+ if (yych == 'o')
+ goto yy533;
+ goto yy523;
+ yy955:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy956;
+ if (yych != 'o')
+ goto yy523;
+ yy956:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy957;
+ if (yych != 'm')
+ goto yy523;
+ yy957:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy958;
+ if (yych != 'e')
+ goto yy523;
+ yy958:
+ yych = *++p;
+ if (yych == '-')
+ goto yy959;
+ if (yych == ':')
+ goto yy534;
+ goto yy523;
+ yy959:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy960;
+ if (yych != 'e')
+ goto yy523;
+ yy960:
+ yych = *++p;
+ if (yych == 'X')
+ goto yy961;
+ if (yych != 'x')
+ goto yy523;
+ yy961:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy962;
+ if (yych != 't')
+ goto yy523;
+ yy962:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy963;
+ if (yych != 'e')
+ goto yy523;
+ yy963:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy964;
+ if (yych != 'n')
+ goto yy523;
+ yy964:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy965;
+ if (yych != 's')
+ goto yy523;
+ yy965:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy966;
+ if (yych != 'i')
+ goto yy523;
+ yy966:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy967;
+ if (yych != 'o')
+ goto yy523;
+ yy967:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy533;
+ if (yych == 'n')
+ goto yy533;
+ goto yy523;
+ yy968:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy533;
+ if (yych == 'p')
+ goto yy533;
+ goto yy523;
+ yy969:
+ yych = *++p;
+ if (yych == '-')
+ goto yy974;
+ goto yy523;
+ yy970:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy971;
+ if (yych != 't')
+ goto yy523;
+ yy971:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy972;
+ if (yych != 'e')
+ goto yy523;
+ yy972:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy973;
+ if (yych != 'n')
+ goto yy523;
+ yy973:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy533;
+ if (yych == 't')
+ goto yy533;
+ goto yy523;
+ yy974:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy975;
+ if (yych != 'e')
+ goto yy523;
+ yy975:
+ yych = *++p;
+ if (yych == 'V')
+ goto yy976;
+ if (yych != 'v')
+ goto yy523;
+ yy976:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy977;
+ if (yych != 'e')
+ goto yy523;
+ yy977:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy978;
+ if (yych != 'n')
+ goto yy523;
+ yy978:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy979;
+ if (yych != 't')
+ goto yy523;
+ yy979:
+ yych = *++p;
+ if (yych == 'B')
+ goto yy980;
+ if (yych != 'b')
+ goto yy523;
+ yy980:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy981;
+ if (yych != 'r')
+ goto yy523;
+ yy981:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy982;
+ if (yych != 'i')
+ goto yy523;
+ yy982:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy983;
+ if (yych != 't')
+ goto yy523;
+ yy983:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy984;
+ if (yych != 'e')
+ goto yy523;
+ yy984:
+ yych = *++p;
+ if (yych != '-')
+ goto yy523;
+ yych = *++p;
+ if (yych == 'A')
+ goto yy986;
+ if (yych != 'a')
+ goto yy523;
+ yy986:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy987;
+ if (yych != 't')
+ goto yy523;
+ yy987:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy988;
+ if (yych != 't')
+ goto yy523;
+ yy988:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy989;
+ if (yych != 'e')
+ goto yy523;
+ yy989:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy990;
+ if (yych != 'n')
+ goto yy523;
+ yy990:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy991;
+ if (yych != 'd')
+ goto yy523;
+ yy991:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy992;
+ if (yych != 'e')
+ goto yy523;
+ yy992:
+ ++p;
+ if ((yych = *p) == 'E')
+ goto yy533;
+ if (yych == 'e')
+ goto yy533;
+ goto yy523;
+ }
}
// 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 = *(marker = p);
- if (yych <= '?') {
- if (yych <= ')') {
- if (yych <= ' ') {
- if (yych != '\n') goto yy997;
- } else {
- if (yych == '"') goto yy997;
- if (yych <= '\'') goto yy996;
- goto yy997;
- }
- } else {
- if (yych <= '9') {
- if (yych == ',') goto yy997;
- goto yy996;
- } else {
- if (yych == '=') goto yy996;
- if (yych <= '>') goto yy997;
- goto yy996;
- }
- }
- } else {
- if (yych <= 0xDF) {
- if (yych <= ']') {
- if (yych <= '@') goto yy997;
- if (yych <= 'Z') goto yy996;
- goto yy997;
- } else {
- if (yych <= '~') goto yy996;
- if (yych <= 0x7F) goto yy997;
- if (yych >= 0xC2) goto yy998;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1000;
- if (yych == 0xED) goto yy1005;
- goto yy1001;
- } else {
- if (yych <= 0xF0) goto yy1002;
- if (yych <= 0xF3) goto yy1003;
- if (yych <= 0xF4) goto yy1004;
- }
- }
- }
-yy995:
- { return 0; }
-yy996:
- yych = *(marker = ++p);
- if (yych <= ',') {
- if (yych <= '"') {
- if (yych == '!') goto yy1008;
- goto yy995;
- } else {
- if (yych <= '\'') goto yy1008;
- if (yych <= ')') goto yy995;
- if (yych <= '+') goto yy1008;
- goto yy995;
- }
- } else {
- if (yych <= '>') {
- if (yych <= '9') goto yy1008;
- if (yych == '=') goto yy1008;
- goto yy995;
- } else {
- if (yych <= 'Z') goto yy1008;
- if (yych <= ']') goto yy995;
- if (yych <= '~') goto yy1008;
- goto yy995;
- }
- }
-yy997:
- yych = *++p;
- goto yy995;
-yy998:
- yych = *++p;
- if (yych <= 0x7F) goto yy999;
- if (yych <= 0xBF) goto yy997;
-yy999:
- p = marker;
- goto yy995;
-yy1000:
- yych = *++p;
- if (yych <= 0x9F) goto yy999;
- if (yych <= 0xBF) goto yy998;
- goto yy999;
-yy1001:
- yych = *++p;
- if (yych <= 0x7F) goto yy999;
- if (yych <= 0xBF) goto yy998;
- goto yy999;
-yy1002:
- yych = *++p;
- if (yych <= 0x8F) goto yy999;
- if (yych <= 0xBF) goto yy1001;
- goto yy999;
-yy1003:
- yych = *++p;
- if (yych <= 0x7F) goto yy999;
- if (yych <= 0xBF) goto yy1001;
- goto yy999;
-yy1004:
- yych = *++p;
- if (yych <= 0x7F) goto yy999;
- if (yych <= 0x8F) goto yy1001;
- goto yy999;
-yy1005:
- yych = *++p;
- if (yych <= 0x7F) goto yy999;
- if (yych <= 0x9F) goto yy998;
- goto yy999;
-yy1006:
- yych = *++p;
- if (yych <= '@') {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1009;
- goto yy999;
- } else {
- if (yych <= 'Z') goto yy1009;
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1009;
- goto yy999;
- }
-yy1007:
- ++p;
- yych = *p;
-yy1008:
- if (yybm[0+yych] & 128) {
- goto yy1007;
- }
- if (yych <= '>') goto yy999;
- if (yych <= '@') goto yy1006;
- goto yy999;
-yy1009:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1011;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1011;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1011;
- goto yy999;
- }
- }
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1139;
- if (yych <= '/') goto yy999;
- goto yy1140;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1140;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1140;
- goto yy999;
- }
- }
-yy1011:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych <= '-') goto yy1139;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1140;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1140;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1140;
- goto yy999;
- }
- }
-yy1012:
- ++p;
- yych = *p;
- if (yych <= '@') {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1015;
- goto yy999;
- } else {
- if (yych <= 'Z') goto yy1015;
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1015;
- goto yy999;
- }
-yy1013:
- ++p;
- { return (bufsize_t)(p - start); }
-yy1015:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1017;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1017;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1017;
- goto yy999;
- }
- }
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1018;
- if (yych <= '/') goto yy999;
- goto yy1019;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1019;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1019;
- goto yy999;
- }
- }
-yy1017:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1019;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1019;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1019;
- goto yy999;
- }
- }
-yy1018:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1020;
- if (yych <= '/') goto yy999;
- goto yy1021;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1021;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1021;
- goto yy999;
- }
- }
-yy1019:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1021;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1021;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1021;
- goto yy999;
- }
- }
-yy1020:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1022;
- if (yych <= '/') goto yy999;
- goto yy1023;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1023;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1023;
- goto yy999;
- }
- }
-yy1021:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1023;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1023;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1023;
- goto yy999;
- }
- }
-yy1022:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1024;
- if (yych <= '/') goto yy999;
- goto yy1025;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1025;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1025;
- goto yy999;
- }
- }
-yy1023:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1025;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1025;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1025;
- goto yy999;
- }
- }
-yy1024:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1026;
- if (yych <= '/') goto yy999;
- goto yy1027;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1027;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1027;
- goto yy999;
- }
- }
-yy1025:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1027;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1027;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1027;
- goto yy999;
- }
- }
-yy1026:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1028;
- if (yych <= '/') goto yy999;
- goto yy1029;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1029;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1029;
- goto yy999;
- }
- }
-yy1027:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1029;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1029;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1029;
- goto yy999;
- }
- }
-yy1028:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1030;
- if (yych <= '/') goto yy999;
- goto yy1031;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1031;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1031;
- goto yy999;
- }
- }
-yy1029:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1031;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1031;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1031;
- goto yy999;
- }
- }
-yy1030:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1032;
- if (yych <= '/') goto yy999;
- goto yy1033;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1033;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1033;
- goto yy999;
- }
- }
-yy1031:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1033;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1033;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1033;
- goto yy999;
- }
- }
-yy1032:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1034;
- if (yych <= '/') goto yy999;
- goto yy1035;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1035;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1035;
- goto yy999;
- }
- }
-yy1033:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1035;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1035;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1035;
- goto yy999;
- }
- }
-yy1034:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1036;
- if (yych <= '/') goto yy999;
- goto yy1037;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1037;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1037;
- goto yy999;
- }
- }
-yy1035:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1037;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1037;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1037;
- goto yy999;
- }
- }
-yy1036:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1038;
- if (yych <= '/') goto yy999;
- goto yy1039;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1039;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1039;
- goto yy999;
- }
- }
-yy1037:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1039;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1039;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1039;
- goto yy999;
- }
- }
-yy1038:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1040;
- if (yych <= '/') goto yy999;
- goto yy1041;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1041;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1041;
- goto yy999;
- }
- }
-yy1039:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1041;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1041;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1041;
- goto yy999;
- }
- }
-yy1040:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1042;
- if (yych <= '/') goto yy999;
- goto yy1043;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1043;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1043;
- goto yy999;
- }
- }
-yy1041:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1043;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1043;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1043;
- goto yy999;
- }
- }
-yy1042:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1044;
- if (yych <= '/') goto yy999;
- goto yy1045;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1045;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1045;
- goto yy999;
- }
- }
-yy1043:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1045;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1045;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1045;
- goto yy999;
- }
- }
-yy1044:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1046;
- if (yych <= '/') goto yy999;
- goto yy1047;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1047;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1047;
- goto yy999;
- }
- }
-yy1045:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1047;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1047;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1047;
- goto yy999;
- }
- }
-yy1046:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1048;
- if (yych <= '/') goto yy999;
- goto yy1049;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1049;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1049;
- goto yy999;
- }
- }
-yy1047:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1049;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1049;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1049;
- goto yy999;
- }
- }
-yy1048:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1050;
- if (yych <= '/') goto yy999;
- goto yy1051;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1051;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1051;
- goto yy999;
- }
- }
-yy1049:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1051;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1051;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1051;
- goto yy999;
- }
- }
-yy1050:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1052;
- if (yych <= '/') goto yy999;
- goto yy1053;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1053;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1053;
- goto yy999;
- }
- }
-yy1051:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1053;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1053;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1053;
- goto yy999;
- }
- }
-yy1052:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1054;
- if (yych <= '/') goto yy999;
- goto yy1055;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1055;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1055;
- goto yy999;
- }
- }
-yy1053:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1055;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1055;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1055;
- goto yy999;
- }
- }
-yy1054:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1056;
- if (yych <= '/') goto yy999;
- goto yy1057;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1057;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1057;
- goto yy999;
- }
- }
-yy1055:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1057;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1057;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1057;
- goto yy999;
- }
- }
-yy1056:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1058;
- if (yych <= '/') goto yy999;
- goto yy1059;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1059;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1059;
- goto yy999;
- }
- }
-yy1057:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1059;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1059;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1059;
- goto yy999;
- }
- }
-yy1058:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1060;
- if (yych <= '/') goto yy999;
- goto yy1061;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1061;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1061;
- goto yy999;
- }
- }
-yy1059:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1061;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1061;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1061;
- goto yy999;
- }
- }
-yy1060:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1062;
- if (yych <= '/') goto yy999;
- goto yy1063;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1063;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1063;
- goto yy999;
- }
- }
-yy1061:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1063;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1063;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1063;
- goto yy999;
- }
- }
-yy1062:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1064;
- if (yych <= '/') goto yy999;
- goto yy1065;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1065;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1065;
- goto yy999;
- }
- }
-yy1063:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1065;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1065;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1065;
- goto yy999;
- }
- }
-yy1064:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1066;
- if (yych <= '/') goto yy999;
- goto yy1067;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1067;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1067;
- goto yy999;
- }
- }
-yy1065:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1067;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1067;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1067;
- goto yy999;
- }
- }
-yy1066:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1068;
- if (yych <= '/') goto yy999;
- goto yy1069;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1069;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1069;
- goto yy999;
- }
- }
-yy1067:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1069;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1069;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1069;
- goto yy999;
- }
- }
-yy1068:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1070;
- if (yych <= '/') goto yy999;
- goto yy1071;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1071;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1071;
- goto yy999;
- }
- }
-yy1069:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1071;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1071;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1071;
- goto yy999;
- }
- }
-yy1070:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1072;
- if (yych <= '/') goto yy999;
- goto yy1073;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1073;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1073;
- goto yy999;
- }
- }
-yy1071:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1073;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1073;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1073;
- goto yy999;
- }
- }
-yy1072:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1074;
- if (yych <= '/') goto yy999;
- goto yy1075;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1075;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1075;
- goto yy999;
- }
- }
-yy1073:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1075;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1075;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1075;
- goto yy999;
- }
- }
-yy1074:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1076;
- if (yych <= '/') goto yy999;
- goto yy1077;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1077;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1077;
- goto yy999;
- }
- }
-yy1075:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1077;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1077;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1077;
- goto yy999;
- }
- }
-yy1076:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1078;
- if (yych <= '/') goto yy999;
- goto yy1079;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1079;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1079;
- goto yy999;
- }
- }
-yy1077:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1079;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1079;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1079;
- goto yy999;
- }
- }
-yy1078:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1080;
- if (yych <= '/') goto yy999;
- goto yy1081;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1081;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1081;
- goto yy999;
- }
- }
-yy1079:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1081;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1081;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1081;
- goto yy999;
- }
- }
-yy1080:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1082;
- if (yych <= '/') goto yy999;
- goto yy1083;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1083;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1083;
- goto yy999;
- }
- }
-yy1081:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1083;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1083;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1083;
- goto yy999;
- }
- }
-yy1082:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1084;
- if (yych <= '/') goto yy999;
- goto yy1085;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1085;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1085;
- goto yy999;
- }
- }
-yy1083:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1085;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1085;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1085;
- goto yy999;
- }
- }
-yy1084:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1086;
- if (yych <= '/') goto yy999;
- goto yy1087;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1087;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1087;
- goto yy999;
- }
- }
-yy1085:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1087;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1087;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1087;
- goto yy999;
- }
- }
-yy1086:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1088;
- if (yych <= '/') goto yy999;
- goto yy1089;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1089;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1089;
- goto yy999;
- }
- }
-yy1087:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1089;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1089;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1089;
- goto yy999;
- }
- }
-yy1088:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1090;
- if (yych <= '/') goto yy999;
- goto yy1091;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1091;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1091;
- goto yy999;
- }
- }
-yy1089:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1091;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1091;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1091;
- goto yy999;
- }
- }
-yy1090:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1092;
- if (yych <= '/') goto yy999;
- goto yy1093;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1093;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1093;
- goto yy999;
- }
- }
-yy1091:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1093;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1093;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1093;
- goto yy999;
- }
- }
-yy1092:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1094;
- if (yych <= '/') goto yy999;
- goto yy1095;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1095;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1095;
- goto yy999;
- }
- }
-yy1093:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1095;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1095;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1095;
- goto yy999;
- }
- }
-yy1094:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1096;
- if (yych <= '/') goto yy999;
- goto yy1097;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1097;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1097;
- goto yy999;
- }
- }
-yy1095:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1097;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1097;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1097;
- goto yy999;
- }
- }
-yy1096:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1098;
- if (yych <= '/') goto yy999;
- goto yy1099;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1099;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1099;
- goto yy999;
- }
- }
-yy1097:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1099;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1099;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1099;
- goto yy999;
- }
- }
-yy1098:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1100;
- if (yych <= '/') goto yy999;
- goto yy1101;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1101;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1101;
- goto yy999;
- }
- }
-yy1099:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1101;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1101;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1101;
- goto yy999;
- }
- }
-yy1100:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1102;
- if (yych <= '/') goto yy999;
- goto yy1103;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1103;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1103;
- goto yy999;
- }
- }
-yy1101:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1103;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1103;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1103;
- goto yy999;
- }
- }
-yy1102:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1104;
- if (yych <= '/') goto yy999;
- goto yy1105;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1105;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1105;
- goto yy999;
- }
- }
-yy1103:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1105;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1105;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1105;
- goto yy999;
- }
- }
-yy1104:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1106;
- if (yych <= '/') goto yy999;
- goto yy1107;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1107;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1107;
- goto yy999;
- }
- }
-yy1105:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1107;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1107;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1107;
- goto yy999;
- }
- }
-yy1106:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1108;
- if (yych <= '/') goto yy999;
- goto yy1109;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1109;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1109;
- goto yy999;
- }
- }
-yy1107:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1109;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1109;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1109;
- goto yy999;
- }
- }
-yy1108:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1110;
- if (yych <= '/') goto yy999;
- goto yy1111;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1111;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1111;
- goto yy999;
- }
- }
-yy1109:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1111;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1111;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1111;
- goto yy999;
- }
- }
-yy1110:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1112;
- if (yych <= '/') goto yy999;
- goto yy1113;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1113;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1113;
- goto yy999;
- }
- }
-yy1111:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1113;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1113;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1113;
- goto yy999;
- }
- }
-yy1112:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1114;
- if (yych <= '/') goto yy999;
- goto yy1115;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1115;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1115;
- goto yy999;
- }
- }
-yy1113:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1115;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1115;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1115;
- goto yy999;
- }
- }
-yy1114:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1116;
- if (yych <= '/') goto yy999;
- goto yy1117;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1117;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1117;
- goto yy999;
- }
- }
-yy1115:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1117;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1117;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1117;
- goto yy999;
- }
- }
-yy1116:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1118;
- if (yych <= '/') goto yy999;
- goto yy1119;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1119;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1119;
- goto yy999;
- }
- }
-yy1117:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1119;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1119;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1119;
- goto yy999;
- }
- }
-yy1118:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1120;
- if (yych <= '/') goto yy999;
- goto yy1121;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1121;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1121;
- goto yy999;
- }
- }
-yy1119:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1121;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1121;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1121;
- goto yy999;
- }
- }
-yy1120:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1122;
- if (yych <= '/') goto yy999;
- goto yy1123;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1123;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1123;
- goto yy999;
- }
- }
-yy1121:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1123;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1123;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1123;
- goto yy999;
- }
- }
-yy1122:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1124;
- if (yych <= '/') goto yy999;
- goto yy1125;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1125;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1125;
- goto yy999;
- }
- }
-yy1123:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1125;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1125;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1125;
- goto yy999;
- }
- }
-yy1124:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1126;
- if (yych <= '/') goto yy999;
- goto yy1127;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1127;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1127;
- goto yy999;
- }
- }
-yy1125:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1127;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1127;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1127;
- goto yy999;
- }
- }
-yy1126:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1128;
- if (yych <= '/') goto yy999;
- goto yy1129;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1129;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1129;
- goto yy999;
- }
- }
-yy1127:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1129;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1129;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1129;
- goto yy999;
- }
- }
-yy1128:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1130;
- if (yych <= '/') goto yy999;
- goto yy1131;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1131;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1131;
- goto yy999;
- }
- }
-yy1129:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1131;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1131;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1131;
- goto yy999;
- }
- }
-yy1130:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1132;
- if (yych <= '/') goto yy999;
- goto yy1133;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1133;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1133;
- goto yy999;
- }
- }
-yy1131:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1133;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1133;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1133;
- goto yy999;
- }
- }
-yy1132:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1134;
- if (yych <= '/') goto yy999;
- goto yy1135;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1135;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1135;
- goto yy999;
- }
- }
-yy1133:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1135;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1135;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1135;
- goto yy999;
- }
- }
-yy1134:
- ++p;
- yych = *p;
- if (yych <= '9') {
- if (yych == '-') goto yy1136;
- if (yych <= '/') goto yy999;
- goto yy1137;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1137;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1137;
- goto yy999;
- }
- }
-yy1135:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1137;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1137;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1137;
- goto yy999;
- }
- }
-yy1136:
- ++p;
- yych = *p;
- if (yych <= '@') {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1138;
- goto yy999;
- } else {
- if (yych <= 'Z') goto yy1138;
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1138;
- goto yy999;
- }
-yy1137:
- ++p;
- yych = *p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= '-') goto yy999;
- goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych >= ':') goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- } else {
- if (yych <= '`') goto yy999;
- if (yych >= '{') goto yy999;
- }
- }
-yy1138:
- ++p;
- yych = *p;
- if (yych == '.') goto yy1012;
- if (yych == '>') goto yy1013;
- goto yy999;
-yy1139:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1141;
- if (yych <= '/') goto yy999;
- goto yy1142;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1142;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1142;
- goto yy999;
- }
- }
-yy1140:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1142;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1142;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1142;
- goto yy999;
- }
- }
-yy1141:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1143;
- if (yych <= '/') goto yy999;
- goto yy1144;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1144;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1144;
- goto yy999;
- }
- }
-yy1142:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1144;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1144;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1144;
- goto yy999;
- }
- }
-yy1143:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1145;
- if (yych <= '/') goto yy999;
- goto yy1146;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1146;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1146;
- goto yy999;
- }
- }
-yy1144:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1146;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1146;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1146;
- goto yy999;
- }
- }
-yy1145:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1147;
- if (yych <= '/') goto yy999;
- goto yy1148;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1148;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1148;
- goto yy999;
- }
- }
-yy1146:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1148;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1148;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1148;
- goto yy999;
- }
- }
-yy1147:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1149;
- if (yych <= '/') goto yy999;
- goto yy1150;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1150;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1150;
- goto yy999;
- }
- }
-yy1148:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1150;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1150;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1150;
- goto yy999;
- }
- }
-yy1149:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1151;
- if (yych <= '/') goto yy999;
- goto yy1152;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1152;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1152;
- goto yy999;
- }
- }
-yy1150:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1152;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1152;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1152;
- goto yy999;
- }
- }
-yy1151:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1153;
- if (yych <= '/') goto yy999;
- goto yy1154;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1154;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1154;
- goto yy999;
- }
- }
-yy1152:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1154;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1154;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1154;
- goto yy999;
- }
- }
-yy1153:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1155;
- if (yych <= '/') goto yy999;
- goto yy1156;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1156;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1156;
- goto yy999;
- }
- }
-yy1154:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1156;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1156;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1156;
- goto yy999;
- }
- }
-yy1155:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1157;
- if (yych <= '/') goto yy999;
- goto yy1158;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1158;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1158;
- goto yy999;
- }
- }
-yy1156:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1158;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1158;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1158;
- goto yy999;
- }
- }
-yy1157:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1159;
- if (yych <= '/') goto yy999;
- goto yy1160;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1160;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1160;
- goto yy999;
- }
- }
-yy1158:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1160;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1160;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1160;
- goto yy999;
- }
- }
-yy1159:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1161;
- if (yych <= '/') goto yy999;
- goto yy1162;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1162;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1162;
- goto yy999;
- }
- }
-yy1160:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1162;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1162;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1162;
- goto yy999;
- }
- }
-yy1161:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1163;
- if (yych <= '/') goto yy999;
- goto yy1164;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1164;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1164;
- goto yy999;
- }
- }
-yy1162:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1164;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1164;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1164;
- goto yy999;
- }
- }
-yy1163:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1165;
- if (yych <= '/') goto yy999;
- goto yy1166;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1166;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1166;
- goto yy999;
- }
- }
-yy1164:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1166;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1166;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1166;
- goto yy999;
- }
- }
-yy1165:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1167;
- if (yych <= '/') goto yy999;
- goto yy1168;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1168;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1168;
- goto yy999;
- }
- }
-yy1166:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1168;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1168;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1168;
- goto yy999;
- }
- }
-yy1167:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1169;
- if (yych <= '/') goto yy999;
- goto yy1170;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1170;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1170;
- goto yy999;
- }
- }
-yy1168:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1170;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1170;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1170;
- goto yy999;
- }
- }
-yy1169:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1171;
- if (yych <= '/') goto yy999;
- goto yy1172;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1172;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1172;
- goto yy999;
- }
- }
-yy1170:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1172;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1172;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1172;
- goto yy999;
- }
- }
-yy1171:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1173;
- if (yych <= '/') goto yy999;
- goto yy1174;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1174;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1174;
- goto yy999;
- }
- }
-yy1172:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1174;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1174;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1174;
- goto yy999;
- }
- }
-yy1173:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1175;
- if (yych <= '/') goto yy999;
- goto yy1176;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1176;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1176;
- goto yy999;
- }
- }
-yy1174:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1176;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1176;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1176;
- goto yy999;
- }
- }
-yy1175:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1177;
- if (yych <= '/') goto yy999;
- goto yy1178;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1178;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1178;
- goto yy999;
- }
- }
-yy1176:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1178;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1178;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1178;
- goto yy999;
- }
- }
-yy1177:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1179;
- if (yych <= '/') goto yy999;
- goto yy1180;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1180;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1180;
- goto yy999;
- }
- }
-yy1178:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1180;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1180;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1180;
- goto yy999;
- }
- }
-yy1179:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1181;
- if (yych <= '/') goto yy999;
- goto yy1182;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1182;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1182;
- goto yy999;
- }
- }
-yy1180:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1182;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1182;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1182;
- goto yy999;
- }
- }
-yy1181:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1183;
- if (yych <= '/') goto yy999;
- goto yy1184;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1184;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1184;
- goto yy999;
- }
- }
-yy1182:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1184;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1184;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1184;
- goto yy999;
- }
- }
-yy1183:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1185;
- if (yych <= '/') goto yy999;
- goto yy1186;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1186;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1186;
- goto yy999;
- }
- }
-yy1184:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1186;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1186;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1186;
- goto yy999;
- }
- }
-yy1185:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1187;
- if (yych <= '/') goto yy999;
- goto yy1188;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1188;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1188;
- goto yy999;
- }
- }
-yy1186:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1188;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1188;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1188;
- goto yy999;
- }
- }
-yy1187:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1189;
- if (yych <= '/') goto yy999;
- goto yy1190;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1190;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1190;
- goto yy999;
- }
- }
-yy1188:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1190;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1190;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1190;
- goto yy999;
- }
- }
-yy1189:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1191;
- if (yych <= '/') goto yy999;
- goto yy1192;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1192;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1192;
- goto yy999;
- }
- }
-yy1190:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1192;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1192;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1192;
- goto yy999;
- }
- }
-yy1191:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1193;
- if (yych <= '/') goto yy999;
- goto yy1194;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1194;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1194;
- goto yy999;
- }
- }
-yy1192:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1194;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1194;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1194;
- goto yy999;
- }
- }
-yy1193:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1195;
- if (yych <= '/') goto yy999;
- goto yy1196;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1196;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1196;
- goto yy999;
- }
- }
-yy1194:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1196;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1196;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1196;
- goto yy999;
- }
- }
-yy1195:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1197;
- if (yych <= '/') goto yy999;
- goto yy1198;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1198;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1198;
- goto yy999;
- }
- }
-yy1196:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1198;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1198;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1198;
- goto yy999;
- }
- }
-yy1197:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1199;
- if (yych <= '/') goto yy999;
- goto yy1200;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1200;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1200;
- goto yy999;
- }
- }
-yy1198:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1200;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1200;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1200;
- goto yy999;
- }
- }
-yy1199:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1201;
- if (yych <= '/') goto yy999;
- goto yy1202;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1202;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1202;
- goto yy999;
- }
- }
-yy1200:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1202;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1202;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1202;
- goto yy999;
- }
- }
-yy1201:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1203;
- if (yych <= '/') goto yy999;
- goto yy1204;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1204;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1204;
- goto yy999;
- }
- }
-yy1202:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1204;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1204;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1204;
- goto yy999;
- }
- }
-yy1203:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1205;
- if (yych <= '/') goto yy999;
- goto yy1206;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1206;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1206;
- goto yy999;
- }
- }
-yy1204:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1206;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1206;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1206;
- goto yy999;
- }
- }
-yy1205:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1207;
- if (yych <= '/') goto yy999;
- goto yy1208;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1208;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1208;
- goto yy999;
- }
- }
-yy1206:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1208;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1208;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1208;
- goto yy999;
- }
- }
-yy1207:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1209;
- if (yych <= '/') goto yy999;
- goto yy1210;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1210;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1210;
- goto yy999;
- }
- }
-yy1208:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1210;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1210;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1210;
- goto yy999;
- }
- }
-yy1209:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1211;
- if (yych <= '/') goto yy999;
- goto yy1212;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1212;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1212;
- goto yy999;
- }
- }
-yy1210:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1212;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1212;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1212;
- goto yy999;
- }
- }
-yy1211:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1213;
- if (yych <= '/') goto yy999;
- goto yy1214;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1214;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1214;
- goto yy999;
- }
- }
-yy1212:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1214;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1214;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1214;
- goto yy999;
- }
- }
-yy1213:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1215;
- if (yych <= '/') goto yy999;
- goto yy1216;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1216;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1216;
- goto yy999;
- }
- }
-yy1214:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1216;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1216;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1216;
- goto yy999;
- }
- }
-yy1215:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1217;
- if (yych <= '/') goto yy999;
- goto yy1218;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1218;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1218;
- goto yy999;
- }
- }
-yy1216:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1218;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1218;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1218;
- goto yy999;
- }
- }
-yy1217:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1219;
- if (yych <= '/') goto yy999;
- goto yy1220;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1220;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1220;
- goto yy999;
- }
- }
-yy1218:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1220;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1220;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1220;
- goto yy999;
- }
- }
-yy1219:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1221;
- if (yych <= '/') goto yy999;
- goto yy1222;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1222;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1222;
- goto yy999;
- }
- }
-yy1220:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1222;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1222;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1222;
- goto yy999;
- }
- }
-yy1221:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1223;
- if (yych <= '/') goto yy999;
- goto yy1224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1224;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1224;
- goto yy999;
- }
- }
-yy1222:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1224;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1224;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1224;
- goto yy999;
- }
- }
-yy1223:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1225;
- if (yych <= '/') goto yy999;
- goto yy1226;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1226;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1226;
- goto yy999;
- }
- }
-yy1224:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1226;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1226;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1226;
- goto yy999;
- }
- }
-yy1225:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1227;
- if (yych <= '/') goto yy999;
- goto yy1228;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1228;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1228;
- goto yy999;
- }
- }
-yy1226:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1228;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1228;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1228;
- goto yy999;
- }
- }
-yy1227:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1229;
- if (yych <= '/') goto yy999;
- goto yy1230;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1230;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1230;
- goto yy999;
- }
- }
-yy1228:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1230;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1230;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1230;
- goto yy999;
- }
- }
-yy1229:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1231;
- if (yych <= '/') goto yy999;
- goto yy1232;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1232;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1232;
- goto yy999;
- }
- }
-yy1230:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1232;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1232;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1232;
- goto yy999;
- }
- }
-yy1231:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1233;
- if (yych <= '/') goto yy999;
- goto yy1234;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1234;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1234;
- goto yy999;
- }
- }
-yy1232:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1234;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1234;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1234;
- goto yy999;
- }
- }
-yy1233:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1235;
- if (yych <= '/') goto yy999;
- goto yy1236;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1236;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1236;
- goto yy999;
- }
- }
-yy1234:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1236;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1236;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1236;
- goto yy999;
- }
- }
-yy1235:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1237;
- if (yych <= '/') goto yy999;
- goto yy1238;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1238;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1238;
- goto yy999;
- }
- }
-yy1236:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1238;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1238;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1238;
- goto yy999;
- }
- }
-yy1237:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1239;
- if (yych <= '/') goto yy999;
- goto yy1240;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1240;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1240;
- goto yy999;
- }
- }
-yy1238:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1240;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1240;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1240;
- goto yy999;
- }
- }
-yy1239:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1241;
- if (yych <= '/') goto yy999;
- goto yy1242;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1242;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1242;
- goto yy999;
- }
- }
-yy1240:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1242;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1242;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1242;
- goto yy999;
- }
- }
-yy1241:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1243;
- if (yych <= '/') goto yy999;
- goto yy1244;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1244;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1244;
- goto yy999;
- }
- }
-yy1242:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1244;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1244;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1244;
- goto yy999;
- }
- }
-yy1243:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1245;
- if (yych <= '/') goto yy999;
- goto yy1246;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1246;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1246;
- goto yy999;
- }
- }
-yy1244:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1246;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1246;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1246;
- goto yy999;
- }
- }
-yy1245:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1247;
- if (yych <= '/') goto yy999;
- goto yy1248;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1248;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1248;
- goto yy999;
- }
- }
-yy1246:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1248;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1248;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1248;
- goto yy999;
- }
- }
-yy1247:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1249;
- if (yych <= '/') goto yy999;
- goto yy1250;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1250;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1250;
- goto yy999;
- }
- }
-yy1248:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1250;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1250;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1250;
- goto yy999;
- }
- }
-yy1249:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1251;
- if (yych <= '/') goto yy999;
- goto yy1252;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1252;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1252;
- goto yy999;
- }
- }
-yy1250:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1252;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1252;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1252;
- goto yy999;
- }
- }
-yy1251:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1253;
- if (yych <= '/') goto yy999;
- goto yy1254;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1254;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1254;
- goto yy999;
- }
- }
-yy1252:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1254;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1254;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1254;
- goto yy999;
- }
- }
-yy1253:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1255;
- if (yych <= '/') goto yy999;
- goto yy1256;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1256;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1256;
- goto yy999;
- }
- }
-yy1254:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1256;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1256;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1256;
- goto yy999;
- }
- }
-yy1255:
- yych = *++p;
- if (yych <= '9') {
- if (yych == '-') goto yy1257;
- if (yych <= '/') goto yy999;
- goto yy1258;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy999;
- goto yy1258;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1258;
- goto yy999;
- }
- }
-yy1256:
- yych = *++p;
- if (yych <= '=') {
- if (yych <= '.') {
- if (yych <= ',') goto yy999;
- if (yych >= '.') goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1258;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1258;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1258;
- goto yy999;
- }
- }
-yy1257:
- yych = *++p;
- if (yych <= '@') {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1138;
- goto yy999;
- } else {
- if (yych <= 'Z') goto yy1138;
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1138;
- goto yy999;
- }
-yy1258:
- ++p;
- if ((yych = *p) <= '=') {
- if (yych <= '.') {
- if (yych <= '-') goto yy999;
- goto yy1012;
- } else {
- if (yych <= '/') goto yy999;
- if (yych <= '9') goto yy1138;
- goto yy999;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1013;
- if (yych <= '@') goto yy999;
- goto yy1138;
- } else {
- if (yych <= '`') goto yy999;
- if (yych <= 'z') goto yy1138;
- goto yy999;
- }
- }
-}
-
+ {
+ 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 = *(marker = p);
+ if (yych <= '?') {
+ if (yych <= ')') {
+ if (yych <= ' ') {
+ if (yych != '\n')
+ goto yy997;
+ } else {
+ if (yych == '"')
+ goto yy997;
+ if (yych <= '\'')
+ goto yy996;
+ goto yy997;
+ }
+ } else {
+ if (yych <= '9') {
+ if (yych == ',')
+ goto yy997;
+ goto yy996;
+ } else {
+ if (yych == '=')
+ goto yy996;
+ if (yych <= '>')
+ goto yy997;
+ goto yy996;
+ }
+ }
+ } else {
+ if (yych <= 0xDF) {
+ if (yych <= ']') {
+ if (yych <= '@')
+ goto yy997;
+ if (yych <= 'Z')
+ goto yy996;
+ goto yy997;
+ } else {
+ if (yych <= '~')
+ goto yy996;
+ if (yych <= 0x7F)
+ goto yy997;
+ if (yych >= 0xC2)
+ goto yy998;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1000;
+ if (yych == 0xED)
+ goto yy1005;
+ goto yy1001;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1002;
+ if (yych <= 0xF3)
+ goto yy1003;
+ if (yych <= 0xF4)
+ goto yy1004;
+ }
+ }
+ }
+ yy995 : { return 0; }
+ yy996:
+ yych = *(marker = ++p);
+ if (yych <= ',') {
+ if (yych <= '"') {
+ if (yych == '!')
+ goto yy1008;
+ goto yy995;
+ } else {
+ if (yych <= '\'')
+ goto yy1008;
+ if (yych <= ')')
+ goto yy995;
+ if (yych <= '+')
+ goto yy1008;
+ goto yy995;
+ }
+ } else {
+ if (yych <= '>') {
+ if (yych <= '9')
+ goto yy1008;
+ if (yych == '=')
+ goto yy1008;
+ goto yy995;
+ } else {
+ if (yych <= 'Z')
+ goto yy1008;
+ if (yych <= ']')
+ goto yy995;
+ if (yych <= '~')
+ goto yy1008;
+ goto yy995;
+ }
+ }
+ yy997:
+ yych = *++p;
+ goto yy995;
+ yy998:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy999;
+ if (yych <= 0xBF)
+ goto yy997;
+ yy999:
+ p = marker;
+ goto yy995;
+ yy1000:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy999;
+ if (yych <= 0xBF)
+ goto yy998;
+ goto yy999;
+ yy1001:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy999;
+ if (yych <= 0xBF)
+ goto yy998;
+ goto yy999;
+ yy1002:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy999;
+ if (yych <= 0xBF)
+ goto yy1001;
+ goto yy999;
+ yy1003:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy999;
+ if (yych <= 0xBF)
+ goto yy1001;
+ goto yy999;
+ yy1004:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy999;
+ if (yych <= 0x8F)
+ goto yy1001;
+ goto yy999;
+ yy1005:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy999;
+ if (yych <= 0x9F)
+ goto yy998;
+ goto yy999;
+ yy1006:
+ yych = *++p;
+ if (yych <= '@') {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1009;
+ goto yy999;
+ } else {
+ if (yych <= 'Z')
+ goto yy1009;
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1009;
+ goto yy999;
+ }
+ yy1007:
+ ++p;
+ yych = *p;
+ yy1008:
+ if (yybm[0 + yych] & 128) {
+ goto yy1007;
+ }
+ if (yych <= '>')
+ goto yy999;
+ if (yych <= '@')
+ goto yy1006;
+ goto yy999;
+ yy1009:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1011;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1011;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1011;
+ goto yy999;
+ }
+ }
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1139;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1140;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1140;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1140;
+ goto yy999;
+ }
+ }
+ yy1011:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych <= '-')
+ goto yy1139;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1140;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1140;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1140;
+ goto yy999;
+ }
+ }
+ yy1012:
+ ++p;
+ yych = *p;
+ if (yych <= '@') {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1015;
+ goto yy999;
+ } else {
+ if (yych <= 'Z')
+ goto yy1015;
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1015;
+ goto yy999;
+ }
+ yy1013:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy1015:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1017;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1017;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1017;
+ goto yy999;
+ }
+ }
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1018;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1019;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1019;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1019;
+ goto yy999;
+ }
+ }
+ yy1017:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1019;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1019;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1019;
+ goto yy999;
+ }
+ }
+ yy1018:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1020;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1021;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1021;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1021;
+ goto yy999;
+ }
+ }
+ yy1019:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1021;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1021;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1021;
+ goto yy999;
+ }
+ }
+ yy1020:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1022;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1023;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1023;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1023;
+ goto yy999;
+ }
+ }
+ yy1021:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1023;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1023;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1023;
+ goto yy999;
+ }
+ }
+ yy1022:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1024;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1025;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1025;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1025;
+ goto yy999;
+ }
+ }
+ yy1023:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1025;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1025;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1025;
+ goto yy999;
+ }
+ }
+ yy1024:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1026;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1027;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1027;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1027;
+ goto yy999;
+ }
+ }
+ yy1025:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1027;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1027;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1027;
+ goto yy999;
+ }
+ }
+ yy1026:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1028;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1029;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1029;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1029;
+ goto yy999;
+ }
+ }
+ yy1027:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1029;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1029;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1029;
+ goto yy999;
+ }
+ }
+ yy1028:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1030;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1031;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1031;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1031;
+ goto yy999;
+ }
+ }
+ yy1029:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1031;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1031;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1031;
+ goto yy999;
+ }
+ }
+ yy1030:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1032;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1033;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1033;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1033;
+ goto yy999;
+ }
+ }
+ yy1031:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1033;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1033;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1033;
+ goto yy999;
+ }
+ }
+ yy1032:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1034;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1035;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1035;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1035;
+ goto yy999;
+ }
+ }
+ yy1033:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1035;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1035;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1035;
+ goto yy999;
+ }
+ }
+ yy1034:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1036;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1037;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1037;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1037;
+ goto yy999;
+ }
+ }
+ yy1035:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1037;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1037;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1037;
+ goto yy999;
+ }
+ }
+ yy1036:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1038;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1039;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1039;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1039;
+ goto yy999;
+ }
+ }
+ yy1037:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1039;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1039;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1039;
+ goto yy999;
+ }
+ }
+ yy1038:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1040;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1041;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1041;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1041;
+ goto yy999;
+ }
+ }
+ yy1039:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1041;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1041;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1041;
+ goto yy999;
+ }
+ }
+ yy1040:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1042;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1043;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1043;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1043;
+ goto yy999;
+ }
+ }
+ yy1041:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1043;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1043;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1043;
+ goto yy999;
+ }
+ }
+ yy1042:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1044;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1045;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1045;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1045;
+ goto yy999;
+ }
+ }
+ yy1043:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1045;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1045;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1045;
+ goto yy999;
+ }
+ }
+ yy1044:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1046;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1047;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1047;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1047;
+ goto yy999;
+ }
+ }
+ yy1045:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1047;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1047;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1047;
+ goto yy999;
+ }
+ }
+ yy1046:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1048;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1049;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1049;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1049;
+ goto yy999;
+ }
+ }
+ yy1047:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1049;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1049;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1049;
+ goto yy999;
+ }
+ }
+ yy1048:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1050;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1051;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1051;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1051;
+ goto yy999;
+ }
+ }
+ yy1049:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1051;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1051;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1051;
+ goto yy999;
+ }
+ }
+ yy1050:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1052;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1053;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1053;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1053;
+ goto yy999;
+ }
+ }
+ yy1051:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1053;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1053;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1053;
+ goto yy999;
+ }
+ }
+ yy1052:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1054;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1055;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1055;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1055;
+ goto yy999;
+ }
+ }
+ yy1053:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1055;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1055;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1055;
+ goto yy999;
+ }
+ }
+ yy1054:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1056;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1057;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1057;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1057;
+ goto yy999;
+ }
+ }
+ yy1055:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1057;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1057;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1057;
+ goto yy999;
+ }
+ }
+ yy1056:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1058;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1059;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1059;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1059;
+ goto yy999;
+ }
+ }
+ yy1057:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1059;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1059;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1059;
+ goto yy999;
+ }
+ }
+ yy1058:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1060;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1061;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1061;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1061;
+ goto yy999;
+ }
+ }
+ yy1059:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1061;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1061;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1061;
+ goto yy999;
+ }
+ }
+ yy1060:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1062;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1063;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1063;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1063;
+ goto yy999;
+ }
+ }
+ yy1061:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1063;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1063;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1063;
+ goto yy999;
+ }
+ }
+ yy1062:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1064;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1065;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1065;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1065;
+ goto yy999;
+ }
+ }
+ yy1063:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1065;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1065;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1065;
+ goto yy999;
+ }
+ }
+ yy1064:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1066;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1067;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1067;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1067;
+ goto yy999;
+ }
+ }
+ yy1065:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1067;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1067;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1067;
+ goto yy999;
+ }
+ }
+ yy1066:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1068;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1069;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1069;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1069;
+ goto yy999;
+ }
+ }
+ yy1067:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1069;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1069;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1069;
+ goto yy999;
+ }
+ }
+ yy1068:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1070;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1071;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1071;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1071;
+ goto yy999;
+ }
+ }
+ yy1069:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1071;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1071;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1071;
+ goto yy999;
+ }
+ }
+ yy1070:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1072;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1073;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1073;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1073;
+ goto yy999;
+ }
+ }
+ yy1071:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1073;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1073;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1073;
+ goto yy999;
+ }
+ }
+ yy1072:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1074;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1075;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1075;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1075;
+ goto yy999;
+ }
+ }
+ yy1073:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1075;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1075;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1075;
+ goto yy999;
+ }
+ }
+ yy1074:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1076;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1077;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1077;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1077;
+ goto yy999;
+ }
+ }
+ yy1075:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1077;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1077;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1077;
+ goto yy999;
+ }
+ }
+ yy1076:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1078;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1079;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1079;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1079;
+ goto yy999;
+ }
+ }
+ yy1077:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1079;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1079;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1079;
+ goto yy999;
+ }
+ }
+ yy1078:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1080;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1081;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1081;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1081;
+ goto yy999;
+ }
+ }
+ yy1079:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1081;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1081;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1081;
+ goto yy999;
+ }
+ }
+ yy1080:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1082;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1083;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1083;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1083;
+ goto yy999;
+ }
+ }
+ yy1081:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1083;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1083;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1083;
+ goto yy999;
+ }
+ }
+ yy1082:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1084;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1085;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1085;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1085;
+ goto yy999;
+ }
+ }
+ yy1083:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1085;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1085;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1085;
+ goto yy999;
+ }
+ }
+ yy1084:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1086;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1087;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1087;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1087;
+ goto yy999;
+ }
+ }
+ yy1085:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1087;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1087;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1087;
+ goto yy999;
+ }
+ }
+ yy1086:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1088;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1089;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1089;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1089;
+ goto yy999;
+ }
+ }
+ yy1087:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1089;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1089;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1089;
+ goto yy999;
+ }
+ }
+ yy1088:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1090;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1091;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1091;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1091;
+ goto yy999;
+ }
+ }
+ yy1089:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1091;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1091;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1091;
+ goto yy999;
+ }
+ }
+ yy1090:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1092;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1093;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1093;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1093;
+ goto yy999;
+ }
+ }
+ yy1091:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1093;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1093;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1093;
+ goto yy999;
+ }
+ }
+ yy1092:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1094;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1095;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1095;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1095;
+ goto yy999;
+ }
+ }
+ yy1093:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1095;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1095;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1095;
+ goto yy999;
+ }
+ }
+ yy1094:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1096;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1097;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1097;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1097;
+ goto yy999;
+ }
+ }
+ yy1095:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1097;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1097;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1097;
+ goto yy999;
+ }
+ }
+ yy1096:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1098;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1099;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1099;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1099;
+ goto yy999;
+ }
+ }
+ yy1097:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1099;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1099;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1099;
+ goto yy999;
+ }
+ }
+ yy1098:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1100;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1101;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1101;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1101;
+ goto yy999;
+ }
+ }
+ yy1099:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1101;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1101;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1101;
+ goto yy999;
+ }
+ }
+ yy1100:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1102;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1103;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1103;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1103;
+ goto yy999;
+ }
+ }
+ yy1101:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1103;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1103;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1103;
+ goto yy999;
+ }
+ }
+ yy1102:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1104;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1105;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1105;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1105;
+ goto yy999;
+ }
+ }
+ yy1103:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1105;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1105;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1105;
+ goto yy999;
+ }
+ }
+ yy1104:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1106;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1107;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1107;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1107;
+ goto yy999;
+ }
+ }
+ yy1105:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1107;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1107;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1107;
+ goto yy999;
+ }
+ }
+ yy1106:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1108;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1109;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1109;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1109;
+ goto yy999;
+ }
+ }
+ yy1107:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1109;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1109;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1109;
+ goto yy999;
+ }
+ }
+ yy1108:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1110;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1111;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1111;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1111;
+ goto yy999;
+ }
+ }
+ yy1109:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1111;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1111;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1111;
+ goto yy999;
+ }
+ }
+ yy1110:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1112;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1113;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1113;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1113;
+ goto yy999;
+ }
+ }
+ yy1111:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1113;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1113;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1113;
+ goto yy999;
+ }
+ }
+ yy1112:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1114;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1115;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1115;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1115;
+ goto yy999;
+ }
+ }
+ yy1113:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1115;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1115;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1115;
+ goto yy999;
+ }
+ }
+ yy1114:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1116;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1117;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1117;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1117;
+ goto yy999;
+ }
+ }
+ yy1115:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1117;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1117;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1117;
+ goto yy999;
+ }
+ }
+ yy1116:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1118;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1119;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1119;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1119;
+ goto yy999;
+ }
+ }
+ yy1117:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1119;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1119;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1119;
+ goto yy999;
+ }
+ }
+ yy1118:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1120;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1121;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1121;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1121;
+ goto yy999;
+ }
+ }
+ yy1119:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1121;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1121;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1121;
+ goto yy999;
+ }
+ }
+ yy1120:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1122;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1123;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1123;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1123;
+ goto yy999;
+ }
+ }
+ yy1121:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1123;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1123;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1123;
+ goto yy999;
+ }
+ }
+ yy1122:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1124;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1125;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1125;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1125;
+ goto yy999;
+ }
+ }
+ yy1123:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1125;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1125;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1125;
+ goto yy999;
+ }
+ }
+ yy1124:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1126;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1127;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1127;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1127;
+ goto yy999;
+ }
+ }
+ yy1125:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1127;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1127;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1127;
+ goto yy999;
+ }
+ }
+ yy1126:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1128;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1129;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1129;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1129;
+ goto yy999;
+ }
+ }
+ yy1127:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1129;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1129;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1129;
+ goto yy999;
+ }
+ }
+ yy1128:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1130;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1131;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1131;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1131;
+ goto yy999;
+ }
+ }
+ yy1129:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1131;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1131;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1131;
+ goto yy999;
+ }
+ }
+ yy1130:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1132;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1133;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1133;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1133;
+ goto yy999;
+ }
+ }
+ yy1131:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1133;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1133;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1133;
+ goto yy999;
+ }
+ }
+ yy1132:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1134;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1135;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1135;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1135;
+ goto yy999;
+ }
+ }
+ yy1133:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1135;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1135;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1135;
+ goto yy999;
+ }
+ }
+ yy1134:
+ ++p;
+ yych = *p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1136;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1137;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1137;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1137;
+ goto yy999;
+ }
+ }
+ yy1135:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1137;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1137;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1137;
+ goto yy999;
+ }
+ }
+ yy1136:
+ ++p;
+ yych = *p;
+ if (yych <= '@') {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1138;
+ goto yy999;
+ } else {
+ if (yych <= 'Z')
+ goto yy1138;
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1138;
+ goto yy999;
+ }
+ yy1137:
+ ++p;
+ yych = *p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= '-')
+ goto yy999;
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych >= ':')
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych >= '{')
+ goto yy999;
+ }
+ }
+ yy1138:
+ ++p;
+ yych = *p;
+ if (yych == '.')
+ goto yy1012;
+ if (yych == '>')
+ goto yy1013;
+ goto yy999;
+ yy1139:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1141;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1142;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1142;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1142;
+ goto yy999;
+ }
+ }
+ yy1140:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1142;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1142;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1142;
+ goto yy999;
+ }
+ }
+ yy1141:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1143;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1144;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1144;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1144;
+ goto yy999;
+ }
+ }
+ yy1142:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1144;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1144;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1144;
+ goto yy999;
+ }
+ }
+ yy1143:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1145;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1146;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1146;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1146;
+ goto yy999;
+ }
+ }
+ yy1144:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1146;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1146;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1146;
+ goto yy999;
+ }
+ }
+ yy1145:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1147;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1148;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1148;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1148;
+ goto yy999;
+ }
+ }
+ yy1146:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1148;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1148;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1148;
+ goto yy999;
+ }
+ }
+ yy1147:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1149;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1150;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1150;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1150;
+ goto yy999;
+ }
+ }
+ yy1148:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1150;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1150;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1150;
+ goto yy999;
+ }
+ }
+ yy1149:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1151;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1152;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1152;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1152;
+ goto yy999;
+ }
+ }
+ yy1150:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1152;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1152;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1152;
+ goto yy999;
+ }
+ }
+ yy1151:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1153;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1154;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1154;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1154;
+ goto yy999;
+ }
+ }
+ yy1152:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1154;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1154;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1154;
+ goto yy999;
+ }
+ }
+ yy1153:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1155;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1156;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1156;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1156;
+ goto yy999;
+ }
+ }
+ yy1154:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1156;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1156;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1156;
+ goto yy999;
+ }
+ }
+ yy1155:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1157;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1158;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1158;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1158;
+ goto yy999;
+ }
+ }
+ yy1156:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1158;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1158;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1158;
+ goto yy999;
+ }
+ }
+ yy1157:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1159;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1160;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1160;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1160;
+ goto yy999;
+ }
+ }
+ yy1158:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1160;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1160;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1160;
+ goto yy999;
+ }
+ }
+ yy1159:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1161;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1162;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1162;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1162;
+ goto yy999;
+ }
+ }
+ yy1160:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1162;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1162;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1162;
+ goto yy999;
+ }
+ }
+ yy1161:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1163;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1164;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1164;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1164;
+ goto yy999;
+ }
+ }
+ yy1162:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1164;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1164;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1164;
+ goto yy999;
+ }
+ }
+ yy1163:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1165;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1166;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1166;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1166;
+ goto yy999;
+ }
+ }
+ yy1164:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1166;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1166;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1166;
+ goto yy999;
+ }
+ }
+ yy1165:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1167;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1168;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1168;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1168;
+ goto yy999;
+ }
+ }
+ yy1166:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1168;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1168;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1168;
+ goto yy999;
+ }
+ }
+ yy1167:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1169;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1170;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1170;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1170;
+ goto yy999;
+ }
+ }
+ yy1168:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1170;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1170;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1170;
+ goto yy999;
+ }
+ }
+ yy1169:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1171;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1172;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1172;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1172;
+ goto yy999;
+ }
+ }
+ yy1170:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1172;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1172;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1172;
+ goto yy999;
+ }
+ }
+ yy1171:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1173;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1174;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1174;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1174;
+ goto yy999;
+ }
+ }
+ yy1172:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1174;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1174;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1174;
+ goto yy999;
+ }
+ }
+ yy1173:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1175;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1176;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1176;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1176;
+ goto yy999;
+ }
+ }
+ yy1174:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1176;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1176;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1176;
+ goto yy999;
+ }
+ }
+ yy1175:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1177;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1178;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1178;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1178;
+ goto yy999;
+ }
+ }
+ yy1176:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1178;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1178;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1178;
+ goto yy999;
+ }
+ }
+ yy1177:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1179;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1180;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1180;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1180;
+ goto yy999;
+ }
+ }
+ yy1178:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1180;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1180;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1180;
+ goto yy999;
+ }
+ }
+ yy1179:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1181;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1182;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1182;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1182;
+ goto yy999;
+ }
+ }
+ yy1180:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1182;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1182;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1182;
+ goto yy999;
+ }
+ }
+ yy1181:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1183;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1184;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1184;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1184;
+ goto yy999;
+ }
+ }
+ yy1182:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1184;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1184;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1184;
+ goto yy999;
+ }
+ }
+ yy1183:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1185;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1186;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1186;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1186;
+ goto yy999;
+ }
+ }
+ yy1184:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1186;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1186;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1186;
+ goto yy999;
+ }
+ }
+ yy1185:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1187;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1188;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1188;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1188;
+ goto yy999;
+ }
+ }
+ yy1186:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1188;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1188;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1188;
+ goto yy999;
+ }
+ }
+ yy1187:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1189;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1190;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1190;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1190;
+ goto yy999;
+ }
+ }
+ yy1188:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1190;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1190;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1190;
+ goto yy999;
+ }
+ }
+ yy1189:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1191;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1192;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1192;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1192;
+ goto yy999;
+ }
+ }
+ yy1190:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1192;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1192;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1192;
+ goto yy999;
+ }
+ }
+ yy1191:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1193;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1194;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1194;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1194;
+ goto yy999;
+ }
+ }
+ yy1192:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1194;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1194;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1194;
+ goto yy999;
+ }
+ }
+ yy1193:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1195;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1196;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1196;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1196;
+ goto yy999;
+ }
+ }
+ yy1194:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1196;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1196;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1196;
+ goto yy999;
+ }
+ }
+ yy1195:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1197;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1198;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1198;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1198;
+ goto yy999;
+ }
+ }
+ yy1196:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1198;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1198;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1198;
+ goto yy999;
+ }
+ }
+ yy1197:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1199;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1200;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1200;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1200;
+ goto yy999;
+ }
+ }
+ yy1198:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1200;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1200;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1200;
+ goto yy999;
+ }
+ }
+ yy1199:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1201;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1202;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1202;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1202;
+ goto yy999;
+ }
+ }
+ yy1200:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1202;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1202;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1202;
+ goto yy999;
+ }
+ }
+ yy1201:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1203;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1204;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1204;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1204;
+ goto yy999;
+ }
+ }
+ yy1202:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1204;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1204;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1204;
+ goto yy999;
+ }
+ }
+ yy1203:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1205;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1206;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1206;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1206;
+ goto yy999;
+ }
+ }
+ yy1204:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1206;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1206;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1206;
+ goto yy999;
+ }
+ }
+ yy1205:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1207;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1208;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1208;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1208;
+ goto yy999;
+ }
+ }
+ yy1206:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1208;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1208;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1208;
+ goto yy999;
+ }
+ }
+ yy1207:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1209;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1210;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1210;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1210;
+ goto yy999;
+ }
+ }
+ yy1208:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1210;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1210;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1210;
+ goto yy999;
+ }
+ }
+ yy1209:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1211;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1212;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1212;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1212;
+ goto yy999;
+ }
+ }
+ yy1210:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1212;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1212;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1212;
+ goto yy999;
+ }
+ }
+ yy1211:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1213;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1214;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1214;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1214;
+ goto yy999;
+ }
+ }
+ yy1212:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1214;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1214;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1214;
+ goto yy999;
+ }
+ }
+ yy1213:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1215;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1216;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1216;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1216;
+ goto yy999;
+ }
+ }
+ yy1214:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1216;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1216;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1216;
+ goto yy999;
+ }
+ }
+ yy1215:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1217;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1218;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1218;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1218;
+ goto yy999;
+ }
+ }
+ yy1216:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1218;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1218;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1218;
+ goto yy999;
+ }
+ }
+ yy1217:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1219;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1220;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1220;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1220;
+ goto yy999;
+ }
+ }
+ yy1218:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1220;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1220;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1220;
+ goto yy999;
+ }
+ }
+ yy1219:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1221;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1222;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1222;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1222;
+ goto yy999;
+ }
+ }
+ yy1220:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1222;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1222;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1222;
+ goto yy999;
+ }
+ }
+ yy1221:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1223;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1224;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1224;
+ goto yy999;
+ }
+ }
+ yy1222:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1224;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1224;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1224;
+ goto yy999;
+ }
+ }
+ yy1223:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1225;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1226;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1226;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1226;
+ goto yy999;
+ }
+ }
+ yy1224:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1226;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1226;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1226;
+ goto yy999;
+ }
+ }
+ yy1225:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1227;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1228;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1228;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1228;
+ goto yy999;
+ }
+ }
+ yy1226:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1228;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1228;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1228;
+ goto yy999;
+ }
+ }
+ yy1227:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1229;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1230;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1230;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1230;
+ goto yy999;
+ }
+ }
+ yy1228:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1230;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1230;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1230;
+ goto yy999;
+ }
+ }
+ yy1229:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1231;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1232;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1232;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1232;
+ goto yy999;
+ }
+ }
+ yy1230:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1232;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1232;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1232;
+ goto yy999;
+ }
+ }
+ yy1231:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1233;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1234;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1234;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1234;
+ goto yy999;
+ }
+ }
+ yy1232:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1234;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1234;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1234;
+ goto yy999;
+ }
+ }
+ yy1233:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1235;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1236;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1236;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1236;
+ goto yy999;
+ }
+ }
+ yy1234:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1236;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1236;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1236;
+ goto yy999;
+ }
+ }
+ yy1235:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1237;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1238;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1238;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1238;
+ goto yy999;
+ }
+ }
+ yy1236:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1238;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1238;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1238;
+ goto yy999;
+ }
+ }
+ yy1237:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1239;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1240;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1240;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1240;
+ goto yy999;
+ }
+ }
+ yy1238:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1240;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1240;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1240;
+ goto yy999;
+ }
+ }
+ yy1239:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1241;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1242;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1242;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1242;
+ goto yy999;
+ }
+ }
+ yy1240:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1242;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1242;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1242;
+ goto yy999;
+ }
+ }
+ yy1241:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1243;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1244;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1244;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1244;
+ goto yy999;
+ }
+ }
+ yy1242:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1244;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1244;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1244;
+ goto yy999;
+ }
+ }
+ yy1243:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1245;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1246;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1246;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1246;
+ goto yy999;
+ }
+ }
+ yy1244:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1246;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1246;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1246;
+ goto yy999;
+ }
+ }
+ yy1245:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1247;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1248;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1248;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1248;
+ goto yy999;
+ }
+ }
+ yy1246:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1248;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1248;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1248;
+ goto yy999;
+ }
+ }
+ yy1247:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1249;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1250;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1250;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1250;
+ goto yy999;
+ }
+ }
+ yy1248:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1250;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1250;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1250;
+ goto yy999;
+ }
+ }
+ yy1249:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1251;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1252;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1252;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1252;
+ goto yy999;
+ }
+ }
+ yy1250:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1252;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1252;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1252;
+ goto yy999;
+ }
+ }
+ yy1251:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1253;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1254;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1254;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1254;
+ goto yy999;
+ }
+ }
+ yy1252:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1254;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1254;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1254;
+ goto yy999;
+ }
+ }
+ yy1253:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1255;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1256;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1256;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1256;
+ goto yy999;
+ }
+ }
+ yy1254:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1256;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1256;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1256;
+ goto yy999;
+ }
+ }
+ yy1255:
+ yych = *++p;
+ if (yych <= '9') {
+ if (yych == '-')
+ goto yy1257;
+ if (yych <= '/')
+ goto yy999;
+ goto yy1258;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy999;
+ goto yy1258;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1258;
+ goto yy999;
+ }
+ }
+ yy1256:
+ yych = *++p;
+ if (yych <= '=') {
+ if (yych <= '.') {
+ if (yych <= ',')
+ goto yy999;
+ if (yych >= '.')
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1258;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1258;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1258;
+ goto yy999;
+ }
+ }
+ yy1257:
+ yych = *++p;
+ if (yych <= '@') {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1138;
+ goto yy999;
+ } else {
+ if (yych <= 'Z')
+ goto yy1138;
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1138;
+ goto yy999;
+ }
+ yy1258:
+ ++p;
+ if ((yych = *p) <= '=') {
+ if (yych <= '.') {
+ if (yych <= '-')
+ goto yy999;
+ goto yy1012;
+ } else {
+ if (yych <= '/')
+ goto yy999;
+ if (yych <= '9')
+ goto yy1138;
+ goto yy999;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1013;
+ if (yych <= '@')
+ goto yy999;
+ goto yy1138;
+ } else {
+ if (yych <= '`')
+ goto yy999;
+ if (yych <= 'z')
+ goto yy1138;
+ goto yy999;
+ }
+ }
+ }
}
// 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_tag(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, 230, 230, 230, 230, 230, 230, 230,
- 230, 199, 199, 199, 199, 199, 230, 230,
- 230, 230, 230, 230, 230, 230, 230, 230,
- 230, 230, 230, 230, 230, 230, 230, 230,
- 199, 230, 70, 230, 230, 230, 230, 134,
- 230, 230, 230, 230, 230, 254, 246, 230,
- 254, 254, 254, 254, 254, 254, 254, 254,
- 254, 254, 246, 230, 198, 198, 196, 230,
- 230, 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, 230, 230, 226, 230, 246,
- 198, 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, 230, 230, 230, 230, 230,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 32, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 128,
- 160, 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, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *(marker = p);
- if (yych <= '`') {
- if (yych <= '.') {
- if (yych <= '\n') {
- if (yych <= '\t') goto yy1266;
- } else {
- if (yych == '!') goto yy1264;
- goto yy1266;
- }
- } else {
- if (yych <= '?') {
- if (yych <= '/') goto yy1263;
- if (yych <= '>') goto yy1266;
- goto yy1265;
- } else {
- if (yych <= '@') goto yy1266;
- if (yych <= 'Z') goto yy1262;
- goto yy1266;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 'z') goto yy1262;
- if (yych <= 0x7F) goto yy1266;
- } else {
- if (yych <= 0xDF) goto yy1267;
- if (yych <= 0xE0) goto yy1269;
- goto yy1270;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1274;
- if (yych <= 0xEF) goto yy1270;
- goto yy1271;
- } else {
- if (yych <= 0xF3) goto yy1272;
- if (yych <= 0xF4) goto yy1273;
- }
- }
- }
-yy1261:
- { return 0; }
-yy1262:
- yych = *(marker = ++p);
- if (yych <= '/') {
- if (yych <= ' ') {
- if (yych <= 0x08) goto yy1261;
- if (yych <= '\r') goto yy1366;
- if (yych <= 0x1F) goto yy1261;
- goto yy1366;
- } else {
- if (yych == '-') goto yy1364;
- if (yych <= '.') goto yy1261;
- goto yy1368;
- }
- } else {
- if (yych <= '@') {
- if (yych <= '9') goto yy1364;
- if (yych == '>') goto yy1285;
- goto yy1261;
- } else {
- if (yych <= 'Z') goto yy1364;
- if (yych <= '`') goto yy1261;
- if (yych <= 'z') goto yy1364;
- goto yy1261;
- }
- }
-yy1263:
- yych = *(marker = ++p);
- if (yych <= '@') goto yy1261;
- if (yych <= 'Z') goto yy1360;
- if (yych <= '`') goto yy1261;
- if (yych <= 'z') goto yy1360;
- goto yy1261;
-yy1264:
- yych = *(marker = ++p);
- if (yybm[256+yych] & 64) {
- goto yy1295;
- }
- if (yych == '-') goto yy1297;
- if (yych <= '@') goto yy1261;
- if (yych <= '[') goto yy1294;
- goto yy1261;
-yy1265:
- yych = *(marker = ++p);
- if (yych <= 0x00) goto yy1261;
- if (yych <= 0x7F) goto yy1276;
- if (yych <= 0xC1) goto yy1261;
- if (yych <= 0xF4) goto yy1276;
- goto yy1261;
-yy1266:
- yych = *++p;
- goto yy1261;
-yy1267:
- yych = *++p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1266;
-yy1268:
- p = marker;
- goto yy1261;
-yy1269:
- yych = *++p;
- if (yych <= 0x9F) goto yy1268;
- if (yych <= 0xBF) goto yy1267;
- goto yy1268;
-yy1270:
- yych = *++p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1267;
- goto yy1268;
-yy1271:
- yych = *++p;
- if (yych <= 0x8F) goto yy1268;
- if (yych <= 0xBF) goto yy1270;
- goto yy1268;
-yy1272:
- yych = *++p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1270;
- goto yy1268;
-yy1273:
- yych = *++p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x8F) goto yy1270;
- goto yy1268;
-yy1274:
- yych = *++p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x9F) goto yy1267;
- goto yy1268;
-yy1275:
- ++p;
- yych = *p;
-yy1276:
- if (yybm[256+yych] & 32) {
- goto yy1275;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy1268;
- if (yych <= '?') goto yy1284;
- goto yy1268;
- } else {
- if (yych <= 0xDF) goto yy1277;
- if (yych <= 0xE0) goto yy1278;
- goto yy1279;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1283;
- if (yych <= 0xEF) goto yy1279;
- goto yy1280;
- } else {
- if (yych <= 0xF3) goto yy1281;
- if (yych <= 0xF4) goto yy1282;
- goto yy1268;
- }
- }
-yy1277:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1275;
- goto yy1268;
-yy1278:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1268;
- if (yych <= 0xBF) goto yy1277;
- goto yy1268;
-yy1279:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1277;
- goto yy1268;
-yy1280:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1268;
- if (yych <= 0xBF) goto yy1279;
- goto yy1268;
-yy1281:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1279;
- goto yy1268;
-yy1282:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x8F) goto yy1279;
- goto yy1268;
-yy1283:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x9F) goto yy1277;
- goto yy1268;
-yy1284:
- ++p;
- yych = *p;
- if (yych <= 0xE0) {
- if (yych <= '>') {
- if (yych <= 0x00) goto yy1268;
- if (yych <= '=') goto yy1275;
- } else {
- if (yych <= 0x7F) goto yy1275;
- if (yych <= 0xC1) goto yy1268;
- if (yych <= 0xDF) goto yy1287;
- goto yy1288;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1293;
- goto yy1289;
- } else {
- if (yych <= 0xF0) goto yy1290;
- if (yych <= 0xF3) goto yy1291;
- if (yych <= 0xF4) goto yy1292;
- goto yy1268;
- }
- }
-yy1285:
- ++p;
- { return (bufsize_t)(p - start); }
-yy1287:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1275;
- goto yy1268;
-yy1288:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1268;
- if (yych <= 0xBF) goto yy1287;
- goto yy1268;
-yy1289:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1287;
- goto yy1268;
-yy1290:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1268;
- if (yych <= 0xBF) goto yy1289;
- goto yy1268;
-yy1291:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1289;
- goto yy1268;
-yy1292:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x8F) goto yy1289;
- goto yy1268;
-yy1293:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x9F) goto yy1287;
- goto yy1268;
-yy1294:
- yych = *++p;
- if (yych == 'C') goto yy1330;
- if (yych == 'c') goto yy1330;
- goto yy1268;
-yy1295:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 1) {
- goto yy1319;
- }
- if (yych <= '@') goto yy1268;
- if (yych <= 'Z') goto yy1295;
- goto yy1268;
-yy1297:
- yych = *++p;
- if (yych != '-') goto yy1268;
- yych = *++p;
- if (yych <= 0xE0) {
- if (yych <= '=') {
- if (yych != '-') goto yy1301;
- } else {
- if (yych <= '>') goto yy1268;
- if (yych <= 0xC1) goto yy1301;
- if (yych <= 0xDF) goto yy1302;
- goto yy1303;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1308;
- goto yy1304;
- } else {
- if (yych <= 0xF0) goto yy1305;
- if (yych <= 0xF3) goto yy1306;
- if (yych <= 0xF4) goto yy1307;
- goto yy1301;
- }
- }
- yych = *++p;
- if (yych <= 0xE0) {
- if (yych <= '=') {
- if (yych == '-') goto yy1318;
- goto yy1301;
- } else {
- if (yych <= '>') goto yy1268;
- if (yych <= 0xC1) goto yy1301;
- if (yych <= 0xDF) goto yy1302;
- goto yy1303;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1308;
- goto yy1304;
- } else {
- if (yych <= 0xF0) goto yy1305;
- if (yych <= 0xF3) goto yy1306;
- if (yych <= 0xF4) goto yy1307;
- goto yy1301;
- }
- }
-yy1300:
- ++p;
- yych = *p;
-yy1301:
- if (yybm[256+yych] & 128) {
- goto yy1300;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy1268;
- if (yych <= '-') goto yy1309;
- goto yy1268;
- } else {
- if (yych <= 0xDF) goto yy1310;
- if (yych <= 0xE0) goto yy1311;
- goto yy1312;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1316;
- if (yych <= 0xEF) goto yy1312;
- goto yy1313;
- } else {
- if (yych <= 0xF3) goto yy1314;
- if (yych <= 0xF4) goto yy1315;
- goto yy1268;
- }
- }
-yy1302:
- yych = *++p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1300;
- goto yy1268;
-yy1303:
- yych = *++p;
- if (yych <= 0x9F) goto yy1268;
- if (yych <= 0xBF) goto yy1302;
- goto yy1268;
-yy1304:
- yych = *++p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1302;
- goto yy1268;
-yy1305:
- yych = *++p;
- if (yych <= 0x8F) goto yy1268;
- if (yych <= 0xBF) goto yy1304;
- goto yy1268;
-yy1306:
- yych = *++p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1304;
- goto yy1268;
-yy1307:
- yych = *++p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x8F) goto yy1304;
- goto yy1268;
-yy1308:
- yych = *++p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x9F) goto yy1302;
- goto yy1268;
-yy1309:
- ++p;
- yych = *p;
- if (yybm[256+yych] & 128) {
- goto yy1300;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy1268;
- if (yych <= '-') goto yy1317;
- goto yy1268;
- } else {
- if (yych <= 0xDF) goto yy1310;
- if (yych <= 0xE0) goto yy1311;
- goto yy1312;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1316;
- if (yych <= 0xEF) goto yy1312;
- goto yy1313;
- } else {
- if (yych <= 0xF3) goto yy1314;
- if (yych <= 0xF4) goto yy1315;
- goto yy1268;
- }
- }
-yy1310:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1300;
- goto yy1268;
-yy1311:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1268;
- if (yych <= 0xBF) goto yy1310;
- goto yy1268;
-yy1312:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1310;
- goto yy1268;
-yy1313:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1268;
- if (yych <= 0xBF) goto yy1312;
- goto yy1268;
-yy1314:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1312;
- goto yy1268;
-yy1315:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x8F) goto yy1312;
- goto yy1268;
-yy1316:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x9F) goto yy1310;
- goto yy1268;
-yy1317:
- yych = *++p;
- if (yych == '>') goto yy1285;
- goto yy1268;
-yy1318:
- yych = *++p;
- if (yych == '>') goto yy1285;
- goto yy1268;
-yy1319:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 1) {
- goto yy1319;
- }
- if (yych <= 0xE0) {
- if (yych <= '>') {
- if (yych <= 0x00) goto yy1268;
- if (yych >= '>') goto yy1285;
- } else {
- if (yych <= 0x7F) goto yy1321;
- if (yych <= 0xC1) goto yy1268;
- if (yych <= 0xDF) goto yy1323;
- goto yy1324;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1329;
- goto yy1325;
- } else {
- if (yych <= 0xF0) goto yy1326;
- if (yych <= 0xF3) goto yy1327;
- if (yych <= 0xF4) goto yy1328;
- goto yy1268;
- }
- }
-yy1321:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 2) {
- goto yy1321;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy1268;
- if (yych <= '>') goto yy1285;
- goto yy1268;
- } else {
- if (yych <= 0xDF) goto yy1323;
- if (yych <= 0xE0) goto yy1324;
- goto yy1325;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1329;
- if (yych <= 0xEF) goto yy1325;
- goto yy1326;
- } else {
- if (yych <= 0xF3) goto yy1327;
- if (yych <= 0xF4) goto yy1328;
- goto yy1268;
- }
- }
-yy1323:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1321;
- goto yy1268;
-yy1324:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1268;
- if (yych <= 0xBF) goto yy1323;
- goto yy1268;
-yy1325:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1323;
- goto yy1268;
-yy1326:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1268;
- if (yych <= 0xBF) goto yy1325;
- goto yy1268;
-yy1327:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1325;
- goto yy1268;
-yy1328:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x8F) goto yy1325;
- goto yy1268;
-yy1329:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x9F) goto yy1323;
- goto yy1268;
-yy1330:
- yych = *++p;
- if (yych == 'D') goto yy1331;
- if (yych != 'd') goto yy1268;
-yy1331:
- yych = *++p;
- if (yych == 'A') goto yy1332;
- if (yych != 'a') goto yy1268;
-yy1332:
- yych = *++p;
- if (yych == 'T') goto yy1333;
- if (yych != 't') goto yy1268;
-yy1333:
- yych = *++p;
- if (yych == 'A') goto yy1334;
- if (yych != 'a') goto yy1268;
-yy1334:
- yych = *++p;
- if (yych != '[') goto yy1268;
-yy1335:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 4) {
- goto yy1335;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy1268;
- if (yych <= ']') goto yy1344;
- goto yy1268;
- } else {
- if (yych <= 0xDF) goto yy1337;
- if (yych <= 0xE0) goto yy1338;
- goto yy1339;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1343;
- if (yych <= 0xEF) goto yy1339;
- goto yy1340;
- } else {
- if (yych <= 0xF3) goto yy1341;
- if (yych <= 0xF4) goto yy1342;
- goto yy1268;
- }
- }
-yy1337:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1335;
- goto yy1268;
-yy1338:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1268;
- if (yych <= 0xBF) goto yy1337;
- goto yy1268;
-yy1339:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1337;
- goto yy1268;
-yy1340:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1268;
- if (yych <= 0xBF) goto yy1339;
- goto yy1268;
-yy1341:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1339;
- goto yy1268;
-yy1342:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x8F) goto yy1339;
- goto yy1268;
-yy1343:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x9F) goto yy1337;
- goto yy1268;
-yy1344:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 4) {
- goto yy1335;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy1268;
- if (yych >= '^') goto yy1268;
- } else {
- if (yych <= 0xDF) goto yy1346;
- if (yych <= 0xE0) goto yy1347;
- goto yy1348;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1352;
- if (yych <= 0xEF) goto yy1348;
- goto yy1349;
- } else {
- if (yych <= 0xF3) goto yy1350;
- if (yych <= 0xF4) goto yy1351;
- goto yy1268;
- }
- }
- ++p;
- yych = *p;
- if (yych <= 0xE0) {
- if (yych <= '>') {
- if (yych <= 0x00) goto yy1268;
- if (yych <= '=') goto yy1335;
- goto yy1285;
- } else {
- if (yych <= 0x7F) goto yy1335;
- if (yych <= 0xC1) goto yy1268;
- if (yych <= 0xDF) goto yy1353;
- goto yy1354;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1359;
- goto yy1355;
- } else {
- if (yych <= 0xF0) goto yy1356;
- if (yych <= 0xF3) goto yy1357;
- if (yych <= 0xF4) goto yy1358;
- goto yy1268;
- }
- }
-yy1346:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1335;
- goto yy1268;
-yy1347:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1268;
- if (yych <= 0xBF) goto yy1346;
- goto yy1268;
-yy1348:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1346;
- goto yy1268;
-yy1349:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1268;
- if (yych <= 0xBF) goto yy1348;
- goto yy1268;
-yy1350:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1348;
- goto yy1268;
-yy1351:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x8F) goto yy1348;
- goto yy1268;
-yy1352:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x9F) goto yy1346;
- goto yy1268;
-yy1353:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1335;
- goto yy1268;
-yy1354:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1268;
- if (yych <= 0xBF) goto yy1353;
- goto yy1268;
-yy1355:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1353;
- goto yy1268;
-yy1356:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1268;
- if (yych <= 0xBF) goto yy1355;
- goto yy1268;
-yy1357:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1355;
- goto yy1268;
-yy1358:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x8F) goto yy1355;
- goto yy1268;
-yy1359:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x9F) goto yy1353;
- goto yy1268;
-yy1360:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 8) {
- goto yy1360;
- }
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy1268;
- if (yych >= 0x0E) goto yy1268;
- } else {
- if (yych <= ' ') goto yy1362;
- if (yych == '>') goto yy1285;
- goto yy1268;
- }
-yy1362:
- ++p;
- yych = *p;
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy1268;
- if (yych <= '\r') goto yy1362;
- goto yy1268;
- } else {
- if (yych <= ' ') goto yy1362;
- if (yych == '>') goto yy1285;
- goto yy1268;
- }
-yy1364:
- ++p;
- yych = *p;
- if (yych <= '/') {
- if (yych <= ' ') {
- if (yych <= 0x08) goto yy1268;
- if (yych <= '\r') goto yy1366;
- if (yych <= 0x1F) goto yy1268;
- } else {
- if (yych == '-') goto yy1364;
- if (yych <= '.') goto yy1268;
- goto yy1368;
- }
- } else {
- if (yych <= '@') {
- if (yych <= '9') goto yy1364;
- if (yych == '>') goto yy1285;
- goto yy1268;
- } else {
- if (yych <= 'Z') goto yy1364;
- if (yych <= '`') goto yy1268;
- if (yych <= 'z') goto yy1364;
- goto yy1268;
- }
- }
-yy1366:
- ++p;
- yych = *p;
- if (yych <= ':') {
- if (yych <= ' ') {
- if (yych <= 0x08) goto yy1268;
- if (yych <= '\r') goto yy1366;
- if (yych <= 0x1F) goto yy1268;
- goto yy1366;
- } else {
- if (yych == '/') goto yy1368;
- if (yych <= '9') goto yy1268;
- goto yy1369;
- }
- } else {
- if (yych <= 'Z') {
- if (yych == '>') goto yy1285;
- if (yych <= '@') goto yy1268;
- goto yy1369;
- } else {
- if (yych <= '_') {
- if (yych <= '^') goto yy1268;
- goto yy1369;
- } else {
- if (yych <= '`') goto yy1268;
- if (yych <= 'z') goto yy1369;
- goto yy1268;
- }
- }
- }
-yy1368:
- yych = *++p;
- if (yych == '>') goto yy1285;
- goto yy1268;
-yy1369:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 16) {
- goto yy1369;
- }
- if (yych <= ',') {
- if (yych <= '\r') {
- if (yych <= 0x08) goto yy1268;
- } else {
- if (yych != ' ') goto yy1268;
- }
- } else {
- if (yych <= '<') {
- if (yych <= '/') goto yy1368;
- goto yy1268;
- } else {
- if (yych <= '=') goto yy1373;
- if (yych <= '>') goto yy1285;
- goto yy1268;
- }
- }
-yy1371:
- ++p;
- yych = *p;
- if (yych <= '<') {
- if (yych <= ' ') {
- if (yych <= 0x08) goto yy1268;
- if (yych <= '\r') goto yy1371;
- if (yych <= 0x1F) goto yy1268;
- goto yy1371;
- } else {
- if (yych <= '/') {
- if (yych <= '.') goto yy1268;
- goto yy1368;
- } else {
- if (yych == ':') goto yy1369;
- goto yy1268;
- }
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '=') goto yy1373;
- if (yych <= '>') goto yy1285;
- if (yych <= '@') goto yy1268;
- goto yy1369;
- } else {
- if (yych <= '_') {
- if (yych <= '^') goto yy1268;
- goto yy1369;
- } else {
- if (yych <= '`') goto yy1268;
- if (yych <= 'z') goto yy1369;
- goto yy1268;
- }
- }
- }
-yy1373:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 32) {
- goto yy1375;
- }
- if (yych <= 0xE0) {
- if (yych <= '"') {
- if (yych <= 0x00) goto yy1268;
- if (yych >= '!') goto yy1386;
- } else {
- if (yych <= '\'') goto yy1384;
- if (yych <= 0xC1) goto yy1268;
- if (yych <= 0xDF) goto yy1377;
- goto yy1378;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1383;
- goto yy1379;
- } else {
- if (yych <= 0xF0) goto yy1380;
- if (yych <= 0xF3) goto yy1381;
- if (yych <= 0xF4) goto yy1382;
- goto yy1268;
- }
- }
- ++p;
- yych = *p;
- if (yybm[0+yych] & 32) {
- goto yy1375;
- }
- if (yych <= 0xDF) {
- if (yych <= '\'') {
- if (yych <= 0x00) goto yy1268;
- if (yych <= ' ') goto yy1409;
- if (yych <= '"') goto yy1386;
- goto yy1384;
- } else {
- if (yych == '>') goto yy1285;
- if (yych <= 0xC1) goto yy1268;
- goto yy1377;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1378;
- if (yych == 0xED) goto yy1383;
- goto yy1379;
- } else {
- if (yych <= 0xF0) goto yy1380;
- if (yych <= 0xF3) goto yy1381;
- if (yych <= 0xF4) goto yy1382;
- goto yy1268;
- }
- }
-yy1375:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 32) {
- goto yy1375;
- }
- if (yych <= 0xE0) {
- if (yych <= '=') {
- if (yych <= 0x00) goto yy1268;
- if (yych <= ' ') goto yy1403;
- goto yy1268;
- } else {
- if (yych <= '>') goto yy1285;
- if (yych <= 0xC1) goto yy1268;
- if (yych >= 0xE0) goto yy1378;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1383;
- goto yy1379;
- } else {
- if (yych <= 0xF0) goto yy1380;
- if (yych <= 0xF3) goto yy1381;
- if (yych <= 0xF4) goto yy1382;
- goto yy1268;
- }
- }
-yy1377:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1375;
- goto yy1268;
-yy1378:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1268;
- if (yych <= 0xBF) goto yy1377;
- goto yy1268;
-yy1379:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1377;
- goto yy1268;
-yy1380:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1268;
- if (yych <= 0xBF) goto yy1379;
- goto yy1268;
-yy1381:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1379;
- goto yy1268;
-yy1382:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x8F) goto yy1379;
- goto yy1268;
-yy1383:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x9F) goto yy1377;
- goto yy1268;
-yy1384:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1384;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy1268;
- if (yych <= '\'') goto yy1395;
- goto yy1268;
- } else {
- if (yych <= 0xDF) goto yy1396;
- if (yych <= 0xE0) goto yy1397;
- goto yy1398;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1402;
- if (yych <= 0xEF) goto yy1398;
- goto yy1399;
- } else {
- if (yych <= 0xF3) goto yy1400;
- if (yych <= 0xF4) goto yy1401;
- goto yy1268;
- }
- }
-yy1386:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy1386;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy1268;
- if (yych <= '"') goto yy1395;
- goto yy1268;
- } else {
- if (yych <= 0xDF) goto yy1388;
- if (yych <= 0xE0) goto yy1389;
- goto yy1390;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1394;
- if (yych <= 0xEF) goto yy1390;
- goto yy1391;
- } else {
- if (yych <= 0xF3) goto yy1392;
- if (yych <= 0xF4) goto yy1393;
- goto yy1268;
- }
- }
-yy1388:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1386;
- goto yy1268;
-yy1389:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1268;
- if (yych <= 0xBF) goto yy1388;
- goto yy1268;
-yy1390:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1388;
- goto yy1268;
-yy1391:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1268;
- if (yych <= 0xBF) goto yy1390;
- goto yy1268;
-yy1392:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1390;
- goto yy1268;
-yy1393:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x8F) goto yy1390;
- goto yy1268;
-yy1394:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x9F) goto yy1388;
- goto yy1268;
-yy1395:
- ++p;
- yych = *p;
- if (yych <= ' ') {
- if (yych <= 0x08) goto yy1268;
- if (yych <= '\r') goto yy1366;
- if (yych <= 0x1F) goto yy1268;
- goto yy1366;
- } else {
- if (yych <= '/') {
- if (yych <= '.') goto yy1268;
- goto yy1368;
- } else {
- if (yych == '>') goto yy1285;
- goto yy1268;
- }
- }
-yy1396:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1384;
- goto yy1268;
-yy1397:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1268;
- if (yych <= 0xBF) goto yy1396;
- goto yy1268;
-yy1398:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1396;
- goto yy1268;
-yy1399:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1268;
- if (yych <= 0xBF) goto yy1398;
- goto yy1268;
-yy1400:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0xBF) goto yy1398;
- goto yy1268;
-yy1401:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x8F) goto yy1398;
- goto yy1268;
-yy1402:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1268;
- if (yych <= 0x9F) goto yy1396;
- goto yy1268;
-yy1403:
- ++p;
- yych = *p;
- if (yych <= '@') {
- if (yych <= '"') {
- if (yych <= '\r') {
- if (yych <= 0x00) goto yy1268;
- if (yych <= 0x08) goto yy1375;
- goto yy1403;
- } else {
- if (yych == ' ') goto yy1403;
- if (yych <= '!') goto yy1375;
- goto yy1268;
- }
- } else {
- if (yych <= ':') {
- if (yych == '\'') goto yy1268;
- if (yych <= '9') goto yy1375;
- } else {
- if (yych <= ';') goto yy1375;
- if (yych <= '=') goto yy1268;
- if (yych <= '>') goto yy1285;
- goto yy1375;
- }
- }
- } else {
- if (yych <= 0xDF) {
- if (yych <= '`') {
- if (yych <= 'Z') goto yy1405;
- if (yych <= '^') goto yy1375;
- if (yych >= '`') goto yy1268;
- } else {
- if (yych <= 'z') goto yy1405;
- if (yych <= 0x7F) goto yy1375;
- if (yych <= 0xC1) goto yy1268;
- goto yy1377;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1378;
- if (yych == 0xED) goto yy1383;
- goto yy1379;
- } else {
- if (yych <= 0xF0) goto yy1380;
- if (yych <= 0xF3) goto yy1381;
- if (yych <= 0xF4) goto yy1382;
- goto yy1268;
- }
- }
- }
-yy1405:
- ++p;
- yych = *p;
- if (yych <= '>') {
- if (yych <= '&') {
- if (yych <= 0x1F) {
- if (yych <= 0x00) goto yy1268;
- if (yych <= 0x08) goto yy1375;
- if (yych >= 0x0E) goto yy1375;
- } else {
- if (yych <= ' ') goto yy1407;
- if (yych == '"') goto yy1268;
- goto yy1375;
- }
- } else {
- if (yych <= '/') {
- if (yych <= '\'') goto yy1268;
- if (yych <= ',') goto yy1375;
- if (yych <= '.') goto yy1405;
- goto yy1375;
- } else {
- if (yych <= ';') {
- if (yych <= ':') goto yy1405;
- goto yy1375;
- } else {
- if (yych <= '<') goto yy1268;
- if (yych <= '=') goto yy1373;
- goto yy1285;
- }
- }
- }
- } else {
- if (yych <= 0xC1) {
- if (yych <= '_') {
- if (yych <= '@') goto yy1375;
- if (yych <= 'Z') goto yy1405;
- if (yych <= '^') goto yy1375;
- goto yy1405;
- } else {
- if (yych <= '`') goto yy1268;
- if (yych <= 'z') goto yy1405;
- if (yych <= 0x7F) goto yy1375;
- goto yy1268;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy1377;
- if (yych <= 0xE0) goto yy1378;
- if (yych <= 0xEC) goto yy1379;
- goto yy1383;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy1379;
- goto yy1380;
- } else {
- if (yych <= 0xF3) goto yy1381;
- if (yych <= 0xF4) goto yy1382;
- goto yy1268;
- }
- }
- }
- }
-yy1407:
- ++p;
- yych = *p;
- if (yych <= '@') {
- if (yych <= '&') {
- if (yych <= 0x1F) {
- if (yych <= 0x00) goto yy1268;
- if (yych <= 0x08) goto yy1375;
- if (yych <= '\r') goto yy1407;
- goto yy1375;
- } else {
- if (yych <= ' ') goto yy1407;
- if (yych == '"') goto yy1268;
- goto yy1375;
- }
- } else {
- if (yych <= ';') {
- if (yych <= '\'') goto yy1268;
- if (yych == ':') goto yy1405;
- goto yy1375;
- } else {
- if (yych <= '<') goto yy1268;
- if (yych <= '=') goto yy1373;
- if (yych <= '>') goto yy1285;
- goto yy1375;
- }
- }
- } else {
- if (yych <= 0xDF) {
- if (yych <= '`') {
- if (yych <= 'Z') goto yy1405;
- if (yych <= '^') goto yy1375;
- if (yych <= '_') goto yy1405;
- goto yy1268;
- } else {
- if (yych <= 'z') goto yy1405;
- if (yych <= 0x7F) goto yy1375;
- if (yych <= 0xC1) goto yy1268;
- goto yy1377;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1378;
- if (yych == 0xED) goto yy1383;
- goto yy1379;
- } else {
- if (yych <= 0xF0) goto yy1380;
- if (yych <= 0xF3) goto yy1381;
- if (yych <= 0xF4) goto yy1382;
- goto yy1268;
- }
- }
- }
-yy1409:
- ++p;
- yych = *p;
- if (yych <= '@') {
- if (yych <= '"') {
- if (yych <= '\r') {
- if (yych <= 0x00) goto yy1268;
- if (yych <= 0x08) goto yy1375;
- goto yy1409;
- } else {
- if (yych == ' ') goto yy1409;
- if (yych <= '!') goto yy1375;
- goto yy1386;
- }
- } else {
- if (yych <= ':') {
- if (yych == '\'') goto yy1384;
- if (yych <= '9') goto yy1375;
- goto yy1405;
- } else {
- if (yych <= ';') goto yy1375;
- if (yych <= '=') goto yy1268;
- if (yych <= '>') goto yy1285;
- goto yy1375;
- }
- }
- } else {
- if (yych <= 0xDF) {
- if (yych <= '`') {
- if (yych <= 'Z') goto yy1405;
- if (yych <= '^') goto yy1375;
- if (yych <= '_') goto yy1405;
- goto yy1268;
- } else {
- if (yych <= 'z') goto yy1405;
- if (yych <= 0x7F) goto yy1375;
- if (yych <= 0xC1) goto yy1268;
- goto yy1377;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1378;
- if (yych == 0xED) goto yy1383;
- goto yy1379;
- } else {
- if (yych <= 0xF0) goto yy1380;
- if (yych <= 0xF3) goto yy1381;
- if (yych <= 0xF4) goto yy1382;
- goto yy1268;
- }
- }
- }
-}
-
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ /* table 1 .. 8: 0 */
+ 0, 230, 230, 230, 230, 230, 230, 230, 230, 199, 199, 199, 199, 199,
+ 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
+ 230, 230, 230, 230, 199, 230, 70, 230, 230, 230, 230, 134, 230, 230,
+ 230, 230, 230, 254, 246, 230, 254, 254, 254, 254, 254, 254, 254, 254,
+ 254, 254, 246, 230, 198, 198, 196, 230, 230, 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, 230, 230, 226, 230, 246, 198, 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, 230, 230, 230,
+ 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 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, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 32, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 128, 160, 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, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *(marker = p);
+ if (yych <= '`') {
+ if (yych <= '.') {
+ if (yych <= '\n') {
+ if (yych <= '\t')
+ goto yy1266;
+ } else {
+ if (yych == '!')
+ goto yy1264;
+ goto yy1266;
+ }
+ } else {
+ if (yych <= '?') {
+ if (yych <= '/')
+ goto yy1263;
+ if (yych <= '>')
+ goto yy1266;
+ goto yy1265;
+ } else {
+ if (yych <= '@')
+ goto yy1266;
+ if (yych <= 'Z')
+ goto yy1262;
+ goto yy1266;
+ }
+ }
+ } else {
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 'z')
+ goto yy1262;
+ if (yych <= 0x7F)
+ goto yy1266;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1267;
+ if (yych <= 0xE0)
+ goto yy1269;
+ goto yy1270;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1274;
+ if (yych <= 0xEF)
+ goto yy1270;
+ goto yy1271;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1272;
+ if (yych <= 0xF4)
+ goto yy1273;
+ }
+ }
+ }
+ yy1261 : { return 0; }
+ yy1262:
+ yych = *(marker = ++p);
+ if (yych <= '/') {
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy1261;
+ if (yych <= '\r')
+ goto yy1366;
+ if (yych <= 0x1F)
+ goto yy1261;
+ goto yy1366;
+ } else {
+ if (yych == '-')
+ goto yy1364;
+ if (yych <= '.')
+ goto yy1261;
+ goto yy1368;
+ }
+ } else {
+ if (yych <= '@') {
+ if (yych <= '9')
+ goto yy1364;
+ if (yych == '>')
+ goto yy1285;
+ goto yy1261;
+ } else {
+ if (yych <= 'Z')
+ goto yy1364;
+ if (yych <= '`')
+ goto yy1261;
+ if (yych <= 'z')
+ goto yy1364;
+ goto yy1261;
+ }
+ }
+ yy1263:
+ yych = *(marker = ++p);
+ if (yych <= '@')
+ goto yy1261;
+ if (yych <= 'Z')
+ goto yy1360;
+ if (yych <= '`')
+ goto yy1261;
+ if (yych <= 'z')
+ goto yy1360;
+ goto yy1261;
+ yy1264:
+ yych = *(marker = ++p);
+ if (yybm[256 + yych] & 64) {
+ goto yy1295;
+ }
+ if (yych == '-')
+ goto yy1297;
+ if (yych <= '@')
+ goto yy1261;
+ if (yych <= '[')
+ goto yy1294;
+ goto yy1261;
+ yy1265:
+ yych = *(marker = ++p);
+ if (yych <= 0x00)
+ goto yy1261;
+ if (yych <= 0x7F)
+ goto yy1276;
+ if (yych <= 0xC1)
+ goto yy1261;
+ if (yych <= 0xF4)
+ goto yy1276;
+ goto yy1261;
+ yy1266:
+ yych = *++p;
+ goto yy1261;
+ yy1267:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1266;
+ yy1268:
+ p = marker;
+ goto yy1261;
+ yy1269:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1267;
+ goto yy1268;
+ yy1270:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1267;
+ goto yy1268;
+ yy1271:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1270;
+ goto yy1268;
+ yy1272:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1270;
+ goto yy1268;
+ yy1273:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x8F)
+ goto yy1270;
+ goto yy1268;
+ yy1274:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x9F)
+ goto yy1267;
+ goto yy1268;
+ yy1275:
+ ++p;
+ yych = *p;
+ yy1276:
+ if (yybm[256 + yych] & 32) {
+ goto yy1275;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych <= '?')
+ goto yy1284;
+ goto yy1268;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1277;
+ if (yych <= 0xE0)
+ goto yy1278;
+ goto yy1279;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1283;
+ if (yych <= 0xEF)
+ goto yy1279;
+ goto yy1280;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1281;
+ if (yych <= 0xF4)
+ goto yy1282;
+ goto yy1268;
+ }
+ }
+ yy1277:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1275;
+ goto yy1268;
+ yy1278:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1277;
+ goto yy1268;
+ yy1279:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1277;
+ goto yy1268;
+ yy1280:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1279;
+ goto yy1268;
+ yy1281:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1279;
+ goto yy1268;
+ yy1282:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x8F)
+ goto yy1279;
+ goto yy1268;
+ yy1283:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x9F)
+ goto yy1277;
+ goto yy1268;
+ yy1284:
+ ++p;
+ yych = *p;
+ if (yych <= 0xE0) {
+ if (yych <= '>') {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych <= '=')
+ goto yy1275;
+ } else {
+ if (yych <= 0x7F)
+ goto yy1275;
+ if (yych <= 0xC1)
+ goto yy1268;
+ if (yych <= 0xDF)
+ goto yy1287;
+ goto yy1288;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1293;
+ goto yy1289;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1290;
+ if (yych <= 0xF3)
+ goto yy1291;
+ if (yych <= 0xF4)
+ goto yy1292;
+ goto yy1268;
+ }
+ }
+ yy1285:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy1287:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1275;
+ goto yy1268;
+ yy1288:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1287;
+ goto yy1268;
+ yy1289:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1287;
+ goto yy1268;
+ yy1290:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1289;
+ goto yy1268;
+ yy1291:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1289;
+ goto yy1268;
+ yy1292:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x8F)
+ goto yy1289;
+ goto yy1268;
+ yy1293:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x9F)
+ goto yy1287;
+ goto yy1268;
+ yy1294:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy1330;
+ if (yych == 'c')
+ goto yy1330;
+ goto yy1268;
+ yy1295:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 1) {
+ goto yy1319;
+ }
+ if (yych <= '@')
+ goto yy1268;
+ if (yych <= 'Z')
+ goto yy1295;
+ goto yy1268;
+ yy1297:
+ yych = *++p;
+ if (yych != '-')
+ goto yy1268;
+ yych = *++p;
+ if (yych <= 0xE0) {
+ if (yych <= '=') {
+ if (yych != '-')
+ goto yy1301;
+ } else {
+ if (yych <= '>')
+ goto yy1268;
+ if (yych <= 0xC1)
+ goto yy1301;
+ if (yych <= 0xDF)
+ goto yy1302;
+ goto yy1303;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1308;
+ goto yy1304;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1305;
+ if (yych <= 0xF3)
+ goto yy1306;
+ if (yych <= 0xF4)
+ goto yy1307;
+ goto yy1301;
+ }
+ }
+ yych = *++p;
+ if (yych <= 0xE0) {
+ if (yych <= '=') {
+ if (yych == '-')
+ goto yy1318;
+ goto yy1301;
+ } else {
+ if (yych <= '>')
+ goto yy1268;
+ if (yych <= 0xC1)
+ goto yy1301;
+ if (yych <= 0xDF)
+ goto yy1302;
+ goto yy1303;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1308;
+ goto yy1304;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1305;
+ if (yych <= 0xF3)
+ goto yy1306;
+ if (yych <= 0xF4)
+ goto yy1307;
+ goto yy1301;
+ }
+ }
+ yy1300:
+ ++p;
+ yych = *p;
+ yy1301:
+ if (yybm[256 + yych] & 128) {
+ goto yy1300;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych <= '-')
+ goto yy1309;
+ goto yy1268;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1310;
+ if (yych <= 0xE0)
+ goto yy1311;
+ goto yy1312;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1316;
+ if (yych <= 0xEF)
+ goto yy1312;
+ goto yy1313;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1314;
+ if (yych <= 0xF4)
+ goto yy1315;
+ goto yy1268;
+ }
+ }
+ yy1302:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1300;
+ goto yy1268;
+ yy1303:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1302;
+ goto yy1268;
+ yy1304:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1302;
+ goto yy1268;
+ yy1305:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1304;
+ goto yy1268;
+ yy1306:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1304;
+ goto yy1268;
+ yy1307:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x8F)
+ goto yy1304;
+ goto yy1268;
+ yy1308:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x9F)
+ goto yy1302;
+ goto yy1268;
+ yy1309:
+ ++p;
+ yych = *p;
+ if (yybm[256 + yych] & 128) {
+ goto yy1300;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych <= '-')
+ goto yy1317;
+ goto yy1268;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1310;
+ if (yych <= 0xE0)
+ goto yy1311;
+ goto yy1312;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1316;
+ if (yych <= 0xEF)
+ goto yy1312;
+ goto yy1313;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1314;
+ if (yych <= 0xF4)
+ goto yy1315;
+ goto yy1268;
+ }
+ }
+ yy1310:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1300;
+ goto yy1268;
+ yy1311:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1310;
+ goto yy1268;
+ yy1312:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1310;
+ goto yy1268;
+ yy1313:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1312;
+ goto yy1268;
+ yy1314:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1312;
+ goto yy1268;
+ yy1315:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x8F)
+ goto yy1312;
+ goto yy1268;
+ yy1316:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x9F)
+ goto yy1310;
+ goto yy1268;
+ yy1317:
+ yych = *++p;
+ if (yych == '>')
+ goto yy1285;
+ goto yy1268;
+ yy1318:
+ yych = *++p;
+ if (yych == '>')
+ goto yy1285;
+ goto yy1268;
+ yy1319:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 1) {
+ goto yy1319;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '>') {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych >= '>')
+ goto yy1285;
+ } else {
+ if (yych <= 0x7F)
+ goto yy1321;
+ if (yych <= 0xC1)
+ goto yy1268;
+ if (yych <= 0xDF)
+ goto yy1323;
+ goto yy1324;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1329;
+ goto yy1325;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1326;
+ if (yych <= 0xF3)
+ goto yy1327;
+ if (yych <= 0xF4)
+ goto yy1328;
+ goto yy1268;
+ }
+ }
+ yy1321:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 2) {
+ goto yy1321;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych <= '>')
+ goto yy1285;
+ goto yy1268;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1323;
+ if (yych <= 0xE0)
+ goto yy1324;
+ goto yy1325;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1329;
+ if (yych <= 0xEF)
+ goto yy1325;
+ goto yy1326;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1327;
+ if (yych <= 0xF4)
+ goto yy1328;
+ goto yy1268;
+ }
+ }
+ yy1323:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1321;
+ goto yy1268;
+ yy1324:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1323;
+ goto yy1268;
+ yy1325:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1323;
+ goto yy1268;
+ yy1326:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1325;
+ goto yy1268;
+ yy1327:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1325;
+ goto yy1268;
+ yy1328:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x8F)
+ goto yy1325;
+ goto yy1268;
+ yy1329:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x9F)
+ goto yy1323;
+ goto yy1268;
+ yy1330:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy1331;
+ if (yych != 'd')
+ goto yy1268;
+ yy1331:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy1332;
+ if (yych != 'a')
+ goto yy1268;
+ yy1332:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1333;
+ if (yych != 't')
+ goto yy1268;
+ yy1333:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy1334;
+ if (yych != 'a')
+ goto yy1268;
+ yy1334:
+ yych = *++p;
+ if (yych != '[')
+ goto yy1268;
+ yy1335:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 4) {
+ goto yy1335;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych <= ']')
+ goto yy1344;
+ goto yy1268;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1337;
+ if (yych <= 0xE0)
+ goto yy1338;
+ goto yy1339;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1343;
+ if (yych <= 0xEF)
+ goto yy1339;
+ goto yy1340;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1341;
+ if (yych <= 0xF4)
+ goto yy1342;
+ goto yy1268;
+ }
+ }
+ yy1337:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1335;
+ goto yy1268;
+ yy1338:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1337;
+ goto yy1268;
+ yy1339:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1337;
+ goto yy1268;
+ yy1340:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1339;
+ goto yy1268;
+ yy1341:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1339;
+ goto yy1268;
+ yy1342:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x8F)
+ goto yy1339;
+ goto yy1268;
+ yy1343:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x9F)
+ goto yy1337;
+ goto yy1268;
+ yy1344:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 4) {
+ goto yy1335;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych >= '^')
+ goto yy1268;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1346;
+ if (yych <= 0xE0)
+ goto yy1347;
+ goto yy1348;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1352;
+ if (yych <= 0xEF)
+ goto yy1348;
+ goto yy1349;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1350;
+ if (yych <= 0xF4)
+ goto yy1351;
+ goto yy1268;
+ }
+ }
+ ++p;
+ yych = *p;
+ if (yych <= 0xE0) {
+ if (yych <= '>') {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych <= '=')
+ goto yy1335;
+ goto yy1285;
+ } else {
+ if (yych <= 0x7F)
+ goto yy1335;
+ if (yych <= 0xC1)
+ goto yy1268;
+ if (yych <= 0xDF)
+ goto yy1353;
+ goto yy1354;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1359;
+ goto yy1355;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1356;
+ if (yych <= 0xF3)
+ goto yy1357;
+ if (yych <= 0xF4)
+ goto yy1358;
+ goto yy1268;
+ }
+ }
+ yy1346:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1335;
+ goto yy1268;
+ yy1347:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1346;
+ goto yy1268;
+ yy1348:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1346;
+ goto yy1268;
+ yy1349:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1348;
+ goto yy1268;
+ yy1350:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1348;
+ goto yy1268;
+ yy1351:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x8F)
+ goto yy1348;
+ goto yy1268;
+ yy1352:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x9F)
+ goto yy1346;
+ goto yy1268;
+ yy1353:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1335;
+ goto yy1268;
+ yy1354:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1353;
+ goto yy1268;
+ yy1355:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1353;
+ goto yy1268;
+ yy1356:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1355;
+ goto yy1268;
+ yy1357:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1355;
+ goto yy1268;
+ yy1358:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x8F)
+ goto yy1355;
+ goto yy1268;
+ yy1359:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x9F)
+ goto yy1353;
+ goto yy1268;
+ yy1360:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 8) {
+ goto yy1360;
+ }
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy1268;
+ if (yych >= 0x0E)
+ goto yy1268;
+ } else {
+ if (yych <= ' ')
+ goto yy1362;
+ if (yych == '>')
+ goto yy1285;
+ goto yy1268;
+ }
+ yy1362:
+ ++p;
+ yych = *p;
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy1268;
+ if (yych <= '\r')
+ goto yy1362;
+ goto yy1268;
+ } else {
+ if (yych <= ' ')
+ goto yy1362;
+ if (yych == '>')
+ goto yy1285;
+ goto yy1268;
+ }
+ yy1364:
+ ++p;
+ yych = *p;
+ if (yych <= '/') {
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy1268;
+ if (yych <= '\r')
+ goto yy1366;
+ if (yych <= 0x1F)
+ goto yy1268;
+ } else {
+ if (yych == '-')
+ goto yy1364;
+ if (yych <= '.')
+ goto yy1268;
+ goto yy1368;
+ }
+ } else {
+ if (yych <= '@') {
+ if (yych <= '9')
+ goto yy1364;
+ if (yych == '>')
+ goto yy1285;
+ goto yy1268;
+ } else {
+ if (yych <= 'Z')
+ goto yy1364;
+ if (yych <= '`')
+ goto yy1268;
+ if (yych <= 'z')
+ goto yy1364;
+ goto yy1268;
+ }
+ }
+ yy1366:
+ ++p;
+ yych = *p;
+ if (yych <= ':') {
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy1268;
+ if (yych <= '\r')
+ goto yy1366;
+ if (yych <= 0x1F)
+ goto yy1268;
+ goto yy1366;
+ } else {
+ if (yych == '/')
+ goto yy1368;
+ if (yych <= '9')
+ goto yy1268;
+ goto yy1369;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych == '>')
+ goto yy1285;
+ if (yych <= '@')
+ goto yy1268;
+ goto yy1369;
+ } else {
+ if (yych <= '_') {
+ if (yych <= '^')
+ goto yy1268;
+ goto yy1369;
+ } else {
+ if (yych <= '`')
+ goto yy1268;
+ if (yych <= 'z')
+ goto yy1369;
+ goto yy1268;
+ }
+ }
+ }
+ yy1368:
+ yych = *++p;
+ if (yych == '>')
+ goto yy1285;
+ goto yy1268;
+ yy1369:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 16) {
+ goto yy1369;
+ }
+ if (yych <= ',') {
+ if (yych <= '\r') {
+ if (yych <= 0x08)
+ goto yy1268;
+ } else {
+ if (yych != ' ')
+ goto yy1268;
+ }
+ } else {
+ if (yych <= '<') {
+ if (yych <= '/')
+ goto yy1368;
+ goto yy1268;
+ } else {
+ if (yych <= '=')
+ goto yy1373;
+ if (yych <= '>')
+ goto yy1285;
+ goto yy1268;
+ }
+ }
+ yy1371:
+ ++p;
+ yych = *p;
+ if (yych <= '<') {
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy1268;
+ if (yych <= '\r')
+ goto yy1371;
+ if (yych <= 0x1F)
+ goto yy1268;
+ goto yy1371;
+ } else {
+ if (yych <= '/') {
+ if (yych <= '.')
+ goto yy1268;
+ goto yy1368;
+ } else {
+ if (yych == ':')
+ goto yy1369;
+ goto yy1268;
+ }
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '=')
+ goto yy1373;
+ if (yych <= '>')
+ goto yy1285;
+ if (yych <= '@')
+ goto yy1268;
+ goto yy1369;
+ } else {
+ if (yych <= '_') {
+ if (yych <= '^')
+ goto yy1268;
+ goto yy1369;
+ } else {
+ if (yych <= '`')
+ goto yy1268;
+ if (yych <= 'z')
+ goto yy1369;
+ goto yy1268;
+ }
+ }
+ }
+ yy1373:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 32) {
+ goto yy1375;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '"') {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych >= '!')
+ goto yy1386;
+ } else {
+ if (yych <= '\'')
+ goto yy1384;
+ if (yych <= 0xC1)
+ goto yy1268;
+ if (yych <= 0xDF)
+ goto yy1377;
+ goto yy1378;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1383;
+ goto yy1379;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1380;
+ if (yych <= 0xF3)
+ goto yy1381;
+ if (yych <= 0xF4)
+ goto yy1382;
+ goto yy1268;
+ }
+ }
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 32) {
+ goto yy1375;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '\'') {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych <= ' ')
+ goto yy1409;
+ if (yych <= '"')
+ goto yy1386;
+ goto yy1384;
+ } else {
+ if (yych == '>')
+ goto yy1285;
+ if (yych <= 0xC1)
+ goto yy1268;
+ goto yy1377;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1378;
+ if (yych == 0xED)
+ goto yy1383;
+ goto yy1379;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1380;
+ if (yych <= 0xF3)
+ goto yy1381;
+ if (yych <= 0xF4)
+ goto yy1382;
+ goto yy1268;
+ }
+ }
+ yy1375:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 32) {
+ goto yy1375;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '=') {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych <= ' ')
+ goto yy1403;
+ goto yy1268;
+ } else {
+ if (yych <= '>')
+ goto yy1285;
+ if (yych <= 0xC1)
+ goto yy1268;
+ if (yych >= 0xE0)
+ goto yy1378;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1383;
+ goto yy1379;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1380;
+ if (yych <= 0xF3)
+ goto yy1381;
+ if (yych <= 0xF4)
+ goto yy1382;
+ goto yy1268;
+ }
+ }
+ yy1377:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1375;
+ goto yy1268;
+ yy1378:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1377;
+ goto yy1268;
+ yy1379:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1377;
+ goto yy1268;
+ yy1380:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1379;
+ goto yy1268;
+ yy1381:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1379;
+ goto yy1268;
+ yy1382:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x8F)
+ goto yy1379;
+ goto yy1268;
+ yy1383:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x9F)
+ goto yy1377;
+ goto yy1268;
+ yy1384:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1384;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych <= '\'')
+ goto yy1395;
+ goto yy1268;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1396;
+ if (yych <= 0xE0)
+ goto yy1397;
+ goto yy1398;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1402;
+ if (yych <= 0xEF)
+ goto yy1398;
+ goto yy1399;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1400;
+ if (yych <= 0xF4)
+ goto yy1401;
+ goto yy1268;
+ }
+ }
+ yy1386:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy1386;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych <= '"')
+ goto yy1395;
+ goto yy1268;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1388;
+ if (yych <= 0xE0)
+ goto yy1389;
+ goto yy1390;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1394;
+ if (yych <= 0xEF)
+ goto yy1390;
+ goto yy1391;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1392;
+ if (yych <= 0xF4)
+ goto yy1393;
+ goto yy1268;
+ }
+ }
+ yy1388:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1386;
+ goto yy1268;
+ yy1389:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1388;
+ goto yy1268;
+ yy1390:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1388;
+ goto yy1268;
+ yy1391:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1390;
+ goto yy1268;
+ yy1392:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1390;
+ goto yy1268;
+ yy1393:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x8F)
+ goto yy1390;
+ goto yy1268;
+ yy1394:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x9F)
+ goto yy1388;
+ goto yy1268;
+ yy1395:
+ ++p;
+ yych = *p;
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy1268;
+ if (yych <= '\r')
+ goto yy1366;
+ if (yych <= 0x1F)
+ goto yy1268;
+ goto yy1366;
+ } else {
+ if (yych <= '/') {
+ if (yych <= '.')
+ goto yy1268;
+ goto yy1368;
+ } else {
+ if (yych == '>')
+ goto yy1285;
+ goto yy1268;
+ }
+ }
+ yy1396:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1384;
+ goto yy1268;
+ yy1397:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1396;
+ goto yy1268;
+ yy1398:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1396;
+ goto yy1268;
+ yy1399:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1398;
+ goto yy1268;
+ yy1400:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0xBF)
+ goto yy1398;
+ goto yy1268;
+ yy1401:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x8F)
+ goto yy1398;
+ goto yy1268;
+ yy1402:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1268;
+ if (yych <= 0x9F)
+ goto yy1396;
+ goto yy1268;
+ yy1403:
+ ++p;
+ yych = *p;
+ if (yych <= '@') {
+ if (yych <= '"') {
+ if (yych <= '\r') {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych <= 0x08)
+ goto yy1375;
+ goto yy1403;
+ } else {
+ if (yych == ' ')
+ goto yy1403;
+ if (yych <= '!')
+ goto yy1375;
+ goto yy1268;
+ }
+ } else {
+ if (yych <= ':') {
+ if (yych == '\'')
+ goto yy1268;
+ if (yych <= '9')
+ goto yy1375;
+ } else {
+ if (yych <= ';')
+ goto yy1375;
+ if (yych <= '=')
+ goto yy1268;
+ if (yych <= '>')
+ goto yy1285;
+ goto yy1375;
+ }
+ }
+ } else {
+ if (yych <= 0xDF) {
+ if (yych <= '`') {
+ if (yych <= 'Z')
+ goto yy1405;
+ if (yych <= '^')
+ goto yy1375;
+ if (yych >= '`')
+ goto yy1268;
+ } else {
+ if (yych <= 'z')
+ goto yy1405;
+ if (yych <= 0x7F)
+ goto yy1375;
+ if (yych <= 0xC1)
+ goto yy1268;
+ goto yy1377;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1378;
+ if (yych == 0xED)
+ goto yy1383;
+ goto yy1379;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1380;
+ if (yych <= 0xF3)
+ goto yy1381;
+ if (yych <= 0xF4)
+ goto yy1382;
+ goto yy1268;
+ }
+ }
+ }
+ yy1405:
+ ++p;
+ yych = *p;
+ if (yych <= '>') {
+ if (yych <= '&') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych <= 0x08)
+ goto yy1375;
+ if (yych >= 0x0E)
+ goto yy1375;
+ } else {
+ if (yych <= ' ')
+ goto yy1407;
+ if (yych == '"')
+ goto yy1268;
+ goto yy1375;
+ }
+ } else {
+ if (yych <= '/') {
+ if (yych <= '\'')
+ goto yy1268;
+ if (yych <= ',')
+ goto yy1375;
+ if (yych <= '.')
+ goto yy1405;
+ goto yy1375;
+ } else {
+ if (yych <= ';') {
+ if (yych <= ':')
+ goto yy1405;
+ goto yy1375;
+ } else {
+ if (yych <= '<')
+ goto yy1268;
+ if (yych <= '=')
+ goto yy1373;
+ goto yy1285;
+ }
+ }
+ }
+ } else {
+ if (yych <= 0xC1) {
+ if (yych <= '_') {
+ if (yych <= '@')
+ goto yy1375;
+ if (yych <= 'Z')
+ goto yy1405;
+ if (yych <= '^')
+ goto yy1375;
+ goto yy1405;
+ } else {
+ if (yych <= '`')
+ goto yy1268;
+ if (yych <= 'z')
+ goto yy1405;
+ if (yych <= 0x7F)
+ goto yy1375;
+ goto yy1268;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy1377;
+ if (yych <= 0xE0)
+ goto yy1378;
+ if (yych <= 0xEC)
+ goto yy1379;
+ goto yy1383;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy1379;
+ goto yy1380;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1381;
+ if (yych <= 0xF4)
+ goto yy1382;
+ goto yy1268;
+ }
+ }
+ }
+ }
+ yy1407:
+ ++p;
+ yych = *p;
+ if (yych <= '@') {
+ if (yych <= '&') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych <= 0x08)
+ goto yy1375;
+ if (yych <= '\r')
+ goto yy1407;
+ goto yy1375;
+ } else {
+ if (yych <= ' ')
+ goto yy1407;
+ if (yych == '"')
+ goto yy1268;
+ goto yy1375;
+ }
+ } else {
+ if (yych <= ';') {
+ if (yych <= '\'')
+ goto yy1268;
+ if (yych == ':')
+ goto yy1405;
+ goto yy1375;
+ } else {
+ if (yych <= '<')
+ goto yy1268;
+ if (yych <= '=')
+ goto yy1373;
+ if (yych <= '>')
+ goto yy1285;
+ goto yy1375;
+ }
+ }
+ } else {
+ if (yych <= 0xDF) {
+ if (yych <= '`') {
+ if (yych <= 'Z')
+ goto yy1405;
+ if (yych <= '^')
+ goto yy1375;
+ if (yych <= '_')
+ goto yy1405;
+ goto yy1268;
+ } else {
+ if (yych <= 'z')
+ goto yy1405;
+ if (yych <= 0x7F)
+ goto yy1375;
+ if (yych <= 0xC1)
+ goto yy1268;
+ goto yy1377;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1378;
+ if (yych == 0xED)
+ goto yy1383;
+ goto yy1379;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1380;
+ if (yych <= 0xF3)
+ goto yy1381;
+ if (yych <= 0xF4)
+ goto yy1382;
+ goto yy1268;
+ }
+ }
+ }
+ yy1409:
+ ++p;
+ yych = *p;
+ if (yych <= '@') {
+ if (yych <= '"') {
+ if (yych <= '\r') {
+ if (yych <= 0x00)
+ goto yy1268;
+ if (yych <= 0x08)
+ goto yy1375;
+ goto yy1409;
+ } else {
+ if (yych == ' ')
+ goto yy1409;
+ if (yych <= '!')
+ goto yy1375;
+ goto yy1386;
+ }
+ } else {
+ if (yych <= ':') {
+ if (yych == '\'')
+ goto yy1384;
+ if (yych <= '9')
+ goto yy1375;
+ goto yy1405;
+ } else {
+ if (yych <= ';')
+ goto yy1375;
+ if (yych <= '=')
+ goto yy1268;
+ if (yych <= '>')
+ goto yy1285;
+ goto yy1375;
+ }
+ }
+ } else {
+ if (yych <= 0xDF) {
+ if (yych <= '`') {
+ if (yych <= 'Z')
+ goto yy1405;
+ if (yych <= '^')
+ goto yy1375;
+ if (yych <= '_')
+ goto yy1405;
+ goto yy1268;
+ } else {
+ if (yych <= 'z')
+ goto yy1405;
+ if (yych <= 0x7F)
+ goto yy1375;
+ if (yych <= 0xC1)
+ goto yy1268;
+ goto yy1377;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1378;
+ if (yych == 0xED)
+ goto yy1383;
+ goto yy1379;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1380;
+ if (yych <= 0xF3)
+ goto yy1381;
+ if (yych <= 0xF4)
+ goto yy1382;
+ goto yy1268;
+ }
+ }
+ }
+ }
}
// 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 = *(marker = p);
- if (yych <= 0xDF) {
- if (yych <= ';') {
- if (yych != '\n') goto yy1415;
- } else {
- if (yych <= '<') goto yy1414;
- if (yych <= 0x7F) goto yy1415;
- if (yych >= 0xC2) goto yy1416;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1418;
- if (yych == 0xED) goto yy1423;
- goto yy1419;
- } else {
- if (yych <= 0xF0) goto yy1420;
- if (yych <= 0xF3) goto yy1421;
- if (yych <= 0xF4) goto yy1422;
- }
- }
-yy1413:
- { return 0; }
-yy1414:
- yych = *(marker = ++p);
- switch (yych) {
- case '!': goto yy1439;
- case '/': goto yy1424;
- case '?': goto yy1440;
- case 'A':
- case 'a': goto yy1426;
- case 'B':
- case 'b': goto yy1427;
- case 'C':
- case 'c': goto yy1428;
- case 'D':
- case 'd': goto yy1429;
- case 'F':
- case 'f': goto yy1430;
- case 'H':
- case 'h': goto yy1431;
- case 'L':
- case 'l': goto yy1432;
- case 'M':
- case 'm': goto yy1433;
- case 'N':
- case 'n': goto yy1434;
- case 'O':
- case 'o': goto yy1435;
- case 'P':
- case 'p': goto yy1425;
- case 'S':
- case 's': goto yy1436;
- case 'T':
- case 't': goto yy1437;
- case 'U':
- case 'u': goto yy1438;
- default: goto yy1413;
- }
-yy1415:
- yych = *++p;
- goto yy1413;
-yy1416:
- yych = *++p;
- if (yych <= 0x7F) goto yy1417;
- if (yych <= 0xBF) goto yy1415;
-yy1417:
- p = marker;
- goto yy1413;
-yy1418:
- yych = *++p;
- if (yych <= 0x9F) goto yy1417;
- if (yych <= 0xBF) goto yy1416;
- goto yy1417;
-yy1419:
- yych = *++p;
- if (yych <= 0x7F) goto yy1417;
- if (yych <= 0xBF) goto yy1416;
- goto yy1417;
-yy1420:
- yych = *++p;
- if (yych <= 0x8F) goto yy1417;
- if (yych <= 0xBF) goto yy1419;
- goto yy1417;
-yy1421:
- yych = *++p;
- if (yych <= 0x7F) goto yy1417;
- if (yych <= 0xBF) goto yy1419;
- goto yy1417;
-yy1422:
- yych = *++p;
- if (yych <= 0x7F) goto yy1417;
- if (yych <= 0x8F) goto yy1419;
- goto yy1417;
-yy1423:
- yych = *++p;
- if (yych <= 0x7F) goto yy1417;
- if (yych <= 0x9F) goto yy1416;
- goto yy1417;
-yy1424:
- yych = *++p;
- switch (yych) {
- case 'A':
- case 'a': goto yy1426;
- case 'B':
- case 'b': goto yy1427;
- case 'C':
- case 'c': goto yy1428;
- case 'D':
- case 'd': goto yy1429;
- case 'F':
- case 'f': goto yy1430;
- case 'H':
- case 'h': goto yy1431;
- case 'L':
- case 'l': goto yy1432;
- case 'M':
- case 'm': goto yy1433;
- case 'N':
- case 'n': goto yy1434;
- case 'O':
- case 'o': goto yy1435;
- case 'P':
- case 'p': goto yy1622;
- case 'S':
- case 's': goto yy1623;
- case 'T':
- case 't': goto yy1437;
- case 'U':
- case 'u': goto yy1438;
- default: goto yy1417;
- }
-yy1425:
- yych = *++p;
- if (yych <= '>') {
- if (yych <= ' ') {
- if (yych <= 0x08) goto yy1417;
- if (yych <= '\r') goto yy1456;
- if (yych <= 0x1F) goto yy1417;
- goto yy1456;
- } else {
- if (yych == '/') goto yy1458;
- if (yych <= '=') goto yy1417;
- goto yy1456;
- }
- } else {
- if (yych <= 'R') {
- if (yych == 'A') goto yy1617;
- if (yych <= 'Q') goto yy1417;
- goto yy1616;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy1417;
- goto yy1617;
- } else {
- if (yych == 'r') goto yy1616;
- goto yy1417;
- }
- }
- }
-yy1426:
- yych = *++p;
- if (yych <= 'S') {
- if (yych <= 'D') {
- if (yych <= 'C') goto yy1417;
- goto yy1605;
- } else {
- if (yych <= 'Q') goto yy1417;
- if (yych <= 'R') goto yy1604;
- goto yy1603;
- }
- } else {
- if (yych <= 'q') {
- if (yych == 'd') goto yy1605;
- goto yy1417;
- } else {
- if (yych <= 'r') goto yy1604;
- if (yych <= 's') goto yy1603;
- goto yy1417;
- }
- }
-yy1427:
- yych = *++p;
- if (yych <= 'O') {
- if (yych <= 'K') {
- if (yych == 'A') goto yy1589;
- goto yy1417;
- } else {
- if (yych <= 'L') goto yy1588;
- if (yych <= 'N') goto yy1417;
- goto yy1587;
- }
- } else {
- if (yych <= 'k') {
- if (yych == 'a') goto yy1589;
- goto yy1417;
- } else {
- if (yych <= 'l') goto yy1588;
- if (yych == 'o') goto yy1587;
- goto yy1417;
- }
- }
-yy1428:
- yych = *++p;
- if (yych <= 'O') {
- if (yych <= 'D') {
- if (yych == 'A') goto yy1574;
- goto yy1417;
- } else {
- if (yych <= 'E') goto yy1573;
- if (yych <= 'N') goto yy1417;
- goto yy1572;
- }
- } else {
- if (yych <= 'd') {
- if (yych == 'a') goto yy1574;
- goto yy1417;
- } else {
- if (yych <= 'e') goto yy1573;
- if (yych == 'o') goto yy1572;
- goto yy1417;
- }
- }
-yy1429:
- yych = *++p;
- switch (yych) {
- case 'D':
- case 'L':
- case 'T':
- case 'd':
- case 'l':
- case 't': goto yy1455;
- case 'E':
- case 'e': goto yy1564;
- case 'I':
- case 'i': goto yy1563;
- default: goto yy1417;
- }
-yy1430:
- yych = *++p;
- if (yych <= 'R') {
- if (yych <= 'N') {
- if (yych == 'I') goto yy1539;
- goto yy1417;
- } else {
- if (yych <= 'O') goto yy1538;
- if (yych <= 'Q') goto yy1417;
- goto yy1537;
- }
- } else {
- if (yych <= 'n') {
- if (yych == 'i') goto yy1539;
- goto yy1417;
- } else {
- if (yych <= 'o') goto yy1538;
- if (yych == 'r') goto yy1537;
- goto yy1417;
- }
- }
-yy1431:
- yych = *++p;
- if (yych <= 'S') {
- if (yych <= 'D') {
- if (yych == '1') goto yy1455;
- goto yy1417;
- } else {
- if (yych <= 'E') goto yy1532;
- if (yych == 'R') goto yy1455;
- goto yy1417;
- }
- } else {
- if (yych <= 'q') {
- if (yych <= 'T') goto yy1531;
- if (yych == 'e') goto yy1532;
- goto yy1417;
- } else {
- if (yych <= 'r') goto yy1455;
- if (yych == 't') goto yy1531;
- goto yy1417;
- }
- }
-yy1432:
- yych = *++p;
- if (yych <= 'I') {
- if (yych == 'E') goto yy1526;
- if (yych <= 'H') goto yy1417;
- goto yy1525;
- } else {
- if (yych <= 'e') {
- if (yych <= 'd') goto yy1417;
- goto yy1526;
- } else {
- if (yych == 'i') goto yy1525;
- goto yy1417;
- }
- }
-yy1433:
- yych = *++p;
- if (yych <= 'E') {
- if (yych == 'A') goto yy1517;
- if (yych <= 'D') goto yy1417;
- goto yy1516;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy1417;
- goto yy1517;
- } else {
- if (yych == 'e') goto yy1516;
- goto yy1417;
- }
- }
-yy1434:
- yych = *++p;
- if (yych <= 'O') {
- if (yych == 'A') goto yy1510;
- if (yych <= 'N') goto yy1417;
- goto yy1509;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy1417;
- goto yy1510;
- } else {
- if (yych == 'o') goto yy1509;
- goto yy1417;
- }
- }
-yy1435:
- yych = *++p;
- if (yych <= 'P') {
- if (yych == 'L') goto yy1455;
- if (yych <= 'O') goto yy1417;
- goto yy1501;
- } else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy1417;
- goto yy1455;
- } else {
- if (yych == 'p') goto yy1501;
- goto yy1417;
- }
- }
-yy1436:
- yych = *++p;
- if (yych <= 'U') {
- if (yych <= 'E') {
- if (yych == 'C') goto yy1478;
- if (yych <= 'D') goto yy1417;
- goto yy1481;
- } else {
- if (yych <= 'O') {
- if (yych <= 'N') goto yy1417;
- goto yy1480;
- } else {
- if (yych <= 'S') goto yy1417;
- if (yych <= 'T') goto yy1477;
- goto yy1479;
- }
- }
- } else {
- if (yych <= 'n') {
- if (yych <= 'c') {
- if (yych <= 'b') goto yy1417;
- goto yy1478;
- } else {
- if (yych == 'e') goto yy1481;
- goto yy1417;
- }
- } else {
- if (yych <= 's') {
- if (yych <= 'o') goto yy1480;
- goto yy1417;
- } else {
- if (yych <= 't') goto yy1477;
- if (yych <= 'u') goto yy1479;
- goto yy1417;
- }
- }
- }
-yy1437:
- yych = *++p;
- switch (yych) {
- case 'A':
- case 'a': goto yy1464;
- case 'B':
- case 'b': goto yy1463;
- case 'D':
- case 'd': goto yy1455;
- case 'F':
- case 'f': goto yy1462;
- case 'H':
- case 'h': goto yy1461;
- case 'I':
- case 'i': goto yy1460;
- case 'R':
- case 'r': goto yy1459;
- default: goto yy1417;
- }
-yy1438:
- yych = *++p;
- if (yych == 'L') goto yy1455;
- if (yych == 'l') goto yy1455;
- goto yy1417;
-yy1439:
- yych = *++p;
- if (yych <= '@') {
- if (yych == '-') goto yy1442;
- goto yy1417;
- } else {
- if (yych <= 'Z') goto yy1443;
- if (yych <= '[') goto yy1445;
- goto yy1417;
- }
-yy1440:
- ++p;
- { return 3; }
-yy1442:
- yych = *++p;
- if (yych == '-') goto yy1453;
- goto yy1417;
-yy1443:
- ++p;
- { return 4; }
-yy1445:
- yych = *++p;
- if (yych == 'C') goto yy1446;
- if (yych != 'c') goto yy1417;
-yy1446:
- yych = *++p;
- if (yych == 'D') goto yy1447;
- if (yych != 'd') goto yy1417;
-yy1447:
- yych = *++p;
- if (yych == 'A') goto yy1448;
- if (yych != 'a') goto yy1417;
-yy1448:
- yych = *++p;
- if (yych == 'T') goto yy1449;
- if (yych != 't') goto yy1417;
-yy1449:
- yych = *++p;
- if (yych == 'A') goto yy1450;
- if (yych != 'a') goto yy1417;
-yy1450:
- yych = *++p;
- if (yych != '[') goto yy1417;
- ++p;
- { return 5; }
-yy1453:
- ++p;
- { return 2; }
-yy1455:
- yych = *++p;
- if (yych <= ' ') {
- if (yych <= 0x08) goto yy1417;
- if (yych <= '\r') goto yy1456;
- if (yych <= 0x1F) goto yy1417;
- } else {
- if (yych <= '/') {
- if (yych <= '.') goto yy1417;
- goto yy1458;
- } else {
- if (yych != '>') goto yy1417;
- }
- }
-yy1456:
- ++p;
- { return 6; }
-yy1458:
- yych = *++p;
- if (yych == '>') goto yy1456;
- goto yy1417;
-yy1459:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy1417;
- if (yych <= '\r') goto yy1456;
- goto yy1417;
- } else {
- if (yych <= ' ') goto yy1456;
- if (yych <= '.') goto yy1417;
- goto yy1458;
- }
- } else {
- if (yych <= '@') {
- if (yych == '>') goto yy1456;
- goto yy1417;
- } else {
- if (yych <= 'A') goto yy1475;
- if (yych == 'a') goto yy1475;
- goto yy1417;
- }
- }
-yy1460:
- yych = *++p;
- if (yych == 'T') goto yy1473;
- if (yych == 't') goto yy1473;
- goto yy1417;
-yy1461:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy1417;
- if (yych <= '\r') goto yy1456;
- goto yy1417;
- } else {
- if (yych <= ' ') goto yy1456;
- if (yych <= '.') goto yy1417;
- goto yy1458;
- }
- } else {
- if (yych <= 'D') {
- if (yych == '>') goto yy1456;
- goto yy1417;
- } else {
- if (yych <= 'E') goto yy1471;
- if (yych == 'e') goto yy1471;
- goto yy1417;
- }
- }
-yy1462:
- yych = *++p;
- if (yych == 'O') goto yy1469;
- if (yych == 'o') goto yy1469;
- goto yy1417;
-yy1463:
- yych = *++p;
- if (yych == 'O') goto yy1467;
- if (yych == 'o') goto yy1467;
- goto yy1417;
-yy1464:
- yych = *++p;
- if (yych == 'B') goto yy1465;
- if (yych != 'b') goto yy1417;
-yy1465:
- yych = *++p;
- if (yych == 'L') goto yy1466;
- if (yych != 'l') goto yy1417;
-yy1466:
- yych = *++p;
- if (yych == 'E') goto yy1455;
- if (yych == 'e') goto yy1455;
- goto yy1417;
-yy1467:
- yych = *++p;
- if (yych == 'D') goto yy1468;
- if (yych != 'd') goto yy1417;
-yy1468:
- yych = *++p;
- if (yych == 'Y') goto yy1455;
- if (yych == 'y') goto yy1455;
- goto yy1417;
-yy1469:
- yych = *++p;
- if (yych == 'O') goto yy1470;
- if (yych != 'o') goto yy1417;
-yy1470:
- yych = *++p;
- if (yych == 'T') goto yy1455;
- if (yych == 't') goto yy1455;
- goto yy1417;
-yy1471:
- yych = *++p;
- if (yych == 'A') goto yy1472;
- if (yych != 'a') goto yy1417;
-yy1472:
- yych = *++p;
- if (yych == 'D') goto yy1455;
- if (yych == 'd') goto yy1455;
- goto yy1417;
-yy1473:
- yych = *++p;
- if (yych == 'L') goto yy1474;
- if (yych != 'l') goto yy1417;
-yy1474:
- yych = *++p;
- if (yych == 'E') goto yy1455;
- if (yych == 'e') goto yy1455;
- goto yy1417;
-yy1475:
- yych = *++p;
- if (yych == 'C') goto yy1476;
- if (yych != 'c') goto yy1417;
-yy1476:
- yych = *++p;
- if (yych == 'K') goto yy1455;
- if (yych == 'k') goto yy1455;
- goto yy1417;
-yy1477:
- yych = *++p;
- if (yych == 'Y') goto yy1499;
- if (yych == 'y') goto yy1499;
- goto yy1417;
-yy1478:
- yych = *++p;
- if (yych == 'R') goto yy1493;
- if (yych == 'r') goto yy1493;
- goto yy1417;
-yy1479:
- yych = *++p;
- if (yych == 'M') goto yy1489;
- if (yych == 'm') goto yy1489;
- goto yy1417;
-yy1480:
- yych = *++p;
- if (yych == 'U') goto yy1486;
- if (yych == 'u') goto yy1486;
- goto yy1417;
-yy1481:
- yych = *++p;
- if (yych == 'C') goto yy1482;
- if (yych != 'c') goto yy1417;
-yy1482:
- yych = *++p;
- if (yych == 'T') goto yy1483;
- if (yych != 't') goto yy1417;
-yy1483:
- yych = *++p;
- if (yych == 'I') goto yy1484;
- if (yych != 'i') goto yy1417;
-yy1484:
- yych = *++p;
- if (yych == 'O') goto yy1485;
- if (yych != 'o') goto yy1417;
-yy1485:
- yych = *++p;
- if (yych == 'N') goto yy1455;
- if (yych == 'n') goto yy1455;
- goto yy1417;
-yy1486:
- yych = *++p;
- if (yych == 'R') goto yy1487;
- if (yych != 'r') goto yy1417;
-yy1487:
- yych = *++p;
- if (yych == 'C') goto yy1488;
- if (yych != 'c') goto yy1417;
-yy1488:
- yych = *++p;
- if (yych == 'E') goto yy1455;
- if (yych == 'e') goto yy1455;
- goto yy1417;
-yy1489:
- yych = *++p;
- if (yych == 'M') goto yy1490;
- if (yych != 'm') goto yy1417;
-yy1490:
- yych = *++p;
- if (yych == 'A') goto yy1491;
- if (yych != 'a') goto yy1417;
-yy1491:
- yych = *++p;
- if (yych == 'R') goto yy1492;
- if (yych != 'r') goto yy1417;
-yy1492:
- yych = *++p;
- if (yych == 'Y') goto yy1455;
- if (yych == 'y') goto yy1455;
- goto yy1417;
-yy1493:
- yych = *++p;
- if (yych == 'I') goto yy1494;
- if (yych != 'i') goto yy1417;
-yy1494:
- yych = *++p;
- if (yych == 'P') goto yy1495;
- if (yych != 'p') goto yy1417;
-yy1495:
- yych = *++p;
- if (yych == 'T') goto yy1496;
- if (yych != 't') goto yy1417;
-yy1496:
- yych = *++p;
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy1417;
- if (yych >= 0x0E) goto yy1417;
- } else {
- if (yych <= ' ') goto yy1497;
- if (yych != '>') goto yy1417;
- }
-yy1497:
- ++p;
-yy1498:
- { return 1; }
-yy1499:
- yych = *++p;
- if (yych == 'L') goto yy1500;
- if (yych != 'l') goto yy1417;
-yy1500:
- yych = *++p;
- if (yych == 'E') goto yy1496;
- if (yych == 'e') goto yy1496;
- goto yy1417;
-yy1501:
- yych = *++p;
- if (yych == 'T') goto yy1502;
- if (yych != 't') goto yy1417;
-yy1502:
- yych = *++p;
- if (yych <= 'I') {
- if (yych == 'G') goto yy1504;
- if (yych <= 'H') goto yy1417;
- } else {
- if (yych <= 'g') {
- if (yych <= 'f') goto yy1417;
- goto yy1504;
- } else {
- if (yych != 'i') goto yy1417;
- }
- }
- yych = *++p;
- if (yych == 'O') goto yy1508;
- if (yych == 'o') goto yy1508;
- goto yy1417;
-yy1504:
- yych = *++p;
- if (yych == 'R') goto yy1505;
- if (yych != 'r') goto yy1417;
-yy1505:
- yych = *++p;
- if (yych == 'O') goto yy1506;
- if (yych != 'o') goto yy1417;
-yy1506:
- yych = *++p;
- if (yych == 'U') goto yy1507;
- if (yych != 'u') goto yy1417;
-yy1507:
- yych = *++p;
- if (yych == 'P') goto yy1455;
- if (yych == 'p') goto yy1455;
- goto yy1417;
-yy1508:
- yych = *++p;
- if (yych == 'N') goto yy1455;
- if (yych == 'n') goto yy1455;
- goto yy1417;
-yy1509:
- yych = *++p;
- if (yych == 'F') goto yy1511;
- if (yych == 'f') goto yy1511;
- goto yy1417;
-yy1510:
- yych = *++p;
- if (yych == 'V') goto yy1455;
- if (yych == 'v') goto yy1455;
- goto yy1417;
-yy1511:
- yych = *++p;
- if (yych == 'R') goto yy1512;
- if (yych != 'r') goto yy1417;
-yy1512:
- yych = *++p;
- if (yych == 'A') goto yy1513;
- if (yych != 'a') goto yy1417;
-yy1513:
- yych = *++p;
- if (yych == 'M') goto yy1514;
- if (yych != 'm') goto yy1417;
-yy1514:
- yych = *++p;
- if (yych == 'E') goto yy1515;
- if (yych != 'e') goto yy1417;
-yy1515:
- yych = *++p;
- if (yych == 'S') goto yy1455;
- if (yych == 's') goto yy1455;
- goto yy1417;
-yy1516:
- yych = *++p;
- if (yych <= 'T') {
- if (yych == 'N') goto yy1519;
- if (yych <= 'S') goto yy1417;
- goto yy1520;
- } else {
- if (yych <= 'n') {
- if (yych <= 'm') goto yy1417;
- goto yy1519;
- } else {
- if (yych == 't') goto yy1520;
- goto yy1417;
- }
- }
-yy1517:
- yych = *++p;
- if (yych == 'I') goto yy1518;
- if (yych != 'i') goto yy1417;
-yy1518:
- yych = *++p;
- if (yych == 'N') goto yy1455;
- if (yych == 'n') goto yy1455;
- goto yy1417;
-yy1519:
- yych = *++p;
- if (yych == 'U') goto yy1521;
- if (yych == 'u') goto yy1521;
- goto yy1417;
-yy1520:
- yych = *++p;
- if (yych == 'A') goto yy1455;
- if (yych == 'a') goto yy1455;
- goto yy1417;
-yy1521:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy1417;
- if (yych <= '\r') goto yy1456;
- goto yy1417;
- } else {
- if (yych <= ' ') goto yy1456;
- if (yych <= '.') goto yy1417;
- goto yy1458;
- }
- } else {
- if (yych <= 'H') {
- if (yych == '>') goto yy1456;
- goto yy1417;
- } else {
- if (yych <= 'I') goto yy1522;
- if (yych != 'i') goto yy1417;
- }
- }
-yy1522:
- yych = *++p;
- if (yych == 'T') goto yy1523;
- if (yych != 't') goto yy1417;
-yy1523:
- yych = *++p;
- if (yych == 'E') goto yy1524;
- if (yych != 'e') goto yy1417;
-yy1524:
- yych = *++p;
- if (yych == 'M') goto yy1455;
- if (yych == 'm') goto yy1455;
- goto yy1417;
-yy1525:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy1417;
- if (yych <= '\r') goto yy1456;
- goto yy1417;
- } else {
- if (yych <= ' ') goto yy1456;
- if (yych <= '.') goto yy1417;
- goto yy1458;
- }
- } else {
- if (yych <= 'M') {
- if (yych == '>') goto yy1456;
- goto yy1417;
- } else {
- if (yych <= 'N') goto yy1530;
- if (yych == 'n') goto yy1530;
- goto yy1417;
- }
- }
-yy1526:
- yych = *++p;
- if (yych == 'G') goto yy1527;
- if (yych != 'g') goto yy1417;
-yy1527:
- yych = *++p;
- if (yych == 'E') goto yy1528;
- if (yych != 'e') goto yy1417;
-yy1528:
- yych = *++p;
- if (yych == 'N') goto yy1529;
- if (yych != 'n') goto yy1417;
-yy1529:
- yych = *++p;
- if (yych == 'D') goto yy1455;
- if (yych == 'd') goto yy1455;
- goto yy1417;
-yy1530:
- yych = *++p;
- if (yych == 'K') goto yy1455;
- if (yych == 'k') goto yy1455;
- goto yy1417;
-yy1531:
- yych = *++p;
- if (yych == 'M') goto yy1536;
- if (yych == 'm') goto yy1536;
- goto yy1417;
-yy1532:
- yych = *++p;
- if (yych == 'A') goto yy1533;
- if (yych != 'a') goto yy1417;
-yy1533:
- yych = *++p;
- if (yych == 'D') goto yy1534;
- if (yych != 'd') goto yy1417;
-yy1534:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy1417;
- if (yych <= '\r') goto yy1456;
- goto yy1417;
- } else {
- if (yych <= ' ') goto yy1456;
- if (yych <= '.') goto yy1417;
- goto yy1458;
- }
- } else {
- if (yych <= 'D') {
- if (yych == '>') goto yy1456;
- goto yy1417;
- } else {
- if (yych <= 'E') goto yy1535;
- if (yych != 'e') goto yy1417;
- }
- }
-yy1535:
- yych = *++p;
- if (yych == 'R') goto yy1455;
- if (yych == 'r') goto yy1455;
- goto yy1417;
-yy1536:
- yych = *++p;
- if (yych == 'L') goto yy1455;
- if (yych == 'l') goto yy1455;
- goto yy1417;
-yy1537:
- yych = *++p;
- if (yych == 'A') goto yy1558;
- if (yych == 'a') goto yy1558;
- goto yy1417;
-yy1538:
- yych = *++p;
- if (yych <= 'R') {
- if (yych == 'O') goto yy1554;
- if (yych <= 'Q') goto yy1417;
- goto yy1555;
- } else {
- if (yych <= 'o') {
- if (yych <= 'n') goto yy1417;
- goto yy1554;
- } else {
- if (yych == 'r') goto yy1555;
- goto yy1417;
- }
- }
-yy1539:
- yych = *++p;
- if (yych <= 'G') {
- if (yych == 'E') goto yy1540;
- if (yych <= 'F') goto yy1417;
- goto yy1541;
- } else {
- if (yych <= 'e') {
- if (yych <= 'd') goto yy1417;
- } else {
- if (yych == 'g') goto yy1541;
- goto yy1417;
- }
- }
-yy1540:
- yych = *++p;
- if (yych == 'L') goto yy1550;
- if (yych == 'l') goto yy1550;
- goto yy1417;
-yy1541:
- yych = *++p;
- if (yych <= 'U') {
- if (yych == 'C') goto yy1543;
- if (yych <= 'T') goto yy1417;
- } else {
- if (yych <= 'c') {
- if (yych <= 'b') goto yy1417;
- goto yy1543;
- } else {
- if (yych != 'u') goto yy1417;
- }
- }
- yych = *++p;
- if (yych == 'R') goto yy1549;
- if (yych == 'r') goto yy1549;
- goto yy1417;
-yy1543:
- yych = *++p;
- if (yych == 'A') goto yy1544;
- if (yych != 'a') goto yy1417;
-yy1544:
- yych = *++p;
- if (yych == 'P') goto yy1545;
- if (yych != 'p') goto yy1417;
-yy1545:
- yych = *++p;
- if (yych == 'T') goto yy1546;
- if (yych != 't') goto yy1417;
-yy1546:
- yych = *++p;
- if (yych == 'I') goto yy1547;
- if (yych != 'i') goto yy1417;
-yy1547:
- yych = *++p;
- if (yych == 'O') goto yy1548;
- if (yych != 'o') goto yy1417;
-yy1548:
- yych = *++p;
- if (yych == 'N') goto yy1455;
- if (yych == 'n') goto yy1455;
- goto yy1417;
-yy1549:
- yych = *++p;
- if (yych == 'E') goto yy1455;
- if (yych == 'e') goto yy1455;
- goto yy1417;
-yy1550:
- yych = *++p;
- if (yych == 'D') goto yy1551;
- if (yych != 'd') goto yy1417;
-yy1551:
- yych = *++p;
- if (yych == 'S') goto yy1552;
- if (yych != 's') goto yy1417;
-yy1552:
- yych = *++p;
- if (yych == 'E') goto yy1553;
- if (yych != 'e') goto yy1417;
-yy1553:
- yych = *++p;
- if (yych == 'T') goto yy1455;
- if (yych == 't') goto yy1455;
- goto yy1417;
-yy1554:
- yych = *++p;
- if (yych == 'T') goto yy1556;
- if (yych == 't') goto yy1556;
- goto yy1417;
-yy1555:
- yych = *++p;
- if (yych == 'M') goto yy1455;
- if (yych == 'm') goto yy1455;
- goto yy1417;
-yy1556:
- yych = *++p;
- if (yych == 'E') goto yy1557;
- if (yych != 'e') goto yy1417;
-yy1557:
- yych = *++p;
- if (yych == 'R') goto yy1455;
- if (yych == 'r') goto yy1455;
- goto yy1417;
-yy1558:
- yych = *++p;
- if (yych == 'M') goto yy1559;
- if (yych != 'm') goto yy1417;
-yy1559:
- yych = *++p;
- if (yych == 'E') goto yy1560;
- if (yych != 'e') goto yy1417;
-yy1560:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy1417;
- if (yych <= '\r') goto yy1456;
- goto yy1417;
- } else {
- if (yych <= ' ') goto yy1456;
- if (yych <= '.') goto yy1417;
- goto yy1458;
- }
- } else {
- if (yych <= 'R') {
- if (yych == '>') goto yy1456;
- goto yy1417;
- } else {
- if (yych <= 'S') goto yy1561;
- if (yych != 's') goto yy1417;
- }
- }
-yy1561:
- yych = *++p;
- if (yych == 'E') goto yy1562;
- if (yych != 'e') goto yy1417;
-yy1562:
- yych = *++p;
- if (yych == 'T') goto yy1455;
- if (yych == 't') goto yy1455;
- goto yy1417;
-yy1563:
- yych = *++p;
- if (yych <= 'V') {
- if (yych <= 'Q') {
- if (yych == 'A') goto yy1569;
- goto yy1417;
- } else {
- if (yych <= 'R') goto yy1455;
- if (yych <= 'U') goto yy1417;
- goto yy1455;
- }
- } else {
- if (yych <= 'q') {
- if (yych == 'a') goto yy1569;
- goto yy1417;
- } else {
- if (yych <= 'r') goto yy1455;
- if (yych == 'v') goto yy1455;
- goto yy1417;
- }
- }
-yy1564:
- yych = *++p;
- if (yych == 'T') goto yy1565;
- if (yych != 't') goto yy1417;
-yy1565:
- yych = *++p;
- if (yych == 'A') goto yy1566;
- if (yych != 'a') goto yy1417;
-yy1566:
- yych = *++p;
- if (yych == 'I') goto yy1567;
- if (yych != 'i') goto yy1417;
-yy1567:
- yych = *++p;
- if (yych == 'L') goto yy1568;
- if (yych != 'l') goto yy1417;
-yy1568:
- yych = *++p;
- if (yych == 'S') goto yy1455;
- if (yych == 's') goto yy1455;
- goto yy1417;
-yy1569:
- yych = *++p;
- if (yych == 'L') goto yy1570;
- if (yych != 'l') goto yy1417;
-yy1570:
- yych = *++p;
- if (yych == 'O') goto yy1571;
- if (yych != 'o') goto yy1417;
-yy1571:
- yych = *++p;
- if (yych == 'G') goto yy1455;
- if (yych == 'g') goto yy1455;
- goto yy1417;
-yy1572:
- yych = *++p;
- if (yych == 'L') goto yy1582;
- if (yych == 'l') goto yy1582;
- goto yy1417;
-yy1573:
- yych = *++p;
- if (yych == 'N') goto yy1579;
- if (yych == 'n') goto yy1579;
- goto yy1417;
-yy1574:
- yych = *++p;
- if (yych == 'P') goto yy1575;
- if (yych != 'p') goto yy1417;
-yy1575:
- yych = *++p;
- if (yych == 'T') goto yy1576;
- if (yych != 't') goto yy1417;
-yy1576:
- yych = *++p;
- if (yych == 'I') goto yy1577;
- if (yych != 'i') goto yy1417;
-yy1577:
- yych = *++p;
- if (yych == 'O') goto yy1578;
- if (yych != 'o') goto yy1417;
-yy1578:
- yych = *++p;
- if (yych == 'N') goto yy1455;
- if (yych == 'n') goto yy1455;
- goto yy1417;
-yy1579:
- yych = *++p;
- if (yych == 'T') goto yy1580;
- if (yych != 't') goto yy1417;
-yy1580:
- yych = *++p;
- if (yych == 'E') goto yy1581;
- if (yych != 'e') goto yy1417;
-yy1581:
- yych = *++p;
- if (yych == 'R') goto yy1455;
- if (yych == 'r') goto yy1455;
- goto yy1417;
-yy1582:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy1417;
- if (yych <= '\r') goto yy1456;
- goto yy1417;
- } else {
- if (yych <= ' ') goto yy1456;
- if (yych <= '.') goto yy1417;
- goto yy1458;
- }
- } else {
- if (yych <= 'F') {
- if (yych == '>') goto yy1456;
- goto yy1417;
- } else {
- if (yych <= 'G') goto yy1583;
- if (yych != 'g') goto yy1417;
- }
- }
-yy1583:
- yych = *++p;
- if (yych == 'R') goto yy1584;
- if (yych != 'r') goto yy1417;
-yy1584:
- yych = *++p;
- if (yych == 'O') goto yy1585;
- if (yych != 'o') goto yy1417;
-yy1585:
- yych = *++p;
- if (yych == 'U') goto yy1586;
- if (yych != 'u') goto yy1417;
-yy1586:
- yych = *++p;
- if (yych == 'P') goto yy1455;
- if (yych == 'p') goto yy1455;
- goto yy1417;
-yy1587:
- yych = *++p;
- if (yych == 'D') goto yy1602;
- if (yych == 'd') goto yy1602;
- goto yy1417;
-yy1588:
- yych = *++p;
- if (yych == 'O') goto yy1595;
- if (yych == 'o') goto yy1595;
- goto yy1417;
-yy1589:
- yych = *++p;
- if (yych == 'S') goto yy1590;
- if (yych != 's') goto yy1417;
-yy1590:
- yych = *++p;
- if (yych == 'E') goto yy1591;
- if (yych != 'e') goto yy1417;
-yy1591:
- yych = *++p;
- if (yych <= '/') {
- if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy1417;
- if (yych <= '\r') goto yy1456;
- goto yy1417;
- } else {
- if (yych <= ' ') goto yy1456;
- if (yych <= '.') goto yy1417;
- goto yy1458;
- }
- } else {
- if (yych <= 'E') {
- if (yych == '>') goto yy1456;
- goto yy1417;
- } else {
- if (yych <= 'F') goto yy1592;
- if (yych != 'f') goto yy1417;
- }
- }
-yy1592:
- yych = *++p;
- if (yych == 'O') goto yy1593;
- if (yych != 'o') goto yy1417;
-yy1593:
- yych = *++p;
- if (yych == 'N') goto yy1594;
- if (yych != 'n') goto yy1417;
-yy1594:
- yych = *++p;
- if (yych == 'T') goto yy1455;
- if (yych == 't') goto yy1455;
- goto yy1417;
-yy1595:
- yych = *++p;
- if (yych == 'C') goto yy1596;
- if (yych != 'c') goto yy1417;
-yy1596:
- yych = *++p;
- if (yych == 'K') goto yy1597;
- if (yych != 'k') goto yy1417;
-yy1597:
- yych = *++p;
- if (yych == 'Q') goto yy1598;
- if (yych != 'q') goto yy1417;
-yy1598:
- yych = *++p;
- if (yych == 'U') goto yy1599;
- if (yych != 'u') goto yy1417;
-yy1599:
- yych = *++p;
- if (yych == 'O') goto yy1600;
- if (yych != 'o') goto yy1417;
-yy1600:
- yych = *++p;
- if (yych == 'T') goto yy1601;
- if (yych != 't') goto yy1417;
-yy1601:
- yych = *++p;
- if (yych == 'E') goto yy1455;
- if (yych == 'e') goto yy1455;
- goto yy1417;
-yy1602:
- yych = *++p;
- if (yych == 'Y') goto yy1455;
- if (yych == 'y') goto yy1455;
- goto yy1417;
-yy1603:
- yych = *++p;
- if (yych == 'I') goto yy1614;
- if (yych == 'i') goto yy1614;
- goto yy1417;
-yy1604:
- yych = *++p;
- if (yych == 'T') goto yy1610;
- if (yych == 't') goto yy1610;
- goto yy1417;
-yy1605:
- yych = *++p;
- if (yych == 'D') goto yy1606;
- if (yych != 'd') goto yy1417;
-yy1606:
- yych = *++p;
- if (yych == 'R') goto yy1607;
- if (yych != 'r') goto yy1417;
-yy1607:
- yych = *++p;
- if (yych == 'E') goto yy1608;
- if (yych != 'e') goto yy1417;
-yy1608:
- yych = *++p;
- if (yych == 'S') goto yy1609;
- if (yych != 's') goto yy1417;
-yy1609:
- yych = *++p;
- if (yych == 'S') goto yy1455;
- if (yych == 's') goto yy1455;
- goto yy1417;
-yy1610:
- yych = *++p;
- if (yych == 'I') goto yy1611;
- if (yych != 'i') goto yy1417;
-yy1611:
- yych = *++p;
- if (yych == 'C') goto yy1612;
- if (yych != 'c') goto yy1417;
-yy1612:
- yych = *++p;
- if (yych == 'L') goto yy1613;
- if (yych != 'l') goto yy1417;
-yy1613:
- yych = *++p;
- if (yych == 'E') goto yy1455;
- if (yych == 'e') goto yy1455;
- goto yy1417;
-yy1614:
- yych = *++p;
- if (yych == 'D') goto yy1615;
- if (yych != 'd') goto yy1417;
-yy1615:
- yych = *++p;
- if (yych == 'E') goto yy1455;
- if (yych == 'e') goto yy1455;
- goto yy1417;
-yy1616:
- yych = *++p;
- if (yych == 'E') goto yy1620;
- if (yych == 'e') goto yy1620;
- goto yy1417;
-yy1617:
- yych = *++p;
- if (yych == 'R') goto yy1618;
- if (yych != 'r') goto yy1417;
-yy1618:
- yych = *++p;
- if (yych == 'A') goto yy1619;
- if (yych != 'a') goto yy1417;
-yy1619:
- yych = *++p;
- if (yych == 'M') goto yy1455;
- if (yych == 'm') goto yy1455;
- goto yy1417;
-yy1620:
- yych = *++p;
- if (yych <= ' ') {
- if (yych <= 0x08) goto yy1417;
- if (yych <= '\r') goto yy1621;
- if (yych <= 0x1F) goto yy1417;
- } else {
- if (yych <= '/') {
- if (yych <= '.') goto yy1417;
- goto yy1458;
- } else {
- if (yych != '>') goto yy1417;
- }
- }
-yy1621:
- yych = *++p;
- goto yy1498;
-yy1622:
- yych = *++p;
- if (yych <= '>') {
- if (yych <= ' ') {
- if (yych <= 0x08) goto yy1417;
- if (yych <= '\r') goto yy1456;
- if (yych <= 0x1F) goto yy1417;
- goto yy1456;
- } else {
- if (yych == '/') goto yy1458;
- if (yych <= '=') goto yy1417;
- goto yy1456;
- }
- } else {
- if (yych <= 'R') {
- if (yych == 'A') goto yy1617;
- if (yych <= 'Q') goto yy1417;
- goto yy1624;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy1417;
- goto yy1617;
- } else {
- if (yych == 'r') goto yy1624;
- goto yy1417;
- }
- }
- }
-yy1623:
- yych = *++p;
- if (yych <= 'U') {
- if (yych <= 'N') {
- if (yych == 'E') goto yy1481;
- goto yy1417;
- } else {
- if (yych <= 'O') goto yy1480;
- if (yych <= 'T') goto yy1417;
- goto yy1479;
- }
- } else {
- if (yych <= 'n') {
- if (yych == 'e') goto yy1481;
- goto yy1417;
- } else {
- if (yych <= 'o') goto yy1480;
- if (yych == 'u') goto yy1479;
- goto yy1417;
- }
- }
-yy1624:
- ++p;
- if ((yych = *p) == 'E') goto yy1455;
- if (yych == 'e') goto yy1455;
- goto yy1417;
-}
-
+ {
+ unsigned char yych;
+ yych = *(marker = p);
+ if (yych <= 0xDF) {
+ if (yych <= ';') {
+ if (yych != '\n')
+ goto yy1415;
+ } else {
+ if (yych <= '<')
+ goto yy1414;
+ if (yych <= 0x7F)
+ goto yy1415;
+ if (yych >= 0xC2)
+ goto yy1416;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1418;
+ if (yych == 0xED)
+ goto yy1423;
+ goto yy1419;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1420;
+ if (yych <= 0xF3)
+ goto yy1421;
+ if (yych <= 0xF4)
+ goto yy1422;
+ }
+ }
+ yy1413 : { return 0; }
+ yy1414:
+ yych = *(marker = ++p);
+ switch (yych) {
+ case '!':
+ goto yy1439;
+ case '/':
+ goto yy1424;
+ case '?':
+ goto yy1440;
+ case 'A':
+ case 'a':
+ goto yy1426;
+ case 'B':
+ case 'b':
+ goto yy1427;
+ case 'C':
+ case 'c':
+ goto yy1428;
+ case 'D':
+ case 'd':
+ goto yy1429;
+ case 'F':
+ case 'f':
+ goto yy1430;
+ case 'H':
+ case 'h':
+ goto yy1431;
+ case 'L':
+ case 'l':
+ goto yy1432;
+ case 'M':
+ case 'm':
+ goto yy1433;
+ case 'N':
+ case 'n':
+ goto yy1434;
+ case 'O':
+ case 'o':
+ goto yy1435;
+ case 'P':
+ case 'p':
+ goto yy1425;
+ case 'S':
+ case 's':
+ goto yy1436;
+ case 'T':
+ case 't':
+ goto yy1437;
+ case 'U':
+ case 'u':
+ goto yy1438;
+ default:
+ goto yy1413;
+ }
+ yy1415:
+ yych = *++p;
+ goto yy1413;
+ yy1416:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1417;
+ if (yych <= 0xBF)
+ goto yy1415;
+ yy1417:
+ p = marker;
+ goto yy1413;
+ yy1418:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy1417;
+ if (yych <= 0xBF)
+ goto yy1416;
+ goto yy1417;
+ yy1419:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1417;
+ if (yych <= 0xBF)
+ goto yy1416;
+ goto yy1417;
+ yy1420:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy1417;
+ if (yych <= 0xBF)
+ goto yy1419;
+ goto yy1417;
+ yy1421:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1417;
+ if (yych <= 0xBF)
+ goto yy1419;
+ goto yy1417;
+ yy1422:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1417;
+ if (yych <= 0x8F)
+ goto yy1419;
+ goto yy1417;
+ yy1423:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1417;
+ if (yych <= 0x9F)
+ goto yy1416;
+ goto yy1417;
+ yy1424:
+ yych = *++p;
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy1426;
+ case 'B':
+ case 'b':
+ goto yy1427;
+ case 'C':
+ case 'c':
+ goto yy1428;
+ case 'D':
+ case 'd':
+ goto yy1429;
+ case 'F':
+ case 'f':
+ goto yy1430;
+ case 'H':
+ case 'h':
+ goto yy1431;
+ case 'L':
+ case 'l':
+ goto yy1432;
+ case 'M':
+ case 'm':
+ goto yy1433;
+ case 'N':
+ case 'n':
+ goto yy1434;
+ case 'O':
+ case 'o':
+ goto yy1435;
+ case 'P':
+ case 'p':
+ goto yy1622;
+ case 'S':
+ case 's':
+ goto yy1623;
+ case 'T':
+ case 't':
+ goto yy1437;
+ case 'U':
+ case 'u':
+ goto yy1438;
+ default:
+ goto yy1417;
+ }
+ yy1425:
+ yych = *++p;
+ if (yych <= '>') {
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy1417;
+ if (yych <= '\r')
+ goto yy1456;
+ if (yych <= 0x1F)
+ goto yy1417;
+ goto yy1456;
+ } else {
+ if (yych == '/')
+ goto yy1458;
+ if (yych <= '=')
+ goto yy1417;
+ goto yy1456;
+ }
+ } else {
+ if (yych <= 'R') {
+ if (yych == 'A')
+ goto yy1617;
+ if (yych <= 'Q')
+ goto yy1417;
+ goto yy1616;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy1417;
+ goto yy1617;
+ } else {
+ if (yych == 'r')
+ goto yy1616;
+ goto yy1417;
+ }
+ }
+ }
+ yy1426:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych <= 'D') {
+ if (yych <= 'C')
+ goto yy1417;
+ goto yy1605;
+ } else {
+ if (yych <= 'Q')
+ goto yy1417;
+ if (yych <= 'R')
+ goto yy1604;
+ goto yy1603;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych == 'd')
+ goto yy1605;
+ goto yy1417;
+ } else {
+ if (yych <= 'r')
+ goto yy1604;
+ if (yych <= 's')
+ goto yy1603;
+ goto yy1417;
+ }
+ }
+ yy1427:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych <= 'K') {
+ if (yych == 'A')
+ goto yy1589;
+ goto yy1417;
+ } else {
+ if (yych <= 'L')
+ goto yy1588;
+ if (yych <= 'N')
+ goto yy1417;
+ goto yy1587;
+ }
+ } else {
+ if (yych <= 'k') {
+ if (yych == 'a')
+ goto yy1589;
+ goto yy1417;
+ } else {
+ if (yych <= 'l')
+ goto yy1588;
+ if (yych == 'o')
+ goto yy1587;
+ goto yy1417;
+ }
+ }
+ yy1428:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych <= 'D') {
+ if (yych == 'A')
+ goto yy1574;
+ goto yy1417;
+ } else {
+ if (yych <= 'E')
+ goto yy1573;
+ if (yych <= 'N')
+ goto yy1417;
+ goto yy1572;
+ }
+ } else {
+ if (yych <= 'd') {
+ if (yych == 'a')
+ goto yy1574;
+ goto yy1417;
+ } else {
+ if (yych <= 'e')
+ goto yy1573;
+ if (yych == 'o')
+ goto yy1572;
+ goto yy1417;
+ }
+ }
+ yy1429:
+ yych = *++p;
+ switch (yych) {
+ case 'D':
+ case 'L':
+ case 'T':
+ case 'd':
+ case 'l':
+ case 't':
+ goto yy1455;
+ case 'E':
+ case 'e':
+ goto yy1564;
+ case 'I':
+ case 'i':
+ goto yy1563;
+ default:
+ goto yy1417;
+ }
+ yy1430:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych <= 'N') {
+ if (yych == 'I')
+ goto yy1539;
+ goto yy1417;
+ } else {
+ if (yych <= 'O')
+ goto yy1538;
+ if (yych <= 'Q')
+ goto yy1417;
+ goto yy1537;
+ }
+ } else {
+ if (yych <= 'n') {
+ if (yych == 'i')
+ goto yy1539;
+ goto yy1417;
+ } else {
+ if (yych <= 'o')
+ goto yy1538;
+ if (yych == 'r')
+ goto yy1537;
+ goto yy1417;
+ }
+ }
+ yy1431:
+ yych = *++p;
+ if (yych <= 'S') {
+ if (yych <= 'D') {
+ if (yych == '1')
+ goto yy1455;
+ goto yy1417;
+ } else {
+ if (yych <= 'E')
+ goto yy1532;
+ if (yych == 'R')
+ goto yy1455;
+ goto yy1417;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'T')
+ goto yy1531;
+ if (yych == 'e')
+ goto yy1532;
+ goto yy1417;
+ } else {
+ if (yych <= 'r')
+ goto yy1455;
+ if (yych == 't')
+ goto yy1531;
+ goto yy1417;
+ }
+ }
+ yy1432:
+ yych = *++p;
+ if (yych <= 'I') {
+ if (yych == 'E')
+ goto yy1526;
+ if (yych <= 'H')
+ goto yy1417;
+ goto yy1525;
+ } else {
+ if (yych <= 'e') {
+ if (yych <= 'd')
+ goto yy1417;
+ goto yy1526;
+ } else {
+ if (yych == 'i')
+ goto yy1525;
+ goto yy1417;
+ }
+ }
+ yy1433:
+ yych = *++p;
+ if (yych <= 'E') {
+ if (yych == 'A')
+ goto yy1517;
+ if (yych <= 'D')
+ goto yy1417;
+ goto yy1516;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy1417;
+ goto yy1517;
+ } else {
+ if (yych == 'e')
+ goto yy1516;
+ goto yy1417;
+ }
+ }
+ yy1434:
+ yych = *++p;
+ if (yych <= 'O') {
+ if (yych == 'A')
+ goto yy1510;
+ if (yych <= 'N')
+ goto yy1417;
+ goto yy1509;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy1417;
+ goto yy1510;
+ } else {
+ if (yych == 'o')
+ goto yy1509;
+ goto yy1417;
+ }
+ }
+ yy1435:
+ yych = *++p;
+ if (yych <= 'P') {
+ if (yych == 'L')
+ goto yy1455;
+ if (yych <= 'O')
+ goto yy1417;
+ goto yy1501;
+ } else {
+ if (yych <= 'l') {
+ if (yych <= 'k')
+ goto yy1417;
+ goto yy1455;
+ } else {
+ if (yych == 'p')
+ goto yy1501;
+ goto yy1417;
+ }
+ }
+ yy1436:
+ yych = *++p;
+ if (yych <= 'U') {
+ if (yych <= 'E') {
+ if (yych == 'C')
+ goto yy1478;
+ if (yych <= 'D')
+ goto yy1417;
+ goto yy1481;
+ } else {
+ if (yych <= 'O') {
+ if (yych <= 'N')
+ goto yy1417;
+ goto yy1480;
+ } else {
+ if (yych <= 'S')
+ goto yy1417;
+ if (yych <= 'T')
+ goto yy1477;
+ goto yy1479;
+ }
+ }
+ } else {
+ if (yych <= 'n') {
+ if (yych <= 'c') {
+ if (yych <= 'b')
+ goto yy1417;
+ goto yy1478;
+ } else {
+ if (yych == 'e')
+ goto yy1481;
+ goto yy1417;
+ }
+ } else {
+ if (yych <= 's') {
+ if (yych <= 'o')
+ goto yy1480;
+ goto yy1417;
+ } else {
+ if (yych <= 't')
+ goto yy1477;
+ if (yych <= 'u')
+ goto yy1479;
+ goto yy1417;
+ }
+ }
+ }
+ yy1437:
+ yych = *++p;
+ switch (yych) {
+ case 'A':
+ case 'a':
+ goto yy1464;
+ case 'B':
+ case 'b':
+ goto yy1463;
+ case 'D':
+ case 'd':
+ goto yy1455;
+ case 'F':
+ case 'f':
+ goto yy1462;
+ case 'H':
+ case 'h':
+ goto yy1461;
+ case 'I':
+ case 'i':
+ goto yy1460;
+ case 'R':
+ case 'r':
+ goto yy1459;
+ default:
+ goto yy1417;
+ }
+ yy1438:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy1455;
+ if (yych == 'l')
+ goto yy1455;
+ goto yy1417;
+ yy1439:
+ yych = *++p;
+ if (yych <= '@') {
+ if (yych == '-')
+ goto yy1442;
+ goto yy1417;
+ } else {
+ if (yych <= 'Z')
+ goto yy1443;
+ if (yych <= '[')
+ goto yy1445;
+ goto yy1417;
+ }
+ yy1440:
+ ++p;
+ { return 3; }
+ yy1442:
+ yych = *++p;
+ if (yych == '-')
+ goto yy1453;
+ goto yy1417;
+ yy1443:
+ ++p;
+ { return 4; }
+ yy1445:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy1446;
+ if (yych != 'c')
+ goto yy1417;
+ yy1446:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy1447;
+ if (yych != 'd')
+ goto yy1417;
+ yy1447:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy1448;
+ if (yych != 'a')
+ goto yy1417;
+ yy1448:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1449;
+ if (yych != 't')
+ goto yy1417;
+ yy1449:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy1450;
+ if (yych != 'a')
+ goto yy1417;
+ yy1450:
+ yych = *++p;
+ if (yych != '[')
+ goto yy1417;
+ ++p;
+ { return 5; }
+ yy1453:
+ ++p;
+ { return 2; }
+ yy1455:
+ yych = *++p;
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy1417;
+ if (yych <= '\r')
+ goto yy1456;
+ if (yych <= 0x1F)
+ goto yy1417;
+ } else {
+ if (yych <= '/') {
+ if (yych <= '.')
+ goto yy1417;
+ goto yy1458;
+ } else {
+ if (yych != '>')
+ goto yy1417;
+ }
+ }
+ yy1456:
+ ++p;
+ { return 6; }
+ yy1458:
+ yych = *++p;
+ if (yych == '>')
+ goto yy1456;
+ goto yy1417;
+ yy1459:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy1417;
+ if (yych <= '\r')
+ goto yy1456;
+ goto yy1417;
+ } else {
+ if (yych <= ' ')
+ goto yy1456;
+ if (yych <= '.')
+ goto yy1417;
+ goto yy1458;
+ }
+ } else {
+ if (yych <= '@') {
+ if (yych == '>')
+ goto yy1456;
+ goto yy1417;
+ } else {
+ if (yych <= 'A')
+ goto yy1475;
+ if (yych == 'a')
+ goto yy1475;
+ goto yy1417;
+ }
+ }
+ yy1460:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1473;
+ if (yych == 't')
+ goto yy1473;
+ goto yy1417;
+ yy1461:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy1417;
+ if (yych <= '\r')
+ goto yy1456;
+ goto yy1417;
+ } else {
+ if (yych <= ' ')
+ goto yy1456;
+ if (yych <= '.')
+ goto yy1417;
+ goto yy1458;
+ }
+ } else {
+ if (yych <= 'D') {
+ if (yych == '>')
+ goto yy1456;
+ goto yy1417;
+ } else {
+ if (yych <= 'E')
+ goto yy1471;
+ if (yych == 'e')
+ goto yy1471;
+ goto yy1417;
+ }
+ }
+ yy1462:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy1469;
+ if (yych == 'o')
+ goto yy1469;
+ goto yy1417;
+ yy1463:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy1467;
+ if (yych == 'o')
+ goto yy1467;
+ goto yy1417;
+ yy1464:
+ yych = *++p;
+ if (yych == 'B')
+ goto yy1465;
+ if (yych != 'b')
+ goto yy1417;
+ yy1465:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy1466;
+ if (yych != 'l')
+ goto yy1417;
+ yy1466:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1455;
+ if (yych == 'e')
+ goto yy1455;
+ goto yy1417;
+ yy1467:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy1468;
+ if (yych != 'd')
+ goto yy1417;
+ yy1468:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy1455;
+ if (yych == 'y')
+ goto yy1455;
+ goto yy1417;
+ yy1469:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy1470;
+ if (yych != 'o')
+ goto yy1417;
+ yy1470:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1455;
+ if (yych == 't')
+ goto yy1455;
+ goto yy1417;
+ yy1471:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy1472;
+ if (yych != 'a')
+ goto yy1417;
+ yy1472:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy1455;
+ if (yych == 'd')
+ goto yy1455;
+ goto yy1417;
+ yy1473:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy1474;
+ if (yych != 'l')
+ goto yy1417;
+ yy1474:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1455;
+ if (yych == 'e')
+ goto yy1455;
+ goto yy1417;
+ yy1475:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy1476;
+ if (yych != 'c')
+ goto yy1417;
+ yy1476:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy1455;
+ if (yych == 'k')
+ goto yy1455;
+ goto yy1417;
+ yy1477:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy1499;
+ if (yych == 'y')
+ goto yy1499;
+ goto yy1417;
+ yy1478:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy1493;
+ if (yych == 'r')
+ goto yy1493;
+ goto yy1417;
+ yy1479:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy1489;
+ if (yych == 'm')
+ goto yy1489;
+ goto yy1417;
+ yy1480:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy1486;
+ if (yych == 'u')
+ goto yy1486;
+ goto yy1417;
+ yy1481:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy1482;
+ if (yych != 'c')
+ goto yy1417;
+ yy1482:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1483;
+ if (yych != 't')
+ goto yy1417;
+ yy1483:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy1484;
+ if (yych != 'i')
+ goto yy1417;
+ yy1484:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy1485;
+ if (yych != 'o')
+ goto yy1417;
+ yy1485:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy1455;
+ if (yych == 'n')
+ goto yy1455;
+ goto yy1417;
+ yy1486:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy1487;
+ if (yych != 'r')
+ goto yy1417;
+ yy1487:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy1488;
+ if (yych != 'c')
+ goto yy1417;
+ yy1488:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1455;
+ if (yych == 'e')
+ goto yy1455;
+ goto yy1417;
+ yy1489:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy1490;
+ if (yych != 'm')
+ goto yy1417;
+ yy1490:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy1491;
+ if (yych != 'a')
+ goto yy1417;
+ yy1491:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy1492;
+ if (yych != 'r')
+ goto yy1417;
+ yy1492:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy1455;
+ if (yych == 'y')
+ goto yy1455;
+ goto yy1417;
+ yy1493:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy1494;
+ if (yych != 'i')
+ goto yy1417;
+ yy1494:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy1495;
+ if (yych != 'p')
+ goto yy1417;
+ yy1495:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1496;
+ if (yych != 't')
+ goto yy1417;
+ yy1496:
+ yych = *++p;
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy1417;
+ if (yych >= 0x0E)
+ goto yy1417;
+ } else {
+ if (yych <= ' ')
+ goto yy1497;
+ if (yych != '>')
+ goto yy1417;
+ }
+ yy1497:
+ ++p;
+ yy1498 : { return 1; }
+ yy1499:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy1500;
+ if (yych != 'l')
+ goto yy1417;
+ yy1500:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1496;
+ if (yych == 'e')
+ goto yy1496;
+ goto yy1417;
+ yy1501:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1502;
+ if (yych != 't')
+ goto yy1417;
+ yy1502:
+ yych = *++p;
+ if (yych <= 'I') {
+ if (yych == 'G')
+ goto yy1504;
+ if (yych <= 'H')
+ goto yy1417;
+ } else {
+ if (yych <= 'g') {
+ if (yych <= 'f')
+ goto yy1417;
+ goto yy1504;
+ } else {
+ if (yych != 'i')
+ goto yy1417;
+ }
+ }
+ yych = *++p;
+ if (yych == 'O')
+ goto yy1508;
+ if (yych == 'o')
+ goto yy1508;
+ goto yy1417;
+ yy1504:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy1505;
+ if (yych != 'r')
+ goto yy1417;
+ yy1505:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy1506;
+ if (yych != 'o')
+ goto yy1417;
+ yy1506:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy1507;
+ if (yych != 'u')
+ goto yy1417;
+ yy1507:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy1455;
+ if (yych == 'p')
+ goto yy1455;
+ goto yy1417;
+ yy1508:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy1455;
+ if (yych == 'n')
+ goto yy1455;
+ goto yy1417;
+ yy1509:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy1511;
+ if (yych == 'f')
+ goto yy1511;
+ goto yy1417;
+ yy1510:
+ yych = *++p;
+ if (yych == 'V')
+ goto yy1455;
+ if (yych == 'v')
+ goto yy1455;
+ goto yy1417;
+ yy1511:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy1512;
+ if (yych != 'r')
+ goto yy1417;
+ yy1512:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy1513;
+ if (yych != 'a')
+ goto yy1417;
+ yy1513:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy1514;
+ if (yych != 'm')
+ goto yy1417;
+ yy1514:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1515;
+ if (yych != 'e')
+ goto yy1417;
+ yy1515:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy1455;
+ if (yych == 's')
+ goto yy1455;
+ goto yy1417;
+ yy1516:
+ yych = *++p;
+ if (yych <= 'T') {
+ if (yych == 'N')
+ goto yy1519;
+ if (yych <= 'S')
+ goto yy1417;
+ goto yy1520;
+ } else {
+ if (yych <= 'n') {
+ if (yych <= 'm')
+ goto yy1417;
+ goto yy1519;
+ } else {
+ if (yych == 't')
+ goto yy1520;
+ goto yy1417;
+ }
+ }
+ yy1517:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy1518;
+ if (yych != 'i')
+ goto yy1417;
+ yy1518:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy1455;
+ if (yych == 'n')
+ goto yy1455;
+ goto yy1417;
+ yy1519:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy1521;
+ if (yych == 'u')
+ goto yy1521;
+ goto yy1417;
+ yy1520:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy1455;
+ if (yych == 'a')
+ goto yy1455;
+ goto yy1417;
+ yy1521:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy1417;
+ if (yych <= '\r')
+ goto yy1456;
+ goto yy1417;
+ } else {
+ if (yych <= ' ')
+ goto yy1456;
+ if (yych <= '.')
+ goto yy1417;
+ goto yy1458;
+ }
+ } else {
+ if (yych <= 'H') {
+ if (yych == '>')
+ goto yy1456;
+ goto yy1417;
+ } else {
+ if (yych <= 'I')
+ goto yy1522;
+ if (yych != 'i')
+ goto yy1417;
+ }
+ }
+ yy1522:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1523;
+ if (yych != 't')
+ goto yy1417;
+ yy1523:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1524;
+ if (yych != 'e')
+ goto yy1417;
+ yy1524:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy1455;
+ if (yych == 'm')
+ goto yy1455;
+ goto yy1417;
+ yy1525:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy1417;
+ if (yych <= '\r')
+ goto yy1456;
+ goto yy1417;
+ } else {
+ if (yych <= ' ')
+ goto yy1456;
+ if (yych <= '.')
+ goto yy1417;
+ goto yy1458;
+ }
+ } else {
+ if (yych <= 'M') {
+ if (yych == '>')
+ goto yy1456;
+ goto yy1417;
+ } else {
+ if (yych <= 'N')
+ goto yy1530;
+ if (yych == 'n')
+ goto yy1530;
+ goto yy1417;
+ }
+ }
+ yy1526:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy1527;
+ if (yych != 'g')
+ goto yy1417;
+ yy1527:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1528;
+ if (yych != 'e')
+ goto yy1417;
+ yy1528:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy1529;
+ if (yych != 'n')
+ goto yy1417;
+ yy1529:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy1455;
+ if (yych == 'd')
+ goto yy1455;
+ goto yy1417;
+ yy1530:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy1455;
+ if (yych == 'k')
+ goto yy1455;
+ goto yy1417;
+ yy1531:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy1536;
+ if (yych == 'm')
+ goto yy1536;
+ goto yy1417;
+ yy1532:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy1533;
+ if (yych != 'a')
+ goto yy1417;
+ yy1533:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy1534;
+ if (yych != 'd')
+ goto yy1417;
+ yy1534:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy1417;
+ if (yych <= '\r')
+ goto yy1456;
+ goto yy1417;
+ } else {
+ if (yych <= ' ')
+ goto yy1456;
+ if (yych <= '.')
+ goto yy1417;
+ goto yy1458;
+ }
+ } else {
+ if (yych <= 'D') {
+ if (yych == '>')
+ goto yy1456;
+ goto yy1417;
+ } else {
+ if (yych <= 'E')
+ goto yy1535;
+ if (yych != 'e')
+ goto yy1417;
+ }
+ }
+ yy1535:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy1455;
+ if (yych == 'r')
+ goto yy1455;
+ goto yy1417;
+ yy1536:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy1455;
+ if (yych == 'l')
+ goto yy1455;
+ goto yy1417;
+ yy1537:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy1558;
+ if (yych == 'a')
+ goto yy1558;
+ goto yy1417;
+ yy1538:
+ yych = *++p;
+ if (yych <= 'R') {
+ if (yych == 'O')
+ goto yy1554;
+ if (yych <= 'Q')
+ goto yy1417;
+ goto yy1555;
+ } else {
+ if (yych <= 'o') {
+ if (yych <= 'n')
+ goto yy1417;
+ goto yy1554;
+ } else {
+ if (yych == 'r')
+ goto yy1555;
+ goto yy1417;
+ }
+ }
+ yy1539:
+ yych = *++p;
+ if (yych <= 'G') {
+ if (yych == 'E')
+ goto yy1540;
+ if (yych <= 'F')
+ goto yy1417;
+ goto yy1541;
+ } else {
+ if (yych <= 'e') {
+ if (yych <= 'd')
+ goto yy1417;
+ } else {
+ if (yych == 'g')
+ goto yy1541;
+ goto yy1417;
+ }
+ }
+ yy1540:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy1550;
+ if (yych == 'l')
+ goto yy1550;
+ goto yy1417;
+ yy1541:
+ yych = *++p;
+ if (yych <= 'U') {
+ if (yych == 'C')
+ goto yy1543;
+ if (yych <= 'T')
+ goto yy1417;
+ } else {
+ if (yych <= 'c') {
+ if (yych <= 'b')
+ goto yy1417;
+ goto yy1543;
+ } else {
+ if (yych != 'u')
+ goto yy1417;
+ }
+ }
+ yych = *++p;
+ if (yych == 'R')
+ goto yy1549;
+ if (yych == 'r')
+ goto yy1549;
+ goto yy1417;
+ yy1543:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy1544;
+ if (yych != 'a')
+ goto yy1417;
+ yy1544:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy1545;
+ if (yych != 'p')
+ goto yy1417;
+ yy1545:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1546;
+ if (yych != 't')
+ goto yy1417;
+ yy1546:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy1547;
+ if (yych != 'i')
+ goto yy1417;
+ yy1547:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy1548;
+ if (yych != 'o')
+ goto yy1417;
+ yy1548:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy1455;
+ if (yych == 'n')
+ goto yy1455;
+ goto yy1417;
+ yy1549:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1455;
+ if (yych == 'e')
+ goto yy1455;
+ goto yy1417;
+ yy1550:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy1551;
+ if (yych != 'd')
+ goto yy1417;
+ yy1551:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy1552;
+ if (yych != 's')
+ goto yy1417;
+ yy1552:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1553;
+ if (yych != 'e')
+ goto yy1417;
+ yy1553:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1455;
+ if (yych == 't')
+ goto yy1455;
+ goto yy1417;
+ yy1554:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1556;
+ if (yych == 't')
+ goto yy1556;
+ goto yy1417;
+ yy1555:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy1455;
+ if (yych == 'm')
+ goto yy1455;
+ goto yy1417;
+ yy1556:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1557;
+ if (yych != 'e')
+ goto yy1417;
+ yy1557:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy1455;
+ if (yych == 'r')
+ goto yy1455;
+ goto yy1417;
+ yy1558:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy1559;
+ if (yych != 'm')
+ goto yy1417;
+ yy1559:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1560;
+ if (yych != 'e')
+ goto yy1417;
+ yy1560:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy1417;
+ if (yych <= '\r')
+ goto yy1456;
+ goto yy1417;
+ } else {
+ if (yych <= ' ')
+ goto yy1456;
+ if (yych <= '.')
+ goto yy1417;
+ goto yy1458;
+ }
+ } else {
+ if (yych <= 'R') {
+ if (yych == '>')
+ goto yy1456;
+ goto yy1417;
+ } else {
+ if (yych <= 'S')
+ goto yy1561;
+ if (yych != 's')
+ goto yy1417;
+ }
+ }
+ yy1561:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1562;
+ if (yych != 'e')
+ goto yy1417;
+ yy1562:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1455;
+ if (yych == 't')
+ goto yy1455;
+ goto yy1417;
+ yy1563:
+ yych = *++p;
+ if (yych <= 'V') {
+ if (yych <= 'Q') {
+ if (yych == 'A')
+ goto yy1569;
+ goto yy1417;
+ } else {
+ if (yych <= 'R')
+ goto yy1455;
+ if (yych <= 'U')
+ goto yy1417;
+ goto yy1455;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych == 'a')
+ goto yy1569;
+ goto yy1417;
+ } else {
+ if (yych <= 'r')
+ goto yy1455;
+ if (yych == 'v')
+ goto yy1455;
+ goto yy1417;
+ }
+ }
+ yy1564:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1565;
+ if (yych != 't')
+ goto yy1417;
+ yy1565:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy1566;
+ if (yych != 'a')
+ goto yy1417;
+ yy1566:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy1567;
+ if (yych != 'i')
+ goto yy1417;
+ yy1567:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy1568;
+ if (yych != 'l')
+ goto yy1417;
+ yy1568:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy1455;
+ if (yych == 's')
+ goto yy1455;
+ goto yy1417;
+ yy1569:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy1570;
+ if (yych != 'l')
+ goto yy1417;
+ yy1570:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy1571;
+ if (yych != 'o')
+ goto yy1417;
+ yy1571:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy1455;
+ if (yych == 'g')
+ goto yy1455;
+ goto yy1417;
+ yy1572:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy1582;
+ if (yych == 'l')
+ goto yy1582;
+ goto yy1417;
+ yy1573:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy1579;
+ if (yych == 'n')
+ goto yy1579;
+ goto yy1417;
+ yy1574:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy1575;
+ if (yych != 'p')
+ goto yy1417;
+ yy1575:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1576;
+ if (yych != 't')
+ goto yy1417;
+ yy1576:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy1577;
+ if (yych != 'i')
+ goto yy1417;
+ yy1577:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy1578;
+ if (yych != 'o')
+ goto yy1417;
+ yy1578:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy1455;
+ if (yych == 'n')
+ goto yy1455;
+ goto yy1417;
+ yy1579:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1580;
+ if (yych != 't')
+ goto yy1417;
+ yy1580:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1581;
+ if (yych != 'e')
+ goto yy1417;
+ yy1581:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy1455;
+ if (yych == 'r')
+ goto yy1455;
+ goto yy1417;
+ yy1582:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy1417;
+ if (yych <= '\r')
+ goto yy1456;
+ goto yy1417;
+ } else {
+ if (yych <= ' ')
+ goto yy1456;
+ if (yych <= '.')
+ goto yy1417;
+ goto yy1458;
+ }
+ } else {
+ if (yych <= 'F') {
+ if (yych == '>')
+ goto yy1456;
+ goto yy1417;
+ } else {
+ if (yych <= 'G')
+ goto yy1583;
+ if (yych != 'g')
+ goto yy1417;
+ }
+ }
+ yy1583:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy1584;
+ if (yych != 'r')
+ goto yy1417;
+ yy1584:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy1585;
+ if (yych != 'o')
+ goto yy1417;
+ yy1585:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy1586;
+ if (yych != 'u')
+ goto yy1417;
+ yy1586:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy1455;
+ if (yych == 'p')
+ goto yy1455;
+ goto yy1417;
+ yy1587:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy1602;
+ if (yych == 'd')
+ goto yy1602;
+ goto yy1417;
+ yy1588:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy1595;
+ if (yych == 'o')
+ goto yy1595;
+ goto yy1417;
+ yy1589:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy1590;
+ if (yych != 's')
+ goto yy1417;
+ yy1590:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1591;
+ if (yych != 'e')
+ goto yy1417;
+ yy1591:
+ yych = *++p;
+ if (yych <= '/') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08)
+ goto yy1417;
+ if (yych <= '\r')
+ goto yy1456;
+ goto yy1417;
+ } else {
+ if (yych <= ' ')
+ goto yy1456;
+ if (yych <= '.')
+ goto yy1417;
+ goto yy1458;
+ }
+ } else {
+ if (yych <= 'E') {
+ if (yych == '>')
+ goto yy1456;
+ goto yy1417;
+ } else {
+ if (yych <= 'F')
+ goto yy1592;
+ if (yych != 'f')
+ goto yy1417;
+ }
+ }
+ yy1592:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy1593;
+ if (yych != 'o')
+ goto yy1417;
+ yy1593:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy1594;
+ if (yych != 'n')
+ goto yy1417;
+ yy1594:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1455;
+ if (yych == 't')
+ goto yy1455;
+ goto yy1417;
+ yy1595:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy1596;
+ if (yych != 'c')
+ goto yy1417;
+ yy1596:
+ yych = *++p;
+ if (yych == 'K')
+ goto yy1597;
+ if (yych != 'k')
+ goto yy1417;
+ yy1597:
+ yych = *++p;
+ if (yych == 'Q')
+ goto yy1598;
+ if (yych != 'q')
+ goto yy1417;
+ yy1598:
+ yych = *++p;
+ if (yych == 'U')
+ goto yy1599;
+ if (yych != 'u')
+ goto yy1417;
+ yy1599:
+ yych = *++p;
+ if (yych == 'O')
+ goto yy1600;
+ if (yych != 'o')
+ goto yy1417;
+ yy1600:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1601;
+ if (yych != 't')
+ goto yy1417;
+ yy1601:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1455;
+ if (yych == 'e')
+ goto yy1455;
+ goto yy1417;
+ yy1602:
+ yych = *++p;
+ if (yych == 'Y')
+ goto yy1455;
+ if (yych == 'y')
+ goto yy1455;
+ goto yy1417;
+ yy1603:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy1614;
+ if (yych == 'i')
+ goto yy1614;
+ goto yy1417;
+ yy1604:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy1610;
+ if (yych == 't')
+ goto yy1610;
+ goto yy1417;
+ yy1605:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy1606;
+ if (yych != 'd')
+ goto yy1417;
+ yy1606:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy1607;
+ if (yych != 'r')
+ goto yy1417;
+ yy1607:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1608;
+ if (yych != 'e')
+ goto yy1417;
+ yy1608:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy1609;
+ if (yych != 's')
+ goto yy1417;
+ yy1609:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy1455;
+ if (yych == 's')
+ goto yy1455;
+ goto yy1417;
+ yy1610:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy1611;
+ if (yych != 'i')
+ goto yy1417;
+ yy1611:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy1612;
+ if (yych != 'c')
+ goto yy1417;
+ yy1612:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy1613;
+ if (yych != 'l')
+ goto yy1417;
+ yy1613:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1455;
+ if (yych == 'e')
+ goto yy1455;
+ goto yy1417;
+ yy1614:
+ yych = *++p;
+ if (yych == 'D')
+ goto yy1615;
+ if (yych != 'd')
+ goto yy1417;
+ yy1615:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1455;
+ if (yych == 'e')
+ goto yy1455;
+ goto yy1417;
+ yy1616:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy1620;
+ if (yych == 'e')
+ goto yy1620;
+ goto yy1417;
+ yy1617:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy1618;
+ if (yych != 'r')
+ goto yy1417;
+ yy1618:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy1619;
+ if (yych != 'a')
+ goto yy1417;
+ yy1619:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy1455;
+ if (yych == 'm')
+ goto yy1455;
+ goto yy1417;
+ yy1620:
+ yych = *++p;
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy1417;
+ if (yych <= '\r')
+ goto yy1621;
+ if (yych <= 0x1F)
+ goto yy1417;
+ } else {
+ if (yych <= '/') {
+ if (yych <= '.')
+ goto yy1417;
+ goto yy1458;
+ } else {
+ if (yych != '>')
+ goto yy1417;
+ }
+ }
+ yy1621:
+ yych = *++p;
+ goto yy1498;
+ yy1622:
+ yych = *++p;
+ if (yych <= '>') {
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy1417;
+ if (yych <= '\r')
+ goto yy1456;
+ if (yych <= 0x1F)
+ goto yy1417;
+ goto yy1456;
+ } else {
+ if (yych == '/')
+ goto yy1458;
+ if (yych <= '=')
+ goto yy1417;
+ goto yy1456;
+ }
+ } else {
+ if (yych <= 'R') {
+ if (yych == 'A')
+ goto yy1617;
+ if (yych <= 'Q')
+ goto yy1417;
+ goto yy1624;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`')
+ goto yy1417;
+ goto yy1617;
+ } else {
+ if (yych == 'r')
+ goto yy1624;
+ goto yy1417;
+ }
+ }
+ }
+ yy1623:
+ yych = *++p;
+ if (yych <= 'U') {
+ if (yych <= 'N') {
+ if (yych == 'E')
+ goto yy1481;
+ goto yy1417;
+ } else {
+ if (yych <= 'O')
+ goto yy1480;
+ if (yych <= 'T')
+ goto yy1417;
+ goto yy1479;
+ }
+ } else {
+ if (yych <= 'n') {
+ if (yych == 'e')
+ goto yy1481;
+ goto yy1417;
+ } else {
+ if (yych <= 'o')
+ goto yy1480;
+ if (yych == 'u')
+ goto yy1479;
+ goto yy1417;
+ }
+ }
+ yy1624:
+ ++p;
+ if ((yych = *p) == 'E')
+ goto yy1455;
+ if (yych == 'e')
+ goto yy1455;
+ goto yy1417;
+ }
}
// 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, 202, 194, 198, 194, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 198, 224, 64, 224, 224, 224, 224, 128,
- 224, 224, 224, 224, 224, 241, 240, 224,
- 241, 241, 241, 241, 241, 241, 241, 241,
- 241, 241, 240, 224, 192, 192, 192, 224,
- 224, 241, 241, 241, 241, 241, 241, 241,
- 241, 241, 241, 241, 241, 241, 241, 241,
- 241, 241, 241, 241, 241, 241, 241, 241,
- 241, 241, 241, 224, 224, 224, 224, 240,
- 192, 241, 241, 241, 241, 241, 241, 241,
- 241, 241, 241, 241, 241, 241, 241, 241,
- 241, 241, 241, 241, 241, 241, 241, 241,
- 241, 241, 241, 224, 224, 224, 224, 224,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *(marker = p);
- if (yych <= 0xDF) {
- if (yych <= ';') {
- if (yych != '\n') goto yy1629;
- } else {
- if (yych <= '<') goto yy1628;
- if (yych <= 0x7F) goto yy1629;
- if (yych >= 0xC2) goto yy1630;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1632;
- if (yych == 0xED) goto yy1637;
- goto yy1633;
- } else {
- if (yych <= 0xF0) goto yy1634;
- if (yych <= 0xF3) goto yy1635;
- if (yych <= 0xF4) goto yy1636;
- }
- }
-yy1627:
- { return 0; }
-yy1628:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= '@') {
- if (yych == '/') goto yy1640;
- goto yy1627;
- } else {
- if (yych <= 'Z') goto yy1638;
- if (yych <= '`') goto yy1627;
- if (yych <= 'z') goto yy1638;
- goto yy1627;
- }
-yy1629:
- yych = *++p;
- goto yy1627;
-yy1630:
- yych = *++p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0xBF) goto yy1629;
-yy1631:
- p = marker;
- if (yyaccept == 0) {
- goto yy1627;
- } else {
- goto yy1649;
- }
-yy1632:
- yych = *++p;
- if (yych <= 0x9F) goto yy1631;
- if (yych <= 0xBF) goto yy1630;
- goto yy1631;
-yy1633:
- yych = *++p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0xBF) goto yy1630;
- goto yy1631;
-yy1634:
- yych = *++p;
- if (yych <= 0x8F) goto yy1631;
- if (yych <= 0xBF) goto yy1633;
- goto yy1631;
-yy1635:
- yych = *++p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0xBF) goto yy1633;
- goto yy1631;
-yy1636:
- yych = *++p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0x8F) goto yy1633;
- goto yy1631;
-yy1637:
- yych = *++p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0x9F) goto yy1630;
- goto yy1631;
-yy1638:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 1) {
- goto yy1638;
- }
- if (yych <= ' ') {
- if (yych <= 0x08) goto yy1631;
- if (yych <= '\r') goto yy1651;
- if (yych <= 0x1F) goto yy1631;
- goto yy1651;
- } else {
- if (yych <= '/') {
- if (yych <= '.') goto yy1631;
- goto yy1653;
- } else {
- if (yych == '>') goto yy1645;
- goto yy1631;
- }
- }
-yy1640:
- yych = *++p;
- if (yych <= '@') goto yy1631;
- if (yych <= 'Z') goto yy1641;
- if (yych <= '`') goto yy1631;
- if (yych >= '{') goto yy1631;
-yy1641:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 2) {
- goto yy1643;
- }
- if (yych <= '=') {
- if (yych <= '-') {
- if (yych <= ',') goto yy1631;
- goto yy1641;
- } else {
- if (yych <= '/') goto yy1631;
- if (yych <= '9') goto yy1641;
- goto yy1631;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '>') goto yy1645;
- if (yych <= '@') goto yy1631;
- goto yy1641;
- } else {
- if (yych <= '`') goto yy1631;
- if (yych <= 'z') goto yy1641;
- goto yy1631;
- }
- }
-yy1643:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 2) {
- goto yy1643;
- }
- if (yych != '>') goto yy1631;
-yy1645:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 4) {
- goto yy1645;
- }
- if (yych <= 0x08) goto yy1631;
- if (yych <= '\n') goto yy1647;
- if (yych <= '\v') goto yy1631;
- if (yych <= '\r') goto yy1650;
- goto yy1631;
-yy1647:
- yyaccept = 1;
- marker = ++p;
- yych = *p;
- if (yybm[0+yych] & 4) {
- goto yy1645;
- }
- if (yych <= 0x08) goto yy1649;
- if (yych <= '\n') goto yy1647;
- if (yych <= '\v') goto yy1649;
- if (yych <= '\r') goto yy1650;
-yy1649:
- { return 7; }
-yy1650:
- yych = *++p;
- goto yy1649;
-yy1651:
- ++p;
- yych = *p;
- if (yych <= ':') {
- if (yych <= ' ') {
- if (yych <= 0x08) goto yy1631;
- if (yych <= '\r') goto yy1651;
- if (yych <= 0x1F) goto yy1631;
- goto yy1651;
- } else {
- if (yych == '/') goto yy1653;
- if (yych <= '9') goto yy1631;
- goto yy1654;
- }
- } else {
- if (yych <= 'Z') {
- if (yych == '>') goto yy1645;
- if (yych <= '@') goto yy1631;
- goto yy1654;
- } else {
- if (yych <= '_') {
- if (yych <= '^') goto yy1631;
- goto yy1654;
- } else {
- if (yych <= '`') goto yy1631;
- if (yych <= 'z') goto yy1654;
- goto yy1631;
- }
- }
- }
-yy1653:
- yych = *++p;
- if (yych == '>') goto yy1645;
- goto yy1631;
-yy1654:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 16) {
- goto yy1654;
- }
- if (yych <= ',') {
- if (yych <= '\r') {
- if (yych <= 0x08) goto yy1631;
- } else {
- if (yych != ' ') goto yy1631;
- }
- } else {
- if (yych <= '<') {
- if (yych <= '/') goto yy1653;
- goto yy1631;
- } else {
- if (yych <= '=') goto yy1658;
- if (yych <= '>') goto yy1645;
- goto yy1631;
- }
- }
-yy1656:
- ++p;
- yych = *p;
- if (yych <= '<') {
- if (yych <= ' ') {
- if (yych <= 0x08) goto yy1631;
- if (yych <= '\r') goto yy1656;
- if (yych <= 0x1F) goto yy1631;
- goto yy1656;
- } else {
- if (yych <= '/') {
- if (yych <= '.') goto yy1631;
- goto yy1653;
- } else {
- if (yych == ':') goto yy1654;
- goto yy1631;
- }
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '=') goto yy1658;
- if (yych <= '>') goto yy1645;
- if (yych <= '@') goto yy1631;
- goto yy1654;
- } else {
- if (yych <= '_') {
- if (yych <= '^') goto yy1631;
- goto yy1654;
- } else {
- if (yych <= '`') goto yy1631;
- if (yych <= 'z') goto yy1654;
- goto yy1631;
- }
- }
- }
-yy1658:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 32) {
- goto yy1660;
- }
- if (yych <= 0xE0) {
- if (yych <= '"') {
- if (yych <= 0x00) goto yy1631;
- if (yych >= '!') goto yy1671;
- } else {
- if (yych <= '\'') goto yy1669;
- if (yych <= 0xC1) goto yy1631;
- if (yych <= 0xDF) goto yy1662;
- goto yy1663;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1668;
- goto yy1664;
- } else {
- if (yych <= 0xF0) goto yy1665;
- if (yych <= 0xF3) goto yy1666;
- if (yych <= 0xF4) goto yy1667;
- goto yy1631;
- }
- }
- ++p;
- yych = *p;
- if (yybm[0+yych] & 32) {
- goto yy1660;
- }
- if (yych <= 0xDF) {
- if (yych <= '\'') {
- if (yych <= 0x00) goto yy1631;
- if (yych <= ' ') goto yy1694;
- if (yych <= '"') goto yy1671;
- goto yy1669;
- } else {
- if (yych == '>') goto yy1645;
- if (yych <= 0xC1) goto yy1631;
- goto yy1662;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1663;
- if (yych == 0xED) goto yy1668;
- goto yy1664;
- } else {
- if (yych <= 0xF0) goto yy1665;
- if (yych <= 0xF3) goto yy1666;
- if (yych <= 0xF4) goto yy1667;
- goto yy1631;
- }
- }
-yy1660:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 32) {
- goto yy1660;
- }
- if (yych <= 0xE0) {
- if (yych <= '=') {
- if (yych <= 0x00) goto yy1631;
- if (yych <= ' ') goto yy1688;
- goto yy1631;
- } else {
- if (yych <= '>') goto yy1645;
- if (yych <= 0xC1) goto yy1631;
- if (yych >= 0xE0) goto yy1663;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1668;
- goto yy1664;
- } else {
- if (yych <= 0xF0) goto yy1665;
- if (yych <= 0xF3) goto yy1666;
- if (yych <= 0xF4) goto yy1667;
- goto yy1631;
- }
- }
-yy1662:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0xBF) goto yy1660;
- goto yy1631;
-yy1663:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1631;
- if (yych <= 0xBF) goto yy1662;
- goto yy1631;
-yy1664:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0xBF) goto yy1662;
- goto yy1631;
-yy1665:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1631;
- if (yych <= 0xBF) goto yy1664;
- goto yy1631;
-yy1666:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0xBF) goto yy1664;
- goto yy1631;
-yy1667:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0x8F) goto yy1664;
- goto yy1631;
-yy1668:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0x9F) goto yy1662;
- goto yy1631;
-yy1669:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1669;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy1631;
- if (yych <= '\'') goto yy1680;
- goto yy1631;
- } else {
- if (yych <= 0xDF) goto yy1681;
- if (yych <= 0xE0) goto yy1682;
- goto yy1683;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1687;
- if (yych <= 0xEF) goto yy1683;
- goto yy1684;
- } else {
- if (yych <= 0xF3) goto yy1685;
- if (yych <= 0xF4) goto yy1686;
- goto yy1631;
- }
- }
-yy1671:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy1671;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy1631;
- if (yych <= '"') goto yy1680;
- goto yy1631;
- } else {
- if (yych <= 0xDF) goto yy1673;
- if (yych <= 0xE0) goto yy1674;
- goto yy1675;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1679;
- if (yych <= 0xEF) goto yy1675;
- goto yy1676;
- } else {
- if (yych <= 0xF3) goto yy1677;
- if (yych <= 0xF4) goto yy1678;
- goto yy1631;
- }
- }
-yy1673:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0xBF) goto yy1671;
- goto yy1631;
-yy1674:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1631;
- if (yych <= 0xBF) goto yy1673;
- goto yy1631;
-yy1675:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0xBF) goto yy1673;
- goto yy1631;
-yy1676:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1631;
- if (yych <= 0xBF) goto yy1675;
- goto yy1631;
-yy1677:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0xBF) goto yy1675;
- goto yy1631;
-yy1678:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0x8F) goto yy1675;
- goto yy1631;
-yy1679:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0x9F) goto yy1673;
- goto yy1631;
-yy1680:
- ++p;
- yych = *p;
- if (yych <= ' ') {
- if (yych <= 0x08) goto yy1631;
- if (yych <= '\r') goto yy1651;
- if (yych <= 0x1F) goto yy1631;
- goto yy1651;
- } else {
- if (yych <= '/') {
- if (yych <= '.') goto yy1631;
- goto yy1653;
- } else {
- if (yych == '>') goto yy1645;
- goto yy1631;
- }
- }
-yy1681:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0xBF) goto yy1669;
- goto yy1631;
-yy1682:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1631;
- if (yych <= 0xBF) goto yy1681;
- goto yy1631;
-yy1683:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0xBF) goto yy1681;
- goto yy1631;
-yy1684:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1631;
- if (yych <= 0xBF) goto yy1683;
- goto yy1631;
-yy1685:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0xBF) goto yy1683;
- goto yy1631;
-yy1686:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0x8F) goto yy1683;
- goto yy1631;
-yy1687:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1631;
- if (yych <= 0x9F) goto yy1681;
- goto yy1631;
-yy1688:
- ++p;
- yych = *p;
- if (yych <= '@') {
- if (yych <= '"') {
- if (yych <= '\r') {
- if (yych <= 0x00) goto yy1631;
- if (yych <= 0x08) goto yy1660;
- goto yy1688;
- } else {
- if (yych == ' ') goto yy1688;
- if (yych <= '!') goto yy1660;
- goto yy1631;
- }
- } else {
- if (yych <= ':') {
- if (yych == '\'') goto yy1631;
- if (yych <= '9') goto yy1660;
- } else {
- if (yych <= ';') goto yy1660;
- if (yych <= '=') goto yy1631;
- if (yych <= '>') goto yy1645;
- goto yy1660;
- }
- }
- } else {
- if (yych <= 0xDF) {
- if (yych <= '`') {
- if (yych <= 'Z') goto yy1690;
- if (yych <= '^') goto yy1660;
- if (yych >= '`') goto yy1631;
- } else {
- if (yych <= 'z') goto yy1690;
- if (yych <= 0x7F) goto yy1660;
- if (yych <= 0xC1) goto yy1631;
- goto yy1662;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1663;
- if (yych == 0xED) goto yy1668;
- goto yy1664;
- } else {
- if (yych <= 0xF0) goto yy1665;
- if (yych <= 0xF3) goto yy1666;
- if (yych <= 0xF4) goto yy1667;
- goto yy1631;
- }
- }
- }
-yy1690:
- ++p;
- yych = *p;
- if (yych <= '>') {
- if (yych <= '&') {
- if (yych <= 0x1F) {
- if (yych <= 0x00) goto yy1631;
- if (yych <= 0x08) goto yy1660;
- if (yych >= 0x0E) goto yy1660;
- } else {
- if (yych <= ' ') goto yy1692;
- if (yych == '"') goto yy1631;
- goto yy1660;
- }
- } else {
- if (yych <= '/') {
- if (yych <= '\'') goto yy1631;
- if (yych <= ',') goto yy1660;
- if (yych <= '.') goto yy1690;
- goto yy1660;
- } else {
- if (yych <= ';') {
- if (yych <= ':') goto yy1690;
- goto yy1660;
- } else {
- if (yych <= '<') goto yy1631;
- if (yych <= '=') goto yy1658;
- goto yy1645;
- }
- }
- }
- } else {
- if (yych <= 0xC1) {
- if (yych <= '_') {
- if (yych <= '@') goto yy1660;
- if (yych <= 'Z') goto yy1690;
- if (yych <= '^') goto yy1660;
- goto yy1690;
- } else {
- if (yych <= '`') goto yy1631;
- if (yych <= 'z') goto yy1690;
- if (yych <= 0x7F) goto yy1660;
- goto yy1631;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy1662;
- if (yych <= 0xE0) goto yy1663;
- if (yych <= 0xEC) goto yy1664;
- goto yy1668;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy1664;
- goto yy1665;
- } else {
- if (yych <= 0xF3) goto yy1666;
- if (yych <= 0xF4) goto yy1667;
- goto yy1631;
- }
- }
- }
- }
-yy1692:
- ++p;
- yych = *p;
- if (yych <= '@') {
- if (yych <= '&') {
- if (yych <= 0x1F) {
- if (yych <= 0x00) goto yy1631;
- if (yych <= 0x08) goto yy1660;
- if (yych <= '\r') goto yy1692;
- goto yy1660;
- } else {
- if (yych <= ' ') goto yy1692;
- if (yych == '"') goto yy1631;
- goto yy1660;
- }
- } else {
- if (yych <= ';') {
- if (yych <= '\'') goto yy1631;
- if (yych == ':') goto yy1690;
- goto yy1660;
- } else {
- if (yych <= '<') goto yy1631;
- if (yych <= '=') goto yy1658;
- if (yych <= '>') goto yy1645;
- goto yy1660;
- }
- }
- } else {
- if (yych <= 0xDF) {
- if (yych <= '`') {
- if (yych <= 'Z') goto yy1690;
- if (yych <= '^') goto yy1660;
- if (yych <= '_') goto yy1690;
- goto yy1631;
- } else {
- if (yych <= 'z') goto yy1690;
- if (yych <= 0x7F) goto yy1660;
- if (yych <= 0xC1) goto yy1631;
- goto yy1662;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1663;
- if (yych == 0xED) goto yy1668;
- goto yy1664;
- } else {
- if (yych <= 0xF0) goto yy1665;
- if (yych <= 0xF3) goto yy1666;
- if (yych <= 0xF4) goto yy1667;
- goto yy1631;
- }
- }
- }
-yy1694:
- ++p;
- yych = *p;
- if (yych <= '@') {
- if (yych <= '"') {
- if (yych <= '\r') {
- if (yych <= 0x00) goto yy1631;
- if (yych <= 0x08) goto yy1660;
- goto yy1694;
- } else {
- if (yych == ' ') goto yy1694;
- if (yych <= '!') goto yy1660;
- goto yy1671;
- }
- } else {
- if (yych <= ':') {
- if (yych == '\'') goto yy1669;
- if (yych <= '9') goto yy1660;
- goto yy1690;
- } else {
- if (yych <= ';') goto yy1660;
- if (yych <= '=') goto yy1631;
- if (yych <= '>') goto yy1645;
- goto yy1660;
- }
- }
- } else {
- if (yych <= 0xDF) {
- if (yych <= '`') {
- if (yych <= 'Z') goto yy1690;
- if (yych <= '^') goto yy1660;
- if (yych <= '_') goto yy1690;
- goto yy1631;
- } else {
- if (yych <= 'z') goto yy1690;
- if (yych <= 0x7F) goto yy1660;
- if (yych <= 0xC1) goto yy1631;
- goto yy1662;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1663;
- if (yych == 0xED) goto yy1668;
- goto yy1664;
- } else {
- if (yych <= 0xF0) goto yy1665;
- if (yych <= 0xF3) goto yy1666;
- if (yych <= 0xF4) goto yy1667;
- goto yy1631;
- }
- }
- }
-}
-
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 224, 224, 224, 224, 224, 224, 224, 224, 198, 202, 194, 198, 194,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 198, 224, 64, 224, 224, 224, 224, 128, 224, 224,
+ 224, 224, 224, 241, 240, 224, 241, 241, 241, 241, 241, 241, 241, 241,
+ 241, 241, 240, 224, 192, 192, 192, 224, 224, 241, 241, 241, 241, 241,
+ 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+ 241, 241, 241, 241, 241, 241, 241, 224, 224, 224, 224, 240, 192, 241,
+ 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+ 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 224, 224, 224,
+ 224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *(marker = p);
+ if (yych <= 0xDF) {
+ if (yych <= ';') {
+ if (yych != '\n')
+ goto yy1629;
+ } else {
+ if (yych <= '<')
+ goto yy1628;
+ if (yych <= 0x7F)
+ goto yy1629;
+ if (yych >= 0xC2)
+ goto yy1630;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1632;
+ if (yych == 0xED)
+ goto yy1637;
+ goto yy1633;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1634;
+ if (yych <= 0xF3)
+ goto yy1635;
+ if (yych <= 0xF4)
+ goto yy1636;
+ }
+ }
+ yy1627 : { return 0; }
+ yy1628:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '@') {
+ if (yych == '/')
+ goto yy1640;
+ goto yy1627;
+ } else {
+ if (yych <= 'Z')
+ goto yy1638;
+ if (yych <= '`')
+ goto yy1627;
+ if (yych <= 'z')
+ goto yy1638;
+ goto yy1627;
+ }
+ yy1629:
+ yych = *++p;
+ goto yy1627;
+ yy1630:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1629;
+ yy1631:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy1627;
+ } else {
+ goto yy1649;
+ }
+ yy1632:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1630;
+ goto yy1631;
+ yy1633:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1630;
+ goto yy1631;
+ yy1634:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1633;
+ goto yy1631;
+ yy1635:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1633;
+ goto yy1631;
+ yy1636:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0x8F)
+ goto yy1633;
+ goto yy1631;
+ yy1637:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0x9F)
+ goto yy1630;
+ goto yy1631;
+ yy1638:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 1) {
+ goto yy1638;
+ }
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy1631;
+ if (yych <= '\r')
+ goto yy1651;
+ if (yych <= 0x1F)
+ goto yy1631;
+ goto yy1651;
+ } else {
+ if (yych <= '/') {
+ if (yych <= '.')
+ goto yy1631;
+ goto yy1653;
+ } else {
+ if (yych == '>')
+ goto yy1645;
+ goto yy1631;
+ }
+ }
+ yy1640:
+ yych = *++p;
+ if (yych <= '@')
+ goto yy1631;
+ if (yych <= 'Z')
+ goto yy1641;
+ if (yych <= '`')
+ goto yy1631;
+ if (yych >= '{')
+ goto yy1631;
+ yy1641:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 2) {
+ goto yy1643;
+ }
+ if (yych <= '=') {
+ if (yych <= '-') {
+ if (yych <= ',')
+ goto yy1631;
+ goto yy1641;
+ } else {
+ if (yych <= '/')
+ goto yy1631;
+ if (yych <= '9')
+ goto yy1641;
+ goto yy1631;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '>')
+ goto yy1645;
+ if (yych <= '@')
+ goto yy1631;
+ goto yy1641;
+ } else {
+ if (yych <= '`')
+ goto yy1631;
+ if (yych <= 'z')
+ goto yy1641;
+ goto yy1631;
+ }
+ }
+ yy1643:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 2) {
+ goto yy1643;
+ }
+ if (yych != '>')
+ goto yy1631;
+ yy1645:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 4) {
+ goto yy1645;
+ }
+ if (yych <= 0x08)
+ goto yy1631;
+ if (yych <= '\n')
+ goto yy1647;
+ if (yych <= '\v')
+ goto yy1631;
+ if (yych <= '\r')
+ goto yy1650;
+ goto yy1631;
+ yy1647:
+ yyaccept = 1;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 4) {
+ goto yy1645;
+ }
+ if (yych <= 0x08)
+ goto yy1649;
+ if (yych <= '\n')
+ goto yy1647;
+ if (yych <= '\v')
+ goto yy1649;
+ if (yych <= '\r')
+ goto yy1650;
+ yy1649 : { return 7; }
+ yy1650:
+ yych = *++p;
+ goto yy1649;
+ yy1651:
+ ++p;
+ yych = *p;
+ if (yych <= ':') {
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy1631;
+ if (yych <= '\r')
+ goto yy1651;
+ if (yych <= 0x1F)
+ goto yy1631;
+ goto yy1651;
+ } else {
+ if (yych == '/')
+ goto yy1653;
+ if (yych <= '9')
+ goto yy1631;
+ goto yy1654;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych == '>')
+ goto yy1645;
+ if (yych <= '@')
+ goto yy1631;
+ goto yy1654;
+ } else {
+ if (yych <= '_') {
+ if (yych <= '^')
+ goto yy1631;
+ goto yy1654;
+ } else {
+ if (yych <= '`')
+ goto yy1631;
+ if (yych <= 'z')
+ goto yy1654;
+ goto yy1631;
+ }
+ }
+ }
+ yy1653:
+ yych = *++p;
+ if (yych == '>')
+ goto yy1645;
+ goto yy1631;
+ yy1654:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 16) {
+ goto yy1654;
+ }
+ if (yych <= ',') {
+ if (yych <= '\r') {
+ if (yych <= 0x08)
+ goto yy1631;
+ } else {
+ if (yych != ' ')
+ goto yy1631;
+ }
+ } else {
+ if (yych <= '<') {
+ if (yych <= '/')
+ goto yy1653;
+ goto yy1631;
+ } else {
+ if (yych <= '=')
+ goto yy1658;
+ if (yych <= '>')
+ goto yy1645;
+ goto yy1631;
+ }
+ }
+ yy1656:
+ ++p;
+ yych = *p;
+ if (yych <= '<') {
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy1631;
+ if (yych <= '\r')
+ goto yy1656;
+ if (yych <= 0x1F)
+ goto yy1631;
+ goto yy1656;
+ } else {
+ if (yych <= '/') {
+ if (yych <= '.')
+ goto yy1631;
+ goto yy1653;
+ } else {
+ if (yych == ':')
+ goto yy1654;
+ goto yy1631;
+ }
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '=')
+ goto yy1658;
+ if (yych <= '>')
+ goto yy1645;
+ if (yych <= '@')
+ goto yy1631;
+ goto yy1654;
+ } else {
+ if (yych <= '_') {
+ if (yych <= '^')
+ goto yy1631;
+ goto yy1654;
+ } else {
+ if (yych <= '`')
+ goto yy1631;
+ if (yych <= 'z')
+ goto yy1654;
+ goto yy1631;
+ }
+ }
+ }
+ yy1658:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 32) {
+ goto yy1660;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '"') {
+ if (yych <= 0x00)
+ goto yy1631;
+ if (yych >= '!')
+ goto yy1671;
+ } else {
+ if (yych <= '\'')
+ goto yy1669;
+ if (yych <= 0xC1)
+ goto yy1631;
+ if (yych <= 0xDF)
+ goto yy1662;
+ goto yy1663;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1668;
+ goto yy1664;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1665;
+ if (yych <= 0xF3)
+ goto yy1666;
+ if (yych <= 0xF4)
+ goto yy1667;
+ goto yy1631;
+ }
+ }
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 32) {
+ goto yy1660;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '\'') {
+ if (yych <= 0x00)
+ goto yy1631;
+ if (yych <= ' ')
+ goto yy1694;
+ if (yych <= '"')
+ goto yy1671;
+ goto yy1669;
+ } else {
+ if (yych == '>')
+ goto yy1645;
+ if (yych <= 0xC1)
+ goto yy1631;
+ goto yy1662;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1663;
+ if (yych == 0xED)
+ goto yy1668;
+ goto yy1664;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1665;
+ if (yych <= 0xF3)
+ goto yy1666;
+ if (yych <= 0xF4)
+ goto yy1667;
+ goto yy1631;
+ }
+ }
+ yy1660:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 32) {
+ goto yy1660;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '=') {
+ if (yych <= 0x00)
+ goto yy1631;
+ if (yych <= ' ')
+ goto yy1688;
+ goto yy1631;
+ } else {
+ if (yych <= '>')
+ goto yy1645;
+ if (yych <= 0xC1)
+ goto yy1631;
+ if (yych >= 0xE0)
+ goto yy1663;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1668;
+ goto yy1664;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1665;
+ if (yych <= 0xF3)
+ goto yy1666;
+ if (yych <= 0xF4)
+ goto yy1667;
+ goto yy1631;
+ }
+ }
+ yy1662:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1660;
+ goto yy1631;
+ yy1663:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1662;
+ goto yy1631;
+ yy1664:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1662;
+ goto yy1631;
+ yy1665:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1664;
+ goto yy1631;
+ yy1666:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1664;
+ goto yy1631;
+ yy1667:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0x8F)
+ goto yy1664;
+ goto yy1631;
+ yy1668:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0x9F)
+ goto yy1662;
+ goto yy1631;
+ yy1669:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1669;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy1631;
+ if (yych <= '\'')
+ goto yy1680;
+ goto yy1631;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1681;
+ if (yych <= 0xE0)
+ goto yy1682;
+ goto yy1683;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1687;
+ if (yych <= 0xEF)
+ goto yy1683;
+ goto yy1684;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1685;
+ if (yych <= 0xF4)
+ goto yy1686;
+ goto yy1631;
+ }
+ }
+ yy1671:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy1671;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy1631;
+ if (yych <= '"')
+ goto yy1680;
+ goto yy1631;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1673;
+ if (yych <= 0xE0)
+ goto yy1674;
+ goto yy1675;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1679;
+ if (yych <= 0xEF)
+ goto yy1675;
+ goto yy1676;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1677;
+ if (yych <= 0xF4)
+ goto yy1678;
+ goto yy1631;
+ }
+ }
+ yy1673:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1671;
+ goto yy1631;
+ yy1674:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1673;
+ goto yy1631;
+ yy1675:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1673;
+ goto yy1631;
+ yy1676:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1675;
+ goto yy1631;
+ yy1677:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1675;
+ goto yy1631;
+ yy1678:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0x8F)
+ goto yy1675;
+ goto yy1631;
+ yy1679:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0x9F)
+ goto yy1673;
+ goto yy1631;
+ yy1680:
+ ++p;
+ yych = *p;
+ if (yych <= ' ') {
+ if (yych <= 0x08)
+ goto yy1631;
+ if (yych <= '\r')
+ goto yy1651;
+ if (yych <= 0x1F)
+ goto yy1631;
+ goto yy1651;
+ } else {
+ if (yych <= '/') {
+ if (yych <= '.')
+ goto yy1631;
+ goto yy1653;
+ } else {
+ if (yych == '>')
+ goto yy1645;
+ goto yy1631;
+ }
+ }
+ yy1681:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1669;
+ goto yy1631;
+ yy1682:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1681;
+ goto yy1631;
+ yy1683:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1681;
+ goto yy1631;
+ yy1684:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1683;
+ goto yy1631;
+ yy1685:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0xBF)
+ goto yy1683;
+ goto yy1631;
+ yy1686:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0x8F)
+ goto yy1683;
+ goto yy1631;
+ yy1687:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1631;
+ if (yych <= 0x9F)
+ goto yy1681;
+ goto yy1631;
+ yy1688:
+ ++p;
+ yych = *p;
+ if (yych <= '@') {
+ if (yych <= '"') {
+ if (yych <= '\r') {
+ if (yych <= 0x00)
+ goto yy1631;
+ if (yych <= 0x08)
+ goto yy1660;
+ goto yy1688;
+ } else {
+ if (yych == ' ')
+ goto yy1688;
+ if (yych <= '!')
+ goto yy1660;
+ goto yy1631;
+ }
+ } else {
+ if (yych <= ':') {
+ if (yych == '\'')
+ goto yy1631;
+ if (yych <= '9')
+ goto yy1660;
+ } else {
+ if (yych <= ';')
+ goto yy1660;
+ if (yych <= '=')
+ goto yy1631;
+ if (yych <= '>')
+ goto yy1645;
+ goto yy1660;
+ }
+ }
+ } else {
+ if (yych <= 0xDF) {
+ if (yych <= '`') {
+ if (yych <= 'Z')
+ goto yy1690;
+ if (yych <= '^')
+ goto yy1660;
+ if (yych >= '`')
+ goto yy1631;
+ } else {
+ if (yych <= 'z')
+ goto yy1690;
+ if (yych <= 0x7F)
+ goto yy1660;
+ if (yych <= 0xC1)
+ goto yy1631;
+ goto yy1662;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1663;
+ if (yych == 0xED)
+ goto yy1668;
+ goto yy1664;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1665;
+ if (yych <= 0xF3)
+ goto yy1666;
+ if (yych <= 0xF4)
+ goto yy1667;
+ goto yy1631;
+ }
+ }
+ }
+ yy1690:
+ ++p;
+ yych = *p;
+ if (yych <= '>') {
+ if (yych <= '&') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x00)
+ goto yy1631;
+ if (yych <= 0x08)
+ goto yy1660;
+ if (yych >= 0x0E)
+ goto yy1660;
+ } else {
+ if (yych <= ' ')
+ goto yy1692;
+ if (yych == '"')
+ goto yy1631;
+ goto yy1660;
+ }
+ } else {
+ if (yych <= '/') {
+ if (yych <= '\'')
+ goto yy1631;
+ if (yych <= ',')
+ goto yy1660;
+ if (yych <= '.')
+ goto yy1690;
+ goto yy1660;
+ } else {
+ if (yych <= ';') {
+ if (yych <= ':')
+ goto yy1690;
+ goto yy1660;
+ } else {
+ if (yych <= '<')
+ goto yy1631;
+ if (yych <= '=')
+ goto yy1658;
+ goto yy1645;
+ }
+ }
+ }
+ } else {
+ if (yych <= 0xC1) {
+ if (yych <= '_') {
+ if (yych <= '@')
+ goto yy1660;
+ if (yych <= 'Z')
+ goto yy1690;
+ if (yych <= '^')
+ goto yy1660;
+ goto yy1690;
+ } else {
+ if (yych <= '`')
+ goto yy1631;
+ if (yych <= 'z')
+ goto yy1690;
+ if (yych <= 0x7F)
+ goto yy1660;
+ goto yy1631;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy1662;
+ if (yych <= 0xE0)
+ goto yy1663;
+ if (yych <= 0xEC)
+ goto yy1664;
+ goto yy1668;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy1664;
+ goto yy1665;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1666;
+ if (yych <= 0xF4)
+ goto yy1667;
+ goto yy1631;
+ }
+ }
+ }
+ }
+ yy1692:
+ ++p;
+ yych = *p;
+ if (yych <= '@') {
+ if (yych <= '&') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x00)
+ goto yy1631;
+ if (yych <= 0x08)
+ goto yy1660;
+ if (yych <= '\r')
+ goto yy1692;
+ goto yy1660;
+ } else {
+ if (yych <= ' ')
+ goto yy1692;
+ if (yych == '"')
+ goto yy1631;
+ goto yy1660;
+ }
+ } else {
+ if (yych <= ';') {
+ if (yych <= '\'')
+ goto yy1631;
+ if (yych == ':')
+ goto yy1690;
+ goto yy1660;
+ } else {
+ if (yych <= '<')
+ goto yy1631;
+ if (yych <= '=')
+ goto yy1658;
+ if (yych <= '>')
+ goto yy1645;
+ goto yy1660;
+ }
+ }
+ } else {
+ if (yych <= 0xDF) {
+ if (yych <= '`') {
+ if (yych <= 'Z')
+ goto yy1690;
+ if (yych <= '^')
+ goto yy1660;
+ if (yych <= '_')
+ goto yy1690;
+ goto yy1631;
+ } else {
+ if (yych <= 'z')
+ goto yy1690;
+ if (yych <= 0x7F)
+ goto yy1660;
+ if (yych <= 0xC1)
+ goto yy1631;
+ goto yy1662;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1663;
+ if (yych == 0xED)
+ goto yy1668;
+ goto yy1664;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1665;
+ if (yych <= 0xF3)
+ goto yy1666;
+ if (yych <= 0xF4)
+ goto yy1667;
+ goto yy1631;
+ }
+ }
+ }
+ yy1694:
+ ++p;
+ yych = *p;
+ if (yych <= '@') {
+ if (yych <= '"') {
+ if (yych <= '\r') {
+ if (yych <= 0x00)
+ goto yy1631;
+ if (yych <= 0x08)
+ goto yy1660;
+ goto yy1694;
+ } else {
+ if (yych == ' ')
+ goto yy1694;
+ if (yych <= '!')
+ goto yy1660;
+ goto yy1671;
+ }
+ } else {
+ if (yych <= ':') {
+ if (yych == '\'')
+ goto yy1669;
+ if (yych <= '9')
+ goto yy1660;
+ goto yy1690;
+ } else {
+ if (yych <= ';')
+ goto yy1660;
+ if (yych <= '=')
+ goto yy1631;
+ if (yych <= '>')
+ goto yy1645;
+ goto yy1660;
+ }
+ }
+ } else {
+ if (yych <= 0xDF) {
+ if (yych <= '`') {
+ if (yych <= 'Z')
+ goto yy1690;
+ if (yych <= '^')
+ goto yy1660;
+ if (yych <= '_')
+ goto yy1690;
+ goto yy1631;
+ } else {
+ if (yych <= 'z')
+ goto yy1690;
+ if (yych <= 0x7F)
+ goto yy1660;
+ if (yych <= 0xC1)
+ goto yy1631;
+ goto yy1662;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1663;
+ if (yych == 0xED)
+ goto yy1668;
+ goto yy1664;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1665;
+ if (yych <= 0xF3)
+ goto yy1666;
+ if (yych <= 0xF4)
+ goto yy1667;
+ goto yy1631;
+ }
+ }
+ }
+ }
}
// 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[] = {
- 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, 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, 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 = *(marker = p);
- if (yych <= 0xDF) {
- if (yych <= ';') {
- if (yych != '\n') goto yy1699;
- } else {
- if (yych <= '<') goto yy1700;
- if (yych <= 0x7F) goto yy1699;
- if (yych >= 0xC2) goto yy1701;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1703;
- if (yych == 0xED) goto yy1708;
- goto yy1704;
- } else {
- if (yych <= 0xF0) goto yy1705;
- if (yych <= 0xF3) goto yy1706;
- if (yych <= 0xF4) goto yy1707;
- }
- }
-yy1698:
- { return 0; }
-yy1699:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) {
- if (yych == '\n') goto yy1698;
- goto yy1713;
- } else {
- if (yych <= 0xC1) goto yy1698;
- if (yych <= 0xF4) goto yy1713;
- goto yy1698;
- }
-yy1700:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= '/') {
- if (yych == '\n') goto yy1698;
- if (yych <= '.') goto yy1713;
- goto yy1709;
- } else {
- if (yych <= 0x7F) goto yy1713;
- if (yych <= 0xC1) goto yy1698;
- if (yych <= 0xF4) goto yy1713;
- goto yy1698;
- }
-yy1701:
- yych = *++p;
- if (yych <= 0x7F) goto yy1702;
- if (yych <= 0xBF) goto yy1699;
-yy1702:
- p = marker;
- if (yyaccept == 0) {
- goto yy1698;
- } else {
- goto yy1730;
- }
-yy1703:
- yych = *++p;
- if (yych <= 0x9F) goto yy1702;
- if (yych <= 0xBF) goto yy1701;
- goto yy1702;
-yy1704:
- yych = *++p;
- if (yych <= 0x7F) goto yy1702;
- if (yych <= 0xBF) goto yy1701;
- goto yy1702;
-yy1705:
- yych = *++p;
- if (yych <= 0x8F) goto yy1702;
- if (yych <= 0xBF) goto yy1704;
- goto yy1702;
-yy1706:
- yych = *++p;
- if (yych <= 0x7F) goto yy1702;
- if (yych <= 0xBF) goto yy1704;
- goto yy1702;
-yy1707:
- yych = *++p;
- if (yych <= 0x7F) goto yy1702;
- if (yych <= 0x8F) goto yy1704;
- goto yy1702;
-yy1708:
- yych = *++p;
- if (yych <= 0x7F) goto yy1702;
- if (yych <= 0x9F) goto yy1701;
- goto yy1702;
-yy1709:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1710;
- }
- if (yych <= 's') {
- if (yych <= 'R') {
- if (yych <= '\n') {
- if (yych <= '\t') goto yy1712;
- goto yy1702;
- } else {
- if (yych == 'P') goto yy1721;
- goto yy1712;
- }
- } else {
- if (yych <= 'o') {
- if (yych <= 'S') goto yy1722;
- goto yy1712;
- } else {
- if (yych <= 'p') goto yy1721;
- if (yych <= 'r') goto yy1712;
- goto yy1722;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x7F) goto yy1712;
- goto yy1702;
- } else {
- if (yych <= 0xDF) goto yy1714;
- if (yych <= 0xE0) goto yy1715;
- goto yy1716;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1720;
- if (yych <= 0xEF) goto yy1716;
- goto yy1717;
- } else {
- if (yych <= 0xF3) goto yy1718;
- if (yych <= 0xF4) goto yy1719;
- goto yy1702;
- }
- }
- }
-yy1710:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1710;
- }
- if (yych <= 0xDF) {
- if (yych <= '.') {
- if (yych == '\n') goto yy1702;
- } else {
- if (yych <= '/') goto yy1709;
- if (yych <= 0x7F) goto yy1712;
- if (yych <= 0xC1) goto yy1702;
- goto yy1714;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1715;
- if (yych == 0xED) goto yy1720;
- goto yy1716;
- } else {
- if (yych <= 0xF0) goto yy1717;
- if (yych <= 0xF3) goto yy1718;
- if (yych <= 0xF4) goto yy1719;
- goto yy1702;
- }
- }
-yy1712:
- ++p;
- yych = *p;
-yy1713:
- if (yybm[0+yych] & 128) {
- goto yy1712;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy1702;
- if (yych <= '<') goto yy1710;
- goto yy1702;
- } else {
- if (yych <= 0xDF) goto yy1714;
- if (yych <= 0xE0) goto yy1715;
- goto yy1716;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1720;
- if (yych <= 0xEF) goto yy1716;
- goto yy1717;
- } else {
- if (yych <= 0xF3) goto yy1718;
- if (yych <= 0xF4) goto yy1719;
- goto yy1702;
- }
- }
-yy1714:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1702;
- if (yych <= 0xBF) goto yy1712;
- goto yy1702;
-yy1715:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1702;
- if (yych <= 0xBF) goto yy1714;
- goto yy1702;
-yy1716:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1702;
- if (yych <= 0xBF) goto yy1714;
- goto yy1702;
-yy1717:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1702;
- if (yych <= 0xBF) goto yy1716;
- goto yy1702;
-yy1718:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1702;
- if (yych <= 0xBF) goto yy1716;
- goto yy1702;
-yy1719:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1702;
- if (yych <= 0x8F) goto yy1716;
- goto yy1702;
-yy1720:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1702;
- if (yych <= 0x9F) goto yy1714;
- goto yy1702;
-yy1721:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1710;
- }
- if (yych <= 0xC1) {
- if (yych <= 'R') {
- if (yych == '\n') goto yy1702;
- if (yych <= 'Q') goto yy1712;
- goto yy1733;
- } else {
- if (yych == 'r') goto yy1733;
- if (yych <= 0x7F) goto yy1712;
- goto yy1702;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy1714;
- if (yych <= 0xE0) goto yy1715;
- if (yych <= 0xEC) goto yy1716;
- goto yy1720;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy1716;
- goto yy1717;
- } else {
- if (yych <= 0xF3) goto yy1718;
- if (yych <= 0xF4) goto yy1719;
- goto yy1702;
- }
- }
- }
-yy1722:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1710;
- }
- if (yych <= 't') {
- if (yych <= 'S') {
- if (yych <= '\n') {
- if (yych <= '\t') goto yy1712;
- goto yy1702;
- } else {
- if (yych == 'C') goto yy1724;
- goto yy1712;
- }
- } else {
- if (yych <= 'b') {
- if (yych >= 'U') goto yy1712;
- } else {
- if (yych <= 'c') goto yy1724;
- if (yych <= 's') goto yy1712;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x7F) goto yy1712;
- goto yy1702;
- } else {
- if (yych <= 0xDF) goto yy1714;
- if (yych <= 0xE0) goto yy1715;
- goto yy1716;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1720;
- if (yych <= 0xEF) goto yy1716;
- goto yy1717;
- } else {
- if (yych <= 0xF3) goto yy1718;
- if (yych <= 0xF4) goto yy1719;
- goto yy1702;
- }
- }
- }
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1710;
- }
- if (yych <= 0xC1) {
- if (yych <= 'Y') {
- if (yych == '\n') goto yy1702;
- if (yych <= 'X') goto yy1712;
- goto yy1731;
- } else {
- if (yych == 'y') goto yy1731;
- if (yych <= 0x7F) goto yy1712;
- goto yy1702;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy1714;
- if (yych <= 0xE0) goto yy1715;
- if (yych <= 0xEC) goto yy1716;
- goto yy1720;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy1716;
- goto yy1717;
- } else {
- if (yych <= 0xF3) goto yy1718;
- if (yych <= 0xF4) goto yy1719;
- goto yy1702;
- }
- }
- }
-yy1724:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1710;
- }
- if (yych <= 0xC1) {
- if (yych <= 'R') {
- if (yych == '\n') goto yy1702;
- if (yych <= 'Q') goto yy1712;
- } else {
- if (yych == 'r') goto yy1725;
- if (yych <= 0x7F) goto yy1712;
- goto yy1702;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy1714;
- if (yych <= 0xE0) goto yy1715;
- if (yych <= 0xEC) goto yy1716;
- goto yy1720;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy1716;
- goto yy1717;
- } else {
- if (yych <= 0xF3) goto yy1718;
- if (yych <= 0xF4) goto yy1719;
- goto yy1702;
- }
- }
- }
-yy1725:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1710;
- }
- if (yych <= 0xC1) {
- if (yych <= 'I') {
- if (yych == '\n') goto yy1702;
- if (yych <= 'H') goto yy1712;
- } else {
- if (yych == 'i') goto yy1726;
- if (yych <= 0x7F) goto yy1712;
- goto yy1702;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy1714;
- if (yych <= 0xE0) goto yy1715;
- if (yych <= 0xEC) goto yy1716;
- goto yy1720;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy1716;
- goto yy1717;
- } else {
- if (yych <= 0xF3) goto yy1718;
- if (yych <= 0xF4) goto yy1719;
- goto yy1702;
- }
- }
- }
-yy1726:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1710;
- }
- if (yych <= 0xC1) {
- if (yych <= 'P') {
- if (yych == '\n') goto yy1702;
- if (yych <= 'O') goto yy1712;
- } else {
- if (yych == 'p') goto yy1727;
- if (yych <= 0x7F) goto yy1712;
- goto yy1702;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy1714;
- if (yych <= 0xE0) goto yy1715;
- if (yych <= 0xEC) goto yy1716;
- goto yy1720;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy1716;
- goto yy1717;
- } else {
- if (yych <= 0xF3) goto yy1718;
- if (yych <= 0xF4) goto yy1719;
- goto yy1702;
- }
- }
- }
-yy1727:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1710;
- }
- if (yych <= 0xC1) {
- if (yych <= 'T') {
- if (yych == '\n') goto yy1702;
- if (yych <= 'S') goto yy1712;
- } else {
- if (yych == 't') goto yy1728;
- if (yych <= 0x7F) goto yy1712;
- goto yy1702;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy1714;
- if (yych <= 0xE0) goto yy1715;
- if (yych <= 0xEC) goto yy1716;
- goto yy1720;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy1716;
- goto yy1717;
- } else {
- if (yych <= 0xF3) goto yy1718;
- if (yych <= 0xF4) goto yy1719;
- goto yy1702;
- }
- }
- }
-yy1728:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1710;
- }
- if (yych <= 0xDF) {
- if (yych <= '=') {
- if (yych == '\n') goto yy1702;
- goto yy1712;
- } else {
- if (yych <= '>') goto yy1729;
- if (yych <= 0x7F) goto yy1712;
- if (yych <= 0xC1) goto yy1702;
- goto yy1714;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1715;
- if (yych == 0xED) goto yy1720;
- goto yy1716;
- } else {
- if (yych <= 0xF0) goto yy1717;
- if (yych <= 0xF3) goto yy1718;
- if (yych <= 0xF4) goto yy1719;
- goto yy1702;
- }
- }
-yy1729:
- yyaccept = 1;
- marker = ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy1712;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy1730;
- if (yych <= '<') goto yy1710;
- } else {
- if (yych <= 0xDF) goto yy1714;
- if (yych <= 0xE0) goto yy1715;
- goto yy1716;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1720;
- if (yych <= 0xEF) goto yy1716;
- goto yy1717;
- } else {
- if (yych <= 0xF3) goto yy1718;
- if (yych <= 0xF4) goto yy1719;
- }
- }
-yy1730:
- { return (bufsize_t)(p - start); }
-yy1731:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1710;
- }
- if (yych <= 0xC1) {
- if (yych <= 'L') {
- if (yych == '\n') goto yy1702;
- if (yych <= 'K') goto yy1712;
- } else {
- if (yych == 'l') goto yy1732;
- if (yych <= 0x7F) goto yy1712;
- goto yy1702;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy1714;
- if (yych <= 0xE0) goto yy1715;
- if (yych <= 0xEC) goto yy1716;
- goto yy1720;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy1716;
- goto yy1717;
- } else {
- if (yych <= 0xF3) goto yy1718;
- if (yych <= 0xF4) goto yy1719;
- goto yy1702;
- }
- }
- }
-yy1732:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1710;
- }
- if (yych <= 0xC1) {
- if (yych <= 'E') {
- if (yych == '\n') goto yy1702;
- if (yych <= 'D') goto yy1712;
- goto yy1728;
- } else {
- if (yych == 'e') goto yy1728;
- if (yych <= 0x7F) goto yy1712;
- goto yy1702;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy1714;
- if (yych <= 0xE0) goto yy1715;
- if (yych <= 0xEC) goto yy1716;
- goto yy1720;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy1716;
- goto yy1717;
- } else {
- if (yych <= 0xF3) goto yy1718;
- if (yych <= 0xF4) goto yy1719;
- goto yy1702;
- }
- }
- }
-yy1733:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1710;
- }
- if (yych <= 0xC1) {
- if (yych <= 'E') {
- if (yych == '\n') goto yy1702;
- if (yych <= 'D') goto yy1712;
- goto yy1728;
- } else {
- if (yych == 'e') goto yy1728;
- if (yych <= 0x7F) goto yy1712;
- goto yy1702;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy1714;
- if (yych <= 0xE0) goto yy1715;
- if (yych <= 0xEC) goto yy1716;
- goto yy1720;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy1716;
- goto yy1717;
- } else {
- if (yych <= 0xF3) goto yy1718;
- if (yych <= 0xF4) goto yy1719;
- goto yy1702;
- }
- }
- }
-}
-
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 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, 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,
+ 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 = *(marker = p);
+ if (yych <= 0xDF) {
+ if (yych <= ';') {
+ if (yych != '\n')
+ goto yy1699;
+ } else {
+ if (yych <= '<')
+ goto yy1700;
+ if (yych <= 0x7F)
+ goto yy1699;
+ if (yych >= 0xC2)
+ goto yy1701;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1703;
+ if (yych == 0xED)
+ goto yy1708;
+ goto yy1704;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1705;
+ if (yych <= 0xF3)
+ goto yy1706;
+ if (yych <= 0xF4)
+ goto yy1707;
+ }
+ }
+ yy1698 : { return 0; }
+ yy1699:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F) {
+ if (yych == '\n')
+ goto yy1698;
+ goto yy1713;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1698;
+ if (yych <= 0xF4)
+ goto yy1713;
+ goto yy1698;
+ }
+ yy1700:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '/') {
+ if (yych == '\n')
+ goto yy1698;
+ if (yych <= '.')
+ goto yy1713;
+ goto yy1709;
+ } else {
+ if (yych <= 0x7F)
+ goto yy1713;
+ if (yych <= 0xC1)
+ goto yy1698;
+ if (yych <= 0xF4)
+ goto yy1713;
+ goto yy1698;
+ }
+ yy1701:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1702;
+ if (yych <= 0xBF)
+ goto yy1699;
+ yy1702:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy1698;
+ } else {
+ goto yy1730;
+ }
+ yy1703:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy1702;
+ if (yych <= 0xBF)
+ goto yy1701;
+ goto yy1702;
+ yy1704:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1702;
+ if (yych <= 0xBF)
+ goto yy1701;
+ goto yy1702;
+ yy1705:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy1702;
+ if (yych <= 0xBF)
+ goto yy1704;
+ goto yy1702;
+ yy1706:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1702;
+ if (yych <= 0xBF)
+ goto yy1704;
+ goto yy1702;
+ yy1707:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1702;
+ if (yych <= 0x8F)
+ goto yy1704;
+ goto yy1702;
+ yy1708:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1702;
+ if (yych <= 0x9F)
+ goto yy1701;
+ goto yy1702;
+ yy1709:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1710;
+ }
+ if (yych <= 's') {
+ if (yych <= 'R') {
+ if (yych <= '\n') {
+ if (yych <= '\t')
+ goto yy1712;
+ goto yy1702;
+ } else {
+ if (yych == 'P')
+ goto yy1721;
+ goto yy1712;
+ }
+ } else {
+ if (yych <= 'o') {
+ if (yych <= 'S')
+ goto yy1722;
+ goto yy1712;
+ } else {
+ if (yych <= 'p')
+ goto yy1721;
+ if (yych <= 'r')
+ goto yy1712;
+ goto yy1722;
+ }
+ }
+ } else {
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x7F)
+ goto yy1712;
+ goto yy1702;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1714;
+ if (yych <= 0xE0)
+ goto yy1715;
+ goto yy1716;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1720;
+ if (yych <= 0xEF)
+ goto yy1716;
+ goto yy1717;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1718;
+ if (yych <= 0xF4)
+ goto yy1719;
+ goto yy1702;
+ }
+ }
+ }
+ yy1710:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1710;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '.') {
+ if (yych == '\n')
+ goto yy1702;
+ } else {
+ if (yych <= '/')
+ goto yy1709;
+ if (yych <= 0x7F)
+ goto yy1712;
+ if (yych <= 0xC1)
+ goto yy1702;
+ goto yy1714;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1715;
+ if (yych == 0xED)
+ goto yy1720;
+ goto yy1716;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1717;
+ if (yych <= 0xF3)
+ goto yy1718;
+ if (yych <= 0xF4)
+ goto yy1719;
+ goto yy1702;
+ }
+ }
+ yy1712:
+ ++p;
+ yych = *p;
+ yy1713:
+ if (yybm[0 + yych] & 128) {
+ goto yy1712;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy1702;
+ if (yych <= '<')
+ goto yy1710;
+ goto yy1702;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1714;
+ if (yych <= 0xE0)
+ goto yy1715;
+ goto yy1716;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1720;
+ if (yych <= 0xEF)
+ goto yy1716;
+ goto yy1717;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1718;
+ if (yych <= 0xF4)
+ goto yy1719;
+ goto yy1702;
+ }
+ }
+ yy1714:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1702;
+ if (yych <= 0xBF)
+ goto yy1712;
+ goto yy1702;
+ yy1715:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1702;
+ if (yych <= 0xBF)
+ goto yy1714;
+ goto yy1702;
+ yy1716:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1702;
+ if (yych <= 0xBF)
+ goto yy1714;
+ goto yy1702;
+ yy1717:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1702;
+ if (yych <= 0xBF)
+ goto yy1716;
+ goto yy1702;
+ yy1718:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1702;
+ if (yych <= 0xBF)
+ goto yy1716;
+ goto yy1702;
+ yy1719:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1702;
+ if (yych <= 0x8F)
+ goto yy1716;
+ goto yy1702;
+ yy1720:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1702;
+ if (yych <= 0x9F)
+ goto yy1714;
+ goto yy1702;
+ yy1721:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1710;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'R') {
+ if (yych == '\n')
+ goto yy1702;
+ if (yych <= 'Q')
+ goto yy1712;
+ goto yy1733;
+ } else {
+ if (yych == 'r')
+ goto yy1733;
+ if (yych <= 0x7F)
+ goto yy1712;
+ goto yy1702;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy1714;
+ if (yych <= 0xE0)
+ goto yy1715;
+ if (yych <= 0xEC)
+ goto yy1716;
+ goto yy1720;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy1716;
+ goto yy1717;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1718;
+ if (yych <= 0xF4)
+ goto yy1719;
+ goto yy1702;
+ }
+ }
+ }
+ yy1722:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1710;
+ }
+ if (yych <= 't') {
+ if (yych <= 'S') {
+ if (yych <= '\n') {
+ if (yych <= '\t')
+ goto yy1712;
+ goto yy1702;
+ } else {
+ if (yych == 'C')
+ goto yy1724;
+ goto yy1712;
+ }
+ } else {
+ if (yych <= 'b') {
+ if (yych >= 'U')
+ goto yy1712;
+ } else {
+ if (yych <= 'c')
+ goto yy1724;
+ if (yych <= 's')
+ goto yy1712;
+ }
+ }
+ } else {
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x7F)
+ goto yy1712;
+ goto yy1702;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1714;
+ if (yych <= 0xE0)
+ goto yy1715;
+ goto yy1716;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1720;
+ if (yych <= 0xEF)
+ goto yy1716;
+ goto yy1717;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1718;
+ if (yych <= 0xF4)
+ goto yy1719;
+ goto yy1702;
+ }
+ }
+ }
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1710;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'Y') {
+ if (yych == '\n')
+ goto yy1702;
+ if (yych <= 'X')
+ goto yy1712;
+ goto yy1731;
+ } else {
+ if (yych == 'y')
+ goto yy1731;
+ if (yych <= 0x7F)
+ goto yy1712;
+ goto yy1702;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy1714;
+ if (yych <= 0xE0)
+ goto yy1715;
+ if (yych <= 0xEC)
+ goto yy1716;
+ goto yy1720;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy1716;
+ goto yy1717;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1718;
+ if (yych <= 0xF4)
+ goto yy1719;
+ goto yy1702;
+ }
+ }
+ }
+ yy1724:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1710;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'R') {
+ if (yych == '\n')
+ goto yy1702;
+ if (yych <= 'Q')
+ goto yy1712;
+ } else {
+ if (yych == 'r')
+ goto yy1725;
+ if (yych <= 0x7F)
+ goto yy1712;
+ goto yy1702;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy1714;
+ if (yych <= 0xE0)
+ goto yy1715;
+ if (yych <= 0xEC)
+ goto yy1716;
+ goto yy1720;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy1716;
+ goto yy1717;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1718;
+ if (yych <= 0xF4)
+ goto yy1719;
+ goto yy1702;
+ }
+ }
+ }
+ yy1725:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1710;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'I') {
+ if (yych == '\n')
+ goto yy1702;
+ if (yych <= 'H')
+ goto yy1712;
+ } else {
+ if (yych == 'i')
+ goto yy1726;
+ if (yych <= 0x7F)
+ goto yy1712;
+ goto yy1702;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy1714;
+ if (yych <= 0xE0)
+ goto yy1715;
+ if (yych <= 0xEC)
+ goto yy1716;
+ goto yy1720;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy1716;
+ goto yy1717;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1718;
+ if (yych <= 0xF4)
+ goto yy1719;
+ goto yy1702;
+ }
+ }
+ }
+ yy1726:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1710;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'P') {
+ if (yych == '\n')
+ goto yy1702;
+ if (yych <= 'O')
+ goto yy1712;
+ } else {
+ if (yych == 'p')
+ goto yy1727;
+ if (yych <= 0x7F)
+ goto yy1712;
+ goto yy1702;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy1714;
+ if (yych <= 0xE0)
+ goto yy1715;
+ if (yych <= 0xEC)
+ goto yy1716;
+ goto yy1720;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy1716;
+ goto yy1717;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1718;
+ if (yych <= 0xF4)
+ goto yy1719;
+ goto yy1702;
+ }
+ }
+ }
+ yy1727:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1710;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'T') {
+ if (yych == '\n')
+ goto yy1702;
+ if (yych <= 'S')
+ goto yy1712;
+ } else {
+ if (yych == 't')
+ goto yy1728;
+ if (yych <= 0x7F)
+ goto yy1712;
+ goto yy1702;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy1714;
+ if (yych <= 0xE0)
+ goto yy1715;
+ if (yych <= 0xEC)
+ goto yy1716;
+ goto yy1720;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy1716;
+ goto yy1717;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1718;
+ if (yych <= 0xF4)
+ goto yy1719;
+ goto yy1702;
+ }
+ }
+ }
+ yy1728:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1710;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
+ if (yych == '\n')
+ goto yy1702;
+ goto yy1712;
+ } else {
+ if (yych <= '>')
+ goto yy1729;
+ if (yych <= 0x7F)
+ goto yy1712;
+ if (yych <= 0xC1)
+ goto yy1702;
+ goto yy1714;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1715;
+ if (yych == 0xED)
+ goto yy1720;
+ goto yy1716;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1717;
+ if (yych <= 0xF3)
+ goto yy1718;
+ if (yych <= 0xF4)
+ goto yy1719;
+ goto yy1702;
+ }
+ }
+ yy1729:
+ yyaccept = 1;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy1712;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy1730;
+ if (yych <= '<')
+ goto yy1710;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1714;
+ if (yych <= 0xE0)
+ goto yy1715;
+ goto yy1716;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1720;
+ if (yych <= 0xEF)
+ goto yy1716;
+ goto yy1717;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1718;
+ if (yych <= 0xF4)
+ goto yy1719;
+ }
+ }
+ yy1730 : { return (bufsize_t)(p - start); }
+ yy1731:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1710;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'L') {
+ if (yych == '\n')
+ goto yy1702;
+ if (yych <= 'K')
+ goto yy1712;
+ } else {
+ if (yych == 'l')
+ goto yy1732;
+ if (yych <= 0x7F)
+ goto yy1712;
+ goto yy1702;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy1714;
+ if (yych <= 0xE0)
+ goto yy1715;
+ if (yych <= 0xEC)
+ goto yy1716;
+ goto yy1720;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy1716;
+ goto yy1717;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1718;
+ if (yych <= 0xF4)
+ goto yy1719;
+ goto yy1702;
+ }
+ }
+ }
+ yy1732:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1710;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'E') {
+ if (yych == '\n')
+ goto yy1702;
+ if (yych <= 'D')
+ goto yy1712;
+ goto yy1728;
+ } else {
+ if (yych == 'e')
+ goto yy1728;
+ if (yych <= 0x7F)
+ goto yy1712;
+ goto yy1702;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy1714;
+ if (yych <= 0xE0)
+ goto yy1715;
+ if (yych <= 0xEC)
+ goto yy1716;
+ goto yy1720;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy1716;
+ goto yy1717;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1718;
+ if (yych <= 0xF4)
+ goto yy1719;
+ goto yy1702;
+ }
+ }
+ }
+ yy1733:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1710;
+ }
+ if (yych <= 0xC1) {
+ if (yych <= 'E') {
+ if (yych == '\n')
+ goto yy1702;
+ if (yych <= 'D')
+ goto yy1712;
+ goto yy1728;
+ } else {
+ if (yych == 'e')
+ goto yy1728;
+ if (yych <= 0x7F)
+ goto yy1712;
+ goto yy1702;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy1714;
+ if (yych <= 0xE0)
+ goto yy1715;
+ if (yych <= 0xEC)
+ goto yy1716;
+ goto yy1720;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy1716;
+ goto yy1717;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1718;
+ if (yych <= 0xF4)
+ goto yy1719;
+ goto yy1702;
+ }
+ }
+ }
+ }
}
// 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[] = {
- 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, 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, 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 = *(marker = p);
- if (yych <= 0xDF) {
- if (yych <= ',') {
- if (yych != '\n') goto yy1737;
- } else {
- if (yych <= '-') goto yy1738;
- if (yych <= 0x7F) goto yy1737;
- if (yych >= 0xC2) goto yy1739;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1741;
- if (yych == 0xED) goto yy1746;
- goto yy1742;
- } else {
- if (yych <= 0xF0) goto yy1743;
- if (yych <= 0xF3) goto yy1744;
- if (yych <= 0xF4) goto yy1745;
- }
- }
-yy1736:
- { return 0; }
-yy1737:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) {
- if (yych == '\n') goto yy1736;
- goto yy1750;
- } else {
- if (yych <= 0xC1) goto yy1736;
- if (yych <= 0xF4) goto yy1750;
- goto yy1736;
- }
-yy1738:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yybm[0+yych] & 64) {
- goto yy1747;
- }
- if (yych <= 0x7F) {
- if (yych == '\n') goto yy1736;
- goto yy1750;
- } else {
- if (yych <= 0xC1) goto yy1736;
- if (yych <= 0xF4) goto yy1750;
- goto yy1736;
- }
-yy1739:
- yych = *++p;
- if (yych <= 0x7F) goto yy1740;
- if (yych <= 0xBF) goto yy1737;
-yy1740:
- p = marker;
- if (yyaccept == 0) {
- goto yy1736;
- } else {
- goto yy1760;
- }
-yy1741:
- yych = *++p;
- if (yych <= 0x9F) goto yy1740;
- if (yych <= 0xBF) goto yy1739;
- goto yy1740;
-yy1742:
- yych = *++p;
- if (yych <= 0x7F) goto yy1740;
- if (yych <= 0xBF) goto yy1739;
- goto yy1740;
-yy1743:
- yych = *++p;
- if (yych <= 0x8F) goto yy1740;
- if (yych <= 0xBF) goto yy1742;
- goto yy1740;
-yy1744:
- yych = *++p;
- if (yych <= 0x7F) goto yy1740;
- if (yych <= 0xBF) goto yy1742;
- goto yy1740;
-yy1745:
- yych = *++p;
- if (yych <= 0x7F) goto yy1740;
- if (yych <= 0x8F) goto yy1742;
- goto yy1740;
-yy1746:
- yych = *++p;
- if (yych <= 0x7F) goto yy1740;
- if (yych <= 0x9F) goto yy1739;
- goto yy1740;
-yy1747:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1747;
- }
- if (yych <= 0xDF) {
- if (yych <= '=') {
- if (yych == '\n') goto yy1740;
- } else {
- if (yych <= '>') goto yy1759;
- if (yych <= 0x7F) goto yy1749;
- if (yych <= 0xC1) goto yy1740;
- goto yy1751;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1752;
- if (yych == 0xED) goto yy1757;
- goto yy1753;
- } else {
- if (yych <= 0xF0) goto yy1754;
- if (yych <= 0xF3) goto yy1755;
- if (yych <= 0xF4) goto yy1756;
- goto yy1740;
- }
- }
-yy1749:
- ++p;
- yych = *p;
-yy1750:
- if (yybm[0+yych] & 128) {
- goto yy1749;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy1740;
- if (yych <= '-') goto yy1758;
- goto yy1740;
- } else {
- if (yych <= 0xDF) goto yy1751;
- if (yych <= 0xE0) goto yy1752;
- goto yy1753;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1757;
- if (yych <= 0xEF) goto yy1753;
- goto yy1754;
- } else {
- if (yych <= 0xF3) goto yy1755;
- if (yych <= 0xF4) goto yy1756;
- goto yy1740;
- }
- }
-yy1751:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1740;
- if (yych <= 0xBF) goto yy1749;
- goto yy1740;
-yy1752:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1740;
- if (yych <= 0xBF) goto yy1751;
- goto yy1740;
-yy1753:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1740;
- if (yych <= 0xBF) goto yy1751;
- goto yy1740;
-yy1754:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1740;
- if (yych <= 0xBF) goto yy1753;
- goto yy1740;
-yy1755:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1740;
- if (yych <= 0xBF) goto yy1753;
- goto yy1740;
-yy1756:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1740;
- if (yych <= 0x8F) goto yy1753;
- goto yy1740;
-yy1757:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1740;
- if (yych <= 0x9F) goto yy1751;
- goto yy1740;
-yy1758:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy1749;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy1740;
- if (yych <= '-') goto yy1747;
- goto yy1740;
- } else {
- if (yych <= 0xDF) goto yy1751;
- if (yych <= 0xE0) goto yy1752;
- goto yy1753;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1757;
- if (yych <= 0xEF) goto yy1753;
- goto yy1754;
- } else {
- if (yych <= 0xF3) goto yy1755;
- if (yych <= 0xF4) goto yy1756;
- goto yy1740;
- }
- }
-yy1759:
- yyaccept = 1;
- marker = ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy1749;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy1760;
- if (yych <= '-') goto yy1758;
- } else {
- if (yych <= 0xDF) goto yy1751;
- if (yych <= 0xE0) goto yy1752;
- goto yy1753;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1757;
- if (yych <= 0xEF) goto yy1753;
- goto yy1754;
- } else {
- if (yych <= 0xF3) goto yy1755;
- if (yych <= 0xF4) goto yy1756;
- }
- }
-yy1760:
- { return (bufsize_t)(p - start); }
-}
-
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 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, 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, 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 = *(marker = p);
+ if (yych <= 0xDF) {
+ if (yych <= ',') {
+ if (yych != '\n')
+ goto yy1737;
+ } else {
+ if (yych <= '-')
+ goto yy1738;
+ if (yych <= 0x7F)
+ goto yy1737;
+ if (yych >= 0xC2)
+ goto yy1739;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1741;
+ if (yych == 0xED)
+ goto yy1746;
+ goto yy1742;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1743;
+ if (yych <= 0xF3)
+ goto yy1744;
+ if (yych <= 0xF4)
+ goto yy1745;
+ }
+ }
+ yy1736 : { return 0; }
+ yy1737:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F) {
+ if (yych == '\n')
+ goto yy1736;
+ goto yy1750;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1736;
+ if (yych <= 0xF4)
+ goto yy1750;
+ goto yy1736;
+ }
+ yy1738:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy1747;
+ }
+ if (yych <= 0x7F) {
+ if (yych == '\n')
+ goto yy1736;
+ goto yy1750;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1736;
+ if (yych <= 0xF4)
+ goto yy1750;
+ goto yy1736;
+ }
+ yy1739:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1740;
+ if (yych <= 0xBF)
+ goto yy1737;
+ yy1740:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy1736;
+ } else {
+ goto yy1760;
+ }
+ yy1741:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy1740;
+ if (yych <= 0xBF)
+ goto yy1739;
+ goto yy1740;
+ yy1742:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1740;
+ if (yych <= 0xBF)
+ goto yy1739;
+ goto yy1740;
+ yy1743:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy1740;
+ if (yych <= 0xBF)
+ goto yy1742;
+ goto yy1740;
+ yy1744:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1740;
+ if (yych <= 0xBF)
+ goto yy1742;
+ goto yy1740;
+ yy1745:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1740;
+ if (yych <= 0x8F)
+ goto yy1742;
+ goto yy1740;
+ yy1746:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1740;
+ if (yych <= 0x9F)
+ goto yy1739;
+ goto yy1740;
+ yy1747:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1747;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
+ if (yych == '\n')
+ goto yy1740;
+ } else {
+ if (yych <= '>')
+ goto yy1759;
+ if (yych <= 0x7F)
+ goto yy1749;
+ if (yych <= 0xC1)
+ goto yy1740;
+ goto yy1751;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1752;
+ if (yych == 0xED)
+ goto yy1757;
+ goto yy1753;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1754;
+ if (yych <= 0xF3)
+ goto yy1755;
+ if (yych <= 0xF4)
+ goto yy1756;
+ goto yy1740;
+ }
+ }
+ yy1749:
+ ++p;
+ yych = *p;
+ yy1750:
+ if (yybm[0 + yych] & 128) {
+ goto yy1749;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy1740;
+ if (yych <= '-')
+ goto yy1758;
+ goto yy1740;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1751;
+ if (yych <= 0xE0)
+ goto yy1752;
+ goto yy1753;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1757;
+ if (yych <= 0xEF)
+ goto yy1753;
+ goto yy1754;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1755;
+ if (yych <= 0xF4)
+ goto yy1756;
+ goto yy1740;
+ }
+ }
+ yy1751:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1740;
+ if (yych <= 0xBF)
+ goto yy1749;
+ goto yy1740;
+ yy1752:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1740;
+ if (yych <= 0xBF)
+ goto yy1751;
+ goto yy1740;
+ yy1753:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1740;
+ if (yych <= 0xBF)
+ goto yy1751;
+ goto yy1740;
+ yy1754:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1740;
+ if (yych <= 0xBF)
+ goto yy1753;
+ goto yy1740;
+ yy1755:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1740;
+ if (yych <= 0xBF)
+ goto yy1753;
+ goto yy1740;
+ yy1756:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1740;
+ if (yych <= 0x8F)
+ goto yy1753;
+ goto yy1740;
+ yy1757:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1740;
+ if (yych <= 0x9F)
+ goto yy1751;
+ goto yy1740;
+ yy1758:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy1749;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy1740;
+ if (yych <= '-')
+ goto yy1747;
+ goto yy1740;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1751;
+ if (yych <= 0xE0)
+ goto yy1752;
+ goto yy1753;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1757;
+ if (yych <= 0xEF)
+ goto yy1753;
+ goto yy1754;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1755;
+ if (yych <= 0xF4)
+ goto yy1756;
+ goto yy1740;
+ }
+ }
+ yy1759:
+ yyaccept = 1;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy1749;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy1760;
+ if (yych <= '-')
+ goto yy1758;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1751;
+ if (yych <= 0xE0)
+ goto yy1752;
+ goto yy1753;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1757;
+ if (yych <= 0xEF)
+ goto yy1753;
+ goto yy1754;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1755;
+ if (yych <= 0xF4)
+ goto yy1756;
+ }
+ }
+ yy1760 : { 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[] = {
- 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, 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,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *(marker = p);
- if (yych <= 0xDF) {
- if (yych <= '>') {
- if (yych != '\n') goto yy1764;
- } else {
- if (yych <= '?') goto yy1765;
- if (yych <= 0x7F) goto yy1764;
- if (yych >= 0xC2) goto yy1766;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1768;
- if (yych == 0xED) goto yy1773;
- goto yy1769;
- } else {
- if (yych <= 0xF0) goto yy1770;
- if (yych <= 0xF3) goto yy1771;
- if (yych <= 0xF4) goto yy1772;
- }
- }
-yy1763:
- { return 0; }
-yy1764:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) {
- if (yych == '\n') goto yy1763;
- goto yy1779;
- } else {
- if (yych <= 0xC1) goto yy1763;
- if (yych <= 0xF4) goto yy1779;
- goto yy1763;
- }
-yy1765:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= '>') {
- if (yych == '\n') goto yy1763;
- if (yych <= '=') goto yy1779;
- goto yy1774;
- } else {
- if (yych <= 0x7F) goto yy1779;
- if (yych <= 0xC1) goto yy1763;
- if (yych <= 0xF4) goto yy1779;
- goto yy1763;
- }
-yy1766:
- yych = *++p;
- if (yych <= 0x7F) goto yy1767;
- if (yych <= 0xBF) goto yy1764;
-yy1767:
- p = marker;
- if (yyaccept == 0) {
- goto yy1763;
- } else {
- goto yy1775;
- }
-yy1768:
- yych = *++p;
- if (yych <= 0x9F) goto yy1767;
- if (yych <= 0xBF) goto yy1766;
- goto yy1767;
-yy1769:
- yych = *++p;
- if (yych <= 0x7F) goto yy1767;
- if (yych <= 0xBF) goto yy1766;
- goto yy1767;
-yy1770:
- yych = *++p;
- if (yych <= 0x8F) goto yy1767;
- if (yych <= 0xBF) goto yy1769;
- goto yy1767;
-yy1771:
- yych = *++p;
- if (yych <= 0x7F) goto yy1767;
- if (yych <= 0xBF) goto yy1769;
- goto yy1767;
-yy1772:
- yych = *++p;
- if (yych <= 0x7F) goto yy1767;
- if (yych <= 0x8F) goto yy1769;
- goto yy1767;
-yy1773:
- yych = *++p;
- if (yych <= 0x7F) goto yy1767;
- if (yych <= 0x9F) goto yy1766;
- goto yy1767;
-yy1774:
- yyaccept = 1;
- marker = ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy1778;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy1775;
- if (yych <= '?') goto yy1776;
- } else {
- if (yych <= 0xDF) goto yy1780;
- if (yych <= 0xE0) goto yy1781;
- goto yy1782;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1786;
- if (yych <= 0xEF) goto yy1782;
- goto yy1783;
- } else {
- if (yych <= 0xF3) goto yy1784;
- if (yych <= 0xF4) goto yy1785;
- }
- }
-yy1775:
- { return (bufsize_t)(p - start); }
-yy1776:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1776;
- }
- if (yych <= 0xDF) {
- if (yych <= '=') {
- if (yych == '\n') goto yy1767;
- } else {
- if (yych <= '>') goto yy1774;
- if (yych <= 0x7F) goto yy1778;
- if (yych <= 0xC1) goto yy1767;
- goto yy1780;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1781;
- if (yych == 0xED) goto yy1786;
- goto yy1782;
- } else {
- if (yych <= 0xF0) goto yy1783;
- if (yych <= 0xF3) goto yy1784;
- if (yych <= 0xF4) goto yy1785;
- goto yy1767;
- }
- }
-yy1778:
- ++p;
- yych = *p;
-yy1779:
- if (yybm[0+yych] & 128) {
- goto yy1778;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy1767;
- if (yych <= '?') goto yy1776;
- goto yy1767;
- } else {
- if (yych <= 0xDF) goto yy1780;
- if (yych <= 0xE0) goto yy1781;
- goto yy1782;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1786;
- if (yych <= 0xEF) goto yy1782;
- goto yy1783;
- } else {
- if (yych <= 0xF3) goto yy1784;
- if (yych <= 0xF4) goto yy1785;
- goto yy1767;
- }
- }
-yy1780:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1767;
- if (yych <= 0xBF) goto yy1778;
- goto yy1767;
-yy1781:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1767;
- if (yych <= 0xBF) goto yy1780;
- goto yy1767;
-yy1782:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1767;
- if (yych <= 0xBF) goto yy1780;
- goto yy1767;
-yy1783:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1767;
- if (yych <= 0xBF) goto yy1782;
- goto yy1767;
-yy1784:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1767;
- if (yych <= 0xBF) goto yy1782;
- goto yy1767;
-yy1785:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1767;
- if (yych <= 0x8F) goto yy1782;
- goto yy1767;
-yy1786:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1767;
- if (yych <= 0x9F) goto yy1780;
- goto yy1767;
-}
-
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *(marker = p);
+ if (yych <= 0xDF) {
+ if (yych <= '>') {
+ if (yych != '\n')
+ goto yy1764;
+ } else {
+ if (yych <= '?')
+ goto yy1765;
+ if (yych <= 0x7F)
+ goto yy1764;
+ if (yych >= 0xC2)
+ goto yy1766;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1768;
+ if (yych == 0xED)
+ goto yy1773;
+ goto yy1769;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1770;
+ if (yych <= 0xF3)
+ goto yy1771;
+ if (yych <= 0xF4)
+ goto yy1772;
+ }
+ }
+ yy1763 : { return 0; }
+ yy1764:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F) {
+ if (yych == '\n')
+ goto yy1763;
+ goto yy1779;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1763;
+ if (yych <= 0xF4)
+ goto yy1779;
+ goto yy1763;
+ }
+ yy1765:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= '>') {
+ if (yych == '\n')
+ goto yy1763;
+ if (yych <= '=')
+ goto yy1779;
+ goto yy1774;
+ } else {
+ if (yych <= 0x7F)
+ goto yy1779;
+ if (yych <= 0xC1)
+ goto yy1763;
+ if (yych <= 0xF4)
+ goto yy1779;
+ goto yy1763;
+ }
+ yy1766:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1767;
+ if (yych <= 0xBF)
+ goto yy1764;
+ yy1767:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy1763;
+ } else {
+ goto yy1775;
+ }
+ yy1768:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy1767;
+ if (yych <= 0xBF)
+ goto yy1766;
+ goto yy1767;
+ yy1769:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1767;
+ if (yych <= 0xBF)
+ goto yy1766;
+ goto yy1767;
+ yy1770:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy1767;
+ if (yych <= 0xBF)
+ goto yy1769;
+ goto yy1767;
+ yy1771:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1767;
+ if (yych <= 0xBF)
+ goto yy1769;
+ goto yy1767;
+ yy1772:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1767;
+ if (yych <= 0x8F)
+ goto yy1769;
+ goto yy1767;
+ yy1773:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1767;
+ if (yych <= 0x9F)
+ goto yy1766;
+ goto yy1767;
+ yy1774:
+ yyaccept = 1;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy1778;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy1775;
+ if (yych <= '?')
+ goto yy1776;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1780;
+ if (yych <= 0xE0)
+ goto yy1781;
+ goto yy1782;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1786;
+ if (yych <= 0xEF)
+ goto yy1782;
+ goto yy1783;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1784;
+ if (yych <= 0xF4)
+ goto yy1785;
+ }
+ }
+ yy1775 : { return (bufsize_t)(p - start); }
+ yy1776:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1776;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
+ if (yych == '\n')
+ goto yy1767;
+ } else {
+ if (yych <= '>')
+ goto yy1774;
+ if (yych <= 0x7F)
+ goto yy1778;
+ if (yych <= 0xC1)
+ goto yy1767;
+ goto yy1780;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1781;
+ if (yych == 0xED)
+ goto yy1786;
+ goto yy1782;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1783;
+ if (yych <= 0xF3)
+ goto yy1784;
+ if (yych <= 0xF4)
+ goto yy1785;
+ goto yy1767;
+ }
+ }
+ yy1778:
+ ++p;
+ yych = *p;
+ yy1779:
+ if (yybm[0 + yych] & 128) {
+ goto yy1778;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy1767;
+ if (yych <= '?')
+ goto yy1776;
+ goto yy1767;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1780;
+ if (yych <= 0xE0)
+ goto yy1781;
+ goto yy1782;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1786;
+ if (yych <= 0xEF)
+ goto yy1782;
+ goto yy1783;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1784;
+ if (yych <= 0xF4)
+ goto yy1785;
+ goto yy1767;
+ }
+ }
+ yy1780:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1767;
+ if (yych <= 0xBF)
+ goto yy1778;
+ goto yy1767;
+ yy1781:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1767;
+ if (yych <= 0xBF)
+ goto yy1780;
+ goto yy1767;
+ yy1782:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1767;
+ if (yych <= 0xBF)
+ goto yy1780;
+ goto yy1767;
+ yy1783:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1767;
+ if (yych <= 0xBF)
+ goto yy1782;
+ goto yy1767;
+ yy1784:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1767;
+ if (yych <= 0xBF)
+ goto yy1782;
+ goto yy1767;
+ yy1785:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1767;
+ if (yych <= 0x8F)
+ goto yy1782;
+ goto yy1767;
+ yy1786:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1767;
+ if (yych <= 0x9F)
+ goto yy1780;
+ goto yy1767;
+ }
}
// 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[] = {
- 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, 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 = *(marker = p);
- if (yych <= 0xDF) {
- if (yych <= '=') {
- if (yych != '\n') goto yy1790;
- } else {
- if (yych <= '>') goto yy1791;
- if (yych <= 0x7F) goto yy1790;
- if (yych >= 0xC2) goto yy1793;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1795;
- if (yych == 0xED) goto yy1800;
- goto yy1796;
- } else {
- if (yych <= 0xF0) goto yy1797;
- if (yych <= 0xF3) goto yy1798;
- if (yych <= 0xF4) goto yy1799;
- }
- }
-yy1789:
- { return 0; }
-yy1790:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) {
- if (yych == '\n') goto yy1789;
- goto yy1804;
- } else {
- if (yych <= 0xC1) goto yy1789;
- if (yych <= 0xF4) goto yy1804;
- goto yy1789;
- }
-yy1791:
- yyaccept = 1;
- yych = *(marker = ++p);
- if (yych <= 0x7F) {
- if (yych != '\n') goto yy1804;
- } else {
- if (yych <= 0xC1) goto yy1792;
- if (yych <= 0xF4) goto yy1804;
- }
-yy1792:
- { return (bufsize_t)(p - start); }
-yy1793:
- yych = *++p;
- if (yych <= 0x7F) goto yy1794;
- if (yych <= 0xBF) goto yy1790;
-yy1794:
- p = marker;
- if (yyaccept == 0) {
- goto yy1789;
- } else {
- goto yy1792;
- }
-yy1795:
- yych = *++p;
- if (yych <= 0x9F) goto yy1794;
- if (yych <= 0xBF) goto yy1793;
- goto yy1794;
-yy1796:
- yych = *++p;
- if (yych <= 0x7F) goto yy1794;
- if (yych <= 0xBF) goto yy1793;
- goto yy1794;
-yy1797:
- yych = *++p;
- if (yych <= 0x8F) goto yy1794;
- if (yych <= 0xBF) goto yy1796;
- goto yy1794;
-yy1798:
- yych = *++p;
- if (yych <= 0x7F) goto yy1794;
- if (yych <= 0xBF) goto yy1796;
- goto yy1794;
-yy1799:
- yych = *++p;
- if (yych <= 0x7F) goto yy1794;
- if (yych <= 0x8F) goto yy1796;
- goto yy1794;
-yy1800:
- yych = *++p;
- if (yych <= 0x7F) goto yy1794;
- if (yych <= 0x9F) goto yy1793;
- goto yy1794;
-yy1801:
- yyaccept = 1;
- marker = ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy1803;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy1792;
- if (yych <= '>') goto yy1801;
- goto yy1792;
- } else {
- if (yych <= 0xDF) goto yy1805;
- if (yych <= 0xE0) goto yy1806;
- goto yy1807;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1811;
- if (yych <= 0xEF) goto yy1807;
- goto yy1808;
- } else {
- if (yych <= 0xF3) goto yy1809;
- if (yych <= 0xF4) goto yy1810;
- goto yy1792;
- }
- }
-yy1803:
- ++p;
- yych = *p;
-yy1804:
- if (yybm[0+yych] & 128) {
- goto yy1803;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy1794;
- if (yych <= '>') goto yy1801;
- goto yy1794;
- } else {
- if (yych <= 0xDF) goto yy1805;
- if (yych <= 0xE0) goto yy1806;
- goto yy1807;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1811;
- if (yych <= 0xEF) goto yy1807;
- goto yy1808;
- } else {
- if (yych <= 0xF3) goto yy1809;
- if (yych <= 0xF4) goto yy1810;
- goto yy1794;
- }
- }
-yy1805:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1794;
- if (yych <= 0xBF) goto yy1803;
- goto yy1794;
-yy1806:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1794;
- if (yych <= 0xBF) goto yy1805;
- goto yy1794;
-yy1807:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1794;
- if (yych <= 0xBF) goto yy1805;
- goto yy1794;
-yy1808:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1794;
- if (yych <= 0xBF) goto yy1807;
- goto yy1794;
-yy1809:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1794;
- if (yych <= 0xBF) goto yy1807;
- goto yy1794;
-yy1810:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1794;
- if (yych <= 0x8F) goto yy1807;
- goto yy1794;
-yy1811:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1794;
- if (yych <= 0x9F) goto yy1805;
- goto yy1794;
-}
-
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 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, 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 = *(marker = p);
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
+ if (yych != '\n')
+ goto yy1790;
+ } else {
+ if (yych <= '>')
+ goto yy1791;
+ if (yych <= 0x7F)
+ goto yy1790;
+ if (yych >= 0xC2)
+ goto yy1793;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1795;
+ if (yych == 0xED)
+ goto yy1800;
+ goto yy1796;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1797;
+ if (yych <= 0xF3)
+ goto yy1798;
+ if (yych <= 0xF4)
+ goto yy1799;
+ }
+ }
+ yy1789 : { return 0; }
+ yy1790:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F) {
+ if (yych == '\n')
+ goto yy1789;
+ goto yy1804;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1789;
+ if (yych <= 0xF4)
+ goto yy1804;
+ goto yy1789;
+ }
+ yy1791:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F) {
+ if (yych != '\n')
+ goto yy1804;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1792;
+ if (yych <= 0xF4)
+ goto yy1804;
+ }
+ yy1792 : { return (bufsize_t)(p - start); }
+ yy1793:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1794;
+ if (yych <= 0xBF)
+ goto yy1790;
+ yy1794:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy1789;
+ } else {
+ goto yy1792;
+ }
+ yy1795:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy1794;
+ if (yych <= 0xBF)
+ goto yy1793;
+ goto yy1794;
+ yy1796:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1794;
+ if (yych <= 0xBF)
+ goto yy1793;
+ goto yy1794;
+ yy1797:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy1794;
+ if (yych <= 0xBF)
+ goto yy1796;
+ goto yy1794;
+ yy1798:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1794;
+ if (yych <= 0xBF)
+ goto yy1796;
+ goto yy1794;
+ yy1799:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1794;
+ if (yych <= 0x8F)
+ goto yy1796;
+ goto yy1794;
+ yy1800:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1794;
+ if (yych <= 0x9F)
+ goto yy1793;
+ goto yy1794;
+ yy1801:
+ yyaccept = 1;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy1803;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy1792;
+ if (yych <= '>')
+ goto yy1801;
+ goto yy1792;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1805;
+ if (yych <= 0xE0)
+ goto yy1806;
+ goto yy1807;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1811;
+ if (yych <= 0xEF)
+ goto yy1807;
+ goto yy1808;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1809;
+ if (yych <= 0xF4)
+ goto yy1810;
+ goto yy1792;
+ }
+ }
+ yy1803:
+ ++p;
+ yych = *p;
+ yy1804:
+ if (yybm[0 + yych] & 128) {
+ goto yy1803;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy1794;
+ if (yych <= '>')
+ goto yy1801;
+ goto yy1794;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1805;
+ if (yych <= 0xE0)
+ goto yy1806;
+ goto yy1807;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1811;
+ if (yych <= 0xEF)
+ goto yy1807;
+ goto yy1808;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1809;
+ if (yych <= 0xF4)
+ goto yy1810;
+ goto yy1794;
+ }
+ }
+ yy1805:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1794;
+ if (yych <= 0xBF)
+ goto yy1803;
+ goto yy1794;
+ yy1806:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1794;
+ if (yych <= 0xBF)
+ goto yy1805;
+ goto yy1794;
+ yy1807:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1794;
+ if (yych <= 0xBF)
+ goto yy1805;
+ goto yy1794;
+ yy1808:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1794;
+ if (yych <= 0xBF)
+ goto yy1807;
+ goto yy1794;
+ yy1809:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1794;
+ if (yych <= 0xBF)
+ goto yy1807;
+ goto yy1794;
+ yy1810:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1794;
+ if (yych <= 0x8F)
+ goto yy1807;
+ goto yy1794;
+ yy1811:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1794;
+ if (yych <= 0x9F)
+ goto yy1805;
+ goto yy1794;
+ }
}
// 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[] = {
- 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, 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,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *(marker = p);
- if (yych <= 0xDF) {
- if (yych <= '\\') {
- if (yych != '\n') goto yy1815;
- } else {
- if (yych <= ']') goto yy1816;
- if (yych <= 0x7F) goto yy1815;
- if (yych >= 0xC2) goto yy1817;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1819;
- if (yych == 0xED) goto yy1824;
- goto yy1820;
- } else {
- if (yych <= 0xF0) goto yy1821;
- if (yych <= 0xF3) goto yy1822;
- if (yych <= 0xF4) goto yy1823;
- }
- }
-yy1814:
- { return 0; }
-yy1815:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x7F) {
- if (yych == '\n') goto yy1814;
- goto yy1828;
- } else {
- if (yych <= 0xC1) goto yy1814;
- if (yych <= 0xF4) goto yy1828;
- goto yy1814;
- }
-yy1816:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yybm[0+yych] & 64) {
- goto yy1825;
- }
- if (yych <= 0x7F) {
- if (yych == '\n') goto yy1814;
- goto yy1828;
- } else {
- if (yych <= 0xC1) goto yy1814;
- if (yych <= 0xF4) goto yy1828;
- goto yy1814;
- }
-yy1817:
- yych = *++p;
- if (yych <= 0x7F) goto yy1818;
- if (yych <= 0xBF) goto yy1815;
-yy1818:
- p = marker;
- if (yyaccept == 0) {
- goto yy1814;
- } else {
- goto yy1838;
- }
-yy1819:
- yych = *++p;
- if (yych <= 0x9F) goto yy1818;
- if (yych <= 0xBF) goto yy1817;
- goto yy1818;
-yy1820:
- yych = *++p;
- if (yych <= 0x7F) goto yy1818;
- if (yych <= 0xBF) goto yy1817;
- goto yy1818;
-yy1821:
- yych = *++p;
- if (yych <= 0x8F) goto yy1818;
- if (yych <= 0xBF) goto yy1820;
- goto yy1818;
-yy1822:
- yych = *++p;
- if (yych <= 0x7F) goto yy1818;
- if (yych <= 0xBF) goto yy1820;
- goto yy1818;
-yy1823:
- yych = *++p;
- if (yych <= 0x7F) goto yy1818;
- if (yych <= 0x8F) goto yy1820;
- goto yy1818;
-yy1824:
- yych = *++p;
- if (yych <= 0x7F) goto yy1818;
- if (yych <= 0x9F) goto yy1817;
- goto yy1818;
-yy1825:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1825;
- }
- if (yych <= 0xDF) {
- if (yych <= '=') {
- if (yych == '\n') goto yy1818;
- } else {
- if (yych <= '>') goto yy1837;
- if (yych <= 0x7F) goto yy1827;
- if (yych <= 0xC1) goto yy1818;
- goto yy1829;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1830;
- if (yych == 0xED) goto yy1835;
- goto yy1831;
- } else {
- if (yych <= 0xF0) goto yy1832;
- if (yych <= 0xF3) goto yy1833;
- if (yych <= 0xF4) goto yy1834;
- goto yy1818;
- }
- }
-yy1827:
- ++p;
- yych = *p;
-yy1828:
- if (yybm[0+yych] & 128) {
- goto yy1827;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy1818;
- if (yych <= ']') goto yy1836;
- goto yy1818;
- } else {
- if (yych <= 0xDF) goto yy1829;
- if (yych <= 0xE0) goto yy1830;
- goto yy1831;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1835;
- if (yych <= 0xEF) goto yy1831;
- goto yy1832;
- } else {
- if (yych <= 0xF3) goto yy1833;
- if (yych <= 0xF4) goto yy1834;
- goto yy1818;
- }
- }
-yy1829:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1818;
- if (yych <= 0xBF) goto yy1827;
- goto yy1818;
-yy1830:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1818;
- if (yych <= 0xBF) goto yy1829;
- goto yy1818;
-yy1831:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1818;
- if (yych <= 0xBF) goto yy1829;
- goto yy1818;
-yy1832:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1818;
- if (yych <= 0xBF) goto yy1831;
- goto yy1818;
-yy1833:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1818;
- if (yych <= 0xBF) goto yy1831;
- goto yy1818;
-yy1834:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1818;
- if (yych <= 0x8F) goto yy1831;
- goto yy1818;
-yy1835:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1818;
- if (yych <= 0x9F) goto yy1829;
- goto yy1818;
-yy1836:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy1827;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy1818;
- if (yych <= ']') goto yy1825;
- goto yy1818;
- } else {
- if (yych <= 0xDF) goto yy1829;
- if (yych <= 0xE0) goto yy1830;
- goto yy1831;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1835;
- if (yych <= 0xEF) goto yy1831;
- goto yy1832;
- } else {
- if (yych <= 0xF3) goto yy1833;
- if (yych <= 0xF4) goto yy1834;
- goto yy1818;
- }
- }
-yy1837:
- yyaccept = 1;
- marker = ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy1827;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\n') goto yy1838;
- if (yych <= ']') goto yy1836;
- } else {
- if (yych <= 0xDF) goto yy1829;
- if (yych <= 0xE0) goto yy1830;
- goto yy1831;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1835;
- if (yych <= 0xEF) goto yy1831;
- goto yy1832;
- } else {
- if (yych <= 0xF3) goto yy1833;
- if (yych <= 0xF4) goto yy1834;
- }
- }
-yy1838:
- { return (bufsize_t)(p - start); }
-}
-
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *(marker = p);
+ if (yych <= 0xDF) {
+ if (yych <= '\\') {
+ if (yych != '\n')
+ goto yy1815;
+ } else {
+ if (yych <= ']')
+ goto yy1816;
+ if (yych <= 0x7F)
+ goto yy1815;
+ if (yych >= 0xC2)
+ goto yy1817;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1819;
+ if (yych == 0xED)
+ goto yy1824;
+ goto yy1820;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1821;
+ if (yych <= 0xF3)
+ goto yy1822;
+ if (yych <= 0xF4)
+ goto yy1823;
+ }
+ }
+ yy1814 : { return 0; }
+ yy1815:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x7F) {
+ if (yych == '\n')
+ goto yy1814;
+ goto yy1828;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1814;
+ if (yych <= 0xF4)
+ goto yy1828;
+ goto yy1814;
+ }
+ yy1816:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy1825;
+ }
+ if (yych <= 0x7F) {
+ if (yych == '\n')
+ goto yy1814;
+ goto yy1828;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1814;
+ if (yych <= 0xF4)
+ goto yy1828;
+ goto yy1814;
+ }
+ yy1817:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1818;
+ if (yych <= 0xBF)
+ goto yy1815;
+ yy1818:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy1814;
+ } else {
+ goto yy1838;
+ }
+ yy1819:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy1818;
+ if (yych <= 0xBF)
+ goto yy1817;
+ goto yy1818;
+ yy1820:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1818;
+ if (yych <= 0xBF)
+ goto yy1817;
+ goto yy1818;
+ yy1821:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy1818;
+ if (yych <= 0xBF)
+ goto yy1820;
+ goto yy1818;
+ yy1822:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1818;
+ if (yych <= 0xBF)
+ goto yy1820;
+ goto yy1818;
+ yy1823:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1818;
+ if (yych <= 0x8F)
+ goto yy1820;
+ goto yy1818;
+ yy1824:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1818;
+ if (yych <= 0x9F)
+ goto yy1817;
+ goto yy1818;
+ yy1825:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1825;
+ }
+ if (yych <= 0xDF) {
+ if (yych <= '=') {
+ if (yych == '\n')
+ goto yy1818;
+ } else {
+ if (yych <= '>')
+ goto yy1837;
+ if (yych <= 0x7F)
+ goto yy1827;
+ if (yych <= 0xC1)
+ goto yy1818;
+ goto yy1829;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1830;
+ if (yych == 0xED)
+ goto yy1835;
+ goto yy1831;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1832;
+ if (yych <= 0xF3)
+ goto yy1833;
+ if (yych <= 0xF4)
+ goto yy1834;
+ goto yy1818;
+ }
+ }
+ yy1827:
+ ++p;
+ yych = *p;
+ yy1828:
+ if (yybm[0 + yych] & 128) {
+ goto yy1827;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy1818;
+ if (yych <= ']')
+ goto yy1836;
+ goto yy1818;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1829;
+ if (yych <= 0xE0)
+ goto yy1830;
+ goto yy1831;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1835;
+ if (yych <= 0xEF)
+ goto yy1831;
+ goto yy1832;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1833;
+ if (yych <= 0xF4)
+ goto yy1834;
+ goto yy1818;
+ }
+ }
+ yy1829:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1818;
+ if (yych <= 0xBF)
+ goto yy1827;
+ goto yy1818;
+ yy1830:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1818;
+ if (yych <= 0xBF)
+ goto yy1829;
+ goto yy1818;
+ yy1831:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1818;
+ if (yych <= 0xBF)
+ goto yy1829;
+ goto yy1818;
+ yy1832:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1818;
+ if (yych <= 0xBF)
+ goto yy1831;
+ goto yy1818;
+ yy1833:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1818;
+ if (yych <= 0xBF)
+ goto yy1831;
+ goto yy1818;
+ yy1834:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1818;
+ if (yych <= 0x8F)
+ goto yy1831;
+ goto yy1818;
+ yy1835:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1818;
+ if (yych <= 0x9F)
+ goto yy1829;
+ goto yy1818;
+ yy1836:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy1827;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy1818;
+ if (yych <= ']')
+ goto yy1825;
+ goto yy1818;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1829;
+ if (yych <= 0xE0)
+ goto yy1830;
+ goto yy1831;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1835;
+ if (yych <= 0xEF)
+ goto yy1831;
+ goto yy1832;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1833;
+ if (yych <= 0xF4)
+ goto yy1834;
+ goto yy1818;
+ }
+ }
+ yy1837:
+ yyaccept = 1;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy1827;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\n')
+ goto yy1838;
+ if (yych <= ']')
+ goto yy1836;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1829;
+ if (yych <= 0xE0)
+ goto yy1830;
+ goto yy1831;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1835;
+ if (yych <= 0xEF)
+ goto yy1831;
+ goto yy1832;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1833;
+ if (yych <= 0xF4)
+ goto yy1834;
+ }
+ }
+ yy1838 : { return (bufsize_t)(p - start); }
+ }
}
// Try to match a URL in a link or reference, return number of chars matched.
// This may optionally be contained in <..>; otherwise
// whitespace and unbalanced right parentheses aren't allowed.
// Newlines aren't ever allowed.
-bufsize_t _scan_link_url(const unsigned char *p)
-{
+bufsize_t _scan_link_url(const unsigned char *p) {
const unsigned char *marker = NULL;
const unsigned char *start = p;
-{
- unsigned char yych;
- unsigned int yyaccept = 0;
- static const unsigned char yybm[] = {
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 8, 128, 128, 8, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 136, 224, 224, 224, 224, 224, 224, 224,
- 128, 128, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 32, 224, 32, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 16, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *(marker = p);
- if (yych <= '[') {
- if (yych <= ' ') {
- if (yych <= '\f') {
- if (yych == '\n') goto yy1842;
- goto yy1858;
- } else {
- if (yych <= '\r') goto yy1844;
- if (yych <= 0x1F) goto yy1858;
- goto yy1844;
- }
- } else {
- if (yych <= ')') {
- if (yych <= '\'') goto yy1846;
- if (yych <= '(') goto yy1857;
- goto yy1858;
- } else {
- if (yych == '<') goto yy1845;
- goto yy1846;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\\') goto yy1855;
- if (yych <= 0x7F) goto yy1846;
- } else {
- if (yych <= 0xDF) goto yy1847;
- if (yych <= 0xE0) goto yy1849;
- goto yy1850;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1854;
- if (yych <= 0xEF) goto yy1850;
- goto yy1851;
- } else {
- if (yych <= 0xF3) goto yy1852;
- if (yych <= 0xF4) goto yy1853;
- }
- }
- }
-yy1841:
- { return (bufsize_t)(p - start); }
-yy1842:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
-yy1843:
- if (yybm[0+yych] & 8) {
- goto yy1842;
- }
- if (yych <= 0x7F) {
- if (yych <= ')') {
- if (yych <= 0x1F) goto yy1841;
- if (yych <= '\'') goto yy1870;
- if (yych <= '(') goto yy1861;
- goto yy1841;
- } else {
- if (yych <= '<') {
- if (yych <= ';') goto yy1870;
- goto yy1905;
- } else {
- if (yych == '\\') goto yy1879;
- goto yy1870;
- }
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) {
- if (yych <= 0xC1) goto yy1841;
- goto yy1872;
- } else {
- if (yych <= 0xE0) goto yy1873;
- if (yych <= 0xEC) goto yy1874;
- goto yy1878;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy1874;
- goto yy1875;
- } else {
- if (yych <= 0xF3) goto yy1876;
- if (yych <= 0xF4) goto yy1877;
- goto yy1841;
- }
- }
- }
-yy1844:
- yyaccept = 0;
- yych = *(marker = ++p);
- goto yy1843;
-yy1845:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yybm[0+yych] & 64) {
- goto yy1905;
- }
- if (yych <= '>') {
- if (yych <= '\r') {
- if (yych <= '\t') {
- if (yych <= 0x00) goto yy1841;
- goto yy1919;
- } else {
- if (yych <= '\n') goto yy1841;
- if (yych <= '\f') goto yy1919;
- goto yy1841;
- }
- } else {
- if (yych <= '(') {
- if (yych <= ' ') goto yy1919;
- goto yy1917;
- } else {
- if (yych <= ')') goto yy1919;
- if (yych <= '<') goto yy1870;
- goto yy1907;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\\') goto yy1916;
- goto yy1841;
- } else {
- if (yych <= 0xDF) goto yy1909;
- if (yych <= 0xE0) goto yy1910;
- goto yy1911;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1915;
- if (yych <= 0xEF) goto yy1911;
- goto yy1912;
- } else {
- if (yych <= 0xF3) goto yy1913;
- if (yych <= 0xF4) goto yy1914;
- goto yy1841;
- }
- }
- }
-yy1846:
- yyaccept = 0;
- yych = *(marker = ++p);
- goto yy1871;
-yy1847:
- yych = *++p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1846;
-yy1848:
- p = marker;
- if (yyaccept <= 1) {
- if (yyaccept == 0) {
- goto yy1841;
- } else {
- goto yy1856;
- }
- } else {
- goto yy1908;
- }
-yy1849:
- yych = *++p;
- if (yych <= 0x9F) goto yy1848;
- if (yych <= 0xBF) goto yy1847;
- goto yy1848;
-yy1850:
- yych = *++p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1847;
- goto yy1848;
-yy1851:
- yych = *++p;
- if (yych <= 0x8F) goto yy1848;
- if (yych <= 0xBF) goto yy1850;
- goto yy1848;
-yy1852:
- yych = *++p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1850;
- goto yy1848;
-yy1853:
- yych = *++p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x8F) goto yy1850;
- goto yy1848;
-yy1854:
- yych = *++p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x9F) goto yy1847;
- goto yy1848;
-yy1855:
- yyaccept = 1;
- yych = *(marker = ++p);
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x7F) goto yy1870;
- } else {
- if (yych <= 0xDF) goto yy1880;
- if (yych <= 0xE0) goto yy1881;
- goto yy1882;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1886;
- if (yych <= 0xEF) goto yy1882;
- goto yy1883;
- } else {
- if (yych <= 0xF3) goto yy1884;
- if (yych <= 0xF4) goto yy1885;
- }
- }
-yy1856:
- { return 0; }
-yy1857:
- yyaccept = 1;
- yych = *(marker = ++p);
- if (yych <= '(') {
- if (yych <= ' ') goto yy1856;
- if (yych <= '\'') goto yy1862;
- goto yy1856;
- } else {
- if (yych <= 0x7F) goto yy1862;
- if (yych <= 0xC1) goto yy1856;
- if (yych <= 0xF4) goto yy1862;
- goto yy1856;
- }
-yy1858:
- yych = *++p;
- goto yy1856;
-yy1859:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 16) {
- goto yy1859;
- }
- if (yych <= 0xE0) {
- if (yych <= ')') {
- if (yych <= ' ') goto yy1848;
- if (yych >= ')') goto yy1887;
- } else {
- if (yych <= 0x7F) goto yy1861;
- if (yych <= 0xC1) goto yy1848;
- if (yych <= 0xDF) goto yy1863;
- goto yy1864;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1869;
- goto yy1865;
- } else {
- if (yych <= 0xF0) goto yy1866;
- if (yych <= 0xF3) goto yy1867;
- if (yych <= 0xF4) goto yy1868;
- goto yy1848;
- }
- }
-yy1861:
- ++p;
- yych = *p;
-yy1862:
- if (yybm[0+yych] & 32) {
- goto yy1861;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= '(') goto yy1848;
- if (yych <= ')') goto yy1870;
- goto yy1859;
- } else {
- if (yych <= 0xC1) goto yy1848;
- if (yych >= 0xE0) goto yy1864;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1869;
- goto yy1865;
- } else {
- if (yych <= 0xF0) goto yy1866;
- if (yych <= 0xF3) goto yy1867;
- if (yych <= 0xF4) goto yy1868;
- goto yy1848;
- }
- }
-yy1863:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1861;
- goto yy1848;
-yy1864:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1848;
- if (yych <= 0xBF) goto yy1863;
- goto yy1848;
-yy1865:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1863;
- goto yy1848;
-yy1866:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1848;
- if (yych <= 0xBF) goto yy1865;
- goto yy1848;
-yy1867:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1865;
- goto yy1848;
-yy1868:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x8F) goto yy1865;
- goto yy1848;
-yy1869:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x9F) goto yy1863;
- goto yy1848;
-yy1870:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
-yy1871:
- if (yych <= 0xC1) {
- if (yych <= ')') {
- if (yych <= ' ') goto yy1841;
- if (yych <= '\'') goto yy1870;
- if (yych <= '(') goto yy1861;
- goto yy1841;
- } else {
- if (yych == '\\') goto yy1879;
- if (yych <= 0x7F) goto yy1870;
- goto yy1841;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy1872;
- if (yych <= 0xE0) goto yy1873;
- if (yych <= 0xEC) goto yy1874;
- goto yy1878;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy1874;
- goto yy1875;
- } else {
- if (yych <= 0xF3) goto yy1876;
- if (yych <= 0xF4) goto yy1877;
- goto yy1841;
- }
- }
- }
-yy1872:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1870;
- goto yy1848;
-yy1873:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1848;
- if (yych <= 0xBF) goto yy1872;
- goto yy1848;
-yy1874:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1872;
- goto yy1848;
-yy1875:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1848;
- if (yych <= 0xBF) goto yy1874;
- goto yy1848;
-yy1876:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1874;
- goto yy1848;
-yy1877:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x8F) goto yy1874;
- goto yy1848;
-yy1878:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x9F) goto yy1872;
- goto yy1848;
-yy1879:
- ++p;
- yych = *p;
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x7F) goto yy1870;
- goto yy1848;
- } else {
- if (yych <= 0xDF) goto yy1880;
- if (yych <= 0xE0) goto yy1881;
- goto yy1882;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1886;
- if (yych <= 0xEF) goto yy1882;
- goto yy1883;
- } else {
- if (yych <= 0xF3) goto yy1884;
- if (yych <= 0xF4) goto yy1885;
- goto yy1848;
- }
- }
-yy1880:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1870;
- goto yy1848;
-yy1881:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1848;
- if (yych <= 0xBF) goto yy1880;
- goto yy1848;
-yy1882:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1880;
- goto yy1848;
-yy1883:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1848;
- if (yych <= 0xBF) goto yy1882;
- goto yy1848;
-yy1884:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1882;
- goto yy1848;
-yy1885:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x8F) goto yy1882;
- goto yy1848;
-yy1886:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x9F) goto yy1880;
- goto yy1848;
-yy1887:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
-yy1888:
- if (yych <= 0xC1) {
- if (yych <= ')') {
- if (yych <= ' ') goto yy1841;
- if (yych <= '\'') goto yy1887;
- if (yych <= '(') goto yy1861;
- goto yy1870;
- } else {
- if (yych == '\\') goto yy1896;
- if (yych <= 0x7F) goto yy1887;
- goto yy1841;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy1889;
- if (yych <= 0xE0) goto yy1890;
- if (yych <= 0xEC) goto yy1891;
- goto yy1895;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy1891;
- goto yy1892;
- } else {
- if (yych <= 0xF3) goto yy1893;
- if (yych <= 0xF4) goto yy1894;
- goto yy1841;
- }
- }
- }
-yy1889:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1887;
- goto yy1848;
-yy1890:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1848;
- if (yych <= 0xBF) goto yy1889;
- goto yy1848;
-yy1891:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1889;
- goto yy1848;
-yy1892:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1848;
- if (yych <= 0xBF) goto yy1891;
- goto yy1848;
-yy1893:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1891;
- goto yy1848;
-yy1894:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x8F) goto yy1891;
- goto yy1848;
-yy1895:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x9F) goto yy1889;
- goto yy1848;
-yy1896:
- ++p;
- yych = *p;
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= ' ') goto yy1870;
- if (yych <= '[') goto yy1887;
- } else {
- if (yych <= 0x7F) goto yy1887;
- if (yych <= 0xC1) goto yy1848;
- if (yych <= 0xDF) goto yy1898;
- goto yy1899;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1904;
- goto yy1900;
- } else {
- if (yych <= 0xF0) goto yy1901;
- if (yych <= 0xF3) goto yy1902;
- if (yych <= 0xF4) goto yy1903;
- goto yy1848;
- }
- }
- yyaccept = 0;
- marker = ++p;
- yych = *p;
- if (yych <= 0xDF) {
- if (yych <= '[') {
- if (yych <= ' ') goto yy1841;
- if (yych == '(') goto yy1861;
- goto yy1887;
- } else {
- if (yych <= '\\') goto yy1896;
- if (yych <= 0x7F) goto yy1887;
- if (yych <= 0xC1) goto yy1841;
- goto yy1889;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy1890;
- if (yych == 0xED) goto yy1895;
- goto yy1891;
- } else {
- if (yych <= 0xF0) goto yy1892;
- if (yych <= 0xF3) goto yy1893;
- if (yych <= 0xF4) goto yy1894;
- goto yy1841;
- }
- }
-yy1898:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1887;
- goto yy1848;
-yy1899:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1848;
- if (yych <= 0xBF) goto yy1898;
- goto yy1848;
-yy1900:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1898;
- goto yy1848;
-yy1901:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1848;
- if (yych <= 0xBF) goto yy1900;
- goto yy1848;
-yy1902:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1900;
- goto yy1848;
-yy1903:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x8F) goto yy1900;
- goto yy1848;
-yy1904:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x9F) goto yy1898;
- goto yy1848;
-yy1905:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1905;
- }
- if (yych <= '>') {
- if (yych <= '\r') {
- if (yych <= '\t') {
- if (yych <= 0x00) goto yy1841;
- goto yy1919;
- } else {
- if (yych <= '\n') goto yy1841;
- if (yych <= '\f') goto yy1919;
- goto yy1841;
- }
- } else {
- if (yych <= '(') {
- if (yych <= ' ') goto yy1919;
- goto yy1917;
- } else {
- if (yych <= ')') goto yy1919;
- if (yych <= '<') goto yy1870;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\\') goto yy1916;
- goto yy1841;
- } else {
- if (yych <= 0xDF) goto yy1909;
- if (yych <= 0xE0) goto yy1910;
- goto yy1911;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1915;
- if (yych <= 0xEF) goto yy1911;
- goto yy1912;
- } else {
- if (yych <= 0xF3) goto yy1913;
- if (yych <= 0xF4) goto yy1914;
- goto yy1841;
- }
- }
- }
-yy1907:
- yyaccept = 2;
- yych = *(marker = ++p);
- if (yych <= ')') {
- if (yych <= ' ') goto yy1908;
- if (yych <= '(') goto yy1871;
- } else {
- if (yych <= 0x7F) goto yy1871;
- if (yych <= 0xC1) goto yy1908;
- if (yych <= 0xF4) goto yy1871;
- }
-yy1908:
- { return (bufsize_t)(p - start); }
-yy1909:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1905;
- goto yy1848;
-yy1910:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1848;
- if (yych <= 0xBF) goto yy1909;
- goto yy1848;
-yy1911:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1909;
- goto yy1848;
-yy1912:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1848;
- if (yych <= 0xBF) goto yy1911;
- goto yy1848;
-yy1913:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1911;
- goto yy1848;
-yy1914:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x8F) goto yy1911;
- goto yy1848;
-yy1915:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x9F) goto yy1909;
- goto yy1848;
-yy1916:
- ++p;
- yych = *p;
- if (yych <= 0x7F) {
- if (yych <= '\r') {
- if (yych <= '\t') {
- if (yych <= 0x00) goto yy1870;
- goto yy1905;
- } else {
- if (yych <= '\n') goto yy1870;
- if (yych <= '\f') goto yy1905;
- goto yy1870;
- }
- } else {
- if (yych <= '>') {
- if (yych <= '=') goto yy1905;
- goto yy1963;
- } else {
- if (yych == '\\') goto yy1964;
- goto yy1905;
- }
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) {
- if (yych <= 0xC1) goto yy1848;
- goto yy1965;
- } else {
- if (yych <= 0xE0) goto yy1966;
- if (yych <= 0xEC) goto yy1967;
- goto yy1971;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy1967;
- goto yy1968;
- } else {
- if (yych <= 0xF3) goto yy1969;
- if (yych <= 0xF4) goto yy1970;
- goto yy1848;
- }
- }
- }
-yy1917:
- ++p;
- yych = *p;
- if (yych <= '>') {
- if (yych <= ' ') {
- if (yych <= '\n') {
- if (yych <= 0x00) goto yy1848;
- if (yych >= '\n') goto yy1848;
- } else {
- if (yych == '\r') goto yy1848;
- }
- } else {
- if (yych <= ')') {
- if (yych <= '\'') goto yy1917;
- if (yych >= ')') goto yy1905;
- } else {
- if (yych == '<') goto yy1861;
- if (yych <= '=') goto yy1917;
- goto yy1932;
- }
- }
- } else {
- if (yych <= 0xE0) {
- if (yych <= 0x7F) {
- if (yych == '\\') goto yy1933;
- goto yy1917;
- } else {
- if (yych <= 0xC1) goto yy1848;
- if (yych <= 0xDF) goto yy1935;
- goto yy1936;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1941;
- goto yy1937;
- } else {
- if (yych <= 0xF0) goto yy1938;
- if (yych <= 0xF3) goto yy1939;
- if (yych <= 0xF4) goto yy1940;
- goto yy1848;
- }
- }
- }
-yy1919:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy1919;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= '<') goto yy1848;
- if (yych >= '?') goto yy1922;
- } else {
- if (yych <= 0xC1) goto yy1848;
- if (yych <= 0xDF) goto yy1924;
- goto yy1925;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1930;
- goto yy1926;
- } else {
- if (yych <= 0xF0) goto yy1927;
- if (yych <= 0xF3) goto yy1928;
- if (yych <= 0xF4) goto yy1929;
- goto yy1848;
- }
- }
-yy1921:
- yych = *++p;
- goto yy1908;
-yy1922:
- ++p;
- yych = *p;
- if (yych <= 0x7F) {
- if (yych <= '\r') {
- if (yych <= '\t') {
- if (yych <= 0x00) goto yy1848;
- goto yy1919;
- } else {
- if (yych <= '\n') goto yy1848;
- if (yych <= '\f') goto yy1919;
- goto yy1848;
- }
- } else {
- if (yych <= '>') {
- if (yych <= '=') goto yy1919;
- goto yy1931;
- } else {
- if (yych == '\\') goto yy1922;
- goto yy1919;
- }
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) {
- if (yych <= 0xC1) goto yy1848;
- } else {
- if (yych <= 0xE0) goto yy1925;
- if (yych <= 0xEC) goto yy1926;
- goto yy1930;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy1926;
- goto yy1927;
- } else {
- if (yych <= 0xF3) goto yy1928;
- if (yych <= 0xF4) goto yy1929;
- goto yy1848;
- }
- }
- }
-yy1924:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1919;
- goto yy1848;
-yy1925:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1848;
- if (yych <= 0xBF) goto yy1924;
- goto yy1848;
-yy1926:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1924;
- goto yy1848;
-yy1927:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1848;
- if (yych <= 0xBF) goto yy1926;
- goto yy1848;
-yy1928:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1926;
- goto yy1848;
-yy1929:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x8F) goto yy1926;
- goto yy1848;
-yy1930:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x9F) goto yy1924;
- goto yy1848;
-yy1931:
- yyaccept = 2;
- marker = ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy1919;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= '<') goto yy1908;
- if (yych <= '>') goto yy1921;
- goto yy1922;
- } else {
- if (yych <= 0xC1) goto yy1908;
- if (yych <= 0xDF) goto yy1924;
- goto yy1925;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1930;
- goto yy1926;
- } else {
- if (yych <= 0xF0) goto yy1927;
- if (yych <= 0xF3) goto yy1928;
- if (yych <= 0xF4) goto yy1929;
- goto yy1908;
- }
- }
-yy1932:
- yyaccept = 2;
- yych = *(marker = ++p);
- if (yych <= '(') {
- if (yych <= ' ') goto yy1908;
- if (yych <= '\'') goto yy1862;
- goto yy1908;
- } else {
- if (yych <= 0x7F) goto yy1862;
- if (yych <= 0xC1) goto yy1908;
- if (yych <= 0xF4) goto yy1862;
- goto yy1908;
- }
-yy1933:
- ++p;
- yych = *p;
- if (yych <= '[') {
- if (yych <= '\r') {
- if (yych <= '\t') {
- if (yych <= 0x00) goto yy1848;
- goto yy1919;
- } else {
- if (yych <= '\n') goto yy1848;
- if (yych <= '\f') goto yy1919;
- goto yy1848;
- }
- } else {
- if (yych <= ')') {
- if (yych <= ' ') goto yy1919;
- if (yych <= '(') goto yy1917;
- goto yy1942;
- } else {
- if (yych == '>') goto yy1944;
- goto yy1917;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\\') goto yy1933;
- if (yych <= 0x7F) goto yy1917;
- goto yy1848;
- } else {
- if (yych <= 0xDF) goto yy1935;
- if (yych <= 0xE0) goto yy1936;
- goto yy1937;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1941;
- if (yych <= 0xEF) goto yy1937;
- goto yy1938;
- } else {
- if (yych <= 0xF3) goto yy1939;
- if (yych <= 0xF4) goto yy1940;
- goto yy1848;
- }
- }
- }
-yy1935:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1917;
- goto yy1848;
-yy1936:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1848;
- if (yych <= 0xBF) goto yy1935;
- goto yy1848;
-yy1937:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1935;
- goto yy1848;
-yy1938:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1848;
- if (yych <= 0xBF) goto yy1937;
- goto yy1848;
-yy1939:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1937;
- goto yy1848;
-yy1940:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x8F) goto yy1937;
- goto yy1848;
-yy1941:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x9F) goto yy1935;
- goto yy1848;
-yy1942:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
- if (yych <= '>') {
- if (yych <= ' ') {
- if (yych <= '\n') {
- if (yych <= 0x00) goto yy1841;
- if (yych <= '\t') goto yy1919;
- goto yy1841;
- } else {
- if (yych == '\r') goto yy1841;
- goto yy1919;
- }
- } else {
- if (yych <= ')') {
- if (yych <= '\'') goto yy1942;
- if (yych <= '(') goto yy1917;
- goto yy1905;
- } else {
- if (yych == '<') goto yy1887;
- if (yych <= '=') goto yy1942;
- goto yy1945;
- }
- }
- } else {
- if (yych <= 0xE0) {
- if (yych <= 0x7F) {
- if (yych == '\\') goto yy1946;
- goto yy1942;
- } else {
- if (yych <= 0xC1) goto yy1841;
- if (yych <= 0xDF) goto yy1947;
- goto yy1948;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1953;
- goto yy1949;
- } else {
- if (yych <= 0xF0) goto yy1950;
- if (yych <= 0xF3) goto yy1951;
- if (yych <= 0xF4) goto yy1952;
- goto yy1841;
- }
- }
- }
-yy1944:
- yyaccept = 2;
- marker = ++p;
- yych = *p;
- if (yych <= '>') {
- if (yych <= ' ') {
- if (yych <= '\n') {
- if (yych <= 0x00) goto yy1908;
- if (yych <= '\t') goto yy1919;
- goto yy1908;
- } else {
- if (yych == '\r') goto yy1908;
- goto yy1919;
- }
- } else {
- if (yych <= ')') {
- if (yych <= '\'') goto yy1917;
- if (yych <= '(') goto yy1919;
- goto yy1905;
- } else {
- if (yych == '<') goto yy1861;
- if (yych <= '=') goto yy1917;
- goto yy1932;
- }
- }
- } else {
- if (yych <= 0xE0) {
- if (yych <= 0x7F) {
- if (yych == '\\') goto yy1933;
- goto yy1917;
- } else {
- if (yych <= 0xC1) goto yy1908;
- if (yych <= 0xDF) goto yy1935;
- goto yy1936;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1941;
- goto yy1937;
- } else {
- if (yych <= 0xF0) goto yy1938;
- if (yych <= 0xF3) goto yy1939;
- if (yych <= 0xF4) goto yy1940;
- goto yy1908;
- }
- }
- }
-yy1945:
- yyaccept = 2;
- yych = *(marker = ++p);
- if (yych <= ' ') goto yy1908;
- if (yych <= 0x7F) goto yy1888;
- if (yych <= 0xC1) goto yy1908;
- if (yych <= 0xF4) goto yy1888;
- goto yy1908;
-yy1946:
- ++p;
- yych = *p;
- if (yych <= '\\') {
- if (yych <= '\r') {
- if (yych <= '\t') {
- if (yych <= 0x00) goto yy1870;
- goto yy1905;
- } else {
- if (yych <= '\n') goto yy1870;
- if (yych <= '\f') goto yy1905;
- goto yy1870;
- }
- } else {
- if (yych <= '=') {
- if (yych <= ' ') goto yy1905;
- goto yy1942;
- } else {
- if (yych <= '>') goto yy1954;
- if (yych <= '[') goto yy1942;
- goto yy1955;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x7F) goto yy1942;
- goto yy1848;
- } else {
- if (yych <= 0xDF) goto yy1956;
- if (yych <= 0xE0) goto yy1957;
- goto yy1958;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1962;
- if (yych <= 0xEF) goto yy1958;
- goto yy1959;
- } else {
- if (yych <= 0xF3) goto yy1960;
- if (yych <= 0xF4) goto yy1961;
- goto yy1848;
- }
- }
- }
-yy1947:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1942;
- goto yy1848;
-yy1948:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1848;
- if (yych <= 0xBF) goto yy1947;
- goto yy1848;
-yy1949:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1947;
- goto yy1848;
-yy1950:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1848;
- if (yych <= 0xBF) goto yy1949;
- goto yy1848;
-yy1951:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1949;
- goto yy1848;
-yy1952:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x8F) goto yy1949;
- goto yy1848;
-yy1953:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x9F) goto yy1947;
- goto yy1848;
-yy1954:
- yyaccept = 2;
- marker = ++p;
- yych = *p;
- if (yych <= '>') {
- if (yych <= ' ') {
- if (yych <= '\n') {
- if (yych <= 0x00) goto yy1908;
- if (yych <= '\t') goto yy1919;
- goto yy1908;
- } else {
- if (yych == '\r') goto yy1908;
- goto yy1919;
- }
- } else {
- if (yych <= ')') {
- if (yych <= '\'') goto yy1942;
- if (yych <= '(') goto yy1917;
- goto yy1905;
- } else {
- if (yych == '<') goto yy1887;
- if (yych <= '=') goto yy1942;
- goto yy1945;
- }
- }
- } else {
- if (yych <= 0xE0) {
- if (yych <= 0x7F) {
- if (yych == '\\') goto yy1946;
- goto yy1942;
- } else {
- if (yych <= 0xC1) goto yy1908;
- if (yych <= 0xDF) goto yy1947;
- goto yy1948;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1953;
- goto yy1949;
- } else {
- if (yych <= 0xF0) goto yy1950;
- if (yych <= 0xF3) goto yy1951;
- if (yych <= 0xF4) goto yy1952;
- goto yy1908;
- }
- }
- }
-yy1955:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
- if (yych <= '[') {
- if (yych <= '\r') {
- if (yych <= '\t') {
- if (yych <= 0x00) goto yy1841;
- goto yy1919;
- } else {
- if (yych <= '\n') goto yy1841;
- if (yych <= '\f') goto yy1919;
- goto yy1841;
- }
- } else {
- if (yych <= '(') {
- if (yych <= ' ') goto yy1919;
- if (yych <= '\'') goto yy1942;
- goto yy1917;
- } else {
- if (yych == '>') goto yy1954;
- goto yy1942;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\\') goto yy1946;
- if (yych <= 0x7F) goto yy1942;
- goto yy1841;
- } else {
- if (yych <= 0xDF) goto yy1947;
- if (yych <= 0xE0) goto yy1948;
- goto yy1949;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1953;
- if (yych <= 0xEF) goto yy1949;
- goto yy1950;
- } else {
- if (yych <= 0xF3) goto yy1951;
- if (yych <= 0xF4) goto yy1952;
- goto yy1841;
- }
- }
- }
-yy1956:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1942;
- goto yy1848;
-yy1957:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1848;
- if (yych <= 0xBF) goto yy1956;
- goto yy1848;
-yy1958:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1956;
- goto yy1848;
-yy1959:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1848;
- if (yych <= 0xBF) goto yy1958;
- goto yy1848;
-yy1960:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1958;
- goto yy1848;
-yy1961:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x8F) goto yy1958;
- goto yy1848;
-yy1962:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x9F) goto yy1956;
- goto yy1848;
-yy1963:
- yyaccept = 2;
- marker = ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy1905;
- }
- if (yych <= '>') {
- if (yych <= '\r') {
- if (yych <= '\t') {
- if (yych <= 0x00) goto yy1908;
- goto yy1919;
- } else {
- if (yych <= '\n') goto yy1908;
- if (yych <= '\f') goto yy1919;
- goto yy1908;
- }
- } else {
- if (yych <= '(') {
- if (yych <= ' ') goto yy1919;
- goto yy1917;
- } else {
- if (yych <= ')') goto yy1919;
- if (yych <= '<') goto yy1870;
- goto yy1907;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\\') goto yy1916;
- goto yy1908;
- } else {
- if (yych <= 0xDF) goto yy1909;
- if (yych <= 0xE0) goto yy1910;
- goto yy1911;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1915;
- if (yych <= 0xEF) goto yy1911;
- goto yy1912;
- } else {
- if (yych <= 0xF3) goto yy1913;
- if (yych <= 0xF4) goto yy1914;
- goto yy1908;
- }
- }
- }
-yy1964:
- yyaccept = 0;
- marker = ++p;
- yych = *p;
- if (yych <= '[') {
- if (yych <= ' ') {
- if (yych <= '\n') {
- if (yych <= 0x00) goto yy1841;
- if (yych <= '\t') goto yy1919;
- goto yy1841;
- } else {
- if (yych == '\r') goto yy1841;
- goto yy1919;
- }
- } else {
- if (yych <= ')') {
- if (yych <= '\'') goto yy1905;
- if (yych <= '(') goto yy1917;
- goto yy1919;
- } else {
- if (yych == '>') goto yy1963;
- goto yy1905;
- }
- }
- } else {
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= '\\') goto yy1916;
- if (yych <= 0x7F) goto yy1905;
- goto yy1841;
- } else {
- if (yych <= 0xDF) goto yy1909;
- if (yych <= 0xE0) goto yy1910;
- goto yy1911;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy1915;
- if (yych <= 0xEF) goto yy1911;
- goto yy1912;
- } else {
- if (yych <= 0xF3) goto yy1913;
- if (yych <= 0xF4) goto yy1914;
- goto yy1841;
- }
- }
- }
-yy1965:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1905;
- goto yy1848;
-yy1966:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1848;
- if (yych <= 0xBF) goto yy1965;
- goto yy1848;
-yy1967:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1965;
- goto yy1848;
-yy1968:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1848;
- if (yych <= 0xBF) goto yy1967;
- goto yy1848;
-yy1969:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0xBF) goto yy1967;
- goto yy1848;
-yy1970:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x8F) goto yy1967;
- goto yy1848;
-yy1971:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1848;
- if (yych <= 0x9F) goto yy1965;
- goto yy1848;
-}
-
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 8, 128, 128, 8,
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 136, 224, 224, 224, 224, 224, 224, 224, 128, 128,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 32, 224, 32, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, 16, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *(marker = p);
+ if (yych <= '[') {
+ if (yych <= ' ') {
+ if (yych <= '\f') {
+ if (yych == '\n')
+ goto yy1842;
+ goto yy1858;
+ } else {
+ if (yych <= '\r')
+ goto yy1844;
+ if (yych <= 0x1F)
+ goto yy1858;
+ goto yy1844;
+ }
+ } else {
+ if (yych <= ')') {
+ if (yych <= '\'')
+ goto yy1846;
+ if (yych <= '(')
+ goto yy1857;
+ goto yy1858;
+ } else {
+ if (yych == '<')
+ goto yy1845;
+ goto yy1846;
+ }
+ }
+ } else {
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\\')
+ goto yy1855;
+ if (yych <= 0x7F)
+ goto yy1846;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1847;
+ if (yych <= 0xE0)
+ goto yy1849;
+ goto yy1850;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1854;
+ if (yych <= 0xEF)
+ goto yy1850;
+ goto yy1851;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1852;
+ if (yych <= 0xF4)
+ goto yy1853;
+ }
+ }
+ }
+ yy1841 : { return (bufsize_t)(p - start); }
+ yy1842:
+ yyaccept = 0;
+ marker = ++p;
+ yych = *p;
+ yy1843:
+ if (yybm[0 + yych] & 8) {
+ goto yy1842;
+ }
+ if (yych <= 0x7F) {
+ if (yych <= ')') {
+ if (yych <= 0x1F)
+ goto yy1841;
+ if (yych <= '\'')
+ goto yy1870;
+ if (yych <= '(')
+ goto yy1861;
+ goto yy1841;
+ } else {
+ if (yych <= '<') {
+ if (yych <= ';')
+ goto yy1870;
+ goto yy1905;
+ } else {
+ if (yych == '\\')
+ goto yy1879;
+ goto yy1870;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF) {
+ if (yych <= 0xC1)
+ goto yy1841;
+ goto yy1872;
+ } else {
+ if (yych <= 0xE0)
+ goto yy1873;
+ if (yych <= 0xEC)
+ goto yy1874;
+ goto yy1878;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy1874;
+ goto yy1875;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1876;
+ if (yych <= 0xF4)
+ goto yy1877;
+ goto yy1841;
+ }
+ }
+ }
+ yy1844:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ goto yy1843;
+ yy1845:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 64) {
+ goto yy1905;
+ }
+ if (yych <= '>') {
+ if (yych <= '\r') {
+ if (yych <= '\t') {
+ if (yych <= 0x00)
+ goto yy1841;
+ goto yy1919;
+ } else {
+ if (yych <= '\n')
+ goto yy1841;
+ if (yych <= '\f')
+ goto yy1919;
+ goto yy1841;
+ }
+ } else {
+ if (yych <= '(') {
+ if (yych <= ' ')
+ goto yy1919;
+ goto yy1917;
+ } else {
+ if (yych <= ')')
+ goto yy1919;
+ if (yych <= '<')
+ goto yy1870;
+ goto yy1907;
+ }
+ }
+ } else {
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\\')
+ goto yy1916;
+ goto yy1841;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1909;
+ if (yych <= 0xE0)
+ goto yy1910;
+ goto yy1911;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1915;
+ if (yych <= 0xEF)
+ goto yy1911;
+ goto yy1912;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1913;
+ if (yych <= 0xF4)
+ goto yy1914;
+ goto yy1841;
+ }
+ }
+ }
+ yy1846:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ goto yy1871;
+ yy1847:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1846;
+ yy1848:
+ p = marker;
+ if (yyaccept <= 1) {
+ if (yyaccept == 0) {
+ goto yy1841;
+ } else {
+ goto yy1856;
+ }
+ } else {
+ goto yy1908;
+ }
+ yy1849:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1847;
+ goto yy1848;
+ yy1850:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1847;
+ goto yy1848;
+ yy1851:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1850;
+ goto yy1848;
+ yy1852:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1850;
+ goto yy1848;
+ yy1853:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x8F)
+ goto yy1850;
+ goto yy1848;
+ yy1854:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x9F)
+ goto yy1847;
+ goto yy1848;
+ yy1855:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x7F)
+ goto yy1870;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1880;
+ if (yych <= 0xE0)
+ goto yy1881;
+ goto yy1882;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1886;
+ if (yych <= 0xEF)
+ goto yy1882;
+ goto yy1883;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1884;
+ if (yych <= 0xF4)
+ goto yy1885;
+ }
+ }
+ yy1856 : { return 0; }
+ yy1857:
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yych <= '(') {
+ if (yych <= ' ')
+ goto yy1856;
+ if (yych <= '\'')
+ goto yy1862;
+ goto yy1856;
+ } else {
+ if (yych <= 0x7F)
+ goto yy1862;
+ if (yych <= 0xC1)
+ goto yy1856;
+ if (yych <= 0xF4)
+ goto yy1862;
+ goto yy1856;
+ }
+ yy1858:
+ yych = *++p;
+ goto yy1856;
+ yy1859:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 16) {
+ goto yy1859;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= ')') {
+ if (yych <= ' ')
+ goto yy1848;
+ if (yych >= ')')
+ goto yy1887;
+ } else {
+ if (yych <= 0x7F)
+ goto yy1861;
+ if (yych <= 0xC1)
+ goto yy1848;
+ if (yych <= 0xDF)
+ goto yy1863;
+ goto yy1864;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1869;
+ goto yy1865;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1866;
+ if (yych <= 0xF3)
+ goto yy1867;
+ if (yych <= 0xF4)
+ goto yy1868;
+ goto yy1848;
+ }
+ }
+ yy1861:
+ ++p;
+ yych = *p;
+ yy1862:
+ if (yybm[0 + yych] & 32) {
+ goto yy1861;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= '(')
+ goto yy1848;
+ if (yych <= ')')
+ goto yy1870;
+ goto yy1859;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1848;
+ if (yych >= 0xE0)
+ goto yy1864;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1869;
+ goto yy1865;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1866;
+ if (yych <= 0xF3)
+ goto yy1867;
+ if (yych <= 0xF4)
+ goto yy1868;
+ goto yy1848;
+ }
+ }
+ yy1863:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1861;
+ goto yy1848;
+ yy1864:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1863;
+ goto yy1848;
+ yy1865:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1863;
+ goto yy1848;
+ yy1866:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1865;
+ goto yy1848;
+ yy1867:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1865;
+ goto yy1848;
+ yy1868:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x8F)
+ goto yy1865;
+ goto yy1848;
+ yy1869:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x9F)
+ goto yy1863;
+ goto yy1848;
+ yy1870:
+ yyaccept = 0;
+ marker = ++p;
+ yych = *p;
+ yy1871:
+ if (yych <= 0xC1) {
+ if (yych <= ')') {
+ if (yych <= ' ')
+ goto yy1841;
+ if (yych <= '\'')
+ goto yy1870;
+ if (yych <= '(')
+ goto yy1861;
+ goto yy1841;
+ } else {
+ if (yych == '\\')
+ goto yy1879;
+ if (yych <= 0x7F)
+ goto yy1870;
+ goto yy1841;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy1872;
+ if (yych <= 0xE0)
+ goto yy1873;
+ if (yych <= 0xEC)
+ goto yy1874;
+ goto yy1878;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy1874;
+ goto yy1875;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1876;
+ if (yych <= 0xF4)
+ goto yy1877;
+ goto yy1841;
+ }
+ }
+ }
+ yy1872:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1870;
+ goto yy1848;
+ yy1873:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1872;
+ goto yy1848;
+ yy1874:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1872;
+ goto yy1848;
+ yy1875:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1874;
+ goto yy1848;
+ yy1876:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1874;
+ goto yy1848;
+ yy1877:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x8F)
+ goto yy1874;
+ goto yy1848;
+ yy1878:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x9F)
+ goto yy1872;
+ goto yy1848;
+ yy1879:
+ ++p;
+ yych = *p;
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x7F)
+ goto yy1870;
+ goto yy1848;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1880;
+ if (yych <= 0xE0)
+ goto yy1881;
+ goto yy1882;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1886;
+ if (yych <= 0xEF)
+ goto yy1882;
+ goto yy1883;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1884;
+ if (yych <= 0xF4)
+ goto yy1885;
+ goto yy1848;
+ }
+ }
+ yy1880:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1870;
+ goto yy1848;
+ yy1881:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1880;
+ goto yy1848;
+ yy1882:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1880;
+ goto yy1848;
+ yy1883:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1882;
+ goto yy1848;
+ yy1884:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1882;
+ goto yy1848;
+ yy1885:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x8F)
+ goto yy1882;
+ goto yy1848;
+ yy1886:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x9F)
+ goto yy1880;
+ goto yy1848;
+ yy1887:
+ yyaccept = 0;
+ marker = ++p;
+ yych = *p;
+ yy1888:
+ if (yych <= 0xC1) {
+ if (yych <= ')') {
+ if (yych <= ' ')
+ goto yy1841;
+ if (yych <= '\'')
+ goto yy1887;
+ if (yych <= '(')
+ goto yy1861;
+ goto yy1870;
+ } else {
+ if (yych == '\\')
+ goto yy1896;
+ if (yych <= 0x7F)
+ goto yy1887;
+ goto yy1841;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy1889;
+ if (yych <= 0xE0)
+ goto yy1890;
+ if (yych <= 0xEC)
+ goto yy1891;
+ goto yy1895;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy1891;
+ goto yy1892;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1893;
+ if (yych <= 0xF4)
+ goto yy1894;
+ goto yy1841;
+ }
+ }
+ }
+ yy1889:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1887;
+ goto yy1848;
+ yy1890:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1889;
+ goto yy1848;
+ yy1891:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1889;
+ goto yy1848;
+ yy1892:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1891;
+ goto yy1848;
+ yy1893:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1891;
+ goto yy1848;
+ yy1894:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x8F)
+ goto yy1891;
+ goto yy1848;
+ yy1895:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x9F)
+ goto yy1889;
+ goto yy1848;
+ yy1896:
+ ++p;
+ yych = *p;
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= ' ')
+ goto yy1870;
+ if (yych <= '[')
+ goto yy1887;
+ } else {
+ if (yych <= 0x7F)
+ goto yy1887;
+ if (yych <= 0xC1)
+ goto yy1848;
+ if (yych <= 0xDF)
+ goto yy1898;
+ goto yy1899;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1904;
+ goto yy1900;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1901;
+ if (yych <= 0xF3)
+ goto yy1902;
+ if (yych <= 0xF4)
+ goto yy1903;
+ goto yy1848;
+ }
+ }
+ yyaccept = 0;
+ marker = ++p;
+ yych = *p;
+ if (yych <= 0xDF) {
+ if (yych <= '[') {
+ if (yych <= ' ')
+ goto yy1841;
+ if (yych == '(')
+ goto yy1861;
+ goto yy1887;
+ } else {
+ if (yych <= '\\')
+ goto yy1896;
+ if (yych <= 0x7F)
+ goto yy1887;
+ if (yych <= 0xC1)
+ goto yy1841;
+ goto yy1889;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy1890;
+ if (yych == 0xED)
+ goto yy1895;
+ goto yy1891;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1892;
+ if (yych <= 0xF3)
+ goto yy1893;
+ if (yych <= 0xF4)
+ goto yy1894;
+ goto yy1841;
+ }
+ }
+ yy1898:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1887;
+ goto yy1848;
+ yy1899:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1898;
+ goto yy1848;
+ yy1900:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1898;
+ goto yy1848;
+ yy1901:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1900;
+ goto yy1848;
+ yy1902:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1900;
+ goto yy1848;
+ yy1903:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x8F)
+ goto yy1900;
+ goto yy1848;
+ yy1904:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x9F)
+ goto yy1898;
+ goto yy1848;
+ yy1905:
+ yyaccept = 0;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1905;
+ }
+ if (yych <= '>') {
+ if (yych <= '\r') {
+ if (yych <= '\t') {
+ if (yych <= 0x00)
+ goto yy1841;
+ goto yy1919;
+ } else {
+ if (yych <= '\n')
+ goto yy1841;
+ if (yych <= '\f')
+ goto yy1919;
+ goto yy1841;
+ }
+ } else {
+ if (yych <= '(') {
+ if (yych <= ' ')
+ goto yy1919;
+ goto yy1917;
+ } else {
+ if (yych <= ')')
+ goto yy1919;
+ if (yych <= '<')
+ goto yy1870;
+ }
+ }
+ } else {
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\\')
+ goto yy1916;
+ goto yy1841;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1909;
+ if (yych <= 0xE0)
+ goto yy1910;
+ goto yy1911;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1915;
+ if (yych <= 0xEF)
+ goto yy1911;
+ goto yy1912;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1913;
+ if (yych <= 0xF4)
+ goto yy1914;
+ goto yy1841;
+ }
+ }
+ }
+ yy1907:
+ yyaccept = 2;
+ yych = *(marker = ++p);
+ if (yych <= ')') {
+ if (yych <= ' ')
+ goto yy1908;
+ if (yych <= '(')
+ goto yy1871;
+ } else {
+ if (yych <= 0x7F)
+ goto yy1871;
+ if (yych <= 0xC1)
+ goto yy1908;
+ if (yych <= 0xF4)
+ goto yy1871;
+ }
+ yy1908 : { return (bufsize_t)(p - start); }
+ yy1909:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1905;
+ goto yy1848;
+ yy1910:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1909;
+ goto yy1848;
+ yy1911:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1909;
+ goto yy1848;
+ yy1912:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1911;
+ goto yy1848;
+ yy1913:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1911;
+ goto yy1848;
+ yy1914:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x8F)
+ goto yy1911;
+ goto yy1848;
+ yy1915:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x9F)
+ goto yy1909;
+ goto yy1848;
+ yy1916:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F) {
+ if (yych <= '\r') {
+ if (yych <= '\t') {
+ if (yych <= 0x00)
+ goto yy1870;
+ goto yy1905;
+ } else {
+ if (yych <= '\n')
+ goto yy1870;
+ if (yych <= '\f')
+ goto yy1905;
+ goto yy1870;
+ }
+ } else {
+ if (yych <= '>') {
+ if (yych <= '=')
+ goto yy1905;
+ goto yy1963;
+ } else {
+ if (yych == '\\')
+ goto yy1964;
+ goto yy1905;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF) {
+ if (yych <= 0xC1)
+ goto yy1848;
+ goto yy1965;
+ } else {
+ if (yych <= 0xE0)
+ goto yy1966;
+ if (yych <= 0xEC)
+ goto yy1967;
+ goto yy1971;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy1967;
+ goto yy1968;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1969;
+ if (yych <= 0xF4)
+ goto yy1970;
+ goto yy1848;
+ }
+ }
+ }
+ yy1917:
+ ++p;
+ yych = *p;
+ if (yych <= '>') {
+ if (yych <= ' ') {
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy1848;
+ if (yych >= '\n')
+ goto yy1848;
+ } else {
+ if (yych == '\r')
+ goto yy1848;
+ }
+ } else {
+ if (yych <= ')') {
+ if (yych <= '\'')
+ goto yy1917;
+ if (yych >= ')')
+ goto yy1905;
+ } else {
+ if (yych == '<')
+ goto yy1861;
+ if (yych <= '=')
+ goto yy1917;
+ goto yy1932;
+ }
+ }
+ } else {
+ if (yych <= 0xE0) {
+ if (yych <= 0x7F) {
+ if (yych == '\\')
+ goto yy1933;
+ goto yy1917;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1848;
+ if (yych <= 0xDF)
+ goto yy1935;
+ goto yy1936;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1941;
+ goto yy1937;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1938;
+ if (yych <= 0xF3)
+ goto yy1939;
+ if (yych <= 0xF4)
+ goto yy1940;
+ goto yy1848;
+ }
+ }
+ }
+ yy1919:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy1919;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= '<')
+ goto yy1848;
+ if (yych >= '?')
+ goto yy1922;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1848;
+ if (yych <= 0xDF)
+ goto yy1924;
+ goto yy1925;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1930;
+ goto yy1926;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1927;
+ if (yych <= 0xF3)
+ goto yy1928;
+ if (yych <= 0xF4)
+ goto yy1929;
+ goto yy1848;
+ }
+ }
+ yy1921:
+ yych = *++p;
+ goto yy1908;
+ yy1922:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F) {
+ if (yych <= '\r') {
+ if (yych <= '\t') {
+ if (yych <= 0x00)
+ goto yy1848;
+ goto yy1919;
+ } else {
+ if (yych <= '\n')
+ goto yy1848;
+ if (yych <= '\f')
+ goto yy1919;
+ goto yy1848;
+ }
+ } else {
+ if (yych <= '>') {
+ if (yych <= '=')
+ goto yy1919;
+ goto yy1931;
+ } else {
+ if (yych == '\\')
+ goto yy1922;
+ goto yy1919;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF) {
+ if (yych <= 0xC1)
+ goto yy1848;
+ } else {
+ if (yych <= 0xE0)
+ goto yy1925;
+ if (yych <= 0xEC)
+ goto yy1926;
+ goto yy1930;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy1926;
+ goto yy1927;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1928;
+ if (yych <= 0xF4)
+ goto yy1929;
+ goto yy1848;
+ }
+ }
+ }
+ yy1924:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1919;
+ goto yy1848;
+ yy1925:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1924;
+ goto yy1848;
+ yy1926:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1924;
+ goto yy1848;
+ yy1927:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1926;
+ goto yy1848;
+ yy1928:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1926;
+ goto yy1848;
+ yy1929:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x8F)
+ goto yy1926;
+ goto yy1848;
+ yy1930:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x9F)
+ goto yy1924;
+ goto yy1848;
+ yy1931:
+ yyaccept = 2;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy1919;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= '<')
+ goto yy1908;
+ if (yych <= '>')
+ goto yy1921;
+ goto yy1922;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1908;
+ if (yych <= 0xDF)
+ goto yy1924;
+ goto yy1925;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1930;
+ goto yy1926;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1927;
+ if (yych <= 0xF3)
+ goto yy1928;
+ if (yych <= 0xF4)
+ goto yy1929;
+ goto yy1908;
+ }
+ }
+ yy1932:
+ yyaccept = 2;
+ yych = *(marker = ++p);
+ if (yych <= '(') {
+ if (yych <= ' ')
+ goto yy1908;
+ if (yych <= '\'')
+ goto yy1862;
+ goto yy1908;
+ } else {
+ if (yych <= 0x7F)
+ goto yy1862;
+ if (yych <= 0xC1)
+ goto yy1908;
+ if (yych <= 0xF4)
+ goto yy1862;
+ goto yy1908;
+ }
+ yy1933:
+ ++p;
+ yych = *p;
+ if (yych <= '[') {
+ if (yych <= '\r') {
+ if (yych <= '\t') {
+ if (yych <= 0x00)
+ goto yy1848;
+ goto yy1919;
+ } else {
+ if (yych <= '\n')
+ goto yy1848;
+ if (yych <= '\f')
+ goto yy1919;
+ goto yy1848;
+ }
+ } else {
+ if (yych <= ')') {
+ if (yych <= ' ')
+ goto yy1919;
+ if (yych <= '(')
+ goto yy1917;
+ goto yy1942;
+ } else {
+ if (yych == '>')
+ goto yy1944;
+ goto yy1917;
+ }
+ }
+ } else {
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\\')
+ goto yy1933;
+ if (yych <= 0x7F)
+ goto yy1917;
+ goto yy1848;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1935;
+ if (yych <= 0xE0)
+ goto yy1936;
+ goto yy1937;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1941;
+ if (yych <= 0xEF)
+ goto yy1937;
+ goto yy1938;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1939;
+ if (yych <= 0xF4)
+ goto yy1940;
+ goto yy1848;
+ }
+ }
+ }
+ yy1935:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1917;
+ goto yy1848;
+ yy1936:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1935;
+ goto yy1848;
+ yy1937:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1935;
+ goto yy1848;
+ yy1938:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1937;
+ goto yy1848;
+ yy1939:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1937;
+ goto yy1848;
+ yy1940:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x8F)
+ goto yy1937;
+ goto yy1848;
+ yy1941:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x9F)
+ goto yy1935;
+ goto yy1848;
+ yy1942:
+ yyaccept = 0;
+ marker = ++p;
+ yych = *p;
+ if (yych <= '>') {
+ if (yych <= ' ') {
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy1841;
+ if (yych <= '\t')
+ goto yy1919;
+ goto yy1841;
+ } else {
+ if (yych == '\r')
+ goto yy1841;
+ goto yy1919;
+ }
+ } else {
+ if (yych <= ')') {
+ if (yych <= '\'')
+ goto yy1942;
+ if (yych <= '(')
+ goto yy1917;
+ goto yy1905;
+ } else {
+ if (yych == '<')
+ goto yy1887;
+ if (yych <= '=')
+ goto yy1942;
+ goto yy1945;
+ }
+ }
+ } else {
+ if (yych <= 0xE0) {
+ if (yych <= 0x7F) {
+ if (yych == '\\')
+ goto yy1946;
+ goto yy1942;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1841;
+ if (yych <= 0xDF)
+ goto yy1947;
+ goto yy1948;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1953;
+ goto yy1949;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1950;
+ if (yych <= 0xF3)
+ goto yy1951;
+ if (yych <= 0xF4)
+ goto yy1952;
+ goto yy1841;
+ }
+ }
+ }
+ yy1944:
+ yyaccept = 2;
+ marker = ++p;
+ yych = *p;
+ if (yych <= '>') {
+ if (yych <= ' ') {
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy1908;
+ if (yych <= '\t')
+ goto yy1919;
+ goto yy1908;
+ } else {
+ if (yych == '\r')
+ goto yy1908;
+ goto yy1919;
+ }
+ } else {
+ if (yych <= ')') {
+ if (yych <= '\'')
+ goto yy1917;
+ if (yych <= '(')
+ goto yy1919;
+ goto yy1905;
+ } else {
+ if (yych == '<')
+ goto yy1861;
+ if (yych <= '=')
+ goto yy1917;
+ goto yy1932;
+ }
+ }
+ } else {
+ if (yych <= 0xE0) {
+ if (yych <= 0x7F) {
+ if (yych == '\\')
+ goto yy1933;
+ goto yy1917;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1908;
+ if (yych <= 0xDF)
+ goto yy1935;
+ goto yy1936;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1941;
+ goto yy1937;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1938;
+ if (yych <= 0xF3)
+ goto yy1939;
+ if (yych <= 0xF4)
+ goto yy1940;
+ goto yy1908;
+ }
+ }
+ }
+ yy1945:
+ yyaccept = 2;
+ yych = *(marker = ++p);
+ if (yych <= ' ')
+ goto yy1908;
+ if (yych <= 0x7F)
+ goto yy1888;
+ if (yych <= 0xC1)
+ goto yy1908;
+ if (yych <= 0xF4)
+ goto yy1888;
+ goto yy1908;
+ yy1946:
+ ++p;
+ yych = *p;
+ if (yych <= '\\') {
+ if (yych <= '\r') {
+ if (yych <= '\t') {
+ if (yych <= 0x00)
+ goto yy1870;
+ goto yy1905;
+ } else {
+ if (yych <= '\n')
+ goto yy1870;
+ if (yych <= '\f')
+ goto yy1905;
+ goto yy1870;
+ }
+ } else {
+ if (yych <= '=') {
+ if (yych <= ' ')
+ goto yy1905;
+ goto yy1942;
+ } else {
+ if (yych <= '>')
+ goto yy1954;
+ if (yych <= '[')
+ goto yy1942;
+ goto yy1955;
+ }
+ }
+ } else {
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x7F)
+ goto yy1942;
+ goto yy1848;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1956;
+ if (yych <= 0xE0)
+ goto yy1957;
+ goto yy1958;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1962;
+ if (yych <= 0xEF)
+ goto yy1958;
+ goto yy1959;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1960;
+ if (yych <= 0xF4)
+ goto yy1961;
+ goto yy1848;
+ }
+ }
+ }
+ yy1947:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1942;
+ goto yy1848;
+ yy1948:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1947;
+ goto yy1848;
+ yy1949:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1947;
+ goto yy1848;
+ yy1950:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1949;
+ goto yy1848;
+ yy1951:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1949;
+ goto yy1848;
+ yy1952:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x8F)
+ goto yy1949;
+ goto yy1848;
+ yy1953:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x9F)
+ goto yy1947;
+ goto yy1848;
+ yy1954:
+ yyaccept = 2;
+ marker = ++p;
+ yych = *p;
+ if (yych <= '>') {
+ if (yych <= ' ') {
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy1908;
+ if (yych <= '\t')
+ goto yy1919;
+ goto yy1908;
+ } else {
+ if (yych == '\r')
+ goto yy1908;
+ goto yy1919;
+ }
+ } else {
+ if (yych <= ')') {
+ if (yych <= '\'')
+ goto yy1942;
+ if (yych <= '(')
+ goto yy1917;
+ goto yy1905;
+ } else {
+ if (yych == '<')
+ goto yy1887;
+ if (yych <= '=')
+ goto yy1942;
+ goto yy1945;
+ }
+ }
+ } else {
+ if (yych <= 0xE0) {
+ if (yych <= 0x7F) {
+ if (yych == '\\')
+ goto yy1946;
+ goto yy1942;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1908;
+ if (yych <= 0xDF)
+ goto yy1947;
+ goto yy1948;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1953;
+ goto yy1949;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1950;
+ if (yych <= 0xF3)
+ goto yy1951;
+ if (yych <= 0xF4)
+ goto yy1952;
+ goto yy1908;
+ }
+ }
+ }
+ yy1955:
+ yyaccept = 0;
+ marker = ++p;
+ yych = *p;
+ if (yych <= '[') {
+ if (yych <= '\r') {
+ if (yych <= '\t') {
+ if (yych <= 0x00)
+ goto yy1841;
+ goto yy1919;
+ } else {
+ if (yych <= '\n')
+ goto yy1841;
+ if (yych <= '\f')
+ goto yy1919;
+ goto yy1841;
+ }
+ } else {
+ if (yych <= '(') {
+ if (yych <= ' ')
+ goto yy1919;
+ if (yych <= '\'')
+ goto yy1942;
+ goto yy1917;
+ } else {
+ if (yych == '>')
+ goto yy1954;
+ goto yy1942;
+ }
+ }
+ } else {
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\\')
+ goto yy1946;
+ if (yych <= 0x7F)
+ goto yy1942;
+ goto yy1841;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1947;
+ if (yych <= 0xE0)
+ goto yy1948;
+ goto yy1949;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1953;
+ if (yych <= 0xEF)
+ goto yy1949;
+ goto yy1950;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1951;
+ if (yych <= 0xF4)
+ goto yy1952;
+ goto yy1841;
+ }
+ }
+ }
+ yy1956:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1942;
+ goto yy1848;
+ yy1957:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1956;
+ goto yy1848;
+ yy1958:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1956;
+ goto yy1848;
+ yy1959:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1958;
+ goto yy1848;
+ yy1960:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1958;
+ goto yy1848;
+ yy1961:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x8F)
+ goto yy1958;
+ goto yy1848;
+ yy1962:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x9F)
+ goto yy1956;
+ goto yy1848;
+ yy1963:
+ yyaccept = 2;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy1905;
+ }
+ if (yych <= '>') {
+ if (yych <= '\r') {
+ if (yych <= '\t') {
+ if (yych <= 0x00)
+ goto yy1908;
+ goto yy1919;
+ } else {
+ if (yych <= '\n')
+ goto yy1908;
+ if (yych <= '\f')
+ goto yy1919;
+ goto yy1908;
+ }
+ } else {
+ if (yych <= '(') {
+ if (yych <= ' ')
+ goto yy1919;
+ goto yy1917;
+ } else {
+ if (yych <= ')')
+ goto yy1919;
+ if (yych <= '<')
+ goto yy1870;
+ goto yy1907;
+ }
+ }
+ } else {
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\\')
+ goto yy1916;
+ goto yy1908;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1909;
+ if (yych <= 0xE0)
+ goto yy1910;
+ goto yy1911;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1915;
+ if (yych <= 0xEF)
+ goto yy1911;
+ goto yy1912;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1913;
+ if (yych <= 0xF4)
+ goto yy1914;
+ goto yy1908;
+ }
+ }
+ }
+ yy1964:
+ yyaccept = 0;
+ marker = ++p;
+ yych = *p;
+ if (yych <= '[') {
+ if (yych <= ' ') {
+ if (yych <= '\n') {
+ if (yych <= 0x00)
+ goto yy1841;
+ if (yych <= '\t')
+ goto yy1919;
+ goto yy1841;
+ } else {
+ if (yych == '\r')
+ goto yy1841;
+ goto yy1919;
+ }
+ } else {
+ if (yych <= ')') {
+ if (yych <= '\'')
+ goto yy1905;
+ if (yych <= '(')
+ goto yy1917;
+ goto yy1919;
+ } else {
+ if (yych == '>')
+ goto yy1963;
+ goto yy1905;
+ }
+ }
+ } else {
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= '\\')
+ goto yy1916;
+ if (yych <= 0x7F)
+ goto yy1905;
+ goto yy1841;
+ } else {
+ if (yych <= 0xDF)
+ goto yy1909;
+ if (yych <= 0xE0)
+ goto yy1910;
+ goto yy1911;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy1915;
+ if (yych <= 0xEF)
+ goto yy1911;
+ goto yy1912;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1913;
+ if (yych <= 0xF4)
+ goto yy1914;
+ goto yy1841;
+ }
+ }
+ }
+ yy1965:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1905;
+ goto yy1848;
+ yy1966:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1965;
+ goto yy1848;
+ yy1967:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1965;
+ goto yy1848;
+ yy1968:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1967;
+ goto yy1848;
+ yy1969:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0xBF)
+ goto yy1967;
+ goto yy1848;
+ yy1970:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x8F)
+ goto yy1967;
+ goto yy1848;
+ yy1971:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1848;
+ if (yych <= 0x9F)
+ goto yy1965;
+ goto yy1848;
+ }
}
// 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, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 96, 224, 224, 224, 224, 160,
- 224, 192, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 16, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *(marker = p);
- if (yych <= 0xC1) {
- if (yych <= '"') {
- if (yych == '\n') goto yy1974;
- if (yych <= '!') goto yy1978;
- goto yy1975;
- } else {
- if (yych <= '\'') {
- if (yych <= '&') goto yy1978;
- goto yy1976;
- } else {
- if (yych <= '(') goto yy1977;
- if (yych <= 0x7F) goto yy1978;
- }
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy1979;
- if (yych <= 0xE0) goto yy1981;
- if (yych <= 0xEC) goto yy1982;
- goto yy1986;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy1982;
- goto yy1983;
- } else {
- if (yych <= 0xF3) goto yy1984;
- if (yych <= 0xF4) goto yy1985;
- }
- }
- }
-yy1974:
- { return 0; }
-yy1975:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x00) goto yy1974;
- if (yych <= 0x7F) goto yy2018;
- if (yych <= 0xC1) goto yy1974;
- if (yych <= 0xF4) goto yy2018;
- goto yy1974;
-yy1976:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x00) goto yy1974;
- if (yych <= 0x7F) goto yy2004;
- if (yych <= 0xC1) goto yy1974;
- if (yych <= 0xF4) goto yy2004;
- goto yy1974;
-yy1977:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych <= 0x00) goto yy1974;
- if (yych <= 0x7F) goto yy1990;
- if (yych <= 0xC1) goto yy1974;
- if (yych <= 0xF4) goto yy1990;
- goto yy1974;
-yy1978:
- yych = *++p;
- goto yy1974;
-yy1979:
- yych = *++p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0xBF) goto yy1978;
-yy1980:
- p = marker;
- if (yyaccept <= 1) {
- if (yyaccept == 0) {
- goto yy1974;
- } else {
- goto yy1999;
- }
- } else {
- if (yyaccept == 2) {
- goto yy2013;
- } else {
- goto yy2027;
- }
- }
-yy1981:
- yych = *++p;
- if (yych <= 0x9F) goto yy1980;
- if (yych <= 0xBF) goto yy1979;
- goto yy1980;
-yy1982:
- yych = *++p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0xBF) goto yy1979;
- goto yy1980;
-yy1983:
- yych = *++p;
- if (yych <= 0x8F) goto yy1980;
- if (yych <= 0xBF) goto yy1982;
- goto yy1980;
-yy1984:
- yych = *++p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0xBF) goto yy1982;
- goto yy1980;
-yy1985:
- yych = *++p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0x8F) goto yy1982;
- goto yy1980;
-yy1986:
- yych = *++p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0x9F) goto yy1979;
- goto yy1980;
-yy1987:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 32) {
- goto yy1989;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= 0x00) goto yy1980;
- if (yych <= ')') goto yy2000;
- goto yy1987;
- } else {
- if (yych <= 0xC1) goto yy1980;
- if (yych <= 0xDF) goto yy1991;
- goto yy1992;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1997;
- goto yy1993;
- } else {
- if (yych <= 0xF0) goto yy1994;
- if (yych <= 0xF3) goto yy1995;
- if (yych <= 0xF4) goto yy1996;
- goto yy1980;
- }
- }
-yy1989:
- ++p;
- yych = *p;
-yy1990:
- if (yybm[0+yych] & 32) {
- goto yy1989;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= 0x00) goto yy1980;
- if (yych <= ')') goto yy1998;
- goto yy1987;
- } else {
- if (yych <= 0xC1) goto yy1980;
- if (yych >= 0xE0) goto yy1992;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1997;
- goto yy1993;
- } else {
- if (yych <= 0xF0) goto yy1994;
- if (yych <= 0xF3) goto yy1995;
- if (yych <= 0xF4) goto yy1996;
- goto yy1980;
- }
- }
-yy1991:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0xBF) goto yy1989;
- goto yy1980;
-yy1992:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1980;
- if (yych <= 0xBF) goto yy1991;
- goto yy1980;
-yy1993:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0xBF) goto yy1991;
- goto yy1980;
-yy1994:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1980;
- if (yych <= 0xBF) goto yy1993;
- goto yy1980;
-yy1995:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0xBF) goto yy1993;
- goto yy1980;
-yy1996:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0x8F) goto yy1993;
- goto yy1980;
-yy1997:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0x9F) goto yy1991;
- goto yy1980;
-yy1998:
- ++p;
-yy1999:
- { return (bufsize_t)(p - start); }
-yy2000:
- yyaccept = 1;
- marker = ++p;
- yych = *p;
- if (yybm[0+yych] & 32) {
- goto yy1989;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= 0x00) goto yy1999;
- if (yych <= ')') goto yy1998;
- goto yy1987;
- } else {
- if (yych <= 0xC1) goto yy1999;
- if (yych <= 0xDF) goto yy1991;
- goto yy1992;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy1997;
- goto yy1993;
- } else {
- if (yych <= 0xF0) goto yy1994;
- if (yych <= 0xF3) goto yy1995;
- if (yych <= 0xF4) goto yy1996;
- goto yy1999;
- }
- }
-yy2001:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy2003;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= 0x00) goto yy1980;
- if (yych <= '\'') goto yy2014;
- goto yy2001;
- } else {
- if (yych <= 0xC1) goto yy1980;
- if (yych <= 0xDF) goto yy2005;
- goto yy2006;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy2011;
- goto yy2007;
- } else {
- if (yych <= 0xF0) goto yy2008;
- if (yych <= 0xF3) goto yy2009;
- if (yych <= 0xF4) goto yy2010;
- goto yy1980;
- }
- }
-yy2003:
- ++p;
- yych = *p;
-yy2004:
- if (yybm[0+yych] & 64) {
- goto yy2003;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= 0x00) goto yy1980;
- if (yych <= '\'') goto yy2012;
- goto yy2001;
- } else {
- if (yych <= 0xC1) goto yy1980;
- if (yych >= 0xE0) goto yy2006;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy2011;
- goto yy2007;
- } else {
- if (yych <= 0xF0) goto yy2008;
- if (yych <= 0xF3) goto yy2009;
- if (yych <= 0xF4) goto yy2010;
- goto yy1980;
- }
- }
-yy2005:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0xBF) goto yy2003;
- goto yy1980;
-yy2006:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1980;
- if (yych <= 0xBF) goto yy2005;
- goto yy1980;
-yy2007:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0xBF) goto yy2005;
- goto yy1980;
-yy2008:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1980;
- if (yych <= 0xBF) goto yy2007;
- goto yy1980;
-yy2009:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0xBF) goto yy2007;
- goto yy1980;
-yy2010:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0x8F) goto yy2007;
- goto yy1980;
-yy2011:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0x9F) goto yy2005;
- goto yy1980;
-yy2012:
- ++p;
-yy2013:
- { return (bufsize_t)(p - start); }
-yy2014:
- yyaccept = 2;
- marker = ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy2003;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= 0x00) goto yy2013;
- if (yych <= '\'') goto yy2012;
- goto yy2001;
- } else {
- if (yych <= 0xC1) goto yy2013;
- if (yych <= 0xDF) goto yy2005;
- goto yy2006;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy2011;
- goto yy2007;
- } else {
- if (yych <= 0xF0) goto yy2008;
- if (yych <= 0xF3) goto yy2009;
- if (yych <= 0xF4) goto yy2010;
- goto yy2013;
- }
- }
-yy2015:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy2017;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= 0x00) goto yy1980;
- if (yych <= '"') goto yy2028;
- goto yy2015;
- } else {
- if (yych <= 0xC1) goto yy1980;
- if (yych <= 0xDF) goto yy2019;
- goto yy2020;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy2025;
- goto yy2021;
- } else {
- if (yych <= 0xF0) goto yy2022;
- if (yych <= 0xF3) goto yy2023;
- if (yych <= 0xF4) goto yy2024;
- goto yy1980;
- }
- }
-yy2017:
- ++p;
- yych = *p;
-yy2018:
- if (yybm[0+yych] & 128) {
- goto yy2017;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= 0x00) goto yy1980;
- if (yych <= '"') goto yy2026;
- goto yy2015;
- } else {
- if (yych <= 0xC1) goto yy1980;
- if (yych >= 0xE0) goto yy2020;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy2025;
- goto yy2021;
- } else {
- if (yych <= 0xF0) goto yy2022;
- if (yych <= 0xF3) goto yy2023;
- if (yych <= 0xF4) goto yy2024;
- goto yy1980;
- }
- }
-yy2019:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0xBF) goto yy2017;
- goto yy1980;
-yy2020:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy1980;
- if (yych <= 0xBF) goto yy2019;
- goto yy1980;
-yy2021:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0xBF) goto yy2019;
- goto yy1980;
-yy2022:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy1980;
- if (yych <= 0xBF) goto yy2021;
- goto yy1980;
-yy2023:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0xBF) goto yy2021;
- goto yy1980;
-yy2024:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0x8F) goto yy2021;
- goto yy1980;
-yy2025:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy1980;
- if (yych <= 0x9F) goto yy2019;
- goto yy1980;
-yy2026:
- ++p;
-yy2027:
- { return (bufsize_t)(p - start); }
-yy2028:
- yyaccept = 3;
- marker = ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy2017;
- }
- if (yych <= 0xE0) {
- if (yych <= '\\') {
- if (yych <= 0x00) goto yy2027;
- if (yych <= '"') goto yy2026;
- goto yy2015;
- } else {
- if (yych <= 0xC1) goto yy2027;
- if (yych <= 0xDF) goto yy2019;
- goto yy2020;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy2025;
- goto yy2021;
- } else {
- if (yych <= 0xF0) goto yy2022;
- if (yych <= 0xF3) goto yy2023;
- if (yych <= 0xF4) goto yy2024;
- goto yy2027;
- }
- }
-}
-
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 96, 224, 224, 224, 224, 160, 224, 192,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, 16, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *(marker = p);
+ if (yych <= 0xC1) {
+ if (yych <= '"') {
+ if (yych == '\n')
+ goto yy1974;
+ if (yych <= '!')
+ goto yy1978;
+ goto yy1975;
+ } else {
+ if (yych <= '\'') {
+ if (yych <= '&')
+ goto yy1978;
+ goto yy1976;
+ } else {
+ if (yych <= '(')
+ goto yy1977;
+ if (yych <= 0x7F)
+ goto yy1978;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy1979;
+ if (yych <= 0xE0)
+ goto yy1981;
+ if (yych <= 0xEC)
+ goto yy1982;
+ goto yy1986;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy1982;
+ goto yy1983;
+ } else {
+ if (yych <= 0xF3)
+ goto yy1984;
+ if (yych <= 0xF4)
+ goto yy1985;
+ }
+ }
+ }
+ yy1974 : { return 0; }
+ yy1975:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x00)
+ goto yy1974;
+ if (yych <= 0x7F)
+ goto yy2018;
+ if (yych <= 0xC1)
+ goto yy1974;
+ if (yych <= 0xF4)
+ goto yy2018;
+ goto yy1974;
+ yy1976:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x00)
+ goto yy1974;
+ if (yych <= 0x7F)
+ goto yy2004;
+ if (yych <= 0xC1)
+ goto yy1974;
+ if (yych <= 0xF4)
+ goto yy2004;
+ goto yy1974;
+ yy1977:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych <= 0x00)
+ goto yy1974;
+ if (yych <= 0x7F)
+ goto yy1990;
+ if (yych <= 0xC1)
+ goto yy1974;
+ if (yych <= 0xF4)
+ goto yy1990;
+ goto yy1974;
+ yy1978:
+ yych = *++p;
+ goto yy1974;
+ yy1979:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy1978;
+ yy1980:
+ p = marker;
+ if (yyaccept <= 1) {
+ if (yyaccept == 0) {
+ goto yy1974;
+ } else {
+ goto yy1999;
+ }
+ } else {
+ if (yyaccept == 2) {
+ goto yy2013;
+ } else {
+ goto yy2027;
+ }
+ }
+ yy1981:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy1979;
+ goto yy1980;
+ yy1982:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy1979;
+ goto yy1980;
+ yy1983:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy1982;
+ goto yy1980;
+ yy1984:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy1982;
+ goto yy1980;
+ yy1985:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0x8F)
+ goto yy1982;
+ goto yy1980;
+ yy1986:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0x9F)
+ goto yy1979;
+ goto yy1980;
+ yy1987:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 32) {
+ goto yy1989;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy1980;
+ if (yych <= ')')
+ goto yy2000;
+ goto yy1987;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1980;
+ if (yych <= 0xDF)
+ goto yy1991;
+ goto yy1992;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1997;
+ goto yy1993;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1994;
+ if (yych <= 0xF3)
+ goto yy1995;
+ if (yych <= 0xF4)
+ goto yy1996;
+ goto yy1980;
+ }
+ }
+ yy1989:
+ ++p;
+ yych = *p;
+ yy1990:
+ if (yybm[0 + yych] & 32) {
+ goto yy1989;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy1980;
+ if (yych <= ')')
+ goto yy1998;
+ goto yy1987;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1980;
+ if (yych >= 0xE0)
+ goto yy1992;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1997;
+ goto yy1993;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1994;
+ if (yych <= 0xF3)
+ goto yy1995;
+ if (yych <= 0xF4)
+ goto yy1996;
+ goto yy1980;
+ }
+ }
+ yy1991:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy1989;
+ goto yy1980;
+ yy1992:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy1991;
+ goto yy1980;
+ yy1993:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy1991;
+ goto yy1980;
+ yy1994:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy1993;
+ goto yy1980;
+ yy1995:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy1993;
+ goto yy1980;
+ yy1996:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0x8F)
+ goto yy1993;
+ goto yy1980;
+ yy1997:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0x9F)
+ goto yy1991;
+ goto yy1980;
+ yy1998:
+ ++p;
+ yy1999 : { return (bufsize_t)(p - start); }
+ yy2000:
+ yyaccept = 1;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 32) {
+ goto yy1989;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy1999;
+ if (yych <= ')')
+ goto yy1998;
+ goto yy1987;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1999;
+ if (yych <= 0xDF)
+ goto yy1991;
+ goto yy1992;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy1997;
+ goto yy1993;
+ } else {
+ if (yych <= 0xF0)
+ goto yy1994;
+ if (yych <= 0xF3)
+ goto yy1995;
+ if (yych <= 0xF4)
+ goto yy1996;
+ goto yy1999;
+ }
+ }
+ yy2001:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy2003;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy1980;
+ if (yych <= '\'')
+ goto yy2014;
+ goto yy2001;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1980;
+ if (yych <= 0xDF)
+ goto yy2005;
+ goto yy2006;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy2011;
+ goto yy2007;
+ } else {
+ if (yych <= 0xF0)
+ goto yy2008;
+ if (yych <= 0xF3)
+ goto yy2009;
+ if (yych <= 0xF4)
+ goto yy2010;
+ goto yy1980;
+ }
+ }
+ yy2003:
+ ++p;
+ yych = *p;
+ yy2004:
+ if (yybm[0 + yych] & 64) {
+ goto yy2003;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy1980;
+ if (yych <= '\'')
+ goto yy2012;
+ goto yy2001;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1980;
+ if (yych >= 0xE0)
+ goto yy2006;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy2011;
+ goto yy2007;
+ } else {
+ if (yych <= 0xF0)
+ goto yy2008;
+ if (yych <= 0xF3)
+ goto yy2009;
+ if (yych <= 0xF4)
+ goto yy2010;
+ goto yy1980;
+ }
+ }
+ yy2005:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy2003;
+ goto yy1980;
+ yy2006:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy2005;
+ goto yy1980;
+ yy2007:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy2005;
+ goto yy1980;
+ yy2008:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy2007;
+ goto yy1980;
+ yy2009:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy2007;
+ goto yy1980;
+ yy2010:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0x8F)
+ goto yy2007;
+ goto yy1980;
+ yy2011:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0x9F)
+ goto yy2005;
+ goto yy1980;
+ yy2012:
+ ++p;
+ yy2013 : { return (bufsize_t)(p - start); }
+ yy2014:
+ yyaccept = 2;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy2003;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy2013;
+ if (yych <= '\'')
+ goto yy2012;
+ goto yy2001;
+ } else {
+ if (yych <= 0xC1)
+ goto yy2013;
+ if (yych <= 0xDF)
+ goto yy2005;
+ goto yy2006;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy2011;
+ goto yy2007;
+ } else {
+ if (yych <= 0xF0)
+ goto yy2008;
+ if (yych <= 0xF3)
+ goto yy2009;
+ if (yych <= 0xF4)
+ goto yy2010;
+ goto yy2013;
+ }
+ }
+ yy2015:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy2017;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy1980;
+ if (yych <= '"')
+ goto yy2028;
+ goto yy2015;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1980;
+ if (yych <= 0xDF)
+ goto yy2019;
+ goto yy2020;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy2025;
+ goto yy2021;
+ } else {
+ if (yych <= 0xF0)
+ goto yy2022;
+ if (yych <= 0xF3)
+ goto yy2023;
+ if (yych <= 0xF4)
+ goto yy2024;
+ goto yy1980;
+ }
+ }
+ yy2017:
+ ++p;
+ yych = *p;
+ yy2018:
+ if (yybm[0 + yych] & 128) {
+ goto yy2017;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy1980;
+ if (yych <= '"')
+ goto yy2026;
+ goto yy2015;
+ } else {
+ if (yych <= 0xC1)
+ goto yy1980;
+ if (yych >= 0xE0)
+ goto yy2020;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy2025;
+ goto yy2021;
+ } else {
+ if (yych <= 0xF0)
+ goto yy2022;
+ if (yych <= 0xF3)
+ goto yy2023;
+ if (yych <= 0xF4)
+ goto yy2024;
+ goto yy1980;
+ }
+ }
+ yy2019:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy2017;
+ goto yy1980;
+ yy2020:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy2019;
+ goto yy1980;
+ yy2021:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy2019;
+ goto yy1980;
+ yy2022:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy2021;
+ goto yy1980;
+ yy2023:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0xBF)
+ goto yy2021;
+ goto yy1980;
+ yy2024:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0x8F)
+ goto yy2021;
+ goto yy1980;
+ yy2025:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy1980;
+ if (yych <= 0x9F)
+ goto yy2019;
+ goto yy1980;
+ yy2026:
+ ++p;
+ yy2027 : { return (bufsize_t)(p - start); }
+ yy2028:
+ yyaccept = 3;
+ marker = ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy2017;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\\') {
+ if (yych <= 0x00)
+ goto yy2027;
+ if (yych <= '"')
+ goto yy2026;
+ goto yy2015;
+ } else {
+ if (yych <= 0xC1)
+ goto yy2027;
+ if (yych <= 0xDF)
+ goto yy2019;
+ goto yy2020;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy2025;
+ goto yy2021;
+ } else {
+ if (yych <= 0xF0)
+ goto yy2022;
+ if (yych <= 0xF3)
+ goto yy2023;
+ if (yych <= 0xF4)
+ goto yy2024;
+ goto yy2027;
+ }
+ }
+ }
}
// Match space characters, including newlines.
-bufsize_t _scan_spacechars(const unsigned char *p)
-{
+bufsize_t _scan_spacechars(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, 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 = *(marker = p);
- if (yych <= 0xC1) {
- if (yych <= '\r') {
- if (yych <= 0x08) goto yy2035;
- if (yych == '\n') goto yy2033;
- goto yy2032;
- } else {
- if (yych == ' ') goto yy2032;
- if (yych <= 0x7F) goto yy2035;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy2037;
- if (yych <= 0xE0) goto yy2039;
- if (yych <= 0xEC) goto yy2040;
- goto yy2044;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy2040;
- goto yy2041;
- } else {
- if (yych <= 0xF3) goto yy2042;
- if (yych <= 0xF4) goto yy2043;
- }
- }
- }
-yy2031:
- { return (bufsize_t)(p - start); }
-yy2032:
- yych = *++p;
- goto yy2034;
-yy2033:
- ++p;
- yych = *p;
-yy2034:
- if (yybm[0+yych] & 128) {
- goto yy2033;
- }
- goto yy2031;
-yy2035:
- ++p;
- { return 0; }
-yy2037:
- yych = *++p;
- if (yych <= 0x7F) goto yy2038;
- if (yych <= 0xBF) goto yy2035;
-yy2038:
- p = marker;
- goto yy2031;
-yy2039:
- yych = *++p;
- if (yych <= 0x9F) goto yy2038;
- if (yych <= 0xBF) goto yy2037;
- goto yy2038;
-yy2040:
- yych = *++p;
- if (yych <= 0x7F) goto yy2038;
- if (yych <= 0xBF) goto yy2037;
- goto yy2038;
-yy2041:
- yych = *++p;
- if (yych <= 0x8F) goto yy2038;
- if (yych <= 0xBF) goto yy2040;
- goto yy2038;
-yy2042:
- yych = *++p;
- if (yych <= 0x7F) goto yy2038;
- if (yych <= 0xBF) goto yy2040;
- goto yy2038;
-yy2043:
- yych = *++p;
- if (yych <= 0x7F) goto yy2038;
- if (yych <= 0x8F) goto yy2040;
- goto yy2038;
-yy2044:
- ++p;
- if ((yych = *p) <= 0x7F) goto yy2038;
- if (yych <= 0x9F) goto yy2037;
- goto yy2038;
-}
+ 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 = *(marker = p);
+ if (yych <= 0xC1) {
+ if (yych <= '\r') {
+ if (yych <= 0x08)
+ goto yy2035;
+ if (yych == '\n')
+ goto yy2033;
+ goto yy2032;
+ } else {
+ if (yych == ' ')
+ goto yy2032;
+ if (yych <= 0x7F)
+ goto yy2035;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy2037;
+ if (yych <= 0xE0)
+ goto yy2039;
+ if (yych <= 0xEC)
+ goto yy2040;
+ goto yy2044;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy2040;
+ goto yy2041;
+ } else {
+ if (yych <= 0xF3)
+ goto yy2042;
+ if (yych <= 0xF4)
+ goto yy2043;
+ }
+ }
+ }
+ yy2031 : { return (bufsize_t)(p - start); }
+ yy2032:
+ yych = *++p;
+ goto yy2034;
+ yy2033:
+ ++p;
+ yych = *p;
+ yy2034:
+ if (yybm[0 + yych] & 128) {
+ goto yy2033;
+ }
+ goto yy2031;
+ yy2035:
+ ++p;
+ { return 0; }
+ yy2037:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2038;
+ if (yych <= 0xBF)
+ goto yy2035;
+ yy2038:
+ p = marker;
+ goto yy2031;
+ yy2039:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy2038;
+ if (yych <= 0xBF)
+ goto yy2037;
+ goto yy2038;
+ yy2040:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2038;
+ if (yych <= 0xBF)
+ goto yy2037;
+ goto yy2038;
+ yy2041:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy2038;
+ if (yych <= 0xBF)
+ goto yy2040;
+ goto yy2038;
+ yy2042:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2038;
+ if (yych <= 0xBF)
+ goto yy2040;
+ goto yy2038;
+ yy2043:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2038;
+ if (yych <= 0x8F)
+ goto yy2040;
+ goto yy2038;
+ yy2044:
+ ++p;
+ if ((yych = *p) <= 0x7F)
+ goto yy2038;
+ if (yych <= 0x9F)
+ goto yy2037;
+ goto yy2038;
+ }
}
// Match ATX header start.
-bufsize_t _scan_atx_header_start(const unsigned char *p)
-{
+bufsize_t _scan_atx_header_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, 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, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *(marker = p);
- if (yych <= 0xDF) {
- if (yych <= '"') {
- if (yych != '\n') goto yy2049;
- } else {
- if (yych <= '#') goto yy2048;
- if (yych <= 0x7F) goto yy2049;
- if (yych >= 0xC2) goto yy2050;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy2052;
- if (yych == 0xED) goto yy2057;
- goto yy2053;
- } else {
- if (yych <= 0xF0) goto yy2054;
- if (yych <= 0xF3) goto yy2055;
- if (yych <= 0xF4) goto yy2056;
- }
- }
-yy2047:
- { return 0; }
-yy2048:
- yych = *(marker = ++p);
- if (yybm[0+yych] & 128) {
- goto yy2060;
- }
- if (yych <= '\f') {
- if (yych == '\n') goto yy2058;
- goto yy2047;
- } else {
- if (yych <= '\r') goto yy2058;
- if (yych == '#') goto yy2062;
- goto yy2047;
- }
-yy2049:
- yych = *++p;
- goto yy2047;
-yy2050:
- yych = *++p;
- if (yych <= 0x7F) goto yy2051;
- if (yych <= 0xBF) goto yy2049;
-yy2051:
- p = marker;
- goto yy2047;
-yy2052:
- yych = *++p;
- if (yych <= 0x9F) goto yy2051;
- if (yych <= 0xBF) goto yy2050;
- goto yy2051;
-yy2053:
- yych = *++p;
- if (yych <= 0x7F) goto yy2051;
- if (yych <= 0xBF) goto yy2050;
- goto yy2051;
-yy2054:
- yych = *++p;
- if (yych <= 0x8F) goto yy2051;
- if (yych <= 0xBF) goto yy2053;
- goto yy2051;
-yy2055:
- yych = *++p;
- if (yych <= 0x7F) goto yy2051;
- if (yych <= 0xBF) goto yy2053;
- goto yy2051;
-yy2056:
- yych = *++p;
- if (yych <= 0x7F) goto yy2051;
- if (yych <= 0x8F) goto yy2053;
- goto yy2051;
-yy2057:
- yych = *++p;
- if (yych <= 0x7F) goto yy2051;
- if (yych <= 0x9F) goto yy2050;
- goto yy2051;
-yy2058:
- ++p;
-yy2059:
- { return (bufsize_t)(p - start); }
-yy2060:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy2060;
- }
- goto yy2059;
-yy2062:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy2060;
- }
- if (yych <= '\f') {
- if (yych == '\n') goto yy2058;
- goto yy2051;
- } else {
- if (yych <= '\r') goto yy2058;
- if (yych != '#') goto yy2051;
- }
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy2060;
- }
- if (yych <= '\f') {
- if (yych == '\n') goto yy2058;
- goto yy2051;
- } else {
- if (yych <= '\r') goto yy2058;
- if (yych != '#') goto yy2051;
- }
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy2060;
- }
- if (yych <= '\f') {
- if (yych == '\n') goto yy2058;
- goto yy2051;
- } else {
- if (yych <= '\r') goto yy2058;
- if (yych != '#') goto yy2051;
- }
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy2060;
- }
- if (yych <= '\f') {
- if (yych == '\n') goto yy2058;
- goto yy2051;
- } else {
- if (yych <= '\r') goto yy2058;
- if (yych != '#') goto yy2051;
- }
- ++p;
- if (yybm[0+(yych = *p)] & 128) {
- goto yy2060;
- }
- if (yych == '\n') goto yy2058;
- if (yych == '\r') goto yy2058;
- goto yy2051;
-}
-
+ {
+ 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, 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 = *(marker = p);
+ if (yych <= 0xDF) {
+ if (yych <= '"') {
+ if (yych != '\n')
+ goto yy2049;
+ } else {
+ if (yych <= '#')
+ goto yy2048;
+ if (yych <= 0x7F)
+ goto yy2049;
+ if (yych >= 0xC2)
+ goto yy2050;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy2052;
+ if (yych == 0xED)
+ goto yy2057;
+ goto yy2053;
+ } else {
+ if (yych <= 0xF0)
+ goto yy2054;
+ if (yych <= 0xF3)
+ goto yy2055;
+ if (yych <= 0xF4)
+ goto yy2056;
+ }
+ }
+ yy2047 : { return 0; }
+ yy2048:
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy2060;
+ }
+ if (yych <= '\f') {
+ if (yych == '\n')
+ goto yy2058;
+ goto yy2047;
+ } else {
+ if (yych <= '\r')
+ goto yy2058;
+ if (yych == '#')
+ goto yy2062;
+ goto yy2047;
+ }
+ yy2049:
+ yych = *++p;
+ goto yy2047;
+ yy2050:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2051;
+ if (yych <= 0xBF)
+ goto yy2049;
+ yy2051:
+ p = marker;
+ goto yy2047;
+ yy2052:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy2051;
+ if (yych <= 0xBF)
+ goto yy2050;
+ goto yy2051;
+ yy2053:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2051;
+ if (yych <= 0xBF)
+ goto yy2050;
+ goto yy2051;
+ yy2054:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy2051;
+ if (yych <= 0xBF)
+ goto yy2053;
+ goto yy2051;
+ yy2055:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2051;
+ if (yych <= 0xBF)
+ goto yy2053;
+ goto yy2051;
+ yy2056:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2051;
+ if (yych <= 0x8F)
+ goto yy2053;
+ goto yy2051;
+ yy2057:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2051;
+ if (yych <= 0x9F)
+ goto yy2050;
+ goto yy2051;
+ yy2058:
+ ++p;
+ yy2059 : { return (bufsize_t)(p - start); }
+ yy2060:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy2060;
+ }
+ goto yy2059;
+ yy2062:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy2060;
+ }
+ if (yych <= '\f') {
+ if (yych == '\n')
+ goto yy2058;
+ goto yy2051;
+ } else {
+ if (yych <= '\r')
+ goto yy2058;
+ if (yych != '#')
+ goto yy2051;
+ }
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy2060;
+ }
+ if (yych <= '\f') {
+ if (yych == '\n')
+ goto yy2058;
+ goto yy2051;
+ } else {
+ if (yych <= '\r')
+ goto yy2058;
+ if (yych != '#')
+ goto yy2051;
+ }
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy2060;
+ }
+ if (yych <= '\f') {
+ if (yych == '\n')
+ goto yy2058;
+ goto yy2051;
+ } else {
+ if (yych <= '\r')
+ goto yy2058;
+ if (yych != '#')
+ goto yy2051;
+ }
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy2060;
+ }
+ if (yych <= '\f') {
+ if (yych == '\n')
+ goto yy2058;
+ goto yy2051;
+ } else {
+ if (yych <= '\r')
+ goto yy2058;
+ if (yych != '#')
+ goto yy2051;
+ }
+ ++p;
+ if (yybm[0 + (yych = *p)] & 128) {
+ goto yy2060;
+ }
+ if (yych == '\n')
+ goto yy2058;
+ if (yych == '\r')
+ goto yy2058;
+ goto yy2051;
+ }
}
// Match setext header line. Return 1 for level-1 header,
// 2 for level-2, 0 for no match.
-bufsize_t _scan_setext_header_line(const unsigned char *p)
-{
+bufsize_t _scan_setext_header_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, 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, 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 = *(marker = p);
- if (yych <= 0xC1) {
- if (yych <= '-') {
- if (yych == '\n') goto yy2069;
- if (yych <= ',') goto yy2072;
- goto yy2071;
- } else {
- if (yych == '=') goto yy2070;
- if (yych <= 0x7F) goto yy2072;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy2073;
- if (yych <= 0xE0) goto yy2075;
- if (yych <= 0xEC) goto yy2076;
- goto yy2080;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy2076;
- goto yy2077;
- } else {
- if (yych <= 0xF3) goto yy2078;
- if (yych <= 0xF4) goto yy2079;
- }
- }
- }
-yy2069:
- { return 0; }
-yy2070:
- yych = *(marker = ++p);
- if (yybm[0+yych] & 128) {
- goto yy2091;
- }
- if (yych <= '\f') {
- if (yych == '\n') goto yy2089;
- goto yy2069;
- } else {
- if (yych <= '\r') goto yy2089;
- if (yych == ' ') goto yy2087;
- goto yy2069;
- }
-yy2071:
- yych = *(marker = ++p);
- if (yybm[0+yych] & 32) {
- goto yy2081;
- }
- if (yych <= '\f') {
- if (yych == '\n') goto yy2083;
- goto yy2069;
- } else {
- if (yych <= '\r') goto yy2083;
- if (yych == '-') goto yy2085;
- goto yy2069;
- }
-yy2072:
- yych = *++p;
- goto yy2069;
-yy2073:
- yych = *++p;
- if (yych <= 0x7F) goto yy2074;
- if (yych <= 0xBF) goto yy2072;
-yy2074:
- p = marker;
- goto yy2069;
-yy2075:
- yych = *++p;
- if (yych <= 0x9F) goto yy2074;
- if (yych <= 0xBF) goto yy2073;
- goto yy2074;
-yy2076:
- yych = *++p;
- if (yych <= 0x7F) goto yy2074;
- if (yych <= 0xBF) goto yy2073;
- goto yy2074;
-yy2077:
- yych = *++p;
- if (yych <= 0x8F) goto yy2074;
- if (yych <= 0xBF) goto yy2076;
- goto yy2074;
-yy2078:
- yych = *++p;
- if (yych <= 0x7F) goto yy2074;
- if (yych <= 0xBF) goto yy2076;
- goto yy2074;
-yy2079:
- yych = *++p;
- if (yych <= 0x7F) goto yy2074;
- if (yych <= 0x8F) goto yy2076;
- goto yy2074;
-yy2080:
- yych = *++p;
- if (yych <= 0x7F) goto yy2074;
- if (yych <= 0x9F) goto yy2073;
- goto yy2074;
-yy2081:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 32) {
- goto yy2081;
- }
- if (yych == '\n') goto yy2083;
- if (yych != '\r') goto yy2074;
-yy2083:
- ++p;
- { return 2; }
-yy2085:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 32) {
- goto yy2081;
- }
- if (yych <= '\f') {
- if (yych == '\n') goto yy2083;
- goto yy2074;
- } else {
- if (yych <= '\r') goto yy2083;
- if (yych == '-') goto yy2085;
- goto yy2074;
- }
-yy2087:
- ++p;
- yych = *p;
- if (yych <= '\f') {
- if (yych != '\n') goto yy2074;
- } else {
- if (yych <= '\r') goto yy2089;
- if (yych == ' ') goto yy2087;
- goto yy2074;
- }
-yy2089:
- ++p;
- { return 1; }
-yy2091:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy2091;
- }
- if (yych <= '\f') {
- if (yych == '\n') goto yy2089;
- goto yy2074;
- } else {
- if (yych <= '\r') goto yy2089;
- if (yych == ' ') goto yy2087;
- goto yy2074;
- }
-}
-
+ {
+ 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, 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 = *(marker = p);
+ if (yych <= 0xC1) {
+ if (yych <= '-') {
+ if (yych == '\n')
+ goto yy2069;
+ if (yych <= ',')
+ goto yy2072;
+ goto yy2071;
+ } else {
+ if (yych == '=')
+ goto yy2070;
+ if (yych <= 0x7F)
+ goto yy2072;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy2073;
+ if (yych <= 0xE0)
+ goto yy2075;
+ if (yych <= 0xEC)
+ goto yy2076;
+ goto yy2080;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy2076;
+ goto yy2077;
+ } else {
+ if (yych <= 0xF3)
+ goto yy2078;
+ if (yych <= 0xF4)
+ goto yy2079;
+ }
+ }
+ }
+ yy2069 : { return 0; }
+ yy2070:
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 128) {
+ goto yy2091;
+ }
+ if (yych <= '\f') {
+ if (yych == '\n')
+ goto yy2089;
+ goto yy2069;
+ } else {
+ if (yych <= '\r')
+ goto yy2089;
+ if (yych == ' ')
+ goto yy2087;
+ goto yy2069;
+ }
+ yy2071:
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 32) {
+ goto yy2081;
+ }
+ if (yych <= '\f') {
+ if (yych == '\n')
+ goto yy2083;
+ goto yy2069;
+ } else {
+ if (yych <= '\r')
+ goto yy2083;
+ if (yych == '-')
+ goto yy2085;
+ goto yy2069;
+ }
+ yy2072:
+ yych = *++p;
+ goto yy2069;
+ yy2073:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2074;
+ if (yych <= 0xBF)
+ goto yy2072;
+ yy2074:
+ p = marker;
+ goto yy2069;
+ yy2075:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy2074;
+ if (yych <= 0xBF)
+ goto yy2073;
+ goto yy2074;
+ yy2076:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2074;
+ if (yych <= 0xBF)
+ goto yy2073;
+ goto yy2074;
+ yy2077:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy2074;
+ if (yych <= 0xBF)
+ goto yy2076;
+ goto yy2074;
+ yy2078:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2074;
+ if (yych <= 0xBF)
+ goto yy2076;
+ goto yy2074;
+ yy2079:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2074;
+ if (yych <= 0x8F)
+ goto yy2076;
+ goto yy2074;
+ yy2080:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2074;
+ if (yych <= 0x9F)
+ goto yy2073;
+ goto yy2074;
+ yy2081:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 32) {
+ goto yy2081;
+ }
+ if (yych == '\n')
+ goto yy2083;
+ if (yych != '\r')
+ goto yy2074;
+ yy2083:
+ ++p;
+ { return 2; }
+ yy2085:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 32) {
+ goto yy2081;
+ }
+ if (yych <= '\f') {
+ if (yych == '\n')
+ goto yy2083;
+ goto yy2074;
+ } else {
+ if (yych <= '\r')
+ goto yy2083;
+ if (yych == '-')
+ goto yy2085;
+ goto yy2074;
+ }
+ yy2087:
+ ++p;
+ yych = *p;
+ if (yych <= '\f') {
+ if (yych != '\n')
+ goto yy2074;
+ } else {
+ if (yych <= '\r')
+ goto yy2089;
+ if (yych == ' ')
+ goto yy2087;
+ goto yy2074;
+ }
+ yy2089:
+ ++p;
+ { return 1; }
+ yy2091:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy2091;
+ }
+ if (yych <= '\f') {
+ if (yych == '\n')
+ goto yy2089;
+ goto yy2074;
+ } else {
+ if (yych <= '\r')
+ goto yy2089;
+ if (yych == ' ')
+ goto yy2087;
+ goto yy2074;
+ }
+ }
}
// Scan a horizontal rule line: "...three or more hyphens, asterisks,
// or underscores on a line by themselves. If you wish, you may use
// spaces between the hyphens or asterisks."
-bufsize_t _scan_hrule(const unsigned char *p)
-{
+bufsize_t _scan_hrule(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, 32, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 248, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 128, 0, 0, 16, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *(marker = p);
- if (yych <= 0x7F) {
- if (yych <= '*') {
- if (yych == '\n') goto yy2095;
- if (yych <= ')') goto yy2099;
- goto yy2096;
- } else {
- if (yych <= '-') {
- if (yych <= ',') goto yy2099;
- goto yy2098;
- } else {
- if (yych == '_') goto yy2097;
- goto yy2099;
- }
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) {
- if (yych >= 0xC2) goto yy2100;
- } else {
- if (yych <= 0xE0) goto yy2102;
- if (yych <= 0xEC) goto yy2103;
- goto yy2107;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy2103;
- goto yy2104;
- } else {
- if (yych <= 0xF3) goto yy2105;
- if (yych <= 0xF4) goto yy2106;
- }
- }
- }
-yy2095:
- { return 0; }
-yy2096:
- yych = *(marker = ++p);
- if (yych == ' ') goto yy2128;
- if (yych == '*') goto yy2130;
- goto yy2095;
-yy2097:
- yych = *(marker = ++p);
- if (yych == ' ') goto yy2118;
- if (yych == '_') goto yy2120;
- goto yy2095;
-yy2098:
- yych = *(marker = ++p);
- if (yybm[0+yych] & 8) {
- goto yy2108;
- }
- if (yych == '-') goto yy2110;
- goto yy2095;
-yy2099:
- yych = *++p;
- goto yy2095;
-yy2100:
- yych = *++p;
- if (yych <= 0x7F) goto yy2101;
- if (yych <= 0xBF) goto yy2099;
-yy2101:
- p = marker;
- goto yy2095;
-yy2102:
- yych = *++p;
- if (yych <= 0x9F) goto yy2101;
- if (yych <= 0xBF) goto yy2100;
- goto yy2101;
-yy2103:
- yych = *++p;
- if (yych <= 0x7F) goto yy2101;
- if (yych <= 0xBF) goto yy2100;
- goto yy2101;
-yy2104:
- yych = *++p;
- if (yych <= 0x8F) goto yy2101;
- if (yych <= 0xBF) goto yy2103;
- goto yy2101;
-yy2105:
- yych = *++p;
- if (yych <= 0x7F) goto yy2101;
- if (yych <= 0xBF) goto yy2103;
- goto yy2101;
-yy2106:
- yych = *++p;
- if (yych <= 0x7F) goto yy2101;
- if (yych <= 0x8F) goto yy2103;
- goto yy2101;
-yy2107:
- yych = *++p;
- if (yych <= 0x7F) goto yy2101;
- if (yych <= 0x9F) goto yy2100;
- goto yy2101;
-yy2108:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 8) {
- goto yy2108;
- }
- if (yych != '-') goto yy2101;
-yy2110:
- ++p;
- yych = *p;
- if (yych == ' ') goto yy2110;
- if (yych != '-') goto yy2101;
-yy2112:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 16) {
- goto yy2112;
- }
- if (yych <= '\n') {
- if (yych <= 0x08) goto yy2101;
- if (yych >= '\n') goto yy2116;
- } else {
- if (yych == '\r') goto yy2116;
- goto yy2101;
- }
-yy2114:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 32) {
- goto yy2114;
- }
- if (yych <= 0x08) goto yy2101;
- if (yych <= '\n') goto yy2116;
- if (yych != '\r') goto yy2101;
-yy2116:
- ++p;
- { return (bufsize_t)(p - start); }
-yy2118:
- ++p;
- yych = *p;
- if (yych == ' ') goto yy2118;
- if (yych != '_') goto yy2101;
-yy2120:
- ++p;
- yych = *p;
- if (yych == ' ') goto yy2120;
- if (yych != '_') goto yy2101;
-yy2122:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy2122;
- }
- if (yych <= '\n') {
- if (yych <= 0x08) goto yy2101;
- if (yych >= '\n') goto yy2126;
- } else {
- if (yych == '\r') goto yy2126;
- goto yy2101;
- }
-yy2124:
- ++p;
- yych = *p;
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy2101;
- if (yych <= '\t') goto yy2124;
- if (yych >= '\v') goto yy2101;
- } else {
- if (yych <= '\r') goto yy2126;
- if (yych == ' ') goto yy2124;
- goto yy2101;
- }
-yy2126:
- ++p;
- { return (bufsize_t)(p - start); }
-yy2128:
- ++p;
- yych = *p;
- if (yych == ' ') goto yy2128;
- if (yych != '*') goto yy2101;
-yy2130:
- ++p;
- yych = *p;
- if (yych == ' ') goto yy2130;
- if (yych != '*') goto yy2101;
-yy2132:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy2132;
- }
- if (yych <= '\n') {
- if (yych <= 0x08) goto yy2101;
- if (yych >= '\n') goto yy2136;
- } else {
- if (yych == '\r') goto yy2136;
- goto yy2101;
- }
-yy2134:
- ++p;
- yych = *p;
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy2101;
- if (yych <= '\t') goto yy2134;
- if (yych >= '\v') goto yy2101;
- } else {
- if (yych <= '\r') goto yy2136;
- if (yych == ' ') goto yy2134;
- goto yy2101;
- }
-yy2136:
- ++p;
- { return (bufsize_t)(p - start); }
-}
-
+ {
+ 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, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0,
+ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ yych = *(marker = p);
+ if (yych <= 0x7F) {
+ if (yych <= '*') {
+ if (yych == '\n')
+ goto yy2095;
+ if (yych <= ')')
+ goto yy2099;
+ goto yy2096;
+ } else {
+ if (yych <= '-') {
+ if (yych <= ',')
+ goto yy2099;
+ goto yy2098;
+ } else {
+ if (yych == '_')
+ goto yy2097;
+ goto yy2099;
+ }
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF) {
+ if (yych >= 0xC2)
+ goto yy2100;
+ } else {
+ if (yych <= 0xE0)
+ goto yy2102;
+ if (yych <= 0xEC)
+ goto yy2103;
+ goto yy2107;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy2103;
+ goto yy2104;
+ } else {
+ if (yych <= 0xF3)
+ goto yy2105;
+ if (yych <= 0xF4)
+ goto yy2106;
+ }
+ }
+ }
+ yy2095 : { return 0; }
+ yy2096:
+ yych = *(marker = ++p);
+ if (yych == ' ')
+ goto yy2128;
+ if (yych == '*')
+ goto yy2130;
+ goto yy2095;
+ yy2097:
+ yych = *(marker = ++p);
+ if (yych == ' ')
+ goto yy2118;
+ if (yych == '_')
+ goto yy2120;
+ goto yy2095;
+ yy2098:
+ yych = *(marker = ++p);
+ if (yybm[0 + yych] & 8) {
+ goto yy2108;
+ }
+ if (yych == '-')
+ goto yy2110;
+ goto yy2095;
+ yy2099:
+ yych = *++p;
+ goto yy2095;
+ yy2100:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2101;
+ if (yych <= 0xBF)
+ goto yy2099;
+ yy2101:
+ p = marker;
+ goto yy2095;
+ yy2102:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy2101;
+ if (yych <= 0xBF)
+ goto yy2100;
+ goto yy2101;
+ yy2103:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2101;
+ if (yych <= 0xBF)
+ goto yy2100;
+ goto yy2101;
+ yy2104:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy2101;
+ if (yych <= 0xBF)
+ goto yy2103;
+ goto yy2101;
+ yy2105:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2101;
+ if (yych <= 0xBF)
+ goto yy2103;
+ goto yy2101;
+ yy2106:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2101;
+ if (yych <= 0x8F)
+ goto yy2103;
+ goto yy2101;
+ yy2107:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2101;
+ if (yych <= 0x9F)
+ goto yy2100;
+ goto yy2101;
+ yy2108:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 8) {
+ goto yy2108;
+ }
+ if (yych != '-')
+ goto yy2101;
+ yy2110:
+ ++p;
+ yych = *p;
+ if (yych == ' ')
+ goto yy2110;
+ if (yych != '-')
+ goto yy2101;
+ yy2112:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 16) {
+ goto yy2112;
+ }
+ if (yych <= '\n') {
+ if (yych <= 0x08)
+ goto yy2101;
+ if (yych >= '\n')
+ goto yy2116;
+ } else {
+ if (yych == '\r')
+ goto yy2116;
+ goto yy2101;
+ }
+ yy2114:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 32) {
+ goto yy2114;
+ }
+ if (yych <= 0x08)
+ goto yy2101;
+ if (yych <= '\n')
+ goto yy2116;
+ if (yych != '\r')
+ goto yy2101;
+ yy2116:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy2118:
+ ++p;
+ yych = *p;
+ if (yych == ' ')
+ goto yy2118;
+ if (yych != '_')
+ goto yy2101;
+ yy2120:
+ ++p;
+ yych = *p;
+ if (yych == ' ')
+ goto yy2120;
+ if (yych != '_')
+ goto yy2101;
+ yy2122:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy2122;
+ }
+ if (yych <= '\n') {
+ if (yych <= 0x08)
+ goto yy2101;
+ if (yych >= '\n')
+ goto yy2126;
+ } else {
+ if (yych == '\r')
+ goto yy2126;
+ goto yy2101;
+ }
+ yy2124:
+ ++p;
+ yych = *p;
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy2101;
+ if (yych <= '\t')
+ goto yy2124;
+ if (yych >= '\v')
+ goto yy2101;
+ } else {
+ if (yych <= '\r')
+ goto yy2126;
+ if (yych == ' ')
+ goto yy2124;
+ goto yy2101;
+ }
+ yy2126:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy2128:
+ ++p;
+ yych = *p;
+ if (yych == ' ')
+ goto yy2128;
+ if (yych != '*')
+ goto yy2101;
+ yy2130:
+ ++p;
+ yych = *p;
+ if (yych == ' ')
+ goto yy2130;
+ if (yych != '*')
+ goto yy2101;
+ yy2132:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy2132;
+ }
+ if (yych <= '\n') {
+ if (yych <= 0x08)
+ goto yy2101;
+ if (yych >= '\n')
+ goto yy2136;
+ } else {
+ if (yych == '\r')
+ goto yy2136;
+ goto yy2101;
+ }
+ yy2134:
+ ++p;
+ yych = *p;
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy2101;
+ if (yych <= '\t')
+ goto yy2134;
+ if (yych >= '\v')
+ goto yy2101;
+ } else {
+ if (yych <= '\r')
+ goto yy2136;
+ if (yych == ' ')
+ goto yy2134;
+ goto yy2101;
+ }
+ yy2136:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ }
}
// 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, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 0, 160, 160, 0, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 96, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 144, 160,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *(marker = p);
- if (yych <= 0xC1) {
- if (yych <= '`') {
- if (yych == '\n') goto yy2140;
- if (yych <= '_') goto yy2143;
- goto yy2141;
- } else {
- if (yych == '~') goto yy2142;
- if (yych <= 0x7F) goto yy2143;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy2144;
- if (yych <= 0xE0) goto yy2146;
- if (yych <= 0xEC) goto yy2147;
- goto yy2151;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy2147;
- goto yy2148;
- } else {
- if (yych <= 0xF3) goto yy2149;
- if (yych <= 0xF4) goto yy2150;
- }
- }
- }
-yy2140:
- { return 0; }
-yy2141:
- yych = *(marker = ++p);
- if (yych == '`') goto yy2166;
- goto yy2140;
-yy2142:
- yych = *(marker = ++p);
- if (yych == '~') goto yy2152;
- goto yy2140;
-yy2143:
- yych = *++p;
- goto yy2140;
-yy2144:
- yych = *++p;
- if (yych <= 0x7F) goto yy2145;
- if (yych <= 0xBF) goto yy2143;
-yy2145:
- p = marker;
- goto yy2140;
-yy2146:
- yych = *++p;
- if (yych <= 0x9F) goto yy2145;
- if (yych <= 0xBF) goto yy2144;
- goto yy2145;
-yy2147:
- yych = *++p;
- if (yych <= 0x7F) goto yy2145;
- if (yych <= 0xBF) goto yy2144;
- goto yy2145;
-yy2148:
- yych = *++p;
- if (yych <= 0x8F) goto yy2145;
- if (yych <= 0xBF) goto yy2147;
- goto yy2145;
-yy2149:
- yych = *++p;
- if (yych <= 0x7F) goto yy2145;
- if (yych <= 0xBF) goto yy2147;
- goto yy2145;
-yy2150:
- yych = *++p;
- if (yych <= 0x7F) goto yy2145;
- if (yych <= 0x8F) goto yy2147;
- goto yy2145;
-yy2151:
- yych = *++p;
- if (yych <= 0x7F) goto yy2145;
- if (yych <= 0x9F) goto yy2144;
- goto yy2145;
-yy2152:
- yych = *++p;
- if (yybm[0+yych] & 16) {
- goto yy2153;
- }
- goto yy2145;
-yy2153:
- marker = p + 1;
- ++p;
- yych = *p;
- if (yybm[0+yych] & 32) {
- goto yy2155;
- }
- if (yych <= 0xE0) {
- if (yych <= '~') {
- if (yych <= 0x00) goto yy2145;
- if (yych <= '\r') goto yy2164;
- goto yy2153;
- } else {
- if (yych <= 0xC1) goto yy2145;
- if (yych <= 0xDF) goto yy2157;
- goto yy2158;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy2163;
- goto yy2159;
- } else {
- if (yych <= 0xF0) goto yy2160;
- if (yych <= 0xF3) goto yy2161;
- if (yych <= 0xF4) goto yy2162;
- goto yy2145;
- }
- }
-yy2155:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 32) {
- goto yy2155;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy2145;
- if (yych <= '\r') goto yy2164;
- goto yy2145;
- } else {
- if (yych <= 0xDF) goto yy2157;
- if (yych <= 0xE0) goto yy2158;
- goto yy2159;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy2163;
- if (yych <= 0xEF) goto yy2159;
- goto yy2160;
- } else {
- if (yych <= 0xF3) goto yy2161;
- if (yych <= 0xF4) goto yy2162;
- goto yy2145;
- }
- }
-yy2157:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy2145;
- if (yych <= 0xBF) goto yy2155;
- goto yy2145;
-yy2158:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy2145;
- if (yych <= 0xBF) goto yy2157;
- goto yy2145;
-yy2159:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy2145;
- if (yych <= 0xBF) goto yy2157;
- goto yy2145;
-yy2160:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy2145;
- if (yych <= 0xBF) goto yy2159;
- goto yy2145;
-yy2161:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy2145;
- if (yych <= 0xBF) goto yy2159;
- goto yy2145;
-yy2162:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy2145;
- if (yych <= 0x8F) goto yy2159;
- goto yy2145;
-yy2163:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy2145;
- if (yych <= 0x9F) goto yy2157;
- goto yy2145;
-yy2164:
- ++p;
- p = marker;
- { return (bufsize_t)(p - start); }
-yy2166:
- yych = *++p;
- if (yybm[0+yych] & 64) {
- goto yy2167;
- }
- goto yy2145;
-yy2167:
- marker = p + 1;
- ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy2169;
- }
- if (yych <= 0xE0) {
- if (yych <= '`') {
- if (yych <= 0x00) goto yy2145;
- if (yych <= '\r') goto yy2178;
- goto yy2167;
- } else {
- if (yych <= 0xC1) goto yy2145;
- if (yych <= 0xDF) goto yy2171;
- goto yy2172;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych == 0xED) goto yy2177;
- goto yy2173;
- } else {
- if (yych <= 0xF0) goto yy2174;
- if (yych <= 0xF3) goto yy2175;
- if (yych <= 0xF4) goto yy2176;
- goto yy2145;
- }
- }
-yy2169:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy2169;
- }
- if (yych <= 0xEC) {
- if (yych <= 0xC1) {
- if (yych <= 0x00) goto yy2145;
- if (yych <= '\r') goto yy2178;
- goto yy2145;
- } else {
- if (yych <= 0xDF) goto yy2171;
- if (yych <= 0xE0) goto yy2172;
- goto yy2173;
- }
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xED) goto yy2177;
- if (yych <= 0xEF) goto yy2173;
- goto yy2174;
- } else {
- if (yych <= 0xF3) goto yy2175;
- if (yych <= 0xF4) goto yy2176;
- goto yy2145;
- }
- }
-yy2171:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy2145;
- if (yych <= 0xBF) goto yy2169;
- goto yy2145;
-yy2172:
- ++p;
- yych = *p;
- if (yych <= 0x9F) goto yy2145;
- if (yych <= 0xBF) goto yy2171;
- goto yy2145;
-yy2173:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy2145;
- if (yych <= 0xBF) goto yy2171;
- goto yy2145;
-yy2174:
- ++p;
- yych = *p;
- if (yych <= 0x8F) goto yy2145;
- if (yych <= 0xBF) goto yy2173;
- goto yy2145;
-yy2175:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy2145;
- if (yych <= 0xBF) goto yy2173;
- goto yy2145;
-yy2176:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy2145;
- if (yych <= 0x8F) goto yy2173;
- goto yy2145;
-yy2177:
- ++p;
- yych = *p;
- if (yych <= 0x7F) goto yy2145;
- if (yych <= 0x9F) goto yy2171;
- goto yy2145;
-yy2178:
- ++p;
- p = marker;
- { return (bufsize_t)(p - start); }
-}
-
+ {
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 160, 160, 160, 160, 160, 160, 160, 160, 160, 0, 160, 160, 0,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 96, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 144, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ };
+ yych = *(marker = p);
+ if (yych <= 0xC1) {
+ if (yych <= '`') {
+ if (yych == '\n')
+ goto yy2140;
+ if (yych <= '_')
+ goto yy2143;
+ goto yy2141;
+ } else {
+ if (yych == '~')
+ goto yy2142;
+ if (yych <= 0x7F)
+ goto yy2143;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy2144;
+ if (yych <= 0xE0)
+ goto yy2146;
+ if (yych <= 0xEC)
+ goto yy2147;
+ goto yy2151;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy2147;
+ goto yy2148;
+ } else {
+ if (yych <= 0xF3)
+ goto yy2149;
+ if (yych <= 0xF4)
+ goto yy2150;
+ }
+ }
+ }
+ yy2140 : { return 0; }
+ yy2141:
+ yych = *(marker = ++p);
+ if (yych == '`')
+ goto yy2166;
+ goto yy2140;
+ yy2142:
+ yych = *(marker = ++p);
+ if (yych == '~')
+ goto yy2152;
+ goto yy2140;
+ yy2143:
+ yych = *++p;
+ goto yy2140;
+ yy2144:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2145;
+ if (yych <= 0xBF)
+ goto yy2143;
+ yy2145:
+ p = marker;
+ goto yy2140;
+ yy2146:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy2145;
+ if (yych <= 0xBF)
+ goto yy2144;
+ goto yy2145;
+ yy2147:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2145;
+ if (yych <= 0xBF)
+ goto yy2144;
+ goto yy2145;
+ yy2148:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy2145;
+ if (yych <= 0xBF)
+ goto yy2147;
+ goto yy2145;
+ yy2149:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2145;
+ if (yych <= 0xBF)
+ goto yy2147;
+ goto yy2145;
+ yy2150:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2145;
+ if (yych <= 0x8F)
+ goto yy2147;
+ goto yy2145;
+ yy2151:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2145;
+ if (yych <= 0x9F)
+ goto yy2144;
+ goto yy2145;
+ yy2152:
+ yych = *++p;
+ if (yybm[0 + yych] & 16) {
+ goto yy2153;
+ }
+ goto yy2145;
+ yy2153:
+ marker = p + 1;
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 32) {
+ goto yy2155;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '~') {
+ if (yych <= 0x00)
+ goto yy2145;
+ if (yych <= '\r')
+ goto yy2164;
+ goto yy2153;
+ } else {
+ if (yych <= 0xC1)
+ goto yy2145;
+ if (yych <= 0xDF)
+ goto yy2157;
+ goto yy2158;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy2163;
+ goto yy2159;
+ } else {
+ if (yych <= 0xF0)
+ goto yy2160;
+ if (yych <= 0xF3)
+ goto yy2161;
+ if (yych <= 0xF4)
+ goto yy2162;
+ goto yy2145;
+ }
+ }
+ yy2155:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 32) {
+ goto yy2155;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy2145;
+ if (yych <= '\r')
+ goto yy2164;
+ goto yy2145;
+ } else {
+ if (yych <= 0xDF)
+ goto yy2157;
+ if (yych <= 0xE0)
+ goto yy2158;
+ goto yy2159;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy2163;
+ if (yych <= 0xEF)
+ goto yy2159;
+ goto yy2160;
+ } else {
+ if (yych <= 0xF3)
+ goto yy2161;
+ if (yych <= 0xF4)
+ goto yy2162;
+ goto yy2145;
+ }
+ }
+ yy2157:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy2145;
+ if (yych <= 0xBF)
+ goto yy2155;
+ goto yy2145;
+ yy2158:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy2145;
+ if (yych <= 0xBF)
+ goto yy2157;
+ goto yy2145;
+ yy2159:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy2145;
+ if (yych <= 0xBF)
+ goto yy2157;
+ goto yy2145;
+ yy2160:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy2145;
+ if (yych <= 0xBF)
+ goto yy2159;
+ goto yy2145;
+ yy2161:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy2145;
+ if (yych <= 0xBF)
+ goto yy2159;
+ goto yy2145;
+ yy2162:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy2145;
+ if (yych <= 0x8F)
+ goto yy2159;
+ goto yy2145;
+ yy2163:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy2145;
+ if (yych <= 0x9F)
+ goto yy2157;
+ goto yy2145;
+ yy2164:
+ ++p;
+ p = marker;
+ { return (bufsize_t)(p - start); }
+ yy2166:
+ yych = *++p;
+ if (yybm[0 + yych] & 64) {
+ goto yy2167;
+ }
+ goto yy2145;
+ yy2167:
+ marker = p + 1;
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy2169;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '`') {
+ if (yych <= 0x00)
+ goto yy2145;
+ if (yych <= '\r')
+ goto yy2178;
+ goto yy2167;
+ } else {
+ if (yych <= 0xC1)
+ goto yy2145;
+ if (yych <= 0xDF)
+ goto yy2171;
+ goto yy2172;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych == 0xED)
+ goto yy2177;
+ goto yy2173;
+ } else {
+ if (yych <= 0xF0)
+ goto yy2174;
+ if (yych <= 0xF3)
+ goto yy2175;
+ if (yych <= 0xF4)
+ goto yy2176;
+ goto yy2145;
+ }
+ }
+ yy2169:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy2169;
+ }
+ if (yych <= 0xEC) {
+ if (yych <= 0xC1) {
+ if (yych <= 0x00)
+ goto yy2145;
+ if (yych <= '\r')
+ goto yy2178;
+ goto yy2145;
+ } else {
+ if (yych <= 0xDF)
+ goto yy2171;
+ if (yych <= 0xE0)
+ goto yy2172;
+ goto yy2173;
+ }
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xED)
+ goto yy2177;
+ if (yych <= 0xEF)
+ goto yy2173;
+ goto yy2174;
+ } else {
+ if (yych <= 0xF3)
+ goto yy2175;
+ if (yych <= 0xF4)
+ goto yy2176;
+ goto yy2145;
+ }
+ }
+ yy2171:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy2145;
+ if (yych <= 0xBF)
+ goto yy2169;
+ goto yy2145;
+ yy2172:
+ ++p;
+ yych = *p;
+ if (yych <= 0x9F)
+ goto yy2145;
+ if (yych <= 0xBF)
+ goto yy2171;
+ goto yy2145;
+ yy2173:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy2145;
+ if (yych <= 0xBF)
+ goto yy2171;
+ goto yy2145;
+ yy2174:
+ ++p;
+ yych = *p;
+ if (yych <= 0x8F)
+ goto yy2145;
+ if (yych <= 0xBF)
+ goto yy2173;
+ goto yy2145;
+ yy2175:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy2145;
+ if (yych <= 0xBF)
+ goto yy2173;
+ goto yy2145;
+ yy2176:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy2145;
+ if (yych <= 0x8F)
+ goto yy2173;
+ goto yy2145;
+ yy2177:
+ ++p;
+ yych = *p;
+ if (yych <= 0x7F)
+ goto yy2145;
+ if (yych <= 0x9F)
+ goto yy2171;
+ goto yy2145;
+ yy2178:
+ ++p;
+ p = marker;
+ { return (bufsize_t)(p - start); }
+ }
}
// 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, 64, 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,
- 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, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- yych = *(marker = p);
- if (yych <= 0xC1) {
- if (yych <= '`') {
- if (yych == '\n') goto yy2182;
- if (yych <= '_') goto yy2185;
- goto yy2183;
- } else {
- if (yych == '~') goto yy2184;
- if (yych <= 0x7F) goto yy2185;
- }
- } else {
- if (yych <= 0xED) {
- if (yych <= 0xDF) goto yy2186;
- if (yych <= 0xE0) goto yy2188;
- if (yych <= 0xEC) goto yy2189;
- goto yy2193;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy2189;
- goto yy2190;
- } else {
- if (yych <= 0xF3) goto yy2191;
- if (yych <= 0xF4) goto yy2192;
- }
- }
- }
-yy2182:
- { return 0; }
-yy2183:
- yych = *(marker = ++p);
- if (yych == '`') goto yy2201;
- goto yy2182;
-yy2184:
- yych = *(marker = ++p);
- if (yych == '~') goto yy2194;
- goto yy2182;
-yy2185:
- yych = *++p;
- goto yy2182;
-yy2186:
- yych = *++p;
- if (yych <= 0x7F) goto yy2187;
- if (yych <= 0xBF) goto yy2185;
-yy2187:
- p = marker;
- goto yy2182;
-yy2188:
- yych = *++p;
- if (yych <= 0x9F) goto yy2187;
- if (yych <= 0xBF) goto yy2186;
- goto yy2187;
-yy2189:
- yych = *++p;
- if (yych <= 0x7F) goto yy2187;
- if (yych <= 0xBF) goto yy2186;
- goto yy2187;
-yy2190:
- yych = *++p;
- if (yych <= 0x8F) goto yy2187;
- if (yych <= 0xBF) goto yy2189;
- goto yy2187;
-yy2191:
- yych = *++p;
- if (yych <= 0x7F) goto yy2187;
- if (yych <= 0xBF) goto yy2189;
- goto yy2187;
-yy2192:
- yych = *++p;
- if (yych <= 0x7F) goto yy2187;
- if (yych <= 0x8F) goto yy2189;
- goto yy2187;
-yy2193:
- yych = *++p;
- if (yych <= 0x7F) goto yy2187;
- if (yych <= 0x9F) goto yy2186;
- goto yy2187;
-yy2194:
- yych = *++p;
- if (yybm[0+yych] & 32) {
- goto yy2195;
- }
- goto yy2187;
-yy2195:
- marker = p + 1;
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy2197;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy2187;
- if (yych <= '\n') goto yy2199;
- goto yy2187;
- } else {
- if (yych <= '\r') goto yy2199;
- if (yych == '~') goto yy2195;
- goto yy2187;
- }
-yy2197:
- ++p;
- yych = *p;
- if (yybm[0+yych] & 64) {
- goto yy2197;
- }
- if (yych <= 0x08) goto yy2187;
- if (yych <= '\n') goto yy2199;
- if (yych != '\r') goto yy2187;
-yy2199:
- ++p;
- p = marker;
- { return (bufsize_t)(p - start); }
-yy2201:
- yych = *++p;
- if (yybm[0+yych] & 128) {
- goto yy2202;
- }
- goto yy2187;
-yy2202:
- marker = p + 1;
- ++p;
- yych = *p;
- if (yybm[0+yych] & 128) {
- goto yy2202;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy2187;
- if (yych <= '\t') goto yy2204;
- if (yych <= '\n') goto yy2206;
- goto yy2187;
- } else {
- if (yych <= '\r') goto yy2206;
- if (yych != ' ') goto yy2187;
- }
-yy2204:
- ++p;
- yych = *p;
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy2187;
- if (yych <= '\t') goto yy2204;
- if (yych >= '\v') goto yy2187;
- } else {
- if (yych <= '\r') goto yy2206;
- if (yych == ' ') goto yy2204;
- goto yy2187;
- }
-yy2206:
- ++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, 64, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ yych = *(marker = p);
+ if (yych <= 0xC1) {
+ if (yych <= '`') {
+ if (yych == '\n')
+ goto yy2182;
+ if (yych <= '_')
+ goto yy2185;
+ goto yy2183;
+ } else {
+ if (yych == '~')
+ goto yy2184;
+ if (yych <= 0x7F)
+ goto yy2185;
+ }
+ } else {
+ if (yych <= 0xED) {
+ if (yych <= 0xDF)
+ goto yy2186;
+ if (yych <= 0xE0)
+ goto yy2188;
+ if (yych <= 0xEC)
+ goto yy2189;
+ goto yy2193;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF)
+ goto yy2189;
+ goto yy2190;
+ } else {
+ if (yych <= 0xF3)
+ goto yy2191;
+ if (yych <= 0xF4)
+ goto yy2192;
+ }
+ }
+ }
+ yy2182 : { return 0; }
+ yy2183:
+ yych = *(marker = ++p);
+ if (yych == '`')
+ goto yy2201;
+ goto yy2182;
+ yy2184:
+ yych = *(marker = ++p);
+ if (yych == '~')
+ goto yy2194;
+ goto yy2182;
+ yy2185:
+ yych = *++p;
+ goto yy2182;
+ yy2186:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2187;
+ if (yych <= 0xBF)
+ goto yy2185;
+ yy2187:
+ p = marker;
+ goto yy2182;
+ yy2188:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy2187;
+ if (yych <= 0xBF)
+ goto yy2186;
+ goto yy2187;
+ yy2189:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2187;
+ if (yych <= 0xBF)
+ goto yy2186;
+ goto yy2187;
+ yy2190:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy2187;
+ if (yych <= 0xBF)
+ goto yy2189;
+ goto yy2187;
+ yy2191:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2187;
+ if (yych <= 0xBF)
+ goto yy2189;
+ goto yy2187;
+ yy2192:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2187;
+ if (yych <= 0x8F)
+ goto yy2189;
+ goto yy2187;
+ yy2193:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2187;
+ if (yych <= 0x9F)
+ goto yy2186;
+ goto yy2187;
+ yy2194:
+ yych = *++p;
+ if (yybm[0 + yych] & 32) {
+ goto yy2195;
+ }
+ goto yy2187;
+ yy2195:
+ marker = p + 1;
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy2197;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy2187;
+ if (yych <= '\n')
+ goto yy2199;
+ goto yy2187;
+ } else {
+ if (yych <= '\r')
+ goto yy2199;
+ if (yych == '~')
+ goto yy2195;
+ goto yy2187;
+ }
+ yy2197:
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 64) {
+ goto yy2197;
+ }
+ if (yych <= 0x08)
+ goto yy2187;
+ if (yych <= '\n')
+ goto yy2199;
+ if (yych != '\r')
+ goto yy2187;
+ yy2199:
+ ++p;
+ p = marker;
+ { return (bufsize_t)(p - start); }
+ yy2201:
+ yych = *++p;
+ if (yybm[0 + yych] & 128) {
+ goto yy2202;
+ }
+ goto yy2187;
+ yy2202:
+ marker = p + 1;
+ ++p;
+ yych = *p;
+ if (yybm[0 + yych] & 128) {
+ goto yy2202;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy2187;
+ if (yych <= '\t')
+ goto yy2204;
+ if (yych <= '\n')
+ goto yy2206;
+ goto yy2187;
+ } else {
+ if (yych <= '\r')
+ goto yy2206;
+ if (yych != ' ')
+ goto yy2187;
+ }
+ yy2204:
+ ++p;
+ yych = *p;
+ if (yych <= '\f') {
+ if (yych <= 0x08)
+ goto yy2187;
+ if (yych <= '\t')
+ goto yy2204;
+ if (yych >= '\v')
+ goto yy2187;
+ } else {
+ if (yych <= '\r')
+ goto yy2206;
+ if (yych == ' ')
+ goto yy2204;
+ goto yy2187;
+ }
+ yy2206:
+ ++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 = *(marker = p);
- if (yych <= 0xDF) {
- if (yych <= '%') {
- if (yych != '\n') goto yy2212;
- } else {
- if (yych <= '&') goto yy2211;
- if (yych <= 0x7F) goto yy2212;
- if (yych >= 0xC2) goto yy2213;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy2215;
- if (yych == 0xED) goto yy2220;
- goto yy2216;
- } else {
- if (yych <= 0xF0) goto yy2217;
- if (yych <= 0xF3) goto yy2218;
- if (yych <= 0xF4) goto yy2219;
- }
- }
-yy2210:
- { return 0; }
-yy2211:
- yych = *(marker = ++p);
- if (yych <= '@') {
- if (yych == '#') goto yy2221;
- goto yy2210;
- } else {
- if (yych <= 'Z') goto yy2222;
- if (yych <= '`') goto yy2210;
- if (yych <= 'z') goto yy2222;
- goto yy2210;
- }
-yy2212:
- yych = *++p;
- goto yy2210;
-yy2213:
- yych = *++p;
- if (yych <= 0x7F) goto yy2214;
- if (yych <= 0xBF) goto yy2212;
-yy2214:
- p = marker;
- goto yy2210;
-yy2215:
- yych = *++p;
- if (yych <= 0x9F) goto yy2214;
- if (yych <= 0xBF) goto yy2213;
- goto yy2214;
-yy2216:
- yych = *++p;
- if (yych <= 0x7F) goto yy2214;
- if (yych <= 0xBF) goto yy2213;
- goto yy2214;
-yy2217:
- yych = *++p;
- if (yych <= 0x8F) goto yy2214;
- if (yych <= 0xBF) goto yy2216;
- goto yy2214;
-yy2218:
- yych = *++p;
- if (yych <= 0x7F) goto yy2214;
- if (yych <= 0xBF) goto yy2216;
- goto yy2214;
-yy2219:
- yych = *++p;
- if (yych <= 0x7F) goto yy2214;
- if (yych <= 0x8F) goto yy2216;
- goto yy2214;
-yy2220:
- yych = *++p;
- if (yych <= 0x7F) goto yy2214;
- if (yych <= 0x9F) goto yy2213;
- goto yy2214;
-yy2221:
- yych = *++p;
- if (yych <= 'W') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2257;
- goto yy2214;
- } else {
- if (yych <= 'X') goto yy2256;
- if (yych == 'x') goto yy2256;
- goto yy2214;
- }
-yy2222:
- yych = *++p;
- if (yych <= '@') {
- if (yych <= '/') goto yy2214;
- if (yych >= ':') goto yy2214;
- } else {
- if (yych <= 'Z') goto yy2223;
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
-yy2223:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2226;
- if (yych <= ':') goto yy2214;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- goto yy2226;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych <= 'z') goto yy2226;
- goto yy2214;
- }
- }
-yy2224:
- ++p;
- { return (bufsize_t)(p - start); }
-yy2226:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2227;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2227:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2228;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2228:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2229;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2229:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2230;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2230:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2231;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2231:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2232;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2232:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2233;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2233:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2234;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2234:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2235;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2235:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2236;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2236:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2237;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2237:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2238;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2238:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2239;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2239:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2240;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2240:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2241;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2241:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2242;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2242:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2243;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2243:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2244;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2244:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2245;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2245:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2246;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2246:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2247;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2247:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2248;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2248:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2249;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2249:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2250;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2250:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2251;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2251:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2252;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2252:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2253;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2253:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2254;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2254:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2255;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= '{') goto yy2214;
- }
- }
-yy2255:
- yych = *++p;
- if (yych == ';') goto yy2224;
- goto yy2214;
-yy2256:
- yych = *++p;
- if (yych <= '@') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2264;
- goto yy2214;
- } else {
- if (yych <= 'F') goto yy2264;
- if (yych <= '`') goto yy2214;
- if (yych <= 'f') goto yy2264;
- goto yy2214;
- }
-yy2257:
- yych = *++p;
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2258;
- if (yych == ';') goto yy2224;
- goto yy2214;
-yy2258:
- yych = *++p;
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2259;
- if (yych == ';') goto yy2224;
- goto yy2214;
-yy2259:
- yych = *++p;
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2260;
- if (yych == ';') goto yy2224;
- goto yy2214;
-yy2260:
- yych = *++p;
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2261;
- if (yych == ';') goto yy2224;
- goto yy2214;
-yy2261:
- yych = *++p;
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2262;
- if (yych == ';') goto yy2224;
- goto yy2214;
-yy2262:
- yych = *++p;
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2263;
- if (yych == ';') goto yy2224;
- goto yy2214;
-yy2263:
- yych = *++p;
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2255;
- if (yych == ';') goto yy2224;
- goto yy2214;
-yy2264:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2265;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'F') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= 'g') goto yy2214;
- }
- }
-yy2265:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2266;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'F') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= 'g') goto yy2214;
- }
- }
-yy2266:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2267;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'F') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= 'g') goto yy2214;
- }
- }
-yy2267:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2268;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'F') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= 'g') goto yy2214;
- }
- }
-yy2268:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2269;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'F') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= 'g') goto yy2214;
- }
- }
-yy2269:
- yych = *++p;
- if (yych <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2270;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'F') {
- if (yych <= '@') goto yy2214;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych >= 'g') goto yy2214;
- }
- }
-yy2270:
- ++p;
- if ((yych = *p) <= ';') {
- if (yych <= '/') goto yy2214;
- if (yych <= '9') goto yy2255;
- if (yych <= ':') goto yy2214;
- goto yy2224;
- } else {
- if (yych <= 'F') {
- if (yych <= '@') goto yy2214;
- goto yy2255;
- } else {
- if (yych <= '`') goto yy2214;
- if (yych <= 'f') goto yy2255;
- goto yy2214;
- }
- }
-}
-
+ {
+ unsigned char yych;
+ yych = *(marker = p);
+ if (yych <= 0xDF) {
+ if (yych <= '%') {
+ if (yych != '\n')
+ goto yy2212;
+ } else {
+ if (yych <= '&')
+ goto yy2211;
+ if (yych <= 0x7F)
+ goto yy2212;
+ if (yych >= 0xC2)
+ goto yy2213;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy2215;
+ if (yych == 0xED)
+ goto yy2220;
+ goto yy2216;
+ } else {
+ if (yych <= 0xF0)
+ goto yy2217;
+ if (yych <= 0xF3)
+ goto yy2218;
+ if (yych <= 0xF4)
+ goto yy2219;
+ }
+ }
+ yy2210 : { return 0; }
+ yy2211:
+ yych = *(marker = ++p);
+ if (yych <= '@') {
+ if (yych == '#')
+ goto yy2221;
+ goto yy2210;
+ } else {
+ if (yych <= 'Z')
+ goto yy2222;
+ if (yych <= '`')
+ goto yy2210;
+ if (yych <= 'z')
+ goto yy2222;
+ goto yy2210;
+ }
+ yy2212:
+ yych = *++p;
+ goto yy2210;
+ yy2213:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2214;
+ if (yych <= 0xBF)
+ goto yy2212;
+ yy2214:
+ p = marker;
+ goto yy2210;
+ yy2215:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy2214;
+ if (yych <= 0xBF)
+ goto yy2213;
+ goto yy2214;
+ yy2216:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2214;
+ if (yych <= 0xBF)
+ goto yy2213;
+ goto yy2214;
+ yy2217:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy2214;
+ if (yych <= 0xBF)
+ goto yy2216;
+ goto yy2214;
+ yy2218:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2214;
+ if (yych <= 0xBF)
+ goto yy2216;
+ goto yy2214;
+ yy2219:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2214;
+ if (yych <= 0x8F)
+ goto yy2216;
+ goto yy2214;
+ yy2220:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2214;
+ if (yych <= 0x9F)
+ goto yy2213;
+ goto yy2214;
+ yy2221:
+ yych = *++p;
+ if (yych <= 'W') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2257;
+ goto yy2214;
+ } else {
+ if (yych <= 'X')
+ goto yy2256;
+ if (yych == 'x')
+ goto yy2256;
+ goto yy2214;
+ }
+ yy2222:
+ yych = *++p;
+ if (yych <= '@') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych >= ':')
+ goto yy2214;
+ } else {
+ if (yych <= 'Z')
+ goto yy2223;
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ yy2223:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2226;
+ if (yych <= ':')
+ goto yy2214;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ goto yy2226;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych <= 'z')
+ goto yy2226;
+ goto yy2214;
+ }
+ }
+ yy2224:
+ ++p;
+ { return (bufsize_t)(p - start); }
+ yy2226:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2227;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2227:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2228;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2228:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2229;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2229:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2230;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2230:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2231;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2231:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2232;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2232:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2233;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2233:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2234;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2234:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2235;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2235:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2236;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2236:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2237;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2237:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2238;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2238:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2239;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2239:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2240;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2240:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2241;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2241:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2242;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2242:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2243;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2243:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2244;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2244:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2245;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2245:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2246;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2246:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2247;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2247:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2248;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2248:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2249;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2249:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2250;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2250:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2251;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2251:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2252;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2252:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2253;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2253:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2254;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2254:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2255;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= '{')
+ goto yy2214;
+ }
+ }
+ yy2255:
+ yych = *++p;
+ if (yych == ';')
+ goto yy2224;
+ goto yy2214;
+ yy2256:
+ yych = *++p;
+ if (yych <= '@') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2264;
+ goto yy2214;
+ } else {
+ if (yych <= 'F')
+ goto yy2264;
+ if (yych <= '`')
+ goto yy2214;
+ if (yych <= 'f')
+ goto yy2264;
+ goto yy2214;
+ }
+ yy2257:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2258;
+ if (yych == ';')
+ goto yy2224;
+ goto yy2214;
+ yy2258:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2259;
+ if (yych == ';')
+ goto yy2224;
+ goto yy2214;
+ yy2259:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2260;
+ if (yych == ';')
+ goto yy2224;
+ goto yy2214;
+ yy2260:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2261;
+ if (yych == ';')
+ goto yy2224;
+ goto yy2214;
+ yy2261:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2262;
+ if (yych == ';')
+ goto yy2224;
+ goto yy2214;
+ yy2262:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2263;
+ if (yych == ';')
+ goto yy2224;
+ goto yy2214;
+ yy2263:
+ yych = *++p;
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2255;
+ if (yych == ';')
+ goto yy2224;
+ goto yy2214;
+ yy2264:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2265;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= 'g')
+ goto yy2214;
+ }
+ }
+ yy2265:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2266;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= 'g')
+ goto yy2214;
+ }
+ }
+ yy2266:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2267;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= 'g')
+ goto yy2214;
+ }
+ }
+ yy2267:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2268;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= 'g')
+ goto yy2214;
+ }
+ }
+ yy2268:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2269;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= 'g')
+ goto yy2214;
+ }
+ }
+ yy2269:
+ yych = *++p;
+ if (yych <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2270;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '@')
+ goto yy2214;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych >= 'g')
+ goto yy2214;
+ }
+ }
+ yy2270:
+ ++p;
+ if ((yych = *p) <= ';') {
+ if (yych <= '/')
+ goto yy2214;
+ if (yych <= '9')
+ goto yy2255;
+ if (yych <= ':')
+ goto yy2214;
+ goto yy2224;
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '@')
+ goto yy2214;
+ goto yy2255;
+ } else {
+ if (yych <= '`')
+ goto yy2214;
+ if (yych <= 'f')
+ goto yy2255;
+ goto yy2214;
+ }
+ }
+ }
}
// 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 = *(marker = p);
- if (yych <= 'f') {
- if (yych <= 'I') {
- if (yych <= 'C') {
- if (yych != '\n') goto yy2278;
- } else {
- if (yych <= 'D') goto yy2274;
- if (yych == 'F') goto yy2277;
- goto yy2278;
- }
- } else {
- if (yych <= 'V') {
- if (yych <= 'J') goto yy2275;
- if (yych <= 'U') goto yy2278;
- goto yy2276;
- } else {
- if (yych == 'd') goto yy2274;
- if (yych <= 'e') goto yy2278;
- goto yy2277;
- }
- }
- } else {
- if (yych <= 0xDF) {
- if (yych <= 'u') {
- if (yych == 'j') goto yy2275;
- goto yy2278;
- } else {
- if (yych <= 'v') goto yy2276;
- if (yych <= 0x7F) goto yy2278;
- if (yych >= 0xC2) goto yy2279;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy2281;
- if (yych == 0xED) goto yy2286;
- goto yy2282;
- } else {
- if (yych <= 0xF0) goto yy2283;
- if (yych <= 0xF3) goto yy2284;
- if (yych <= 0xF4) goto yy2285;
- }
- }
- }
-yy2273:
- { return 0; }
-yy2274:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych == 'A') goto yy2308;
- if (yych == 'a') goto yy2308;
- goto yy2273;
-yy2275:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych == 'A') goto yy2299;
- if (yych == 'a') goto yy2299;
- goto yy2273;
-yy2276:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych == 'B') goto yy2292;
- if (yych == 'b') goto yy2292;
- goto yy2273;
-yy2277:
- yyaccept = 0;
- yych = *(marker = ++p);
- if (yych == 'I') goto yy2287;
- if (yych == 'i') goto yy2287;
- goto yy2273;
-yy2278:
- yych = *++p;
- goto yy2273;
-yy2279:
- yych = *++p;
- if (yych <= 0x7F) goto yy2280;
- if (yych <= 0xBF) goto yy2278;
-yy2280:
- p = marker;
- if (yyaccept == 0) {
- goto yy2273;
- } else {
- goto yy2291;
- }
-yy2281:
- yych = *++p;
- if (yych <= 0x9F) goto yy2280;
- if (yych <= 0xBF) goto yy2279;
- goto yy2280;
-yy2282:
- yych = *++p;
- if (yych <= 0x7F) goto yy2280;
- if (yych <= 0xBF) goto yy2279;
- goto yy2280;
-yy2283:
- yych = *++p;
- if (yych <= 0x8F) goto yy2280;
- if (yych <= 0xBF) goto yy2282;
- goto yy2280;
-yy2284:
- yych = *++p;
- if (yych <= 0x7F) goto yy2280;
- if (yych <= 0xBF) goto yy2282;
- goto yy2280;
-yy2285:
- yych = *++p;
- if (yych <= 0x7F) goto yy2280;
- if (yych <= 0x8F) goto yy2282;
- goto yy2280;
-yy2286:
- yych = *++p;
- if (yych <= 0x7F) goto yy2280;
- if (yych <= 0x9F) goto yy2279;
- goto yy2280;
-yy2287:
- yych = *++p;
- if (yych == 'L') goto yy2288;
- if (yych != 'l') goto yy2280;
-yy2288:
- yych = *++p;
- if (yych == 'E') goto yy2289;
- if (yych != 'e') goto yy2280;
-yy2289:
- yych = *++p;
- if (yych != ':') goto yy2280;
-yy2290:
- ++p;
-yy2291:
- { return (bufsize_t)(p - start); }
-yy2292:
- yych = *++p;
- if (yych == 'S') goto yy2293;
- if (yych != 's') goto yy2280;
-yy2293:
- yych = *++p;
- if (yych == 'C') goto yy2294;
- if (yych != 'c') goto yy2280;
-yy2294:
- yych = *++p;
- if (yych == 'R') goto yy2295;
- if (yych != 'r') goto yy2280;
-yy2295:
- yych = *++p;
- if (yych == 'I') goto yy2296;
- if (yych != 'i') goto yy2280;
-yy2296:
- yych = *++p;
- if (yych == 'P') goto yy2297;
- if (yych != 'p') goto yy2280;
-yy2297:
- yych = *++p;
- if (yych == 'T') goto yy2298;
- if (yych != 't') goto yy2280;
-yy2298:
- yych = *++p;
- if (yych == ':') goto yy2290;
- goto yy2280;
-yy2299:
- yych = *++p;
- if (yych == 'V') goto yy2300;
- if (yych != 'v') goto yy2280;
-yy2300:
- yych = *++p;
- if (yych == 'A') goto yy2301;
- if (yych != 'a') goto yy2280;
-yy2301:
- yych = *++p;
- if (yych == 'S') goto yy2302;
- if (yych != 's') goto yy2280;
-yy2302:
- yych = *++p;
- if (yych == 'C') goto yy2303;
- if (yych != 'c') goto yy2280;
-yy2303:
- yych = *++p;
- if (yych == 'R') goto yy2304;
- if (yych != 'r') goto yy2280;
-yy2304:
- yych = *++p;
- if (yych == 'I') goto yy2305;
- if (yych != 'i') goto yy2280;
-yy2305:
- yych = *++p;
- if (yych == 'P') goto yy2306;
- if (yych != 'p') goto yy2280;
-yy2306:
- yych = *++p;
- if (yych == 'T') goto yy2307;
- if (yych != 't') goto yy2280;
-yy2307:
- yych = *++p;
- if (yych == ':') goto yy2290;
- goto yy2280;
-yy2308:
- yych = *++p;
- if (yych == 'T') goto yy2309;
- if (yych != 't') goto yy2280;
-yy2309:
- yych = *++p;
- if (yych == 'A') goto yy2310;
- if (yych != 'a') goto yy2280;
-yy2310:
- yych = *++p;
- if (yych != ':') goto yy2280;
- yyaccept = 1;
- yych = *(marker = ++p);
- if (yych == 'I') goto yy2312;
- if (yych != 'i') goto yy2291;
-yy2312:
- yych = *++p;
- if (yych == 'M') goto yy2313;
- if (yych != 'm') goto yy2280;
-yy2313:
- yych = *++p;
- if (yych == 'A') goto yy2314;
- if (yych != 'a') goto yy2280;
-yy2314:
- yych = *++p;
- if (yych == 'G') goto yy2315;
- if (yych != 'g') goto yy2280;
-yy2315:
- yych = *++p;
- if (yych == 'E') goto yy2316;
- if (yych != 'e') goto yy2280;
-yy2316:
- yych = *++p;
- if (yych != '/') goto yy2280;
- yych = *++p;
- if (yych <= 'W') {
- if (yych <= 'J') {
- if (yych == 'G') goto yy2319;
- if (yych <= 'I') goto yy2280;
- goto yy2320;
- } else {
- if (yych == 'P') goto yy2318;
- if (yych <= 'V') goto yy2280;
- goto yy2321;
- }
- } else {
- if (yych <= 'j') {
- if (yych == 'g') goto yy2319;
- if (yych <= 'i') goto yy2280;
- goto yy2320;
- } else {
- if (yych <= 'p') {
- if (yych <= 'o') goto yy2280;
- } else {
- if (yych == 'w') goto yy2321;
- goto yy2280;
- }
- }
- }
-yy2318:
- yych = *++p;
- if (yych == 'N') goto yy2329;
- if (yych == 'n') goto yy2329;
- goto yy2280;
-yy2319:
- yych = *++p;
- if (yych == 'I') goto yy2328;
- if (yych == 'i') goto yy2328;
- goto yy2280;
-yy2320:
- yych = *++p;
- if (yych == 'P') goto yy2326;
- if (yych == 'p') goto yy2326;
- goto yy2280;
-yy2321:
- yych = *++p;
- if (yych == 'E') goto yy2322;
- if (yych != 'e') goto yy2280;
-yy2322:
- yych = *++p;
- if (yych == 'B') goto yy2323;
- if (yych != 'b') goto yy2280;
-yy2323:
- yych = *++p;
- if (yych == 'P') goto yy2324;
- if (yych != 'p') goto yy2280;
-yy2324:
- ++p;
- { return 0; }
-yy2326:
- yych = *++p;
- if (yych == 'E') goto yy2327;
- if (yych != 'e') goto yy2280;
-yy2327:
- yych = *++p;
- if (yych == 'G') goto yy2324;
- if (yych == 'g') goto yy2324;
- goto yy2280;
-yy2328:
- yych = *++p;
- if (yych == 'F') goto yy2324;
- if (yych == 'f') goto yy2324;
- goto yy2280;
-yy2329:
- ++p;
- if ((yych = *p) == 'G') goto yy2324;
- if (yych == 'g') goto yy2324;
- goto yy2280;
+ {
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ yych = *(marker = p);
+ if (yych <= 'f') {
+ if (yych <= 'I') {
+ if (yych <= 'C') {
+ if (yych != '\n')
+ goto yy2278;
+ } else {
+ if (yych <= 'D')
+ goto yy2274;
+ if (yych == 'F')
+ goto yy2277;
+ goto yy2278;
+ }
+ } else {
+ if (yych <= 'V') {
+ if (yych <= 'J')
+ goto yy2275;
+ if (yych <= 'U')
+ goto yy2278;
+ goto yy2276;
+ } else {
+ if (yych == 'd')
+ goto yy2274;
+ if (yych <= 'e')
+ goto yy2278;
+ goto yy2277;
+ }
+ }
+ } else {
+ if (yych <= 0xDF) {
+ if (yych <= 'u') {
+ if (yych == 'j')
+ goto yy2275;
+ goto yy2278;
+ } else {
+ if (yych <= 'v')
+ goto yy2276;
+ if (yych <= 0x7F)
+ goto yy2278;
+ if (yych >= 0xC2)
+ goto yy2279;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xE0)
+ goto yy2281;
+ if (yych == 0xED)
+ goto yy2286;
+ goto yy2282;
+ } else {
+ if (yych <= 0xF0)
+ goto yy2283;
+ if (yych <= 0xF3)
+ goto yy2284;
+ if (yych <= 0xF4)
+ goto yy2285;
+ }
+ }
+ }
+ yy2273 : { return 0; }
+ yy2274:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'A')
+ goto yy2308;
+ if (yych == 'a')
+ goto yy2308;
+ goto yy2273;
+ yy2275:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'A')
+ goto yy2299;
+ if (yych == 'a')
+ goto yy2299;
+ goto yy2273;
+ yy2276:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'B')
+ goto yy2292;
+ if (yych == 'b')
+ goto yy2292;
+ goto yy2273;
+ yy2277:
+ yyaccept = 0;
+ yych = *(marker = ++p);
+ if (yych == 'I')
+ goto yy2287;
+ if (yych == 'i')
+ goto yy2287;
+ goto yy2273;
+ yy2278:
+ yych = *++p;
+ goto yy2273;
+ yy2279:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2280;
+ if (yych <= 0xBF)
+ goto yy2278;
+ yy2280:
+ p = marker;
+ if (yyaccept == 0) {
+ goto yy2273;
+ } else {
+ goto yy2291;
+ }
+ yy2281:
+ yych = *++p;
+ if (yych <= 0x9F)
+ goto yy2280;
+ if (yych <= 0xBF)
+ goto yy2279;
+ goto yy2280;
+ yy2282:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2280;
+ if (yych <= 0xBF)
+ goto yy2279;
+ goto yy2280;
+ yy2283:
+ yych = *++p;
+ if (yych <= 0x8F)
+ goto yy2280;
+ if (yych <= 0xBF)
+ goto yy2282;
+ goto yy2280;
+ yy2284:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2280;
+ if (yych <= 0xBF)
+ goto yy2282;
+ goto yy2280;
+ yy2285:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2280;
+ if (yych <= 0x8F)
+ goto yy2282;
+ goto yy2280;
+ yy2286:
+ yych = *++p;
+ if (yych <= 0x7F)
+ goto yy2280;
+ if (yych <= 0x9F)
+ goto yy2279;
+ goto yy2280;
+ yy2287:
+ yych = *++p;
+ if (yych == 'L')
+ goto yy2288;
+ if (yych != 'l')
+ goto yy2280;
+ yy2288:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy2289;
+ if (yych != 'e')
+ goto yy2280;
+ yy2289:
+ yych = *++p;
+ if (yych != ':')
+ goto yy2280;
+ yy2290:
+ ++p;
+ yy2291 : { return (bufsize_t)(p - start); }
+ yy2292:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy2293;
+ if (yych != 's')
+ goto yy2280;
+ yy2293:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy2294;
+ if (yych != 'c')
+ goto yy2280;
+ yy2294:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy2295;
+ if (yych != 'r')
+ goto yy2280;
+ yy2295:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy2296;
+ if (yych != 'i')
+ goto yy2280;
+ yy2296:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy2297;
+ if (yych != 'p')
+ goto yy2280;
+ yy2297:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy2298;
+ if (yych != 't')
+ goto yy2280;
+ yy2298:
+ yych = *++p;
+ if (yych == ':')
+ goto yy2290;
+ goto yy2280;
+ yy2299:
+ yych = *++p;
+ if (yych == 'V')
+ goto yy2300;
+ if (yych != 'v')
+ goto yy2280;
+ yy2300:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy2301;
+ if (yych != 'a')
+ goto yy2280;
+ yy2301:
+ yych = *++p;
+ if (yych == 'S')
+ goto yy2302;
+ if (yych != 's')
+ goto yy2280;
+ yy2302:
+ yych = *++p;
+ if (yych == 'C')
+ goto yy2303;
+ if (yych != 'c')
+ goto yy2280;
+ yy2303:
+ yych = *++p;
+ if (yych == 'R')
+ goto yy2304;
+ if (yych != 'r')
+ goto yy2280;
+ yy2304:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy2305;
+ if (yych != 'i')
+ goto yy2280;
+ yy2305:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy2306;
+ if (yych != 'p')
+ goto yy2280;
+ yy2306:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy2307;
+ if (yych != 't')
+ goto yy2280;
+ yy2307:
+ yych = *++p;
+ if (yych == ':')
+ goto yy2290;
+ goto yy2280;
+ yy2308:
+ yych = *++p;
+ if (yych == 'T')
+ goto yy2309;
+ if (yych != 't')
+ goto yy2280;
+ yy2309:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy2310;
+ if (yych != 'a')
+ goto yy2280;
+ yy2310:
+ yych = *++p;
+ if (yych != ':')
+ goto yy2280;
+ yyaccept = 1;
+ yych = *(marker = ++p);
+ if (yych == 'I')
+ goto yy2312;
+ if (yych != 'i')
+ goto yy2291;
+ yy2312:
+ yych = *++p;
+ if (yych == 'M')
+ goto yy2313;
+ if (yych != 'm')
+ goto yy2280;
+ yy2313:
+ yych = *++p;
+ if (yych == 'A')
+ goto yy2314;
+ if (yych != 'a')
+ goto yy2280;
+ yy2314:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy2315;
+ if (yych != 'g')
+ goto yy2280;
+ yy2315:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy2316;
+ if (yych != 'e')
+ goto yy2280;
+ yy2316:
+ yych = *++p;
+ if (yych != '/')
+ goto yy2280;
+ yych = *++p;
+ if (yych <= 'W') {
+ if (yych <= 'J') {
+ if (yych == 'G')
+ goto yy2319;
+ if (yych <= 'I')
+ goto yy2280;
+ goto yy2320;
+ } else {
+ if (yych == 'P')
+ goto yy2318;
+ if (yych <= 'V')
+ goto yy2280;
+ goto yy2321;
+ }
+ } else {
+ if (yych <= 'j') {
+ if (yych == 'g')
+ goto yy2319;
+ if (yych <= 'i')
+ goto yy2280;
+ goto yy2320;
+ } else {
+ if (yych <= 'p') {
+ if (yych <= 'o')
+ goto yy2280;
+ } else {
+ if (yych == 'w')
+ goto yy2321;
+ goto yy2280;
+ }
+ }
+ }
+ yy2318:
+ yych = *++p;
+ if (yych == 'N')
+ goto yy2329;
+ if (yych == 'n')
+ goto yy2329;
+ goto yy2280;
+ yy2319:
+ yych = *++p;
+ if (yych == 'I')
+ goto yy2328;
+ if (yych == 'i')
+ goto yy2328;
+ goto yy2280;
+ yy2320:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy2326;
+ if (yych == 'p')
+ goto yy2326;
+ goto yy2280;
+ yy2321:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy2322;
+ if (yych != 'e')
+ goto yy2280;
+ yy2322:
+ yych = *++p;
+ if (yych == 'B')
+ goto yy2323;
+ if (yych != 'b')
+ goto yy2280;
+ yy2323:
+ yych = *++p;
+ if (yych == 'P')
+ goto yy2324;
+ if (yych != 'p')
+ goto yy2280;
+ yy2324:
+ ++p;
+ { return 0; }
+ yy2326:
+ yych = *++p;
+ if (yych == 'E')
+ goto yy2327;
+ if (yych != 'e')
+ goto yy2280;
+ yy2327:
+ yych = *++p;
+ if (yych == 'G')
+ goto yy2324;
+ if (yych == 'g')
+ goto yy2324;
+ goto yy2280;
+ yy2328:
+ yych = *++p;
+ if (yych == 'F')
+ goto yy2324;
+ if (yych == 'f')
+ goto yy2324;
+ goto yy2280;
+ yy2329:
+ ++p;
+ if ((yych = *p) == 'G')
+ goto yy2324;
+ if (yych == 'g')
+ goto yy2324;
+ goto yy2280;
+ }
}
-
-}
-
diff --git a/src/scanners.h b/src/scanners.h
index a6a71bf..4616f9f 100644
--- a/src/scanners.h
+++ b/src/scanners.h
@@ -5,7 +5,8 @@
extern "C" {
#endif
-bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, bufsize_t offset);
+bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c,
+ bufsize_t offset);
bufsize_t _scan_scheme(const unsigned char *p);
bufsize_t _scan_autolink_uri(const unsigned char *p);
bufsize_t _scan_autolink_email(const unsigned char *p);
diff --git a/src/utf8.c b/src/utf8.c
index ffe6652..21e751d 100644
--- a/src/utf8.c
+++ b/src/utf8.c
@@ -6,452 +6,309 @@
#include "utf8.h"
static const int8_t utf8proc_utf8class[256] = {
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-static void encode_unknown(cmark_strbuf *buf)
-{
- static const uint8_t repl[] = {239, 191, 189};
- cmark_strbuf_put(buf, repl, 3);
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0};
+
+static void encode_unknown(cmark_strbuf *buf) {
+ static const uint8_t repl[] = {239, 191, 189};
+ cmark_strbuf_put(buf, repl, 3);
}
-static int utf8proc_charlen(const uint8_t *str, bufsize_t str_len)
-{
- int length, i;
+static int utf8proc_charlen(const uint8_t *str, bufsize_t str_len) {
+ int length, i;
- if (!str_len)
- return 0;
+ if (!str_len)
+ return 0;
- length = utf8proc_utf8class[str[0]];
+ length = utf8proc_utf8class[str[0]];
- if (!length)
- return -1;
+ if (!length)
+ return -1;
- if (str_len >= 0 && (bufsize_t)length > str_len)
- return -str_len;
+ if (str_len >= 0 && (bufsize_t)length > str_len)
+ return -str_len;
- for (i = 1; i < length; i++) {
- if ((str[i] & 0xC0) != 0x80)
- return -i;
- }
+ for (i = 1; i < length; i++) {
+ if ((str[i] & 0xC0) != 0x80)
+ return -i;
+ }
- return length;
+ return length;
}
// Validate a single UTF-8 character according to RFC 3629.
-static int utf8proc_valid(const uint8_t *str, bufsize_t str_len)
-{
- int length = utf8proc_utf8class[str[0]];
-
- if (!length)
- return -1;
-
- if ((bufsize_t)length > str_len)
- return -str_len;
-
- switch (length) {
- case 2:
- if ((str[1] & 0xC0) != 0x80)
- return -1;
- if (str[0] < 0xC2) {
- // Overlong
- return -length;
- }
- break;
-
- case 3:
- if ((str[1] & 0xC0) != 0x80)
- return -1;
- if ((str[2] & 0xC0) != 0x80)
- return -2;
- if (str[0] == 0xE0) {
- if (str[1] < 0xA0) {
- // Overlong
- return -length;
- }
- } else if (str[0] == 0xED) {
- if (str[1] >= 0xA0) {
- // Surrogate
- return -length;
- }
- }
- break;
-
- case 4:
- if ((str[1] & 0xC0) != 0x80)
- return -1;
- if ((str[2] & 0xC0) != 0x80)
- return -2;
- if ((str[3] & 0xC0) != 0x80)
- return -3;
- if (str[0] == 0xF0) {
- if (str[1] < 0x90) {
- // Overlong
- return -length;
- }
- } else if (str[0] >= 0xF4) {
- if (str[0] > 0xF4 || str[1] >= 0x90) {
- // Above 0x10FFFF
- return -length;
- }
- }
- break;
- }
-
- return length;
+static int utf8proc_valid(const uint8_t *str, bufsize_t str_len) {
+ int length = utf8proc_utf8class[str[0]];
+
+ if (!length)
+ return -1;
+
+ if ((bufsize_t)length > str_len)
+ return -str_len;
+
+ switch (length) {
+ case 2:
+ if ((str[1] & 0xC0) != 0x80)
+ return -1;
+ if (str[0] < 0xC2) {
+ // Overlong
+ return -length;
+ }
+ break;
+
+ case 3:
+ if ((str[1] & 0xC0) != 0x80)
+ return -1;
+ if ((str[2] & 0xC0) != 0x80)
+ return -2;
+ if (str[0] == 0xE0) {
+ if (str[1] < 0xA0) {
+ // Overlong
+ return -length;
+ }
+ } else if (str[0] == 0xED) {
+ if (str[1] >= 0xA0) {
+ // Surrogate
+ return -length;
+ }
+ }
+ break;
+
+ case 4:
+ if ((str[1] & 0xC0) != 0x80)
+ return -1;
+ if ((str[2] & 0xC0) != 0x80)
+ return -2;
+ if ((str[3] & 0xC0) != 0x80)
+ return -3;
+ if (str[0] == 0xF0) {
+ if (str[1] < 0x90) {
+ // Overlong
+ return -length;
+ }
+ } else if (str[0] >= 0xF4) {
+ if (str[0] > 0xF4 || str[1] >= 0x90) {
+ // Above 0x10FFFF
+ return -length;
+ }
+ }
+ break;
+ }
+
+ return length;
}
-void utf8proc_check(cmark_strbuf *ob, const uint8_t *line, bufsize_t size)
-{
- bufsize_t i = 0;
-
- while (i < size) {
- bufsize_t org = i;
- int charlen = 0;
-
- while (i < size) {
- if (line[i] < 0x80 && line[i] != 0) {
- i++;
- } else if (line[i] >= 0x80) {
- charlen = utf8proc_valid(line + i, size - i);
- if (charlen < 0) {
- charlen = -charlen;
- break;
- }
- i += charlen;
- } else if (line[i] == 0) {
- // ASCII NUL is technically valid but rejected
- // for security reasons.
- charlen = 1;
- break;
- }
- }
-
- if (i > org) {
- cmark_strbuf_put(ob, line + org, i - org);
- }
-
- if (i >= size) {
- break;
- } else {
- // Invalid UTF-8
- encode_unknown(ob);
- i += charlen;
- }
- }
+void utf8proc_check(cmark_strbuf *ob, const uint8_t *line, bufsize_t size) {
+ bufsize_t i = 0;
+
+ while (i < size) {
+ bufsize_t org = i;
+ int charlen = 0;
+
+ while (i < size) {
+ if (line[i] < 0x80 && line[i] != 0) {
+ i++;
+ } else if (line[i] >= 0x80) {
+ charlen = utf8proc_valid(line + i, size - i);
+ if (charlen < 0) {
+ charlen = -charlen;
+ break;
+ }
+ i += charlen;
+ } else if (line[i] == 0) {
+ // ASCII NUL is technically valid but rejected
+ // for security reasons.
+ charlen = 1;
+ break;
+ }
+ }
+
+ if (i > org) {
+ cmark_strbuf_put(ob, line + org, i - org);
+ }
+
+ if (i >= size) {
+ break;
+ } else {
+ // Invalid UTF-8
+ encode_unknown(ob);
+ i += charlen;
+ }
+ }
}
-int utf8proc_iterate(const uint8_t *str, bufsize_t str_len, int32_t *dst)
-{
- int length;
- int32_t uc = -1;
-
- *dst = -1;
- length = utf8proc_charlen(str, str_len);
- if (length < 0)
- return -1;
-
- switch (length) {
- case 1:
- uc = str[0];
- break;
- case 2:
- uc = ((str[0] & 0x1F) << 6) + (str[1] & 0x3F);
- if (uc < 0x80) uc = -1;
- break;
- case 3:
- uc = ((str[0] & 0x0F) << 12) + ((str[1] & 0x3F) << 6)
- + (str[2] & 0x3F);
- if (uc < 0x800 || (uc >= 0xD800 && uc < 0xE000)) uc = -1;
- break;
- case 4:
- uc = ((str[0] & 0x07) << 18) + ((str[1] & 0x3F) << 12)
- + ((str[2] & 0x3F) << 6) + (str[3] & 0x3F);
- if (uc < 0x10000 || uc >= 0x110000) uc = -1;
- break;
- }
-
- if (uc < 0)
- return -1;
-
- *dst = uc;
- return length;
+int utf8proc_iterate(const uint8_t *str, bufsize_t str_len, int32_t *dst) {
+ int length;
+ int32_t uc = -1;
+
+ *dst = -1;
+ length = utf8proc_charlen(str, str_len);
+ if (length < 0)
+ return -1;
+
+ switch (length) {
+ case 1:
+ uc = str[0];
+ break;
+ case 2:
+ uc = ((str[0] & 0x1F) << 6) + (str[1] & 0x3F);
+ if (uc < 0x80)
+ uc = -1;
+ break;
+ case 3:
+ uc = ((str[0] & 0x0F) << 12) + ((str[1] & 0x3F) << 6) + (str[2] & 0x3F);
+ if (uc < 0x800 || (uc >= 0xD800 && uc < 0xE000))
+ uc = -1;
+ break;
+ case 4:
+ uc = ((str[0] & 0x07) << 18) + ((str[1] & 0x3F) << 12) +
+ ((str[2] & 0x3F) << 6) + (str[3] & 0x3F);
+ if (uc < 0x10000 || uc >= 0x110000)
+ uc = -1;
+ break;
+ }
+
+ if (uc < 0)
+ return -1;
+
+ *dst = uc;
+ return length;
}
-void utf8proc_encode_char(int32_t uc, cmark_strbuf *buf)
-{
- uint8_t dst[4];
- bufsize_t len = 0;
-
- assert(uc >= 0);
-
- if (uc < 0x80) {
- dst[0] = uc;
- len = 1;
- } else if (uc < 0x800) {
- dst[0] = 0xC0 + (uc >> 6);
- dst[1] = 0x80 + (uc & 0x3F);
- len = 2;
- } else if (uc == 0xFFFF) {
- dst[0] = 0xFF;
- len = 1;
- } else if (uc == 0xFFFE) {
- dst[0] = 0xFE;
- len = 1;
- } else if (uc < 0x10000) {
- dst[0] = 0xE0 + (uc >> 12);
- dst[1] = 0x80 + ((uc >> 6) & 0x3F);
- dst[2] = 0x80 + (uc & 0x3F);
- len = 3;
- } else if (uc < 0x110000) {
- dst[0] = 0xF0 + (uc >> 18);
- dst[1] = 0x80 + ((uc >> 12) & 0x3F);
- dst[2] = 0x80 + ((uc >> 6) & 0x3F);
- dst[3] = 0x80 + (uc & 0x3F);
- len = 4;
- } else {
- encode_unknown(buf);
- return;
- }
-
- cmark_strbuf_put(buf, dst, len);
+void utf8proc_encode_char(int32_t uc, cmark_strbuf *buf) {
+ uint8_t dst[4];
+ bufsize_t len = 0;
+
+ assert(uc >= 0);
+
+ if (uc < 0x80) {
+ dst[0] = uc;
+ len = 1;
+ } else if (uc < 0x800) {
+ dst[0] = 0xC0 + (uc >> 6);
+ dst[1] = 0x80 + (uc & 0x3F);
+ len = 2;
+ } else if (uc == 0xFFFF) {
+ dst[0] = 0xFF;
+ len = 1;
+ } else if (uc == 0xFFFE) {
+ dst[0] = 0xFE;
+ len = 1;
+ } else if (uc < 0x10000) {
+ dst[0] = 0xE0 + (uc >> 12);
+ dst[1] = 0x80 + ((uc >> 6) & 0x3F);
+ dst[2] = 0x80 + (uc & 0x3F);
+ len = 3;
+ } else if (uc < 0x110000) {
+ dst[0] = 0xF0 + (uc >> 18);
+ dst[1] = 0x80 + ((uc >> 12) & 0x3F);
+ dst[2] = 0x80 + ((uc >> 6) & 0x3F);
+ dst[3] = 0x80 + (uc & 0x3F);
+ len = 4;
+ } else {
+ encode_unknown(buf);
+ return;
+ }
+
+ cmark_strbuf_put(buf, dst, len);
}
-void utf8proc_case_fold(cmark_strbuf *dest, const uint8_t *str, bufsize_t len)
-{
- int32_t c;
+void utf8proc_case_fold(cmark_strbuf *dest, const uint8_t *str, bufsize_t len) {
+ int32_t c;
-#define bufpush(x) \
- utf8proc_encode_char(x, dest)
+#define bufpush(x) utf8proc_encode_char(x, dest)
- while (len > 0) {
- bufsize_t char_len = utf8proc_iterate(str, len, &c);
+ while (len > 0) {
+ bufsize_t char_len = utf8proc_iterate(str, len, &c);
- if (char_len >= 0) {
+ if (char_len >= 0) {
#include "case_fold_switch.inc"
- } else {
- encode_unknown(dest);
- char_len = -char_len;
- }
-
- str += char_len;
- len -= char_len;
- }
+ } else {
+ encode_unknown(dest);
+ char_len = -char_len;
+ }
+
+ str += char_len;
+ len -= char_len;
+ }
}
// matches anything in the Zs class, plus LF, CR, TAB, FF.
-int utf8proc_is_space(int32_t uc)
-{
- return (uc == 9 ||
- uc == 10 ||
- uc == 12 ||
- uc == 13 ||
- uc == 32 ||
- uc == 160 ||
- uc == 5760 ||
- (uc >= 8192 && uc <= 8202) ||
- uc == 8239 ||
- uc == 8287 ||
- uc == 12288);
+int utf8proc_is_space(int32_t uc) {
+ return (uc == 9 || uc == 10 || uc == 12 || uc == 13 || uc == 32 ||
+ uc == 160 || uc == 5760 || (uc >= 8192 && uc <= 8202) || uc == 8239 ||
+ uc == 8287 || uc == 12288);
}
// matches anything in the P[cdefios] classes.
-int utf8proc_is_punctuation(int32_t uc)
-{
- return ((uc < 128 && cmark_ispunct((char)uc)) ||
- uc == 161 ||
- uc == 167 ||
- uc == 171 ||
- uc == 182 ||
- uc == 183 ||
- uc == 187 ||
- uc == 191 ||
- uc == 894 ||
- uc == 903 ||
- (uc >= 1370 && uc <= 1375) ||
- uc == 1417 ||
- uc == 1418 ||
- uc == 1470 ||
- uc == 1472 ||
- uc == 1475 ||
- uc == 1478 ||
- uc == 1523 ||
- uc == 1524 ||
- uc == 1545 ||
- uc == 1546 ||
- uc == 1548 ||
- uc == 1549 ||
- uc == 1563 ||
- uc == 1566 ||
- uc == 1567 ||
- (uc >= 1642 && uc <= 1645) ||
- uc == 1748 ||
- (uc >= 1792 && uc <= 1805) ||
- (uc >= 2039 && uc <= 2041) ||
- (uc >= 2096 && uc <= 2110) ||
- uc == 2142 ||
- uc == 2404 ||
- uc == 2405 ||
- uc == 2416 ||
- uc == 2800 ||
- uc == 3572 ||
- uc == 3663 ||
- uc == 3674 ||
- uc == 3675 ||
- (uc >= 3844 && uc <= 3858) ||
- uc == 3860 ||
- (uc >= 3898 && uc <= 3901) ||
- uc == 3973 ||
- (uc >= 4048 && uc <= 4052) ||
- uc == 4057 ||
- uc == 4058 ||
- (uc >= 4170 && uc <= 4175) ||
- uc == 4347 ||
- (uc >= 4960 && uc <= 4968) ||
- uc == 5120 ||
- uc == 5741 ||
- uc == 5742 ||
- uc == 5787 ||
- uc == 5788 ||
- (uc >= 5867 && uc <= 5869) ||
- uc == 5941 ||
- uc == 5942 ||
- (uc >= 6100 && uc <= 6102) ||
- (uc >= 6104 && uc <= 6106) ||
- (uc >= 6144 && uc <= 6154) ||
- uc == 6468 ||
- uc == 6469 ||
- uc == 6686 ||
- uc == 6687 ||
- (uc >= 6816 && uc <= 6822) ||
- (uc >= 6824 && uc <= 6829) ||
- (uc >= 7002 && uc <= 7008) ||
- (uc >= 7164 && uc <= 7167) ||
- (uc >= 7227 && uc <= 7231) ||
- uc == 7294 ||
- uc == 7295 ||
- (uc >= 7360 && uc <= 7367) ||
- uc == 7379 ||
- (uc >= 8208 && uc <= 8231) ||
- (uc >= 8240 && uc <= 8259) ||
- (uc >= 8261 && uc <= 8273) ||
- (uc >= 8275 && uc <= 8286) ||
- uc == 8317 ||
- uc == 8318 ||
- uc == 8333 ||
- uc == 8334 ||
- (uc >= 8968 && uc <= 8971) ||
- uc == 9001 ||
- uc == 9002 ||
- (uc >= 10088 && uc <= 10101) ||
- uc == 10181 ||
- uc == 10182 ||
- (uc >= 10214 && uc <= 10223) ||
- (uc >= 10627 && uc <= 10648) ||
- (uc >= 10712 && uc <= 10715) ||
- uc == 10748 ||
- uc == 10749 ||
- (uc >= 11513 && uc <= 11516) ||
- uc == 11518 ||
- uc == 11519 ||
- uc == 11632 ||
- (uc >= 11776 && uc <= 11822) ||
- (uc >= 11824 && uc <= 11842) ||
- (uc >= 12289 && uc <= 12291) ||
- (uc >= 12296 && uc <= 12305) ||
- (uc >= 12308 && uc <= 12319) ||
- uc == 12336 ||
- uc == 12349 ||
- uc == 12448 ||
- uc == 12539 ||
- uc == 42238 ||
- uc == 42239 ||
- (uc >= 42509 && uc <= 42511) ||
- uc == 42611 ||
- uc == 42622 ||
- (uc >= 42738 && uc <= 42743) ||
- (uc >= 43124 && uc <= 43127) ||
- uc == 43214 ||
- uc == 43215 ||
- (uc >= 43256 && uc <= 43258) ||
- uc == 43310 ||
- uc == 43311 ||
- uc == 43359 ||
- (uc >= 43457 && uc <= 43469) ||
- uc == 43486 ||
- uc == 43487 ||
- (uc >= 43612 && uc <= 43615) ||
- uc == 43742 ||
- uc == 43743 ||
- uc == 43760 ||
- uc == 43761 ||
- uc == 44011 ||
- uc == 64830 ||
- uc == 64831 ||
- (uc >= 65040 && uc <= 65049) ||
- (uc >= 65072 && uc <= 65106) ||
- (uc >= 65108 && uc <= 65121) ||
- uc == 65123 ||
- uc == 65128 ||
- uc == 65130 ||
- uc == 65131 ||
- (uc >= 65281 && uc <= 65283) ||
- (uc >= 65285 && uc <= 65290) ||
- (uc >= 65292 && uc <= 65295) ||
- uc == 65306 ||
- uc == 65307 ||
- uc == 65311 ||
- uc == 65312 ||
- (uc >= 65339 && uc <= 65341) ||
- uc == 65343 ||
- uc == 65371 ||
- uc == 65373 ||
- (uc >= 65375 && uc <= 65381) ||
- (uc >= 65792 && uc <= 65794) ||
- uc == 66463 ||
- uc == 66512 ||
- uc == 66927 ||
- uc == 67671 ||
- uc == 67871 ||
- uc == 67903 ||
- (uc >= 68176 && uc <= 68184) ||
- uc == 68223 ||
- (uc >= 68336 && uc <= 68342) ||
- (uc >= 68409 && uc <= 68415) ||
- (uc >= 68505 && uc <= 68508) ||
- (uc >= 69703 && uc <= 69709) ||
- uc == 69819 ||
- uc == 69820 ||
- (uc >= 69822 && uc <= 69825) ||
- (uc >= 69952 && uc <= 69955) ||
- uc == 70004 ||
- uc == 70005 ||
- (uc >= 70085 && uc <= 70088) ||
- uc == 70093 ||
- (uc >= 70200 && uc <= 70205) ||
- uc == 70854 ||
- (uc >= 71105 && uc <= 71113) ||
- (uc >= 71233 && uc <= 71235) ||
- (uc >= 74864 && uc <= 74868) ||
- uc == 92782 ||
- uc == 92783 ||
- uc == 92917 ||
- (uc >= 92983 && uc <= 92987) ||
- uc == 92996 ||
- uc == 113823);
+int utf8proc_is_punctuation(int32_t uc) {
+ return (
+ (uc < 128 && cmark_ispunct((char)uc)) || uc == 161 || uc == 167 ||
+ uc == 171 || uc == 182 || uc == 183 || uc == 187 || uc == 191 ||
+ uc == 894 || uc == 903 || (uc >= 1370 && uc <= 1375) || uc == 1417 ||
+ uc == 1418 || uc == 1470 || uc == 1472 || uc == 1475 || uc == 1478 ||
+ uc == 1523 || uc == 1524 || uc == 1545 || uc == 1546 || uc == 1548 ||
+ uc == 1549 || uc == 1563 || uc == 1566 || uc == 1567 ||
+ (uc >= 1642 && uc <= 1645) || uc == 1748 || (uc >= 1792 && uc <= 1805) ||
+ (uc >= 2039 && uc <= 2041) || (uc >= 2096 && uc <= 2110) || uc == 2142 ||
+ uc == 2404 || uc == 2405 || uc == 2416 || uc == 2800 || uc == 3572 ||
+ uc == 3663 || uc == 3674 || uc == 3675 || (uc >= 3844 && uc <= 3858) ||
+ uc == 3860 || (uc >= 3898 && uc <= 3901) || uc == 3973 ||
+ (uc >= 4048 && uc <= 4052) || uc == 4057 || uc == 4058 ||
+ (uc >= 4170 && uc <= 4175) || uc == 4347 || (uc >= 4960 && uc <= 4968) ||
+ uc == 5120 || uc == 5741 || uc == 5742 || uc == 5787 || uc == 5788 ||
+ (uc >= 5867 && uc <= 5869) || uc == 5941 || uc == 5942 ||
+ (uc >= 6100 && uc <= 6102) || (uc >= 6104 && uc <= 6106) ||
+ (uc >= 6144 && uc <= 6154) || uc == 6468 || uc == 6469 || uc == 6686 ||
+ uc == 6687 || (uc >= 6816 && uc <= 6822) || (uc >= 6824 && uc <= 6829) ||
+ (uc >= 7002 && uc <= 7008) || (uc >= 7164 && uc <= 7167) ||
+ (uc >= 7227 && uc <= 7231) || uc == 7294 || uc == 7295 ||
+ (uc >= 7360 && uc <= 7367) || uc == 7379 || (uc >= 8208 && uc <= 8231) ||
+ (uc >= 8240 && uc <= 8259) || (uc >= 8261 && uc <= 8273) ||
+ (uc >= 8275 && uc <= 8286) || uc == 8317 || uc == 8318 || uc == 8333 ||
+ uc == 8334 || (uc >= 8968 && uc <= 8971) || uc == 9001 || uc == 9002 ||
+ (uc >= 10088 && uc <= 10101) || uc == 10181 || uc == 10182 ||
+ (uc >= 10214 && uc <= 10223) || (uc >= 10627 && uc <= 10648) ||
+ (uc >= 10712 && uc <= 10715) || uc == 10748 || uc == 10749 ||
+ (uc >= 11513 && uc <= 11516) || uc == 11518 || uc == 11519 ||
+ uc == 11632 || (uc >= 11776 && uc <= 11822) ||
+ (uc >= 11824 && uc <= 11842) || (uc >= 12289 && uc <= 12291) ||
+ (uc >= 12296 && uc <= 12305) || (uc >= 12308 && uc <= 12319) ||
+ uc == 12336 || uc == 12349 || uc == 12448 || uc == 12539 || uc == 42238 ||
+ uc == 42239 || (uc >= 42509 && uc <= 42511) || uc == 42611 ||
+ uc == 42622 || (uc >= 42738 && uc <= 42743) ||
+ (uc >= 43124 && uc <= 43127) || uc == 43214 || uc == 43215 ||
+ (uc >= 43256 && uc <= 43258) || uc == 43310 || uc == 43311 ||
+ uc == 43359 || (uc >= 43457 && uc <= 43469) || uc == 43486 ||
+ uc == 43487 || (uc >= 43612 && uc <= 43615) || uc == 43742 ||
+ uc == 43743 || uc == 43760 || uc == 43761 || uc == 44011 || uc == 64830 ||
+ uc == 64831 || (uc >= 65040 && uc <= 65049) ||
+ (uc >= 65072 && uc <= 65106) || (uc >= 65108 && uc <= 65121) ||
+ uc == 65123 || uc == 65128 || uc == 65130 || uc == 65131 ||
+ (uc >= 65281 && uc <= 65283) || (uc >= 65285 && uc <= 65290) ||
+ (uc >= 65292 && uc <= 65295) || uc == 65306 || uc == 65307 ||
+ uc == 65311 || uc == 65312 || (uc >= 65339 && uc <= 65341) ||
+ uc == 65343 || uc == 65371 || uc == 65373 ||
+ (uc >= 65375 && uc <= 65381) || (uc >= 65792 && uc <= 65794) ||
+ uc == 66463 || uc == 66512 || uc == 66927 || uc == 67671 || uc == 67871 ||
+ uc == 67903 || (uc >= 68176 && uc <= 68184) || uc == 68223 ||
+ (uc >= 68336 && uc <= 68342) || (uc >= 68409 && uc <= 68415) ||
+ (uc >= 68505 && uc <= 68508) || (uc >= 69703 && uc <= 69709) ||
+ uc == 69819 || uc == 69820 || (uc >= 69822 && uc <= 69825) ||
+ (uc >= 69952 && uc <= 69955) || uc == 70004 || uc == 70005 ||
+ (uc >= 70085 && uc <= 70088) || uc == 70093 ||
+ (uc >= 70200 && uc <= 70205) || uc == 70854 ||
+ (uc >= 71105 && uc <= 71113) || (uc >= 71233 && uc <= 71235) ||
+ (uc >= 74864 && uc <= 74868) || uc == 92782 || uc == 92783 ||
+ uc == 92917 || (uc >= 92983 && uc <= 92987) || uc == 92996 ||
+ uc == 113823);
}
diff --git a/src/xml.c b/src/xml.c
index 2882f50..0b225fa 100644
--- a/src/xml.c
+++ b/src/xml.c
@@ -11,163 +11,142 @@
// Functions to convert cmark_nodes to XML strings.
-static void escape_xml(cmark_strbuf *dest, const unsigned char *source, bufsize_t length)
-{
- houdini_escape_html0(dest, source, length, 0);
+static void escape_xml(cmark_strbuf *dest, const unsigned char *source,
+ bufsize_t length) {
+ houdini_escape_html0(dest, source, length, 0);
}
struct render_state {
- cmark_strbuf* xml;
- int indent;
+ cmark_strbuf *xml;
+ int indent;
};
-static inline void indent(struct render_state *state)
-{
- int i;
- for (i = 0; i < state->indent; i++) {
- cmark_strbuf_putc(state->xml, ' ');
- }
+static inline void indent(struct render_state *state) {
+ int i;
+ for (i = 0; i < state->indent; i++) {
+ cmark_strbuf_putc(state->xml, ' ');
+ }
}
-static int
-S_render_node(cmark_node *node, cmark_event_type ev_type,
- struct render_state *state, int options)
-{
- cmark_strbuf *xml = state->xml;
- bool literal = false;
- cmark_delim_type delim;
- bool entering = (ev_type == CMARK_EVENT_ENTER);
- char buffer[100];
-
- if (entering) {
- indent(state);
- cmark_strbuf_putc(xml, '<');
- cmark_strbuf_puts(xml, cmark_node_get_type_string(node));
-
- if (options & CMARK_OPT_SOURCEPOS && node->start_line != 0) {
- sprintf(buffer, " sourcepos=\"%d:%d-%d:%d\"",
- node->start_line,
- node->start_column,
- node->end_line,
- node->end_column);
- cmark_strbuf_puts(xml, buffer);
- }
-
- literal = false;
-
- switch (node->type) {
- case CMARK_NODE_TEXT:
- case CMARK_NODE_CODE:
- case CMARK_NODE_HTML:
- case CMARK_NODE_INLINE_HTML:
- cmark_strbuf_puts(xml, ">");
- escape_xml(xml, node->as.literal.data,
- node->as.literal.len);
- cmark_strbuf_puts(xml, "</");
- cmark_strbuf_puts(xml,
- cmark_node_get_type_string(node));
- literal = true;
- break;
- case CMARK_NODE_LIST:
- switch (cmark_node_get_list_type(node)) {
- case CMARK_ORDERED_LIST:
- cmark_strbuf_puts(xml, " type=\"ordered\"");
- sprintf(buffer," start=\"%d\"",
- cmark_node_get_list_start(node));
- cmark_strbuf_puts(xml, buffer);
- delim = cmark_node_get_list_delim(node);
- if (delim == CMARK_PAREN_DELIM) {
- cmark_strbuf_puts(xml,
- " delim=\"paren\"");
- } else if (delim == CMARK_PERIOD_DELIM) {
- cmark_strbuf_puts(xml,
- " delim=\"period\"");
- }
- break;
- case CMARK_BULLET_LIST:
- cmark_strbuf_puts(xml, " type=\"bullet\"");
- break;
- default:
- break;
- }
- sprintf(buffer, " tight=\"%s\"",
- (cmark_node_get_list_tight(node) ?
- "true" : "false"));
- cmark_strbuf_puts(xml, buffer);
- break;
- case CMARK_NODE_HEADER:
- sprintf(buffer, " level=\"%d\"",
- node->as.header.level);
- cmark_strbuf_puts(xml, buffer);
- break;
- case CMARK_NODE_CODE_BLOCK:
- if (node->as.code.info.len > 0) {
- cmark_strbuf_puts(xml, " info=\"");
- escape_xml(xml, node->as.code.info.data,
- node->as.code.info.len);
- cmark_strbuf_putc(xml, '"');
- }
- cmark_strbuf_puts(xml, ">");
- escape_xml(xml, node->as.code.literal.data,
- node->as.code.literal.len);
- cmark_strbuf_puts(xml, "</");
- cmark_strbuf_puts(xml,
- cmark_node_get_type_string(node));
- literal = true;
- break;
- case CMARK_NODE_LINK:
- case CMARK_NODE_IMAGE:
- cmark_strbuf_puts(xml, " destination=\"");
- escape_xml(xml, node->as.link.url.data,
- node->as.link.url.len);
- cmark_strbuf_putc(xml, '"');
- cmark_strbuf_puts(xml, " title=\"");
- escape_xml(xml, node->as.link.title.data,
- node->as.link.title.len);
- cmark_strbuf_putc(xml, '"');
- break;
- default:
- break;
- }
- if (node->first_child) {
- state->indent += 2;
- } else if (!literal) {
- cmark_strbuf_puts(xml, " /");
- }
- cmark_strbuf_puts(xml, ">\n");
-
-
- } else if (node->first_child) {
- state->indent -= 2;
- indent(state);
- cmark_strbuf_puts(xml, "</");
- cmark_strbuf_puts(xml, cmark_node_get_type_string(node));
- cmark_strbuf_puts(xml, ">\n");
- }
-
- return 1;
+static int S_render_node(cmark_node *node, cmark_event_type ev_type,
+ struct render_state *state, int options) {
+ cmark_strbuf *xml = state->xml;
+ bool literal = false;
+ cmark_delim_type delim;
+ bool entering = (ev_type == CMARK_EVENT_ENTER);
+ char buffer[100];
+
+ if (entering) {
+ indent(state);
+ cmark_strbuf_putc(xml, '<');
+ cmark_strbuf_puts(xml, cmark_node_get_type_string(node));
+
+ if (options & CMARK_OPT_SOURCEPOS && node->start_line != 0) {
+ sprintf(buffer, " sourcepos=\"%d:%d-%d:%d\"", node->start_line,
+ node->start_column, node->end_line, node->end_column);
+ cmark_strbuf_puts(xml, buffer);
+ }
+
+ literal = false;
+
+ switch (node->type) {
+ case CMARK_NODE_TEXT:
+ case CMARK_NODE_CODE:
+ case CMARK_NODE_HTML:
+ case CMARK_NODE_INLINE_HTML:
+ cmark_strbuf_puts(xml, ">");
+ escape_xml(xml, node->as.literal.data, node->as.literal.len);
+ cmark_strbuf_puts(xml, "</");
+ cmark_strbuf_puts(xml, cmark_node_get_type_string(node));
+ literal = true;
+ break;
+ case CMARK_NODE_LIST:
+ switch (cmark_node_get_list_type(node)) {
+ case CMARK_ORDERED_LIST:
+ cmark_strbuf_puts(xml, " type=\"ordered\"");
+ sprintf(buffer, " start=\"%d\"", cmark_node_get_list_start(node));
+ cmark_strbuf_puts(xml, buffer);
+ delim = cmark_node_get_list_delim(node);
+ if (delim == CMARK_PAREN_DELIM) {
+ cmark_strbuf_puts(xml, " delim=\"paren\"");
+ } else if (delim == CMARK_PERIOD_DELIM) {
+ cmark_strbuf_puts(xml, " delim=\"period\"");
+ }
+ break;
+ case CMARK_BULLET_LIST:
+ cmark_strbuf_puts(xml, " type=\"bullet\"");
+ break;
+ default:
+ break;
+ }
+ sprintf(buffer, " tight=\"%s\"",
+ (cmark_node_get_list_tight(node) ? "true" : "false"));
+ cmark_strbuf_puts(xml, buffer);
+ break;
+ case CMARK_NODE_HEADER:
+ sprintf(buffer, " level=\"%d\"", node->as.header.level);
+ cmark_strbuf_puts(xml, buffer);
+ break;
+ case CMARK_NODE_CODE_BLOCK:
+ if (node->as.code.info.len > 0) {
+ cmark_strbuf_puts(xml, " info=\"");
+ escape_xml(xml, node->as.code.info.data, node->as.code.info.len);
+ cmark_strbuf_putc(xml, '"');
+ }
+ cmark_strbuf_puts(xml, ">");
+ escape_xml(xml, node->as.code.literal.data, node->as.code.literal.len);
+ cmark_strbuf_puts(xml, "</");
+ cmark_strbuf_puts(xml, cmark_node_get_type_string(node));
+ literal = true;
+ break;
+ case CMARK_NODE_LINK:
+ case CMARK_NODE_IMAGE:
+ cmark_strbuf_puts(xml, " destination=\"");
+ escape_xml(xml, node->as.link.url.data, node->as.link.url.len);
+ cmark_strbuf_putc(xml, '"');
+ cmark_strbuf_puts(xml, " title=\"");
+ escape_xml(xml, node->as.link.title.data, node->as.link.title.len);
+ cmark_strbuf_putc(xml, '"');
+ break;
+ default:
+ break;
+ }
+ if (node->first_child) {
+ state->indent += 2;
+ } else if (!literal) {
+ cmark_strbuf_puts(xml, " /");
+ }
+ cmark_strbuf_puts(xml, ">\n");
+
+ } else if (node->first_child) {
+ state->indent -= 2;
+ indent(state);
+ cmark_strbuf_puts(xml, "</");
+ cmark_strbuf_puts(xml, cmark_node_get_type_string(node));
+ cmark_strbuf_puts(xml, ">\n");
+ }
+
+ return 1;
}
-char *cmark_render_xml(cmark_node *root, int options)
-{
- char *result;
- cmark_strbuf xml = GH_BUF_INIT;
- cmark_event_type ev_type;
- cmark_node *cur;
- struct render_state state = { &xml, 0 };
-
- cmark_iter *iter = cmark_iter_new(root);
-
- cmark_strbuf_puts(state.xml,
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
- cmark_strbuf_puts(state.xml,
- "<!DOCTYPE CommonMark SYSTEM \"CommonMark.dtd\">\n");
- while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
- cur = cmark_iter_get_node(iter);
- S_render_node(cur, ev_type, &state, options);
- }
- result = (char *)cmark_strbuf_detach(&xml);
-
- cmark_iter_free(iter);
- return result;
+char *cmark_render_xml(cmark_node *root, int options) {
+ char *result;
+ cmark_strbuf xml = GH_BUF_INIT;
+ cmark_event_type ev_type;
+ cmark_node *cur;
+ struct render_state state = {&xml, 0};
+
+ cmark_iter *iter = cmark_iter_new(root);
+
+ cmark_strbuf_puts(state.xml, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+ cmark_strbuf_puts(state.xml,
+ "<!DOCTYPE CommonMark SYSTEM \"CommonMark.dtd\">\n");
+ while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
+ cur = cmark_iter_get_node(iter);
+ S_render_node(cur, ev_type, &state, options);
+ }
+ result = (char *)cmark_strbuf_detach(&xml);
+
+ cmark_iter_free(iter);
+ return result;
}