commonmarker 0.18.2 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of commonmarker might be problematic. Click here for more details.

Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/Rakefile +10 -3
  4. data/bin/commonmarker +3 -1
  5. data/commonmarker.gemspec +7 -2
  6. data/ext/commonmarker/cmark-gfm-core-extensions.h +3 -0
  7. data/ext/commonmarker/cmark-gfm_version.h +2 -2
  8. data/ext/commonmarker/commonmark.c +4 -2
  9. data/ext/commonmarker/commonmarker.c +15 -0
  10. data/ext/commonmarker/core-extensions.c +2 -0
  11. data/ext/commonmarker/ext_scanners.c +738 -520
  12. data/ext/commonmarker/ext_scanners.h +2 -0
  13. data/ext/commonmarker/extconf.rb +3 -1
  14. data/ext/commonmarker/houdini_href_e.c +1 -1
  15. data/ext/commonmarker/inlines.c +4 -3
  16. data/ext/commonmarker/render.c +2 -1
  17. data/ext/commonmarker/scanners.c +2 -2
  18. data/ext/commonmarker/table.c +5 -3
  19. data/ext/commonmarker/tasklist.c +135 -0
  20. data/ext/commonmarker/tasklist.h +8 -0
  21. data/lib/commonmarker.rb +2 -0
  22. data/lib/commonmarker/config.rb +3 -1
  23. data/lib/commonmarker/node.rb +2 -0
  24. data/lib/commonmarker/renderer.rb +6 -2
  25. data/lib/commonmarker/renderer/html_renderer.rb +24 -2
  26. data/lib/commonmarker/version.rb +3 -1
  27. data/test/benchmark.rb +3 -1
  28. data/test/test_attributes.rb +3 -1
  29. data/test/test_basics.rb +2 -0
  30. data/test/test_commonmark.rb +2 -0
  31. data/test/test_doc.rb +2 -0
  32. data/test/test_encoding.rb +2 -0
  33. data/test/test_extensions.rb +24 -22
  34. data/test/test_footnotes.rb +2 -0
  35. data/test/test_gc.rb +4 -2
  36. data/test/test_helper.rb +11 -8
  37. data/test/test_linebreaks.rb +2 -0
  38. data/test/test_maliciousness.rb +2 -0
  39. data/test/test_node.rb +3 -1
  40. data/test/test_options.rb +2 -0
  41. data/test/test_pathological_inputs.rb +2 -0
  42. data/test/test_plaintext.rb +2 -0
  43. data/test/test_renderer.rb +2 -0
  44. data/test/test_smartpunct.rb +2 -0
  45. data/test/test_spec.rb +2 -0
  46. data/test/test_tasklists.rb +27 -0
  47. metadata +55 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 545a27262881d1a8155ceed21db8df506186e0f3
4
- data.tar.gz: 72dff49bd58449db9a0984780e0e0b3cc4b916e8
3
+ metadata.gz: a9c068146510f80180b4524934cf90ba56044100
4
+ data.tar.gz: 5d5ff7d6b1a68340d8e330d6b6a1e9b1d01df944
5
5
  SHA512:
6
- metadata.gz: 9724a8b640621d41ec30be2314c23b39bbc94b876431170b206b63232aac1b8101d64accdc97fd1f06bc02112afbecf9ab32bf44e54aa363ef8aeaaa233c3fed
7
- data.tar.gz: 348a661807768665f4452a03868c8375f7600303736ca478b5a6c1c604a3e38281a7ffaac4bfe0192be0ff4f196df3fb070795f39bd0a4f27a5400ebf530ba98
6
+ metadata.gz: 828329dac75b03c52a50674a53a994791bc6c26fb05fc7fed4377ff241e7b87560b3dd9b2aa8be0b0a4e2a7ac194500a4e584872c6a1bc44618a13e3cad741f8
7
+ data.tar.gz: 5bf814489204bf76b497cd8dd570dd88b1f8af8f9a45847dad091b756b243ae618466e8e85441c4e39a0d22191e3a2001ee15c8309a80ec93f630952c92e0108
data/README.md CHANGED
@@ -132,7 +132,7 @@ CommonMarker accepts the same options that CMark does, as symbols. Note that the
132
132
  | Name | Description
133
133
  | ----------------------------- | -----------
134
134
  | `:DEFAULT` | The default parsing system.
135
- | `:UNSAFE` | Allow raw/custom HTML and unsafe links. |
135
+ | `:UNSAFE` | Allow raw/custom HTML and unsafe links.
136
136
  | `:FOOTNOTES` | Parse footnotes.
137
137
  | `:LIBERAL_HTML_TAG` | Support liberal parsing of inline HTML tags.
138
138
  | `:SMART` | Use smart punctuation (curly quotes, etc.).
@@ -144,10 +144,10 @@ CommonMarker accepts the same options that CMark does, as symbols. Note that the
144
144
  | Name | Description |
145
145
  | ------------------ | ----------- |
146
146
  | `:DEFAULT` | The default rendering system. |
147
- | `:UNSAFE` | Allow raw/custom HTML and unsafe links.
147
+ | `:UNSAFE` | Allow raw/custom HTML and unsafe links. |
148
148
  | `:GITHUB_PRE_LANG` | Use GitHub-style `<pre lang>` for fenced code blocks. |
149
149
  | `:HARDBREAKS` | Treat `\n` as hardbreaks (by adding `<br/>`). |
150
- | `:NOBREAKS` | Translate `\n` in the source to a single whitespace. | |
150
+ | `:NOBREAKS` | Translate `\n` in the source to a single whitespace. |
151
151
  | `:SOURCEPOS` | Include source position in rendered HTML. |
152
152
  | `:TABLE_PREFER_STYLE_ATTRIBUTES` | Use `style` insted of `align` for table cells |
153
153
  | `:FULL_INFO_STRING` | Include full info strings of code blocks in separate attribute |
data/Rakefile CHANGED
@@ -1,12 +1,15 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'date'
2
4
  require 'rake/clean'
3
5
  require 'rake/extensiontask'
4
6
  require 'digest/md5'
5
7
 
8
+
6
9
  host_os = RbConfig::CONFIG['host_os']
7
10
  require 'devkit' if host_os == 'mingw32'
8
11
 
9
- task :default => [:test]
12
+ task default: [:test]
10
13
 
11
14
  # Gem Spec
12
15
  gem_spec = Gem::Specification.load('commonmarker.gemspec')
@@ -33,7 +36,11 @@ end
33
36
  task 'test:unit' => :compile
34
37
 
35
38
  desc 'Run unit and conformance tests'
36
- task :test => %w(test:unit)
39
+ task test: %w(test:unit)
40
+
41
+ require 'rubocop/rake_task'
42
+
43
+ RuboCop::RakeTask.new(:rubocop)
37
44
 
38
45
  desc 'Run benchmarks'
39
46
  task :benchmark do
@@ -71,7 +78,7 @@ RDoc::Task.new do |rd|
71
78
  end
72
79
 
73
80
  desc 'Generate and publish docs to gh-pages'
74
- task :publish => [:rdoc] do
81
+ task publish: [:rdoc] do
75
82
  require 'shellwords'
76
83
 
77
84
  Dir.mktmpdir do |tmp|
data/bin/commonmarker CHANGED
@@ -1,4 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
2
4
  # Usage: commonmarker [--html-renderer] [--list-extensions] [--extension=EXTENSION] [FILE..]
3
5
  # Convert one or more CommonMark files to HTML and write to standard output.
4
6
  # If no FILE argument is provided, text will be read from STDIN.
@@ -13,7 +15,7 @@ if ARGV.include?('--help') or ARGV.include?('-h')
13
15
  exit 0
14
16
  end
15
17
 
16
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), *%w( .. lib ))
18
+ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
17
19
  require 'commonmarker'
18
20
 
19
21
  if ARGV.include?('--version') or ARGV.include?('-v')
data/commonmarker.gemspec CHANGED
@@ -1,4 +1,6 @@
1
1
  # encoding: utf-8
2
+ # frozen_string_literal: true
3
+
2
4
  lib = File.expand_path('../lib', __FILE__)
3
5
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
6
  require 'commonmarker/version'
@@ -9,7 +11,7 @@ Gem::Specification.new do |s|
9
11
  s.summary = 'CommonMark parser and renderer. Written in C, wrapped in Ruby.'
10
12
  s.description = 'A fast, safe, extensible parser for CommonMark. This wraps the official libcmark library.'
11
13
  s.authors = ['Garen Torikian', 'Ashe Connor']
12
- s.homepage = 'http://github.com/gjtorikian/commonmarker'
14
+ s.homepage = 'https://github.com/gjtorikian/commonmarker'
13
15
  s.license = 'MIT'
14
16
  s.required_ruby_version = '>= 2.0.0'
15
17
 
@@ -28,9 +30,12 @@ Gem::Specification.new do |s|
28
30
  s.add_dependency 'ruby-enum', '~> 0.5'
29
31
 
30
32
  s.add_development_dependency 'minitest', '~> 5.6'
33
+ s.add_development_dependency 'minitest-focus', '~> 1.1'
31
34
  s.add_development_dependency 'rake-compiler', '~> 0.9'
32
- s.add_development_dependency 'bundler', '~> 1.2'
33
35
  s.add_development_dependency 'json', '~> 1.8.1'
34
36
  s.add_development_dependency 'awesome_print'
37
+ s.add_development_dependency 'rake'
35
38
  s.add_development_dependency 'rdoc', '~> 5.1'
39
+ s.add_development_dependency 'rubocop'
40
+ s.add_development_dependency 'rubocop-standard'
36
41
  end
@@ -21,6 +21,9 @@ uint8_t *cmark_gfm_extensions_get_table_alignments(cmark_node *node);
21
21
  CMARK_GFM_EXTENSIONS_EXPORT
22
22
  int cmark_gfm_extensions_get_table_row_is_header(cmark_node *node);
23
23
 
24
+ CMARK_GFM_EXTENSIONS_EXPORT
25
+ char *cmark_gfm_extensions_get_tasklist_state(cmark_node *node);
26
+
24
27
  #ifdef __cplusplus
25
28
  }
26
29
  #endif
@@ -1,7 +1,7 @@
1
1
  #ifndef CMARK_GFM_VERSION_H
2
2
  #define CMARK_GFM_VERSION_H
3
3
 
4
- #define CMARK_GFM_VERSION ((0 << 24) | (28 << 16) | (3 << 8) | 19)
5
- #define CMARK_GFM_VERSION_STRING "0.28.3.gfm.19"
4
+ #define CMARK_GFM_VERSION ((0 << 24) | (28 << 16) | (3 << 8) | 20)
5
+ #define CMARK_GFM_VERSION_STRING "0.28.3.gfm.20"
6
6
 
7
7
  #endif
@@ -172,6 +172,7 @@ static int S_render_node(cmark_renderer *renderer, cmark_node *node,
172
172
  int i;
173
173
  bool entering = (ev_type == CMARK_EVENT_ENTER);
174
174
  const char *info, *code, *title;
175
+ char fencechar[2] = {'\0', '\0'};
175
176
  size_t info_len, code_len;
176
177
  char listmarker[LISTMARKER_SIZE];
177
178
  char *emph_delim;
@@ -284,6 +285,7 @@ static int S_render_node(cmark_renderer *renderer, cmark_node *node,
284
285
  }
285
286
  info = cmark_node_get_fence_info(node);
286
287
  info_len = strlen(info);
288
+ fencechar[0] = strchr(info, '`') == NULL ? '`' : '~';
287
289
  code = cmark_node_get_literal(node);
288
290
  code_len = strlen(code);
289
291
  // use indented form if no info, and code doesn't
@@ -303,7 +305,7 @@ static int S_render_node(cmark_renderer *renderer, cmark_node *node,
303
305
  numticks = 3;
304
306
  }
305
307
  for (i = 0; i < numticks; i++) {
306
- LIT("`");
308
+ LIT(fencechar);
307
309
  }
308
310
  LIT(" ");
309
311
  OUT(info, false, LITERAL);
@@ -311,7 +313,7 @@ static int S_render_node(cmark_renderer *renderer, cmark_node *node,
311
313
  OUT(cmark_node_get_literal(node), false, LITERAL);
312
314
  CR();
313
315
  for (i = 0; i < numticks; i++) {
314
- LIT("`");
316
+ LIT(fencechar);
315
317
  }
316
318
  }
317
319
  BLANKLINE();
@@ -1034,6 +1034,20 @@ static VALUE rb_node_set_fence_info(VALUE self, VALUE info) {
1034
1034
  return Qnil;
1035
1035
  }
1036
1036
 
1037
+ static VALUE rb_node_get_tasklist_state(VALUE self) {
1038
+ const char *tasklist_state;
1039
+ cmark_node *node;
1040
+ Data_Get_Struct(self, cmark_node, node);
1041
+
1042
+ tasklist_state = cmark_gfm_extensions_get_tasklist_state(node);
1043
+
1044
+ if (tasklist_state == NULL) {
1045
+ rb_raise(rb_mNodeError, "could not get tasklist_state");
1046
+ }
1047
+
1048
+ return rb_str_new2(tasklist_state);
1049
+ }
1050
+
1037
1051
  static VALUE rb_node_get_table_alignments(VALUE self) {
1038
1052
  uint16_t column_count, i;
1039
1053
  uint8_t *alignments;
@@ -1189,6 +1203,7 @@ __attribute__((visibility("default"))) void Init_commonmarker() {
1189
1203
  rb_define_method(rb_mNode, "fence_info", rb_node_get_fence_info, 0);
1190
1204
  rb_define_method(rb_mNode, "fence_info=", rb_node_set_fence_info, 1);
1191
1205
  rb_define_method(rb_mNode, "table_alignments", rb_node_get_table_alignments, 0);
1206
+ rb_define_method(rb_mNode, "tasklist_state", rb_node_get_tasklist_state, 0);
1192
1207
 
1193
1208
  rb_define_method(rb_mNode, "html_escape_href", rb_html_escape_href, 1);
1194
1209
  rb_define_method(rb_mNode, "html_escape_html", rb_html_escape_html, 1);
@@ -3,6 +3,7 @@
3
3
  #include "strikethrough.h"
4
4
  #include "table.h"
5
5
  #include "tagfilter.h"
6
+ #include "tasklist.h"
6
7
  #include "registry.h"
7
8
  #include "plugin.h"
8
9
 
@@ -12,6 +13,7 @@ static int core_extensions_registration(cmark_plugin *plugin) {
12
13
  create_strikethrough_extension());
13
14
  cmark_plugin_register_syntax_extension(plugin, create_autolink_extension());
14
15
  cmark_plugin_register_syntax_extension(plugin, create_tagfilter_extension());
16
+ cmark_plugin_register_syntax_extension(plugin, create_tasklist_extension());
15
17
  return 1;
16
18
  }
17
19
 
@@ -1,12 +1,12 @@
1
- /* Generated by re2c 0.15.3 */
2
- #include <stdlib.h>
1
+ /* Generated by re2c 1.1.1 */
3
2
  #include "ext_scanners.h"
3
+ #include <stdlib.h>
4
4
 
5
5
  bufsize_t _ext_scan_at(bufsize_t (*scanner)(const unsigned char *),
6
6
  unsigned char *ptr, int len, bufsize_t offset) {
7
7
  bufsize_t res;
8
8
 
9
- if (ptr == NULL || offset > len) {
9
+ if (ptr == NULL || offset >= len) {
10
10
  return 0;
11
11
  } else {
12
12
  unsigned char lim = ptr[len];
@@ -44,35 +44,35 @@ bufsize_t _scan_table_start(const unsigned char *p) {
44
44
  if (yych <= 0x1F) {
45
45
  if (yych <= '\t') {
46
46
  if (yych <= 0x08)
47
- goto yy6;
48
- goto yy3;
47
+ goto yy3;
48
+ goto yy4;
49
49
  } else {
50
50
  if (yych <= '\n')
51
51
  goto yy2;
52
52
  if (yych <= '\f')
53
- goto yy3;
54
- goto yy6;
53
+ goto yy4;
54
+ goto yy3;
55
55
  }
56
56
  } else {
57
57
  if (yych <= '-') {
58
58
  if (yych <= ' ')
59
- goto yy3;
59
+ goto yy4;
60
60
  if (yych <= ',')
61
- goto yy6;
61
+ goto yy3;
62
62
  goto yy5;
63
63
  } else {
64
64
  if (yych == ':')
65
- goto yy4;
66
- goto yy6;
65
+ goto yy6;
66
+ goto yy3;
67
67
  }
68
68
  }
69
69
  } else {
70
70
  if (yych <= 0xEC) {
71
71
  if (yych <= 0xC1) {
72
72
  if (yych <= '|')
73
- goto yy3;
73
+ goto yy4;
74
74
  if (yych <= 0x7F)
75
- goto yy6;
75
+ goto yy3;
76
76
  } else {
77
77
  if (yych <= 0xDF)
78
78
  goto yy7;
@@ -83,80 +83,68 @@ bufsize_t _scan_table_start(const unsigned char *p) {
83
83
  } else {
84
84
  if (yych <= 0xF0) {
85
85
  if (yych <= 0xED)
86
- goto yy14;
86
+ goto yy11;
87
87
  if (yych <= 0xEF)
88
88
  goto yy10;
89
- goto yy11;
89
+ goto yy12;
90
90
  } else {
91
91
  if (yych <= 0xF3)
92
- goto yy12;
93
- if (yych <= 0xF4)
94
92
  goto yy13;
93
+ if (yych <= 0xF4)
94
+ goto yy14;
95
95
  }
96
96
  }
97
97
  }
98
98
  yy2 : { return 0; }
99
99
  yy3:
100
- yych = *(marker = ++p);
101
- if (yybm[0 + yych] & 128) {
102
- goto yy22;
103
- }
104
- if (yych <= '\f') {
105
- if (yych == '\t')
106
- goto yy29;
107
- if (yych <= '\n')
108
- goto yy2;
109
- goto yy29;
110
- } else {
111
- if (yych <= ' ') {
112
- if (yych <= 0x1F)
113
- goto yy2;
114
- goto yy29;
115
- } else {
116
- if (yych == ':')
117
- goto yy31;
118
- goto yy2;
119
- }
120
- }
100
+ ++p;
101
+ goto yy2;
121
102
  yy4:
122
103
  yych = *(marker = ++p);
123
- if (yybm[0 + yych] & 128) {
124
- goto yy22;
104
+ if (yybm[0 + yych] & 64) {
105
+ goto yy15;
125
106
  }
107
+ if (yych == '-')
108
+ goto yy17;
109
+ if (yych == ':')
110
+ goto yy19;
126
111
  goto yy2;
127
112
  yy5:
128
113
  yych = *(marker = ++p);
129
114
  if (yybm[0 + yych] & 128) {
130
- goto yy22;
115
+ goto yy17;
131
116
  }
132
117
  if (yych <= ' ') {
133
118
  if (yych <= 0x08)
134
119
  goto yy2;
135
120
  if (yych <= '\r')
136
- goto yy16;
121
+ goto yy21;
137
122
  if (yych <= 0x1F)
138
123
  goto yy2;
139
- goto yy16;
124
+ goto yy21;
140
125
  } else {
141
126
  if (yych <= ':') {
142
127
  if (yych <= '9')
143
128
  goto yy2;
144
- goto yy15;
129
+ goto yy20;
145
130
  } else {
146
131
  if (yych == '|')
147
- goto yy16;
132
+ goto yy21;
148
133
  goto yy2;
149
134
  }
150
135
  }
151
136
  yy6:
152
- yych = *++p;
137
+ yych = *(marker = ++p);
138
+ if (yybm[0 + yych] & 128) {
139
+ goto yy17;
140
+ }
153
141
  goto yy2;
154
142
  yy7:
155
143
  yych = *++p;
156
144
  if (yych <= 0x7F)
157
145
  goto yy8;
158
146
  if (yych <= 0xBF)
159
- goto yy6;
147
+ goto yy3;
160
148
  yy8:
161
149
  p = marker;
162
150
  goto yy2;
@@ -176,14 +164,14 @@ bufsize_t _scan_table_start(const unsigned char *p) {
176
164
  goto yy8;
177
165
  yy11:
178
166
  yych = *++p;
179
- if (yych <= 0x8F)
167
+ if (yych <= 0x7F)
180
168
  goto yy8;
181
- if (yych <= 0xBF)
182
- goto yy10;
169
+ if (yych <= 0x9F)
170
+ goto yy7;
183
171
  goto yy8;
184
172
  yy12:
185
173
  yych = *++p;
186
- if (yych <= 0x7F)
174
+ if (yych <= 0x8F)
187
175
  goto yy8;
188
176
  if (yych <= 0xBF)
189
177
  goto yy10;
@@ -192,191 +180,126 @@ bufsize_t _scan_table_start(const unsigned char *p) {
192
180
  yych = *++p;
193
181
  if (yych <= 0x7F)
194
182
  goto yy8;
195
- if (yych <= 0x8F)
183
+ if (yych <= 0xBF)
196
184
  goto yy10;
197
185
  goto yy8;
198
186
  yy14:
199
187
  yych = *++p;
200
188
  if (yych <= 0x7F)
201
189
  goto yy8;
202
- if (yych <= 0x9F)
203
- goto yy7;
190
+ if (yych <= 0x8F)
191
+ goto yy10;
204
192
  goto yy8;
205
193
  yy15:
206
- ++p;
207
- yych = *p;
208
- yy16:
194
+ yych = *++p;
209
195
  if (yybm[0 + yych] & 64) {
210
196
  goto yy15;
211
197
  }
212
- if (yych <= '\r') {
213
- if (yych <= 0x08)
214
- goto yy8;
215
- if (yych <= '\n')
216
- goto yy20;
198
+ if (yych == '-')
199
+ goto yy17;
200
+ if (yych == ':')
217
201
  goto yy19;
218
- } else {
219
- if (yych != '|')
220
- goto yy8;
221
- }
202
+ goto yy8;
222
203
  yy17:
223
- ++p;
224
- yych = *p;
225
- if (yych <= 0x1F) {
226
- if (yych <= '\n') {
227
- if (yych <= 0x08)
228
- goto yy8;
229
- if (yych <= '\t')
230
- goto yy17;
231
- goto yy20;
232
- } else {
233
- if (yych <= '\f')
234
- goto yy17;
235
- if (yych >= 0x0E)
236
- goto yy8;
237
- }
238
- } else {
239
- if (yych <= '-') {
240
- if (yych <= ' ')
241
- goto yy17;
242
- if (yych <= ',')
243
- goto yy8;
244
- goto yy25;
245
- } else {
246
- if (yych == ':')
247
- goto yy24;
248
- goto yy8;
249
- }
250
- }
251
- yy19:
252
204
  yych = *++p;
253
- if (yych != '\n')
254
- goto yy8;
255
- yy20:
256
- ++p;
257
- { return (bufsize_t)(p - start); }
258
- yy22:
259
- ++p;
260
- yych = *p;
261
205
  if (yybm[0 + yych] & 128) {
262
- goto yy22;
206
+ goto yy17;
263
207
  }
264
208
  if (yych <= 0x1F) {
265
209
  if (yych <= '\n') {
266
210
  if (yych <= 0x08)
267
211
  goto yy8;
268
212
  if (yych <= '\t')
269
- goto yy15;
270
- goto yy20;
213
+ goto yy20;
214
+ goto yy22;
271
215
  } else {
272
216
  if (yych <= '\f')
273
- goto yy15;
217
+ goto yy20;
274
218
  if (yych <= '\r')
275
- goto yy19;
219
+ goto yy24;
276
220
  goto yy8;
277
221
  }
278
222
  } else {
279
223
  if (yych <= ':') {
280
224
  if (yych <= ' ')
281
- goto yy15;
225
+ goto yy20;
282
226
  if (yych <= '9')
283
227
  goto yy8;
284
- goto yy15;
228
+ goto yy20;
285
229
  } else {
286
230
  if (yych == '|')
287
- goto yy17;
288
- goto yy8;
289
- }
290
- }
291
- yy24:
292
- ++p;
293
- yych = *p;
294
- if (yych != '-')
295
- goto yy8;
296
- yy25:
297
- ++p;
298
- yych = *p;
299
- if (yych <= ' ') {
300
- if (yych <= '\n') {
301
- if (yych <= 0x08)
302
- goto yy8;
303
- if (yych >= '\n')
304
- goto yy20;
305
- } else {
306
- if (yych <= '\f')
307
- goto yy27;
308
- if (yych <= '\r')
309
- goto yy19;
310
- if (yych <= 0x1F)
311
- goto yy8;
312
- }
313
- } else {
314
- if (yych <= '9') {
315
- if (yych == '-')
316
231
  goto yy25;
317
232
  goto yy8;
318
- } else {
319
- if (yych <= ':')
320
- goto yy27;
321
- if (yych == '|')
322
- goto yy17;
323
- goto yy8;
324
233
  }
325
234
  }
326
- yy27:
327
- ++p;
328
- yych = *p;
235
+ yy19:
236
+ yych = *++p;
237
+ if (yybm[0 + yych] & 128) {
238
+ goto yy17;
239
+ }
240
+ goto yy8;
241
+ yy20:
242
+ yych = *++p;
243
+ yy21:
329
244
  if (yych <= '\r') {
330
245
  if (yych <= '\t') {
331
246
  if (yych <= 0x08)
332
247
  goto yy8;
333
- goto yy27;
248
+ goto yy20;
334
249
  } else {
335
250
  if (yych <= '\n')
336
- goto yy20;
251
+ goto yy22;
337
252
  if (yych <= '\f')
338
- goto yy27;
339
- goto yy19;
253
+ goto yy20;
254
+ goto yy24;
340
255
  }
341
256
  } else {
342
257
  if (yych <= ' ') {
343
258
  if (yych <= 0x1F)
344
259
  goto yy8;
345
- goto yy27;
260
+ goto yy20;
346
261
  } else {
347
262
  if (yych == '|')
348
- goto yy17;
263
+ goto yy25;
349
264
  goto yy8;
350
265
  }
351
266
  }
352
- yy29:
267
+ yy22:
353
268
  ++p;
354
- yych = *p;
355
- if (yybm[0 + yych] & 128) {
269
+ { return (bufsize_t)(p - start); }
270
+ yy24:
271
+ yych = *++p;
272
+ if (yych == '\n')
356
273
  goto yy22;
274
+ goto yy8;
275
+ yy25:
276
+ yych = *++p;
277
+ if (yybm[0 + yych] & 128) {
278
+ goto yy17;
357
279
  }
358
- if (yych <= '\f') {
359
- if (yych == '\t')
360
- goto yy29;
361
- if (yych <= '\n')
362
- goto yy8;
363
- goto yy29;
280
+ if (yych <= '\r') {
281
+ if (yych <= '\t') {
282
+ if (yych <= 0x08)
283
+ goto yy8;
284
+ goto yy25;
285
+ } else {
286
+ if (yych <= '\n')
287
+ goto yy22;
288
+ if (yych <= '\f')
289
+ goto yy25;
290
+ goto yy24;
291
+ }
364
292
  } else {
365
293
  if (yych <= ' ') {
366
294
  if (yych <= 0x1F)
367
295
  goto yy8;
368
- goto yy29;
296
+ goto yy25;
369
297
  } else {
370
- if (yych != ':')
371
- goto yy8;
298
+ if (yych == ':')
299
+ goto yy19;
300
+ goto yy8;
372
301
  }
373
302
  }
374
- yy31:
375
- ++p;
376
- if (yybm[0 + (yych = *p)] & 128) {
377
- goto yy22;
378
- }
379
- goto yy8;
380
303
  }
381
304
  }
382
305
 
@@ -387,261 +310,180 @@ bufsize_t _scan_table_cell(const unsigned char *p) {
387
310
  {
388
311
  unsigned char yych;
389
312
  static const unsigned char yybm[] = {
390
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 0,
391
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
392
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
393
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
394
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
395
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
396
- 128, 128, 128, 128, 128, 128, 128, 128, 64, 128, 128, 128, 128, 128,
397
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
398
- 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128,
399
- 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
400
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
401
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
402
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
403
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
404
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
405
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
406
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
407
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
408
- 0, 0, 0, 0,
313
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 0, 64, 64, 64, 64,
314
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
315
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
316
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
317
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
318
+ 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
319
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64,
320
+ 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
321
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
322
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
323
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
324
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
325
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
326
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
327
+ 0, 0, 0, 0,
409
328
  };
410
329
  yych = *(marker = p);
411
- if (yych <= 0x7F) {
412
- if (yych <= '\r') {
413
- if (yych == '\n')
414
- goto yy34;
415
- if (yych <= '\f')
416
- goto yy36;
417
- goto yy45;
330
+ if (yybm[0 + yych] & 64) {
331
+ goto yy30;
332
+ }
333
+ if (yych <= 0xE0) {
334
+ if (yych <= '\\') {
335
+ if (yych <= '\n')
336
+ goto yy29;
337
+ if (yych <= '\r')
338
+ goto yy32;
339
+ goto yy34;
418
340
  } else {
419
- if (yych <= '\\') {
420
- if (yych <= '[')
421
- goto yy36;
422
- goto yy35;
423
- } else {
424
- if (yych == '|')
425
- goto yy45;
341
+ if (yych <= '|')
342
+ goto yy32;
343
+ if (yych <= 0xC1)
344
+ goto yy29;
345
+ if (yych <= 0xDF)
426
346
  goto yy36;
427
- }
347
+ goto yy38;
428
348
  }
429
349
  } else {
430
- if (yych <= 0xED) {
431
- if (yych <= 0xDF) {
432
- if (yych >= 0xC2)
433
- goto yy37;
434
- } else {
435
- if (yych <= 0xE0)
436
- goto yy39;
437
- if (yych <= 0xEC)
438
- goto yy40;
439
- goto yy44;
440
- }
350
+ if (yych <= 0xEF) {
351
+ if (yych == 0xED)
352
+ goto yy40;
353
+ goto yy39;
441
354
  } else {
442
- if (yych <= 0xF0) {
443
- if (yych <= 0xEF)
444
- goto yy40;
355
+ if (yych <= 0xF0)
445
356
  goto yy41;
446
- } else {
447
- if (yych <= 0xF3)
448
- goto yy42;
449
- if (yych <= 0xF4)
450
- goto yy43;
451
- }
357
+ if (yych <= 0xF3)
358
+ goto yy42;
359
+ if (yych <= 0xF4)
360
+ goto yy43;
452
361
  }
453
362
  }
454
- yy34 : { return (bufsize_t)(p - start); }
455
- yy35:
363
+ yy29 : { return (bufsize_t)(p - start); }
364
+ yy30:
456
365
  yych = *(marker = ++p);
457
- if (yych == '|')
458
- goto yy49;
459
- goto yy50;
460
- yy36:
366
+ if (yybm[0 + yych] & 64) {
367
+ goto yy30;
368
+ }
369
+ if (yych <= 0xEC) {
370
+ if (yych <= 0xC1) {
371
+ if (yych <= '\r')
372
+ goto yy29;
373
+ if (yych <= '\\')
374
+ goto yy34;
375
+ goto yy29;
376
+ } else {
377
+ if (yych <= 0xDF)
378
+ goto yy36;
379
+ if (yych <= 0xE0)
380
+ goto yy38;
381
+ goto yy39;
382
+ }
383
+ } else {
384
+ if (yych <= 0xF0) {
385
+ if (yych <= 0xED)
386
+ goto yy40;
387
+ if (yych <= 0xEF)
388
+ goto yy39;
389
+ goto yy41;
390
+ } else {
391
+ if (yych <= 0xF3)
392
+ goto yy42;
393
+ if (yych <= 0xF4)
394
+ goto yy43;
395
+ goto yy29;
396
+ }
397
+ }
398
+ yy32:
399
+ ++p;
400
+ { return 0; }
401
+ yy34:
461
402
  yych = *(marker = ++p);
462
- goto yy50;
463
- yy37:
464
- yych = *++p;
465
- if (yych <= 0x7F)
466
- goto yy38;
467
- if (yych <= 0xBF)
468
- goto yy36;
469
- yy38:
470
- p = marker;
471
- goto yy34;
472
- yy39:
473
- yych = *++p;
474
- if (yych <= 0x9F)
475
- goto yy38;
476
- if (yych <= 0xBF)
477
- goto yy37;
478
- goto yy38;
479
- yy40:
480
- yych = *++p;
481
- if (yych <= 0x7F)
482
- goto yy38;
483
- if (yych <= 0xBF)
484
- goto yy37;
485
- goto yy38;
486
- yy41:
487
- yych = *++p;
488
- if (yych <= 0x8F)
489
- goto yy38;
490
- if (yych <= 0xBF)
491
- goto yy40;
492
- goto yy38;
493
- yy42:
494
- yych = *++p;
495
- if (yych <= 0x7F)
496
- goto yy38;
497
- if (yych <= 0xBF)
498
- goto yy40;
499
- goto yy38;
500
- yy43:
501
- yych = *++p;
502
- if (yych <= 0x7F)
503
- goto yy38;
504
- if (yych <= 0x8F)
505
- goto yy40;
506
- goto yy38;
507
- yy44:
508
- yych = *++p;
509
- if (yych <= 0x7F)
510
- goto yy38;
511
- if (yych <= 0x9F)
512
- goto yy37;
513
- goto yy38;
514
- yy45:
515
- ++p;
516
- { return 0; }
517
- yy47:
518
- marker = ++p;
519
- yych = *p;
520
- if (yybm[0 + yych] & 64) {
521
- goto yy47;
403
+ if (yybm[0 + yych] & 128) {
404
+ goto yy34;
522
405
  }
523
406
  if (yych <= 0xDF) {
524
407
  if (yych <= '\f') {
525
408
  if (yych == '\n')
526
- goto yy34;
409
+ goto yy29;
410
+ goto yy30;
527
411
  } else {
528
412
  if (yych <= '\r')
529
- goto yy34;
413
+ goto yy29;
530
414
  if (yych <= 0x7F)
531
- goto yy49;
415
+ goto yy30;
532
416
  if (yych <= 0xC1)
533
- goto yy34;
534
- goto yy51;
417
+ goto yy29;
535
418
  }
536
419
  } else {
537
420
  if (yych <= 0xEF) {
538
421
  if (yych <= 0xE0)
539
- goto yy52;
422
+ goto yy38;
540
423
  if (yych == 0xED)
541
- goto yy57;
542
- goto yy53;
424
+ goto yy40;
425
+ goto yy39;
543
426
  } else {
544
427
  if (yych <= 0xF0)
545
- goto yy54;
546
- if (yych <= 0xF3)
547
- goto yy55;
548
- if (yych <= 0xF4)
549
- goto yy56;
550
- goto yy34;
551
- }
552
- }
553
- yy49:
554
- marker = ++p;
555
- yych = *p;
556
- yy50:
557
- if (yybm[0 + yych] & 128) {
558
- goto yy49;
559
- }
560
- if (yych <= 0xEC) {
561
- if (yych <= 0xC1) {
562
- if (yych <= '\r')
563
- goto yy34;
564
- if (yych <= '\\')
565
- goto yy47;
566
- goto yy34;
567
- } else {
568
- if (yych <= 0xDF)
569
- goto yy51;
570
- if (yych <= 0xE0)
571
- goto yy52;
572
- goto yy53;
573
- }
574
- } else {
575
- if (yych <= 0xF0) {
576
- if (yych <= 0xED)
577
- goto yy57;
578
- if (yych <= 0xEF)
579
- goto yy53;
580
- goto yy54;
581
- } else {
428
+ goto yy41;
582
429
  if (yych <= 0xF3)
583
- goto yy55;
430
+ goto yy42;
584
431
  if (yych <= 0xF4)
585
- goto yy56;
586
- goto yy34;
432
+ goto yy43;
433
+ goto yy29;
587
434
  }
588
435
  }
589
- yy51:
590
- ++p;
591
- yych = *p;
436
+ yy36:
437
+ yych = *++p;
592
438
  if (yych <= 0x7F)
593
- goto yy38;
439
+ goto yy37;
594
440
  if (yych <= 0xBF)
595
- goto yy49;
596
- goto yy38;
597
- yy52:
598
- ++p;
599
- yych = *p;
441
+ goto yy30;
442
+ yy37:
443
+ p = marker;
444
+ goto yy29;
445
+ yy38:
446
+ yych = *++p;
600
447
  if (yych <= 0x9F)
601
- goto yy38;
448
+ goto yy37;
602
449
  if (yych <= 0xBF)
603
- goto yy51;
604
- goto yy38;
605
- yy53:
606
- ++p;
607
- yych = *p;
450
+ goto yy36;
451
+ goto yy37;
452
+ yy39:
453
+ yych = *++p;
608
454
  if (yych <= 0x7F)
609
- goto yy38;
455
+ goto yy37;
610
456
  if (yych <= 0xBF)
611
- goto yy51;
612
- goto yy38;
613
- yy54:
614
- ++p;
615
- yych = *p;
457
+ goto yy36;
458
+ goto yy37;
459
+ yy40:
460
+ yych = *++p;
461
+ if (yych <= 0x7F)
462
+ goto yy37;
463
+ if (yych <= 0x9F)
464
+ goto yy36;
465
+ goto yy37;
466
+ yy41:
467
+ yych = *++p;
616
468
  if (yych <= 0x8F)
617
- goto yy38;
469
+ goto yy37;
618
470
  if (yych <= 0xBF)
619
- goto yy53;
620
- goto yy38;
621
- yy55:
622
- ++p;
623
- yych = *p;
471
+ goto yy39;
472
+ goto yy37;
473
+ yy42:
474
+ yych = *++p;
624
475
  if (yych <= 0x7F)
625
- goto yy38;
476
+ goto yy37;
626
477
  if (yych <= 0xBF)
627
- goto yy53;
628
- goto yy38;
629
- yy56:
630
- ++p;
631
- yych = *p;
478
+ goto yy39;
479
+ goto yy37;
480
+ yy43:
481
+ yych = *++p;
632
482
  if (yych <= 0x7F)
633
- goto yy38;
483
+ goto yy37;
634
484
  if (yych <= 0x8F)
635
- goto yy53;
636
- goto yy38;
637
- yy57:
638
- ++p;
639
- yych = *p;
640
- if (yych <= 0x7F)
641
- goto yy38;
642
- if (yych <= 0x9F)
643
- goto yy51;
644
- goto yy38;
485
+ goto yy39;
486
+ goto yy37;
645
487
  }
646
488
  }
647
489
 
@@ -671,116 +513,111 @@ bufsize_t _scan_table_cell_end(const unsigned char *p) {
671
513
  if (yych <= 0xDF) {
672
514
  if (yych <= '{') {
673
515
  if (yych != '\n')
674
- goto yy63;
516
+ goto yy47;
675
517
  } else {
676
518
  if (yych <= '|')
677
- goto yy61;
519
+ goto yy48;
678
520
  if (yych <= 0x7F)
679
- goto yy63;
521
+ goto yy47;
680
522
  if (yych >= 0xC2)
681
- goto yy64;
523
+ goto yy51;
682
524
  }
683
525
  } else {
684
526
  if (yych <= 0xEF) {
685
527
  if (yych <= 0xE0)
686
- goto yy66;
528
+ goto yy53;
687
529
  if (yych == 0xED)
688
- goto yy71;
689
- goto yy67;
530
+ goto yy55;
531
+ goto yy54;
690
532
  } else {
691
533
  if (yych <= 0xF0)
692
- goto yy68;
534
+ goto yy56;
693
535
  if (yych <= 0xF3)
694
- goto yy69;
536
+ goto yy57;
695
537
  if (yych <= 0xF4)
696
- goto yy70;
538
+ goto yy58;
697
539
  }
698
540
  }
699
- yy60 : { return 0; }
700
- yy61:
541
+ yy46 : { return 0; }
542
+ yy47:
543
+ ++p;
544
+ goto yy46;
545
+ yy48:
701
546
  yyaccept = 1;
702
547
  yych = *(marker = ++p);
703
- goto yy73;
704
- yy62 : { return (bufsize_t)(p - start); }
705
- yy63:
706
- yych = *++p;
707
- goto yy60;
708
- yy64:
548
+ if (yybm[0 + yych] & 128) {
549
+ goto yy48;
550
+ }
551
+ if (yych <= 0x08)
552
+ goto yy50;
553
+ if (yych <= '\n')
554
+ goto yy59;
555
+ if (yych <= '\r')
556
+ goto yy60;
557
+ yy50 : { return (bufsize_t)(p - start); }
558
+ yy51:
709
559
  yych = *++p;
710
560
  if (yych <= 0x7F)
711
- goto yy65;
561
+ goto yy52;
712
562
  if (yych <= 0xBF)
713
- goto yy63;
714
- yy65:
563
+ goto yy47;
564
+ yy52:
715
565
  p = marker;
716
566
  if (yyaccept == 0) {
717
- goto yy60;
567
+ goto yy46;
718
568
  } else {
719
- goto yy62;
569
+ goto yy50;
720
570
  }
721
- yy66:
571
+ yy53:
722
572
  yych = *++p;
723
573
  if (yych <= 0x9F)
724
- goto yy65;
574
+ goto yy52;
725
575
  if (yych <= 0xBF)
726
- goto yy64;
727
- goto yy65;
728
- yy67:
576
+ goto yy51;
577
+ goto yy52;
578
+ yy54:
729
579
  yych = *++p;
730
580
  if (yych <= 0x7F)
731
- goto yy65;
581
+ goto yy52;
732
582
  if (yych <= 0xBF)
733
- goto yy64;
734
- goto yy65;
735
- yy68:
583
+ goto yy51;
584
+ goto yy52;
585
+ yy55:
586
+ yych = *++p;
587
+ if (yych <= 0x7F)
588
+ goto yy52;
589
+ if (yych <= 0x9F)
590
+ goto yy51;
591
+ goto yy52;
592
+ yy56:
736
593
  yych = *++p;
737
594
  if (yych <= 0x8F)
738
- goto yy65;
595
+ goto yy52;
739
596
  if (yych <= 0xBF)
740
- goto yy67;
741
- goto yy65;
742
- yy69:
597
+ goto yy54;
598
+ goto yy52;
599
+ yy57:
743
600
  yych = *++p;
744
601
  if (yych <= 0x7F)
745
- goto yy65;
602
+ goto yy52;
746
603
  if (yych <= 0xBF)
747
- goto yy67;
748
- goto yy65;
749
- yy70:
604
+ goto yy54;
605
+ goto yy52;
606
+ yy58:
750
607
  yych = *++p;
751
608
  if (yych <= 0x7F)
752
- goto yy65;
609
+ goto yy52;
753
610
  if (yych <= 0x8F)
754
- goto yy67;
755
- goto yy65;
756
- yy71:
757
- yych = *++p;
758
- if (yych <= 0x7F)
759
- goto yy65;
760
- if (yych <= 0x9F)
761
- goto yy64;
762
- goto yy65;
763
- yy72:
764
- yyaccept = 1;
765
- marker = ++p;
766
- yych = *p;
767
- yy73:
768
- if (yybm[0 + yych] & 128) {
769
- goto yy72;
770
- }
771
- if (yych <= 0x08)
772
- goto yy62;
773
- if (yych <= '\n')
774
- goto yy75;
775
- if (yych >= 0x0E)
776
- goto yy62;
777
- yych = *++p;
778
- if (yych != '\n')
779
- goto yy65;
780
- yy75:
611
+ goto yy54;
612
+ goto yy52;
613
+ yy59:
781
614
  ++p;
782
- yych = *p;
783
- goto yy62;
615
+ goto yy50;
616
+ yy60:
617
+ yych = *++p;
618
+ if (yych == '\n')
619
+ goto yy59;
620
+ goto yy52;
784
621
  }
785
622
  }
786
623
 
@@ -809,133 +646,514 @@ bufsize_t _scan_table_row_end(const unsigned char *p) {
809
646
  if (yych <= 0xC1) {
810
647
  if (yych <= '\f') {
811
648
  if (yych <= 0x08)
812
- goto yy83;
649
+ goto yy64;
813
650
  if (yych == '\n')
814
- goto yy81;
815
- goto yy79;
651
+ goto yy66;
652
+ goto yy65;
816
653
  } else {
817
654
  if (yych <= 0x1F) {
818
655
  if (yych <= '\r')
819
- goto yy80;
820
- goto yy83;
656
+ goto yy68;
657
+ goto yy64;
821
658
  } else {
822
659
  if (yych <= ' ')
823
- goto yy79;
660
+ goto yy65;
824
661
  if (yych <= 0x7F)
825
- goto yy83;
662
+ goto yy64;
826
663
  }
827
664
  }
828
665
  } else {
829
666
  if (yych <= 0xED) {
830
667
  if (yych <= 0xDF)
831
- goto yy84;
668
+ goto yy69;
832
669
  if (yych <= 0xE0)
833
- goto yy86;
670
+ goto yy71;
834
671
  if (yych <= 0xEC)
835
- goto yy87;
836
- goto yy91;
672
+ goto yy72;
673
+ goto yy73;
837
674
  } else {
838
675
  if (yych <= 0xF0) {
839
676
  if (yych <= 0xEF)
840
- goto yy87;
841
- goto yy88;
677
+ goto yy72;
678
+ goto yy74;
842
679
  } else {
843
680
  if (yych <= 0xF3)
844
- goto yy89;
681
+ goto yy75;
845
682
  if (yych <= 0xF4)
846
- goto yy90;
683
+ goto yy76;
847
684
  }
848
685
  }
849
686
  }
850
- yy78 : { return 0; }
851
- yy79:
687
+ yy63 : { return 0; }
688
+ yy64:
689
+ ++p;
690
+ goto yy63;
691
+ yy65:
852
692
  yych = *(marker = ++p);
853
693
  if (yych <= 0x08)
854
- goto yy78;
694
+ goto yy63;
855
695
  if (yych <= '\r')
856
- goto yy94;
696
+ goto yy78;
857
697
  if (yych == ' ')
858
- goto yy94;
859
- goto yy78;
860
- yy80:
861
- yych = *++p;
862
- if (yych != '\n')
863
698
  goto yy78;
864
- yy81:
699
+ goto yy63;
700
+ yy66:
865
701
  ++p;
866
702
  { return (bufsize_t)(p - start); }
867
- yy83:
703
+ yy68:
868
704
  yych = *++p;
869
- goto yy78;
870
- yy84:
705
+ if (yych == '\n')
706
+ goto yy66;
707
+ goto yy63;
708
+ yy69:
871
709
  yych = *++p;
872
710
  if (yych <= 0x7F)
873
- goto yy85;
711
+ goto yy70;
874
712
  if (yych <= 0xBF)
875
- goto yy83;
876
- yy85:
713
+ goto yy64;
714
+ yy70:
877
715
  p = marker;
878
- goto yy78;
879
- yy86:
716
+ goto yy63;
717
+ yy71:
880
718
  yych = *++p;
881
719
  if (yych <= 0x9F)
882
- goto yy85;
720
+ goto yy70;
883
721
  if (yych <= 0xBF)
884
- goto yy84;
885
- goto yy85;
886
- yy87:
722
+ goto yy69;
723
+ goto yy70;
724
+ yy72:
887
725
  yych = *++p;
888
726
  if (yych <= 0x7F)
889
- goto yy85;
727
+ goto yy70;
890
728
  if (yych <= 0xBF)
891
- goto yy84;
892
- goto yy85;
893
- yy88:
729
+ goto yy69;
730
+ goto yy70;
731
+ yy73:
732
+ yych = *++p;
733
+ if (yych <= 0x7F)
734
+ goto yy70;
735
+ if (yych <= 0x9F)
736
+ goto yy69;
737
+ goto yy70;
738
+ yy74:
894
739
  yych = *++p;
895
740
  if (yych <= 0x8F)
896
- goto yy85;
741
+ goto yy70;
897
742
  if (yych <= 0xBF)
898
- goto yy87;
899
- goto yy85;
900
- yy89:
743
+ goto yy72;
744
+ goto yy70;
745
+ yy75:
746
+ yych = *++p;
747
+ if (yych <= 0x7F)
748
+ goto yy70;
749
+ if (yych <= 0xBF)
750
+ goto yy72;
751
+ goto yy70;
752
+ yy76:
753
+ yych = *++p;
754
+ if (yych <= 0x7F)
755
+ goto yy70;
756
+ if (yych <= 0x8F)
757
+ goto yy72;
758
+ goto yy70;
759
+ yy77:
760
+ yych = *++p;
761
+ yy78:
762
+ if (yybm[0 + yych] & 128) {
763
+ goto yy77;
764
+ }
765
+ if (yych <= 0x08)
766
+ goto yy70;
767
+ if (yych <= '\n')
768
+ goto yy66;
769
+ if (yych >= 0x0E)
770
+ goto yy70;
771
+ yych = *++p;
772
+ if (yych == '\n')
773
+ goto yy66;
774
+ goto yy70;
775
+ }
776
+ }
777
+ bufsize_t _scan_tasklist(const unsigned char *p) {
778
+ const unsigned char *marker = NULL;
779
+ const unsigned char *start = p;
780
+
781
+ {
782
+ unsigned char yych;
783
+ static const unsigned char yybm[] = {
784
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 64, 64, 0, 0, 0,
785
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
786
+ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
787
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0,
788
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
789
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
790
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
791
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
792
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
793
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
794
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
795
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
796
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
797
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
798
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
799
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
800
+ };
801
+ yych = *(marker = p);
802
+ if (yych <= '/') {
803
+ if (yych <= 0x1F) {
804
+ if (yych <= '\t') {
805
+ if (yych <= 0x08)
806
+ goto yy83;
807
+ goto yy84;
808
+ } else {
809
+ if (yych <= '\n')
810
+ goto yy82;
811
+ if (yych <= '\f')
812
+ goto yy84;
813
+ goto yy83;
814
+ }
815
+ } else {
816
+ if (yych <= '+') {
817
+ if (yych <= ' ')
818
+ goto yy84;
819
+ if (yych <= ')')
820
+ goto yy83;
821
+ goto yy85;
822
+ } else {
823
+ if (yych == '-')
824
+ goto yy85;
825
+ goto yy83;
826
+ }
827
+ }
828
+ } else {
829
+ if (yych <= 0xEC) {
830
+ if (yych <= 0xC1) {
831
+ if (yych <= '9')
832
+ goto yy86;
833
+ if (yych <= 0x7F)
834
+ goto yy83;
835
+ } else {
836
+ if (yych <= 0xDF)
837
+ goto yy87;
838
+ if (yych <= 0xE0)
839
+ goto yy89;
840
+ goto yy90;
841
+ }
842
+ } else {
843
+ if (yych <= 0xF0) {
844
+ if (yych <= 0xED)
845
+ goto yy91;
846
+ if (yych <= 0xEF)
847
+ goto yy90;
848
+ goto yy92;
849
+ } else {
850
+ if (yych <= 0xF3)
851
+ goto yy93;
852
+ if (yych <= 0xF4)
853
+ goto yy94;
854
+ }
855
+ }
856
+ }
857
+ yy82 : { return 0; }
858
+ yy83:
859
+ ++p;
860
+ goto yy82;
861
+ yy84:
862
+ yych = *(marker = ++p);
863
+ if (yybm[0 + yych] & 64) {
864
+ goto yy95;
865
+ }
866
+ if (yych <= ',') {
867
+ if (yych <= ')')
868
+ goto yy82;
869
+ if (yych <= '+')
870
+ goto yy97;
871
+ goto yy82;
872
+ } else {
873
+ if (yych <= '-')
874
+ goto yy97;
875
+ if (yych <= '/')
876
+ goto yy82;
877
+ if (yych <= '9')
878
+ goto yy98;
879
+ goto yy82;
880
+ }
881
+ yy85:
882
+ yych = *(marker = ++p);
883
+ if (yych <= '\n') {
884
+ if (yych == '\t')
885
+ goto yy99;
886
+ goto yy82;
887
+ } else {
888
+ if (yych <= '\f')
889
+ goto yy99;
890
+ if (yych == ' ')
891
+ goto yy99;
892
+ goto yy82;
893
+ }
894
+ yy86:
895
+ yych = *(marker = ++p);
896
+ if (yych <= 0x1F) {
897
+ if (yych <= '\t') {
898
+ if (yych <= 0x08)
899
+ goto yy102;
900
+ goto yy97;
901
+ } else {
902
+ if (yych <= '\n')
903
+ goto yy82;
904
+ if (yych <= '\f')
905
+ goto yy97;
906
+ goto yy102;
907
+ }
908
+ } else {
909
+ if (yych <= 0x7F) {
910
+ if (yych <= ' ')
911
+ goto yy97;
912
+ goto yy102;
913
+ } else {
914
+ if (yych <= 0xC1)
915
+ goto yy82;
916
+ if (yych <= 0xF4)
917
+ goto yy102;
918
+ goto yy82;
919
+ }
920
+ }
921
+ yy87:
901
922
  yych = *++p;
902
923
  if (yych <= 0x7F)
903
- goto yy85;
924
+ goto yy88;
925
+ if (yych <= 0xBF)
926
+ goto yy83;
927
+ yy88:
928
+ p = marker;
929
+ goto yy82;
930
+ yy89:
931
+ yych = *++p;
932
+ if (yych <= 0x9F)
933
+ goto yy88;
904
934
  if (yych <= 0xBF)
905
935
  goto yy87;
906
- goto yy85;
936
+ goto yy88;
907
937
  yy90:
908
938
  yych = *++p;
909
939
  if (yych <= 0x7F)
910
- goto yy85;
911
- if (yych <= 0x8F)
940
+ goto yy88;
941
+ if (yych <= 0xBF)
912
942
  goto yy87;
913
- goto yy85;
943
+ goto yy88;
914
944
  yy91:
915
945
  yych = *++p;
916
946
  if (yych <= 0x7F)
917
- goto yy85;
947
+ goto yy88;
918
948
  if (yych <= 0x9F)
919
- goto yy84;
920
- goto yy85;
949
+ goto yy87;
950
+ goto yy88;
921
951
  yy92:
922
952
  yych = *++p;
923
- if (yych == '\n')
924
- goto yy81;
925
- goto yy85;
953
+ if (yych <= 0x8F)
954
+ goto yy88;
955
+ if (yych <= 0xBF)
956
+ goto yy90;
957
+ goto yy88;
926
958
  yy93:
927
- ++p;
928
- yych = *p;
959
+ yych = *++p;
960
+ if (yych <= 0x7F)
961
+ goto yy88;
962
+ if (yych <= 0xBF)
963
+ goto yy90;
964
+ goto yy88;
929
965
  yy94:
966
+ yych = *++p;
967
+ if (yych <= 0x7F)
968
+ goto yy88;
969
+ if (yych <= 0x8F)
970
+ goto yy90;
971
+ goto yy88;
972
+ yy95:
973
+ yych = *++p;
974
+ if (yybm[0 + yych] & 64) {
975
+ goto yy95;
976
+ }
977
+ if (yych <= ',') {
978
+ if (yych <= ')')
979
+ goto yy88;
980
+ if (yych >= ',')
981
+ goto yy88;
982
+ } else {
983
+ if (yych <= '-')
984
+ goto yy97;
985
+ if (yych <= '/')
986
+ goto yy88;
987
+ if (yych <= '9')
988
+ goto yy98;
989
+ goto yy88;
990
+ }
991
+ yy97:
992
+ yych = *++p;
993
+ if (yych == '[')
994
+ goto yy88;
995
+ goto yy100;
996
+ yy98:
997
+ yych = *++p;
998
+ if (yych <= '\n') {
999
+ if (yych == '\t')
1000
+ goto yy97;
1001
+ goto yy102;
1002
+ } else {
1003
+ if (yych <= '\f')
1004
+ goto yy97;
1005
+ if (yych == ' ')
1006
+ goto yy97;
1007
+ goto yy102;
1008
+ }
1009
+ yy99:
1010
+ yych = *++p;
1011
+ yy100:
1012
+ if (yych <= '\f') {
1013
+ if (yych == '\t')
1014
+ goto yy99;
1015
+ if (yych <= '\n')
1016
+ goto yy88;
1017
+ goto yy99;
1018
+ } else {
1019
+ if (yych <= ' ') {
1020
+ if (yych <= 0x1F)
1021
+ goto yy88;
1022
+ goto yy99;
1023
+ } else {
1024
+ if (yych == '[')
1025
+ goto yy110;
1026
+ goto yy88;
1027
+ }
1028
+ }
1029
+ yy101:
1030
+ yych = *++p;
1031
+ yy102:
930
1032
  if (yybm[0 + yych] & 128) {
931
- goto yy93;
1033
+ goto yy101;
932
1034
  }
933
- if (yych <= 0x08)
934
- goto yy85;
935
- if (yych <= '\n')
936
- goto yy81;
937
- if (yych <= '\r')
938
- goto yy92;
939
- goto yy85;
1035
+ if (yych <= 0xC1) {
1036
+ if (yych <= '\f') {
1037
+ if (yych <= 0x08)
1038
+ goto yy97;
1039
+ if (yych == '\n')
1040
+ goto yy88;
1041
+ goto yy99;
1042
+ } else {
1043
+ if (yych == ' ')
1044
+ goto yy99;
1045
+ if (yych <= 0x7F)
1046
+ goto yy97;
1047
+ goto yy88;
1048
+ }
1049
+ } else {
1050
+ if (yych <= 0xED) {
1051
+ if (yych <= 0xDF)
1052
+ goto yy103;
1053
+ if (yych <= 0xE0)
1054
+ goto yy104;
1055
+ if (yych <= 0xEC)
1056
+ goto yy105;
1057
+ goto yy106;
1058
+ } else {
1059
+ if (yych <= 0xF0) {
1060
+ if (yych <= 0xEF)
1061
+ goto yy105;
1062
+ goto yy107;
1063
+ } else {
1064
+ if (yych <= 0xF3)
1065
+ goto yy108;
1066
+ if (yych <= 0xF4)
1067
+ goto yy109;
1068
+ goto yy88;
1069
+ }
1070
+ }
1071
+ }
1072
+ yy103:
1073
+ yych = *++p;
1074
+ if (yych <= 0x7F)
1075
+ goto yy88;
1076
+ if (yych <= 0xBF)
1077
+ goto yy97;
1078
+ goto yy88;
1079
+ yy104:
1080
+ yych = *++p;
1081
+ if (yych <= 0x9F)
1082
+ goto yy88;
1083
+ if (yych <= 0xBF)
1084
+ goto yy103;
1085
+ goto yy88;
1086
+ yy105:
1087
+ yych = *++p;
1088
+ if (yych <= 0x7F)
1089
+ goto yy88;
1090
+ if (yych <= 0xBF)
1091
+ goto yy103;
1092
+ goto yy88;
1093
+ yy106:
1094
+ yych = *++p;
1095
+ if (yych <= 0x7F)
1096
+ goto yy88;
1097
+ if (yych <= 0x9F)
1098
+ goto yy103;
1099
+ goto yy88;
1100
+ yy107:
1101
+ yych = *++p;
1102
+ if (yych <= 0x8F)
1103
+ goto yy88;
1104
+ if (yych <= 0xBF)
1105
+ goto yy105;
1106
+ goto yy88;
1107
+ yy108:
1108
+ yych = *++p;
1109
+ if (yych <= 0x7F)
1110
+ goto yy88;
1111
+ if (yych <= 0xBF)
1112
+ goto yy105;
1113
+ goto yy88;
1114
+ yy109:
1115
+ yych = *++p;
1116
+ if (yych <= 0x7F)
1117
+ goto yy88;
1118
+ if (yych <= 0x8F)
1119
+ goto yy105;
1120
+ goto yy88;
1121
+ yy110:
1122
+ yych = *++p;
1123
+ if (yych <= 'W') {
1124
+ if (yych != ' ')
1125
+ goto yy88;
1126
+ } else {
1127
+ if (yych <= 'X')
1128
+ goto yy111;
1129
+ if (yych != 'x')
1130
+ goto yy88;
1131
+ }
1132
+ yy111:
1133
+ yych = *++p;
1134
+ if (yych != ']')
1135
+ goto yy88;
1136
+ yych = *++p;
1137
+ if (yych <= '\n') {
1138
+ if (yych != '\t')
1139
+ goto yy88;
1140
+ } else {
1141
+ if (yych <= '\f')
1142
+ goto yy113;
1143
+ if (yych != ' ')
1144
+ goto yy88;
1145
+ }
1146
+ yy113:
1147
+ yych = *++p;
1148
+ if (yych <= '\n') {
1149
+ if (yych == '\t')
1150
+ goto yy113;
1151
+ } else {
1152
+ if (yych <= '\f')
1153
+ goto yy113;
1154
+ if (yych == ' ')
1155
+ goto yy113;
1156
+ }
1157
+ { return (bufsize_t)(p - start); }
940
1158
  }
941
1159
  }