ext/dtext/dtext.c in dtext_rb-1.0.2 vs ext/dtext/dtext.c in dtext_rb-1.0.3

- old
+ new

@@ -13,10 +13,11 @@ typedef struct StateMachine { size_t top; int cs; int act; const char * p; + const char * pb; const char * pe; const char * eof; const char * ts; const char * te; @@ -25,10 +26,11 @@ const char * b1; const char * b2; bool f_inline; bool f_strip; bool list_mode; + bool header_mode; GString * output; GArray * stack; GQueue * dstack; int list_nest; int d; @@ -57,51 +59,83 @@ static const int BLOCK_TBODY = 18; static const int BLOCK_TR = 19; static const int BLOCK_UL = 20; static const int BLOCK_LI = 21; static const int BLOCK_TH = 22; +static const int BLOCK_H1 = 23; +static const int BLOCK_H2 = 24; +static const int BLOCK_H3 = 25; +static const int BLOCK_H4 = 26; +static const int BLOCK_H5 = 27; +static const int BLOCK_H6 = 28; -#line 1001 "ext/dtext/dtext.rl" +#line 961 "ext/dtext/dtext.rl" -#line 69 "ext/dtext/dtext.c" -static const int dtext_start = 244; -static const int dtext_first_final = 244; +#line 77 "ext/dtext/dtext.c" +static const int dtext_start = 245; +static const int dtext_first_final = 245; static const int dtext_error = -1; static const int dtext_en_inline = 260; -static const int dtext_en_code = 296; -static const int dtext_en_nodtext = 298; -static const int dtext_en_table = 300; -static const int dtext_en_list = 302; -static const int dtext_en_main = 244; +static const int dtext_en_code = 295; +static const int dtext_en_nodtext = 297; +static const int dtext_en_table = 299; +static const int dtext_en_list = 301; +static const int dtext_en_main = 245; -#line 1004 "ext/dtext/dtext.rl" +#line 964 "ext/dtext/dtext.rl" static inline void underscore_string(char * str, size_t len) { for (size_t i=0; i<len; ++i) { if (str[i] == ' ') { str[i] = '_'; } } } +static inline void dstack_push(StateMachine * sm, const int * element) { + g_queue_push_tail(sm->dstack, (gpointer)element); +} + +static inline int * dstack_pop(StateMachine * sm) { + return g_queue_pop_tail(sm->dstack); +} + +static inline int * dstack_peek(StateMachine * sm) { + return g_queue_peek_tail(sm->dstack); +} + +static inline bool dstack_search(StateMachine * sm, const int * element) { + return g_queue_find(sm->dstack, (gconstpointer)element); +} + +static inline bool dstack_check(StateMachine * sm, int expected_element) { + int * top = dstack_peek(sm); + return top && *top == expected_element; +} + +static inline bool dstack_check2(StateMachine * sm, int expected_element) { + int * top2 = NULL; + + if (sm->dstack->length < 2) { + return false; + } + + top2 = g_queue_peek_nth(sm->dstack, sm->dstack->length - 2); + return top2 && *top2 == expected_element; +} + static inline void append(StateMachine * sm, bool is_markup, const char * s) { if (!(is_markup && sm->f_strip)) { sm->output = g_string_append(sm->output, s); } } -static inline void append_newline(StateMachine * sm) { -#if (PRETTY_PRINT) - g_string_append_c(sm->output, '\n'); -#endif -} - static inline void append_c(StateMachine * sm, char s) { sm->output = g_string_append_c(sm->output, s); } static inline void append_c_html_escaped(StateMachine * sm, char s) { @@ -116,10 +150,14 @@ case '&': sm->output = g_string_append(sm->output, "&amp;"); break; + // case '"': + // sm->output = g_string_append(sm->output, "&quot;"); + // break; + default: sm->output = g_string_append_c(sm->output, s); break; } } @@ -133,15 +171,20 @@ static inline void append_segment_uri_escaped(StateMachine * sm, const char * a, const char * b) { if (sm->f_strip) { return; } + char * segment1 = NULL; + char * segment2 = NULL; GString * segment_string = g_string_new_len(a, b - a + 1); - char * segment = g_uri_escape_string(segment_string->str, G_URI_RESERVED_CHARS_ALLOWED_IN_PATH "#%?", TRUE); - sm->output = g_string_append(sm->output, segment); + + segment1 = g_uri_escape_string(segment_string->str, NULL, TRUE); + segment2 = g_markup_escape_text(segment1, -1); + sm->output = g_string_append(sm->output, segment2); g_string_free(segment_string, TRUE); - g_free(segment); + g_free(segment1); + g_free(segment2); } static inline void append_segment_html_escaped(StateMachine * sm, const char * a, const char * b) { gchar * segment = g_markup_escape_text(a, b - a + 1); sm->output = g_string_append(sm->output, segment); @@ -156,50 +199,32 @@ } else { sm->output = g_string_append(sm->output, s); } } -static inline void append_closing_p(StateMachine * sm) { +static void append_closing_p(StateMachine * sm) { size_t i = sm->output->len; if (i > 4 && !strncmp(sm->output->str + i - 4, "<br>", 4)) { sm->output = g_string_truncate(sm->output, sm->output->len - 4); } + if (i > 3 && !strncmp(sm->output->str + i - 3, "<p>", 3)) { + sm->output = g_string_truncate(sm->output, sm->output->len - 3); + return; + } + append_block(sm, "</p>"); } -static inline void dstack_push(StateMachine * sm, const int * element) { - g_queue_push_tail(sm->dstack, (gpointer)element); -} - -static inline int * dstack_pop(StateMachine * sm) { - return g_queue_pop_tail(sm->dstack); -} - -static inline int * dstack_peek(StateMachine * sm) { - return g_queue_peek_tail(sm->dstack); -} - -static inline bool dstack_search(StateMachine * sm, const int * element) { - return g_queue_find(sm->dstack, (gconstpointer)element); -} - -static inline bool dstack_check(StateMachine * sm, int expected_element) { - int * top = dstack_peek(sm); - return top && *top == expected_element; -} - -static inline bool dstack_check2(StateMachine * sm, int expected_element) { - int * top2 = NULL; - - if (sm->dstack->length < 2) { - return false; +static void append_closing_p_if(StateMachine * sm) { + if (!dstack_check(sm, BLOCK_P)) { + return; } - top2 = g_queue_peek_nth(sm->dstack, sm->dstack->length - 2); - return top2 && *top2 == expected_element; + dstack_pop(sm); + append_closing_p(sm); } static void dstack_rewind(StateMachine * sm) { int * element = dstack_pop(sm); @@ -207,11 +232,10 @@ return; } if (*element == BLOCK_P) { append_closing_p(sm); - append_newline(sm); } else if (*element == INLINE_SPOILER) { append(sm, true, "</span>"); } else if (*element == BLOCK_SPOILER) { @@ -223,11 +247,10 @@ } else if (*element == BLOCK_EXPAND) { append_block(sm, "</div></div>"); } else if (*element == BLOCK_NODTEXT) { append_closing_p(sm); - append_newline(sm); } else if (*element == BLOCK_CODE) { append_block(sm, "</pre>"); } else if (*element == BLOCK_TD) { @@ -250,11 +273,10 @@ } else if (*element == INLINE_TN) { append(sm, true, "</span>"); } else if (*element == BLOCK_TN) { append_closing_p(sm); - append_newline(sm); } else if (*element == BLOCK_TABLE) { append_block(sm, "</table>"); } else if (*element == BLOCK_THEAD) { @@ -266,24 +288,59 @@ } else if (*element == BLOCK_TR) { append_block(sm, "</tr>"); } else if (*element == BLOCK_UL) { append_block(sm, "</ul>"); - append_newline(sm); } else if (*element == BLOCK_LI) { append_block(sm, "</li>"); - append_newline(sm); + + } else if (*element == BLOCK_H6) { + append_block(sm, "</h6>"); + + } else if (*element == BLOCK_H5) { + append_block(sm, "</h5>"); + + } else if (*element == BLOCK_H4) { + append_block(sm, "</h4>"); + + } else if (*element == BLOCK_H3) { + append_block(sm, "</h3>"); + + } else if (*element == BLOCK_H2) { + append_block(sm, "</h2>"); + + } else if (*element == BLOCK_H1) { + append_block(sm, "</h1>"); + } +} + +static void dstack_close_before_block(StateMachine * sm) { + while (1) { + if (dstack_check(sm, BLOCK_P)) { + dstack_pop(sm); + append_closing_p(sm); + } else if (dstack_check(sm, BLOCK_LI) || dstack_check(sm, BLOCK_UL)) { + dstack_rewind(sm); + } else { + return; + } } } static void dstack_close(StateMachine * sm) { while (dstack_peek(sm) != NULL) { dstack_rewind(sm); } } +static void dstack_close_list(StateMachine * sm) { + while (dstack_check(sm, BLOCK_LI) || dstack_check(sm, BLOCK_UL)) { + dstack_rewind(sm); + } +} + static inline bool is_boundary_c(char c) { switch (c) { case ':': case ';': case '.': @@ -298,13 +355,19 @@ } return false; } +static bool print_machine(StateMachine * sm) { + printf("p=%c\n", *sm->p); + return true; +} + static void init_machine(StateMachine * sm, VALUE input) { size_t output_length = 0; sm->p = RSTRING_PTR(input); + sm->pb = sm->p; sm->pe = sm->p + RSTRING_LEN(input); sm->eof = sm->pe; sm->ts = NULL; sm->te = NULL; sm->cs = 0; @@ -323,10 +386,13 @@ sm->f_strip = false; sm->stack = g_array_sized_new(FALSE, TRUE, sizeof(int), 16); sm->dstack = g_queue_new(); sm->list_nest = 0; sm->list_mode = false; + sm->header_mode = false; + sm->d = 0; + sm->b = 0; } static void free_machine(StateMachine * sm) { g_string_free(sm->output, TRUE); g_array_free(sm->stack, FALSE); @@ -369,39 +435,39 @@ } } } -#line 375 "ext/dtext/dtext.c" +#line 441 "ext/dtext/dtext.c" { sm->cs = dtext_start; ( sm->top) = 0; ( sm->ts) = 0; ( sm->te) = 0; ( sm->act) = 0; } -#line 1296 "ext/dtext/dtext.rl" +#line 1314 "ext/dtext/dtext.rl" -#line 386 "ext/dtext/dtext.c" +#line 452 "ext/dtext/dtext.c" { if ( ( sm->p) == ( sm->pe) ) goto _test_eof; goto _resume; _again: switch ( sm->cs ) { - case 244: goto st244; case 245: goto st245; case 246: goto st246; - case 247: goto st247; case 0: goto st0; + case 247: goto st247; case 248: goto st248; - case 249: goto st249; case 1: goto st1; + case 249: goto st249; case 250: goto st250; case 2: goto st2; + case 251: goto st251; case 3: goto st3; case 4: goto st4; case 5: goto st5; case 6: goto st6; case 7: goto st7; @@ -409,66 +475,68 @@ case 9: goto st9; case 10: goto st10; case 11: goto st11; case 12: goto st12; case 13: goto st13; - case 251: goto st251; case 14: goto st14; + case 252: goto st252; case 15: goto st15; case 16: goto st16; case 17: goto st17; case 18: goto st18; case 19: goto st19; case 20: goto st20; case 21: goto st21; - case 252: goto st252; - case 253: goto st253; case 22: goto st22; + case 253: goto st253; + case 254: goto st254; case 23: goto st23; case 24: goto st24; case 25: goto st25; case 26: goto st26; case 27: goto st27; case 28: goto st28; - case 254: goto st254; case 29: goto st29; + case 255: goto st255; case 30: goto st30; case 31: goto st31; case 32: goto st32; case 33: goto st33; - case 255: goto st255; case 34: goto st34; + case 256: goto st256; case 35: goto st35; case 36: goto st36; case 37: goto st37; case 38: goto st38; case 39: goto st39; case 40: goto st40; - case 256: goto st256; case 41: goto st41; + case 257: goto st257; case 42: goto st42; case 43: goto st43; case 44: goto st44; case 45: goto st45; case 46: goto st46; - case 257: goto st257; case 47: goto st47; - case 48: goto st48; case 258: goto st258; + case 48: goto st48; case 259: goto st259; case 260: goto st260; case 261: goto st261; case 262: goto st262; - case 263: goto st263; case 49: goto st49; case 50: goto st50; case 51: goto st51; - case 52: goto st52; + case 263: goto st263; case 264: goto st264; + case 265: goto st265; + case 266: goto st266; + case 52: goto st52; case 53: goto st53; case 54: goto st54; case 55: goto st55; + case 267: goto st267; case 56: goto st56; case 57: goto st57; case 58: goto st58; case 59: goto st59; case 60: goto st60; @@ -479,193 +547,189 @@ case 65: goto st65; case 66: goto st66; case 67: goto st67; case 68: goto st68; case 69: goto st69; - case 265: goto st265; case 70: goto st70; - case 266: goto st266; - case 267: goto st267; case 71: goto st71; + case 72: goto st72; case 268: goto st268; case 269: goto st269; case 270: goto st270; case 271: goto st271; - case 72: goto st72; case 73: goto st73; case 74: goto st74; case 75: goto st75; case 76: goto st76; case 77: goto st77; case 78: goto st78; case 79: goto st79; + case 272: goto st272; + case 273: goto st273; case 80: goto st80; case 81: goto st81; case 82: goto st82; case 83: goto st83; case 84: goto st84; case 85: goto st85; - case 272: goto st272; case 86: goto st86; case 87: goto st87; + case 274: goto st274; + case 275: goto st275; case 88: goto st88; case 89: goto st89; case 90: goto st90; case 91: goto st91; case 92: goto st92; case 93: goto st93; + case 276: goto st276; + case 277: goto st277; case 94: goto st94; case 95: goto st95; case 96: goto st96; case 97: goto st97; case 98: goto st98; case 99: goto st99; + case 278: goto st278; + case 279: goto st279; case 100: goto st100; case 101: goto st101; case 102: goto st102; case 103: goto st103; case 104: goto st104; case 105: goto st105; + case 280: goto st280; case 106: goto st106; case 107: goto st107; + case 281: goto st281; case 108: goto st108; case 109: goto st109; case 110: goto st110; case 111: goto st111; case 112: goto st112; + case 282: goto st282; case 113: goto st113; case 114: goto st114; case 115: goto st115; case 116: goto st116; + case 283: goto st283; + case 284: goto st284; case 117: goto st117; case 118: goto st118; case 119: goto st119; case 120: goto st120; case 121: goto st121; case 122: goto st122; + case 285: goto st285; case 123: goto st123; case 124: goto st124; + case 286: goto st286; + case 287: goto st287; case 125: goto st125; case 126: goto st126; case 127: goto st127; case 128: goto st128; case 129: goto st129; + case 288: goto st288; + case 289: goto st289; case 130: goto st130; case 131: goto st131; case 132: goto st132; case 133: goto st133; - case 273: goto st273; case 134: goto st134; case 135: goto st135; case 136: goto st136; case 137: goto st137; case 138: goto st138; case 139: goto st139; case 140: goto st140; - case 274: goto st274; - case 275: goto st275; case 141: goto st141; case 142: goto st142; case 143: goto st143; + case 290: goto st290; case 144: goto st144; case 145: goto st145; case 146: goto st146; case 147: goto st147; case 148: goto st148; - case 276: goto st276; - case 277: goto st277; case 149: goto st149; case 150: goto st150; case 151: goto st151; case 152: goto st152; case 153: goto st153; case 154: goto st154; - case 278: goto st278; - case 279: goto st279; case 155: goto st155; case 156: goto st156; - case 280: goto st280; - case 281: goto st281; case 157: goto st157; case 158: goto st158; case 159: goto st159; case 160: goto st160; case 161: goto st161; case 162: goto st162; - case 282: goto st282; case 163: goto st163; - case 283: goto st283; case 164: goto st164; case 165: goto st165; case 166: goto st166; case 167: goto st167; case 168: goto st168; case 169: goto st169; - case 284: goto st284; - case 285: goto st285; case 170: goto st170; case 171: goto st171; case 172: goto st172; case 173: goto st173; case 174: goto st174; case 175: goto st175; - case 286: goto st286; case 176: goto st176; case 177: goto st177; - case 287: goto st287; case 178: goto st178; case 179: goto st179; case 180: goto st180; case 181: goto st181; case 182: goto st182; - case 288: goto st288; case 183: goto st183; case 184: goto st184; case 185: goto st185; case 186: goto st186; - case 289: goto st289; - case 290: goto st290; case 187: goto st187; case 188: goto st188; case 189: goto st189; case 190: goto st190; case 191: goto st191; - case 192: goto st192; case 291: goto st291; + case 192: goto st192; + case 292: goto st292; case 193: goto st193; case 194: goto st194; - case 292: goto st292; - case 293: goto st293; case 195: goto st195; case 196: goto st196; case 197: goto st197; case 198: goto st198; + case 293: goto st293; case 199: goto st199; case 294: goto st294; - case 295: goto st295; case 200: goto st200; case 201: goto st201; case 202: goto st202; + case 295: goto st295; case 296: goto st296; - case 297: goto st297; case 203: goto st203; case 204: goto st204; case 205: goto st205; case 206: goto st206; case 207: goto st207; + case 297: goto st297; case 298: goto st298; - case 299: goto st299; case 208: goto st208; case 209: goto st209; case 210: goto st210; case 211: goto st211; case 212: goto st212; case 213: goto st213; case 214: goto st214; case 215: goto st215; + case 299: goto st299; case 300: goto st300; - case 301: goto st301; case 216: goto st216; case 217: goto st217; case 218: goto st218; case 219: goto st219; case 220: goto st220; @@ -688,37 +752,60 @@ case 237: goto st237; case 238: goto st238; case 239: goto st239; case 240: goto st240; case 241: goto st241; + case 301: goto st301; case 302: goto st302; + case 242: goto st242; case 303: goto st303; case 304: goto st304; + case 243: goto st243; case 305: goto st305; - case 242: goto st242; case 306: goto st306; - case 307: goto st307; - case 243: goto st243; + case 244: goto st244; default: break; } if ( ++( sm->p) == ( sm->pe) ) goto _test_eof; _resume: switch ( sm->cs ) { tr0: -#line 985 "ext/dtext/dtext.rl" +#line 1 "NONE" + { switch( ( sm->act) ) { + case 79: + {{( sm->p) = ((( sm->te)))-1;} + g_debug("block newline2"); + + if (sm->header_mode) { + sm->header_mode = false; + dstack_rewind(sm); + } else { + dstack_close_before_block(sm); + } + } + break; + case 80: + {{( sm->p) = ((( sm->te)))-1;} + g_debug("block newline"); + } + break; + } + } + goto st245; +tr2: +#line 946 "ext/dtext/dtext.rl" {{( sm->p) = ((( sm->te)))-1;}{ - g_debug("block c: %c", (*( sm->p))); + g_debug("block char: %c", (*( sm->p))); ( sm->p)--; if (g_queue_is_empty(sm->dstack) || dstack_check(sm, BLOCK_QUOTE) || dstack_check(sm, BLOCK_SPOILER) || dstack_check(sm, BLOCK_EXPAND)) { g_debug(" push p"); g_debug(" print <p>"); dstack_push(sm, &BLOCK_P); - append_newline(sm); append_block(sm, "<p>"); } { size_t len = sm->stack->len; @@ -729,31 +816,29 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st260;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 245; goto st260;}} }} - goto st244; -tr12: -#line 884 "ext/dtext/dtext.rl" + goto st245; +tr14: +#line 855 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ - if (dstack_check(sm, BLOCK_P)) { - dstack_rewind(sm); - } - + g_debug("block [/spoiler]"); + dstack_close_before_block(sm); if (dstack_check(sm, BLOCK_SPOILER)) { + g_debug(" rewind"); dstack_rewind(sm); } }} - goto st244; -tr51: -#line 938 "ext/dtext/dtext.rl" + goto st245; +tr53: +#line 902 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ + dstack_close_before_block(sm); dstack_push(sm, &BLOCK_TABLE); - append_newline(sm); - append_newline(sm); append_block(sm, "<table class=\"striped\">"); { size_t len = sm->stack->len; if (len > MAX_STACK_DEPTH) { @@ -762,19 +847,17 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st300;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 245; goto st299;}} }} - goto st244; -tr52: -#line 946 "ext/dtext/dtext.rl" + goto st245; +tr54: +#line 909 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &BLOCK_TN); - append_newline(sm); - append_newline(sm); append_block(sm, "<p class=\"tn\">"); { size_t len = sm->stack->len; if (len > MAX_STACK_DEPTH) { @@ -783,24 +866,23 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st260;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 245; goto st260;}} }} - goto st244; -tr289: -#line 985 "ext/dtext/dtext.rl" + goto st245; +tr292: +#line 946 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ - g_debug("block c: %c", (*( sm->p))); + g_debug("block char: %c", (*( sm->p))); ( sm->p)--; if (g_queue_is_empty(sm->dstack) || dstack_check(sm, BLOCK_QUOTE) || dstack_check(sm, BLOCK_SPOILER) || dstack_check(sm, BLOCK_EXPAND)) { g_debug(" push p"); g_debug(" print <p>"); dstack_push(sm, &BLOCK_P); - append_newline(sm); append_block(sm, "<p>"); } { size_t len = sm->stack->len; @@ -811,58 +893,31 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st260;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 245; goto st260;}} }} - goto st244; -tr290: -#line 967 "ext/dtext/dtext.rl" + goto st245; +tr293: +#line 925 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ g_debug("block 0"); g_debug(" close dstack"); dstack_close(sm); }} - goto st244; -tr296: -#line 1 "NONE" - { switch( ( sm->act) ) { - case 78: - {{( sm->p) = ((( sm->te)))-1;} - g_debug("block newline2"); - if (dstack_check(sm, BLOCK_P)) { - g_debug(" pop p"); - dstack_rewind(sm); - } - } - break; - case 79: - {{( sm->p) = ((( sm->te)))-1;} - g_debug("block newline"); - } - break; - } - } - goto st244; -tr298: -#line 981 "ext/dtext/dtext.rl" + goto st245; +tr300: +#line 946 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ - g_debug("block newline"); - }} - goto st244; -tr299: -#line 985 "ext/dtext/dtext.rl" - {( sm->te) = ( sm->p);( sm->p)--;{ - g_debug("block c: %c", (*( sm->p))); + g_debug("block char: %c", (*( sm->p))); ( sm->p)--; if (g_queue_is_empty(sm->dstack) || dstack_check(sm, BLOCK_QUOTE) || dstack_check(sm, BLOCK_SPOILER) || dstack_check(sm, BLOCK_EXPAND)) { g_debug(" push p"); g_debug(" print <p>"); dstack_push(sm, &BLOCK_P); - append_newline(sm); append_block(sm, "<p>"); } { size_t len = sm->stack->len; @@ -873,28 +928,25 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st260;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 245; goto st260;}} }} - goto st244; -tr300: -#line 99 "ext/dtext/dtext.rl" + goto st245; +tr301: +#line 107 "ext/dtext/dtext.rl" { sm->b2 = sm->p; } -#line 954 "ext/dtext/dtext.rl" +#line 915 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ - g_debug("inline list"); + g_debug("block list"); + g_debug(" call list"); sm->list_nest = 0; sm->list_mode = true; - if (dstack_check(sm, BLOCK_P)) { - g_debug(" pop dstack"); - dstack_rewind(sm); - } - g_debug(" call list"); + append_closing_p_if(sm); {( sm->p) = (( sm->ts))-1;} { size_t len = sm->stack->len; if (len > MAX_STACK_DEPTH) { @@ -903,21 +955,20 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st302;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 245; goto st301;}} }} - goto st244; -tr309: -#line 894 "ext/dtext/dtext.rl" + goto st245; +tr310: +#line 864 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ + g_debug("block [code]"); + dstack_close_before_block(sm); dstack_push(sm, &BLOCK_CODE); - append_newline(sm); - append_newline(sm); append_block(sm, "<pre>"); - append_newline(sm); { size_t len = sm->stack->len; if (len > MAX_STACK_DEPTH) { free_machine(sm); @@ -925,72 +976,45 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st296;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 245; goto st295;}} }} - goto st244; -tr310: -#line 916 "ext/dtext/dtext.rl" + goto st245; +tr311: +#line 881 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ + g_debug("block [expand=]"); + dstack_close_before_block(sm); dstack_push(sm, &BLOCK_EXPAND); - dstack_push(sm, &BLOCK_P); - append_newline(sm); - append_newline(sm); append_block(sm, "<div class=\"expandable\"><div class=\"expandable-header\">"); append(sm, true, "<span>"); - append_segment_html_escaped(sm, sm->a1, sm->a2); + append_segment_html_escaped(sm, sm->a1, sm->a2 - 1); append(sm, true, "</span>"); append_block(sm, "<input type=\"button\" value=\"Show\" class=\"expandable-button\"/></div>"); append_block(sm, "<div class=\"expandable-content\">"); - append_newline(sm); - { - size_t len = sm->stack->len; - - if (len > MAX_STACK_DEPTH) { - free_machine(sm); - rb_raise(rb_eSyntaxError, "too many nested elements"); - } - - if (sm->top >= len) { - sm->stack = g_array_set_size(sm->stack, len + 16); - } -{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st260;}} }} - goto st244; -tr312: -#line 903 "ext/dtext/dtext.rl" + goto st245; +tr313: +#line 872 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ + g_debug("block [expand]"); + dstack_close_before_block(sm); dstack_push(sm, &BLOCK_EXPAND); - dstack_push(sm, &BLOCK_P); - append_newline(sm); - append_newline(sm); append_block(sm, "<div class=\"expandable\"><div class=\"expandable-header\">"); append_block(sm, "<input type=\"button\" value=\"Show\" class=\"expandable-button\"/></div>"); append_block(sm, "<div class=\"expandable-content\">"); - append_block(sm, "<p>"); - append_newline(sm); - { - size_t len = sm->stack->len; - - if (len > MAX_STACK_DEPTH) { - free_machine(sm); - rb_raise(rb_eSyntaxError, "too many nested elements"); - } - - if (sm->top >= len) { - sm->stack = g_array_set_size(sm->stack, len + 16); - } -{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st260;}} }} - goto st244; -tr313: -#line 931 "ext/dtext/dtext.rl" + goto st245; +tr314: +#line 893 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ + g_debug("block [nodtext]"); + dstack_close_before_block(sm); dstack_push(sm, &BLOCK_NODTEXT); - append_newline(sm); + dstack_push(sm, &BLOCK_P); append_block(sm, "<p>"); { size_t len = sm->stack->len; if (len > MAX_STACK_DEPTH) { @@ -999,58 +1023,79 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st298;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 245; goto st297;}} }} - goto st244; -tr314: -#line 851 "ext/dtext/dtext.rl" + goto st245; +tr315: +#line 837 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ g_debug("block [quote]"); g_debug(" push quote"); - g_debug(" push p"); g_debug(" print <blockquote>"); - g_debug(" print <p>"); - g_debug(" call inline"); - + dstack_close_before_block(sm); dstack_push(sm, &BLOCK_QUOTE); - dstack_push(sm, &BLOCK_P); - append_newline(sm); - append_newline(sm); - append_block(sm, "<blockquote><p>"); - append_newline(sm); - { - size_t len = sm->stack->len; - - if (len > MAX_STACK_DEPTH) { - free_machine(sm); - rb_raise(rb_eSyntaxError, "too many nested elements"); - } - - if (sm->top >= len) { - sm->stack = g_array_set_size(sm->stack, len + 16); - } -{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st260;}} + append_block(sm, "<blockquote>"); }} - goto st244; -tr315: -#line 868 "ext/dtext/dtext.rl" + goto st245; +tr316: +#line 846 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ g_debug("block [spoiler]"); g_debug(" push spoiler"); - g_debug(" push p"); g_debug(" print <div>"); - g_debug(" print <p>"); - g_debug(" call inline"); + dstack_close_before_block(sm); dstack_push(sm, &BLOCK_SPOILER); - dstack_push(sm, &BLOCK_P); - append_newline(sm); - append_newline(sm); - append_block(sm, "<div class=\"spoiler\"><p>"); - append_newline(sm); + append_block(sm, "<div class=\"spoiler\">"); + }} + goto st245; +tr318: +#line 792 "ext/dtext/dtext.rl" + {( sm->te) = ( sm->p);( sm->p)--;{ + char header = *sm->a1; + + if (sm->f_inline) { + header = '6'; + } + + if (!sm->f_strip) { + switch (header) { + case '1': + dstack_push(sm, &BLOCK_H1); + append_block(sm, "<h1>"); + break; + + case '2': + dstack_push(sm, &BLOCK_H2); + append_block(sm, "<h2>"); + break; + + case '3': + dstack_push(sm, &BLOCK_H3); + append_block(sm, "<h3>"); + break; + + case '4': + dstack_push(sm, &BLOCK_H4); + append_block(sm, "<h4>"); + break; + + case '5': + dstack_push(sm, &BLOCK_H5); + append_block(sm, "<h5>"); + break; + + case '6': + dstack_push(sm, &BLOCK_H6); + append_block(sm, "<h6>"); + break; + } + } + + sm->header_mode = true; { size_t len = sm->stack->len; if (len > MAX_STACK_DEPTH) { free_machine(sm); @@ -1058,823 +1103,839 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 244; goto st260;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 245; goto st260;}} }} - goto st244; -tr317: -#line 99 "ext/dtext/dtext.rl" - { - sm->b2 = sm->p; -} -#line 827 "ext/dtext/dtext.rl" - {( sm->te) = ( sm->p);( sm->p)--;{ - char header = *sm->a1; - - if (sm->f_inline) { - header = '6'; - } - - append_newline(sm); - append_newline(sm); - if (!sm->f_strip) { - append(sm, true, "<h"); - append_c(sm, header); - append_c(sm, '>'); - } - append_segment(sm, false, sm->b1, sm->b2 - 1); - if (!sm->f_strip) { - append(sm, true, "</h"); - append_c(sm, header); - append_c(sm, '>'); - } - append_newline(sm); - append_newline(sm); - }} - goto st244; -st244: + goto st245; +st245: #line 1 "NONE" {( sm->ts) = 0;} if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof244; -case 244: + goto _test_eof245; +case 245: #line 1 "NONE" {( sm->ts) = ( sm->p);} -#line 1105 "ext/dtext/dtext.c" +#line 1120 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr290; - case 10: goto tr291; - case 13: goto st246; - case 42: goto tr293; - case 91: goto tr294; - case 104: goto tr295; + case 0: goto tr293; + case 10: goto tr294; + case 13: goto st247; + case 42: goto tr296; + case 91: goto tr297; + case 104: goto tr298; } - goto tr289; -tr291: + goto tr292; +tr1: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 981 "ext/dtext/dtext.rl" +#line 931 "ext/dtext/dtext.rl" {( sm->act) = 79;} - goto st245; -tr297: + goto st246; +tr294: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 973 "ext/dtext/dtext.rl" - {( sm->act) = 78;} - goto st245; -st245: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof245; -case 245: -#line 1131 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 10: goto tr297; - case 13: goto tr297; - } - goto tr296; +#line 942 "ext/dtext/dtext.rl" + {( sm->act) = 80;} + goto st246; st246: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof246; case 246: +#line 1146 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 10: goto tr297; - case 13: goto tr297; + case 10: goto tr1; + case 13: goto st0; } - goto tr298; -tr293: + goto tr0; +st0: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof0; +case 0: + if ( (*( sm->p)) == 10 ) + goto tr1; + goto tr0; +st247: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof247; +case 247: + if ( (*( sm->p)) == 10 ) + goto tr294; + goto tr300; +tr296: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 87 "ext/dtext/dtext.rl" +#line 95 "ext/dtext/dtext.rl" { sm->a1 = sm->p; } - goto st247; -st247: + goto st248; +st248: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof247; -case 247: -#line 1158 "ext/dtext/dtext.c" + goto _test_eof248; +case 248: +#line 1178 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 9: goto tr3; - case 32: goto tr3; - case 42: goto st1; + case 9: goto tr5; + case 32: goto tr5; + case 42: goto st2; } - goto tr299; -tr3: -#line 91 "ext/dtext/dtext.rl" + goto tr300; +tr5: +#line 99 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } - goto st0; -st0: + goto st1; +st1: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof0; -case 0: -#line 1175 "ext/dtext/dtext.c" + goto _test_eof1; +case 1: +#line 1195 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr0; - case 9: goto tr2; - case 10: goto tr0; - case 13: goto tr0; - case 32: goto tr2; + case 0: goto tr2; + case 9: goto tr4; + case 10: goto tr2; + case 13: goto tr2; + case 32: goto tr4; } - goto tr1; -tr1: -#line 95 "ext/dtext/dtext.rl" + goto tr3; +tr3: +#line 103 "ext/dtext/dtext.rl" { sm->b1 = sm->p; } - goto st248; -st248: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof248; -case 248: -#line 1194 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 0: goto tr300; - case 10: goto tr300; - case 13: goto tr300; - } - goto st248; -tr2: -#line 95 "ext/dtext/dtext.rl" - { - sm->b1 = sm->p; -} goto st249; st249: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof249; case 249: -#line 1211 "ext/dtext/dtext.c" +#line 1214 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr300; - case 9: goto tr2; - case 10: goto tr300; - case 13: goto tr300; - case 32: goto tr2; + case 0: goto tr301; + case 10: goto tr301; + case 13: goto tr301; } - goto tr1; -st1: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof1; -case 1: - switch( (*( sm->p)) ) { - case 9: goto tr3; - case 32: goto tr3; - case 42: goto st1; - } - goto tr0; -tr294: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} + goto st249; +tr4: +#line 103 "ext/dtext/dtext.rl" + { + sm->b1 = sm->p; +} goto st250; st250: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof250; case 250: -#line 1238 "ext/dtext/dtext.c" +#line 1231 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 47: goto st2; - case 99: goto st10; - case 101: goto st14; - case 110: goto st22; - case 113: goto st29; - case 115: goto st34; - case 116: goto st41; + case 0: goto tr301; + case 9: goto tr4; + case 10: goto tr301; + case 13: goto tr301; + case 32: goto tr4; } - goto tr299; + goto tr3; st2: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof2; case 2: - if ( (*( sm->p)) == 115 ) - goto st3; - goto tr0; + switch( (*( sm->p)) ) { + case 9: goto tr5; + case 32: goto tr5; + case 42: goto st2; + } + goto tr2; +tr297: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st251; +st251: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof251; +case 251: +#line 1258 "ext/dtext/dtext.c" + switch( (*( sm->p)) ) { + case 47: goto st3; + case 99: goto st11; + case 101: goto st15; + case 110: goto st23; + case 113: goto st30; + case 115: goto st35; + case 116: goto st42; + } + goto tr300; st3: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof3; case 3: - if ( (*( sm->p)) == 112 ) + if ( (*( sm->p)) == 115 ) goto st4; - goto tr0; + goto tr2; st4: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof4; case 4: - if ( (*( sm->p)) == 111 ) + if ( (*( sm->p)) == 112 ) goto st5; - goto tr0; + goto tr2; st5: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof5; case 5: - if ( (*( sm->p)) == 105 ) + if ( (*( sm->p)) == 111 ) goto st6; - goto tr0; + goto tr2; st6: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof6; case 6: - if ( (*( sm->p)) == 108 ) + if ( (*( sm->p)) == 105 ) goto st7; - goto tr0; + goto tr2; st7: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof7; case 7: - if ( (*( sm->p)) == 101 ) + if ( (*( sm->p)) == 108 ) goto st8; - goto tr0; + goto tr2; st8: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof8; case 8: - if ( (*( sm->p)) == 114 ) + if ( (*( sm->p)) == 101 ) goto st9; - goto tr0; + goto tr2; st9: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof9; case 9: - if ( (*( sm->p)) == 93 ) - goto tr12; - goto tr0; + if ( (*( sm->p)) == 114 ) + goto st10; + goto tr2; st10: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof10; case 10: - if ( (*( sm->p)) == 111 ) - goto st11; - goto tr0; + if ( (*( sm->p)) == 93 ) + goto tr14; + goto tr2; st11: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof11; case 11: - if ( (*( sm->p)) == 100 ) + if ( (*( sm->p)) == 111 ) goto st12; - goto tr0; + goto tr2; st12: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof12; case 12: - if ( (*( sm->p)) == 101 ) + if ( (*( sm->p)) == 100 ) goto st13; - goto tr0; + goto tr2; st13: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof13; case 13: - if ( (*( sm->p)) == 93 ) - goto st251; - goto tr0; -st251: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof251; -case 251: - if ( (*( sm->p)) == 32 ) - goto st251; - if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) - goto st251; - goto tr309; + if ( (*( sm->p)) == 101 ) + goto st14; + goto tr2; st14: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof14; case 14: - if ( (*( sm->p)) == 120 ) - goto st15; - goto tr0; + if ( (*( sm->p)) == 93 ) + goto st252; + goto tr2; +st252: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof252; +case 252: + if ( (*( sm->p)) == 32 ) + goto st252; + if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) + goto st252; + goto tr310; st15: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof15; case 15: - if ( (*( sm->p)) == 112 ) + if ( (*( sm->p)) == 120 ) goto st16; - goto tr0; + goto tr2; st16: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof16; case 16: - if ( (*( sm->p)) == 97 ) + if ( (*( sm->p)) == 112 ) goto st17; - goto tr0; + goto tr2; st17: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof17; case 17: - if ( (*( sm->p)) == 110 ) + if ( (*( sm->p)) == 97 ) goto st18; - goto tr0; + goto tr2; st18: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof18; case 18: - if ( (*( sm->p)) == 100 ) + if ( (*( sm->p)) == 110 ) goto st19; - goto tr0; + goto tr2; st19: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof19; case 19: - switch( (*( sm->p)) ) { - case 61: goto st20; - case 93: goto st253; - } - goto tr0; + if ( (*( sm->p)) == 100 ) + goto st20; + goto tr2; st20: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof20; case 20: - if ( (*( sm->p)) == 93 ) - goto tr0; - goto tr24; -tr24: -#line 87 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st21; + switch( (*( sm->p)) ) { + case 61: goto st21; + case 93: goto st254; + } + goto tr2; st21: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof21; case 21: -#line 1403 "ext/dtext/dtext.c" if ( (*( sm->p)) == 93 ) - goto tr26; - goto st21; + goto tr2; + goto tr26; tr26: -#line 91 "ext/dtext/dtext.rl" +#line 95 "ext/dtext/dtext.rl" { - sm->a2 = sm->p; + sm->a1 = sm->p; } - goto st252; -st252: + goto st22; +st22: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof252; -case 252: -#line 1417 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 32 ) - goto st252; - if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) - goto st252; - goto tr310; + goto _test_eof22; +case 22: +#line 1423 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 93 ) + goto tr28; + goto st22; +tr28: +#line 99 "ext/dtext/dtext.rl" + { + sm->a2 = sm->p; +} + goto st253; st253: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof253; case 253: +#line 1437 "ext/dtext/dtext.c" if ( (*( sm->p)) == 32 ) goto st253; if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) goto st253; - goto tr312; -st22: + goto tr311; +st254: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof22; -case 22: - if ( (*( sm->p)) == 111 ) - goto st23; - goto tr0; + goto _test_eof254; +case 254: + if ( (*( sm->p)) == 32 ) + goto st254; + if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) + goto st254; + goto tr313; st23: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof23; case 23: - if ( (*( sm->p)) == 100 ) + if ( (*( sm->p)) == 111 ) goto st24; - goto tr0; + goto tr2; st24: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof24; case 24: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 100 ) goto st25; - goto tr0; + goto tr2; st25: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof25; case 25: - if ( (*( sm->p)) == 101 ) + if ( (*( sm->p)) == 116 ) goto st26; - goto tr0; + goto tr2; st26: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof26; case 26: - if ( (*( sm->p)) == 120 ) + if ( (*( sm->p)) == 101 ) goto st27; - goto tr0; + goto tr2; st27: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof27; case 27: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 120 ) goto st28; - goto tr0; + goto tr2; st28: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof28; case 28: - if ( (*( sm->p)) == 93 ) - goto st254; - goto tr0; -st254: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof254; -case 254: - if ( (*( sm->p)) == 32 ) - goto st254; - if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) - goto st254; - goto tr313; + if ( (*( sm->p)) == 116 ) + goto st29; + goto tr2; st29: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof29; case 29: - if ( (*( sm->p)) == 117 ) - goto st30; - goto tr0; + if ( (*( sm->p)) == 93 ) + goto st255; + goto tr2; +st255: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof255; +case 255: + if ( (*( sm->p)) == 32 ) + goto st255; + if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) + goto st255; + goto tr314; st30: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof30; case 30: - if ( (*( sm->p)) == 111 ) + if ( (*( sm->p)) == 117 ) goto st31; - goto tr0; + goto tr2; st31: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof31; case 31: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 111 ) goto st32; - goto tr0; + goto tr2; st32: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof32; case 32: - if ( (*( sm->p)) == 101 ) + if ( (*( sm->p)) == 116 ) goto st33; - goto tr0; + goto tr2; st33: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof33; case 33: - if ( (*( sm->p)) == 93 ) - goto st255; - goto tr0; -st255: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof255; -case 255: - if ( (*( sm->p)) == 32 ) - goto st255; - if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) - goto st255; - goto tr314; + if ( (*( sm->p)) == 101 ) + goto st34; + goto tr2; st34: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof34; case 34: - if ( (*( sm->p)) == 112 ) - goto st35; - goto tr0; + if ( (*( sm->p)) == 93 ) + goto st256; + goto tr2; +st256: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof256; +case 256: + if ( (*( sm->p)) == 32 ) + goto st256; + if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) + goto st256; + goto tr315; st35: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof35; case 35: - if ( (*( sm->p)) == 111 ) + if ( (*( sm->p)) == 112 ) goto st36; - goto tr0; + goto tr2; st36: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof36; case 36: - if ( (*( sm->p)) == 105 ) + if ( (*( sm->p)) == 111 ) goto st37; - goto tr0; + goto tr2; st37: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof37; case 37: - if ( (*( sm->p)) == 108 ) + if ( (*( sm->p)) == 105 ) goto st38; - goto tr0; + goto tr2; st38: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof38; case 38: - if ( (*( sm->p)) == 101 ) + if ( (*( sm->p)) == 108 ) goto st39; - goto tr0; + goto tr2; st39: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof39; case 39: - if ( (*( sm->p)) == 114 ) + if ( (*( sm->p)) == 101 ) goto st40; - goto tr0; + goto tr2; st40: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof40; case 40: - if ( (*( sm->p)) == 93 ) - goto st256; - goto tr0; -st256: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof256; -case 256: - if ( (*( sm->p)) == 32 ) - goto st256; - if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) - goto st256; - goto tr315; + if ( (*( sm->p)) == 114 ) + goto st41; + goto tr2; st41: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof41; case 41: - switch( (*( sm->p)) ) { - case 97: goto st42; - case 110: goto st46; - } - goto tr0; + if ( (*( sm->p)) == 93 ) + goto st257; + goto tr2; +st257: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof257; +case 257: + if ( (*( sm->p)) == 32 ) + goto st257; + if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) + goto st257; + goto tr316; st42: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof42; case 42: - if ( (*( sm->p)) == 98 ) - goto st43; - goto tr0; + switch( (*( sm->p)) ) { + case 97: goto st43; + case 110: goto st47; + } + goto tr2; st43: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof43; case 43: - if ( (*( sm->p)) == 108 ) + if ( (*( sm->p)) == 98 ) goto st44; - goto tr0; + goto tr2; st44: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof44; case 44: - if ( (*( sm->p)) == 101 ) + if ( (*( sm->p)) == 108 ) goto st45; - goto tr0; + goto tr2; st45: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof45; case 45: - if ( (*( sm->p)) == 93 ) - goto tr51; - goto tr0; + if ( (*( sm->p)) == 101 ) + goto st46; + goto tr2; st46: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof46; case 46: if ( (*( sm->p)) == 93 ) - goto tr52; - goto tr0; -tr295: + goto tr53; + goto tr2; +st47: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof47; +case 47: + if ( (*( sm->p)) == 93 ) + goto tr54; + goto tr2; +tr298: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} - goto st257; -st257: + goto st258; +st258: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof257; -case 257: -#line 1644 "ext/dtext/dtext.c" + goto _test_eof258; +case 258: +#line 1664 "ext/dtext/dtext.c" if ( 49 <= (*( sm->p)) && (*( sm->p)) <= 54 ) - goto tr316; - goto tr299; -tr316: -#line 87 "ext/dtext/dtext.rl" + goto tr317; + goto tr300; +tr317: +#line 95 "ext/dtext/dtext.rl" { sm->a1 = sm->p; } - goto st47; -st47: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof47; -case 47: -#line 1658 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 46 ) - goto tr53; - goto tr0; -tr53: -#line 91 "ext/dtext/dtext.rl" - { - sm->a2 = sm->p; -} goto st48; st48: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof48; case 48: -#line 1672 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 0: goto tr0; - case 9: goto tr55; - case 10: goto tr0; - case 13: goto tr0; - case 32: goto tr55; - } - goto tr54; -tr54: -#line 95 "ext/dtext/dtext.rl" - { - sm->b1 = sm->p; -} - goto st258; -st258: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof258; -case 258: -#line 1691 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 0: goto tr317; - case 10: goto tr317; - case 13: goto tr317; - } - goto st258; +#line 1678 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 46 ) + goto tr55; + goto tr2; tr55: -#line 95 "ext/dtext/dtext.rl" +#line 99 "ext/dtext/dtext.rl" { - sm->b1 = sm->p; + sm->a2 = sm->p; } goto st259; st259: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof259; case 259: -#line 1708 "ext/dtext/dtext.c" +#line 1692 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr317; - case 9: goto tr55; - case 10: goto tr317; - case 13: goto tr317; - case 32: goto tr55; + case 9: goto st259; + case 32: goto st259; } - goto tr54; + goto tr318; tr56: -#line 624 "ext/dtext/dtext.rl" +#line 1 "NONE" + { switch( ( sm->act) ) { + case 18: + {{( sm->p) = ((( sm->te)))-1;} + append_segment_html_escaped(sm, sm->ts, sm->te - 1); + } + break; + case 19: + {{( sm->p) = ((( sm->te)))-1;} + if (is_boundary_c((*( sm->p)))) { + sm->b = true; + sm->d = 2; + } else { + sm->b = false; + sm->d = 1; + } + + append(sm, true, "<a rel=\"nofollow\" href=\"/users?name="); + append_segment_uri_escaped(sm, sm->a1, sm->a2 - sm->d); + append(sm, true, "\">"); + append_c(sm, '@'); + append_segment_html_escaped(sm, sm->a1, sm->a2 - sm->d); + append(sm, true, "</a>"); + + if (sm->b) { + append_c_html_escaped(sm, (*( sm->p))); + } + } + break; + case 42: + {{( sm->p) = ((( sm->te)))-1;} + g_debug("inline newline2"); + g_debug(" return"); + + if (sm->list_mode) { + dstack_close_list(sm); + sm->list_mode = false; + } + + {( sm->p) = (( sm->ts))-1;} + { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} + } + break; + case 43: + {{( sm->p) = ((( sm->te)))-1;} + g_debug("inline newline"); + + if (sm->header_mode) { + sm->header_mode = false; + dstack_rewind(sm); + { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} + } else { + append(sm, true, "<br>"); + } + } + break; + } + } + goto st260; +tr58: +#line 597 "ext/dtext/dtext.rl" {{( sm->p) = ((( sm->te)))-1;}{ - g_debug("inline c: %c", (*( sm->p))); + g_debug("inline newline"); + + if (sm->header_mode) { + sm->header_mode = false; + dstack_rewind(sm); + { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} + } else { + append(sm, true, "<br>"); + } + }} + goto st260; +tr63: +#line 613 "ext/dtext/dtext.rl" + {{( sm->p) = ((( sm->te)))-1;}{ + g_debug("inline char: %c", (*( sm->p))); append_c_html_escaped(sm, (*( sm->p))); }} goto st260; -tr67: -#line 99 "ext/dtext/dtext.rl" +tr74: +#line 107 "ext/dtext/dtext.rl" { sm->b2 = sm->p; } -#line 320 "ext/dtext/dtext.rl" +#line 328 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ append(sm, true, "<a href=\""); - append_segment_uri_escaped(sm, sm->b1, sm->b2 - 1); + append_segment_html_escaped(sm, sm->b1, sm->b2 - 1); append(sm, true, "\">"); append_segment_html_escaped(sm, sm->a1, sm->a2 - 1); append(sm, true, "</a>"); }} goto st260; -tr93: -#line 392 "ext/dtext/dtext.rl" +tr122: +#line 236 "ext/dtext/dtext.rl" + {{( sm->p) = ((( sm->te)))-1;}{ + append(sm, true, "<a href=\"http://www.pixiv.net/member_illust.php?mode=medium&illust_id="); + append_segment(sm, true, sm->a1, sm->a2 - 1); + append(sm, true, "\">"); + append(sm, false, "pixiv #"); + append_segment(sm, false, sm->a1, sm->a2 - 1); + append(sm, true, "</a>"); + }} + goto st260; +tr141: +#line 169 "ext/dtext/dtext.rl" + {{( sm->p) = ((( sm->te)))-1;}{ + append(sm, true, "<a href=\"/forum_topics/"); + append_segment(sm, true, sm->a1, sm->a2 - 1); + append(sm, true, "\">"); + append(sm, false, "topic #"); + append_segment(sm, false, sm->a1, sm->a2 - 1); + append(sm, true, "</a>"); + }} + goto st260; +tr156: +#line 403 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, INLINE_B)) { dstack_pop(sm); append(sm, true, "</strong>"); } else { append(sm, true, "[/b]"); } }} goto st260; -tr99: -#line 541 "ext/dtext/dtext.rl" +tr162: +#line 539 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ - if (dstack_check(sm, BLOCK_P)) { - append_closing_p(sm); - append_newline(sm); - dstack_pop(sm); - } + dstack_close_before_block(sm); if (dstack_check(sm, BLOCK_EXPAND)) { - append_newline(sm); append_block(sm, "</div></div>"); - append_newline(sm); - append_newline(sm); dstack_pop(sm); { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else { append_block(sm, "[/expand]"); } }} goto st260; -tr100: -#line 406 "ext/dtext/dtext.rl" +tr163: +#line 417 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, INLINE_I)) { dstack_pop(sm); append(sm, true, "</em>"); } else { append(sm, true, "[/i]"); } }} goto st260; -tr106: -#line 420 "ext/dtext/dtext.rl" +tr169: +#line 431 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, INLINE_S)) { dstack_pop(sm); append(sm, true, "</s>"); } else { append(sm, true, "[/s]"); } }} goto st260; -tr113: -#line 508 "ext/dtext/dtext.rl" +tr176: +#line 511 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ g_debug("inline [/spoiler]"); + dstack_close_before_block(sm); if (dstack_check(sm, INLINE_SPOILER)) { g_debug(" pop dstack"); g_debug(" print </span>"); dstack_pop(sm); append(sm, true, "</span>"); - } else if (dstack_check(sm, BLOCK_P) && dstack_check2(sm, BLOCK_SPOILER)) { + } else if (dstack_check(sm, BLOCK_SPOILER)) { g_debug(" pop dstack"); - g_debug(" print </p></div>"); + g_debug(" print </div>"); g_debug(" return"); dstack_pop(sm); - dstack_pop(sm); - append_newline(sm); - append_closing_p(sm); append_block(sm, "</div>"); - append_newline(sm); - append_newline(sm); - { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else { append_block(sm, "[/spoiler]"); } }} goto st260; -tr117: -#line 577 "ext/dtext/dtext.rl" +tr180: +#line 566 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_TD)) { dstack_pop(sm); - append_newline(sm); append_block(sm, "</td>"); - append_newline(sm); { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else { append_block(sm, "[/td]"); } }} goto st260; -tr118: -#line 565 "ext/dtext/dtext.rl" +tr181: +#line 556 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_TH)) { dstack_pop(sm); - append_newline(sm); append_block(sm, "</th>"); - append_newline(sm); { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else { append_block(sm, "[/th]"); } }} goto st260; -tr119: -#line 448 "ext/dtext/dtext.rl" +tr182: +#line 459 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ + dstack_close_before_block(sm); + if (dstack_check(sm, BLOCK_TN)) { dstack_pop(sm); - append_closing_p(sm); - append_newline(sm); { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else if (dstack_check(sm, INLINE_TN)) { dstack_pop(sm); append(sm, true, "</span>"); } else { append_block(sm, "[/tn]"); } }} goto st260; -tr120: -#line 434 "ext/dtext/dtext.rl" +tr183: +#line 445 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, INLINE_U)) { dstack_pop(sm); append(sm, true, "</u>"); } else { append(sm, true, "[/u]"); } }} goto st260; -tr125: -#line 258 "ext/dtext/dtext.rl" +tr188: +#line 266 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ GString * segment = g_string_new_len(sm->a1, sm->a2 - sm->a1); GString * lowercase_segment = NULL; underscore_string(segment->str, segment->len); @@ -1892,12 +1953,12 @@ g_string_free(lowercase_segment, TRUE); g_string_free(segment, TRUE); }} goto st260; -tr129: -#line 279 "ext/dtext/dtext.rl" +tr192: +#line 287 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ GString * segment = g_string_new_len(sm->a1, sm->a2 - sm->a1); GString * lowercase_segment = NULL; underscore_string(segment->str, segment->len); @@ -1915,35 +1976,35 @@ g_string_free(lowercase_segment, TRUE); g_string_free(segment, TRUE); }} goto st260; -tr130: -#line 387 "ext/dtext/dtext.rl" +tr193: +#line 398 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &INLINE_B); append(sm, true, "<strong>"); }} goto st260; -tr136: -#line 534 "ext/dtext/dtext.rl" +tr199: +#line 532 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ g_debug("inline [expand]"); dstack_rewind(sm); {( sm->p) = (((sm->p - 7)))-1;} { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} goto st260; -tr137: -#line 401 "ext/dtext/dtext.rl" +tr200: +#line 412 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &INLINE_I); append(sm, true, "<em>"); }} goto st260; -tr144: -#line 560 "ext/dtext/dtext.rl" +tr207: +#line 551 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &INLINE_NODTEXT); { size_t len = sm->stack->len; @@ -1953,254 +2014,176 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 260; goto st298;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 260; goto st297;}} }} goto st260; -tr149: -#line 470 "ext/dtext/dtext.rl" +tr212: +#line 481 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ g_debug("inline [quote]"); - - if (dstack_check(sm, BLOCK_P)) { - g_debug(" pop dstack"); - g_debug(" print </p>"); - - dstack_pop(sm); - append_closing_p(sm); - append_newline(sm); - } - + dstack_close_before_block(sm); {( sm->p) = (( sm->ts))-1;} { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} goto st260; -tr150: -#line 415 "ext/dtext/dtext.rl" +tr213: +#line 426 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &INLINE_S); append(sm, true, "<s>"); }} goto st260; -tr157: -#line 501 "ext/dtext/dtext.rl" +tr220: +#line 504 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ g_debug("inline [spoiler]"); g_debug(" push <span>"); dstack_push(sm, &INLINE_SPOILER); append(sm, true, "<span class=\"spoiler\">"); }} goto st260; -tr159: -#line 443 "ext/dtext/dtext.rl" +tr222: +#line 454 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &INLINE_TN); append(sm, true, "<span class=\"tn\">"); }} goto st260; -tr160: -#line 429 "ext/dtext/dtext.rl" +tr223: +#line 440 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &INLINE_U); append(sm, true, "<u>"); }} goto st260; -tr204: -#line 228 "ext/dtext/dtext.rl" - {{( sm->p) = ((( sm->te)))-1;}{ - append(sm, true, "<a href=\"http://www.pixiv.net/member_illust.php?mode=medium&illust_id="); - append_segment(sm, true, sm->a1, sm->a2 - 1); - append(sm, true, "\">"); - append(sm, false, "pixiv #"); - append_segment(sm, false, sm->a1, sm->a2 - 1); - append(sm, true, "</a>"); - }} - goto st260; -tr223: -#line 161 "ext/dtext/dtext.rl" - {{( sm->p) = ((( sm->te)))-1;}{ - append(sm, true, "<a href=\"/forum_topics/"); - append_segment(sm, true, sm->a1, sm->a2 - 1); - append(sm, true, "\">"); - append(sm, false, "topic #"); - append_segment(sm, false, sm->a1, sm->a2 - 1); - append(sm, true, "</a>"); - }} - goto st260; -tr234: -#line 250 "ext/dtext/dtext.rl" +tr235: +#line 258 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ append(sm, true, "<a rel=\"nofollow\" href=\"/posts?tags="); append_segment_uri_escaped(sm, sm->a1, sm->a2 - 1); append(sm, true, "\">"); append_segment_html_escaped(sm, sm->a1, sm->a2 - 1); append(sm, true, "</a>"); }} goto st260; -tr319: -#line 624 "ext/dtext/dtext.rl" +tr320: +#line 613 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ - g_debug("inline c: %c", (*( sm->p))); + g_debug("inline char: %c", (*( sm->p))); append_c_html_escaped(sm, (*( sm->p))); }} goto st260; -tr320: -#line 589 "ext/dtext/dtext.rl" +tr321: +#line 576 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ g_debug("inline 0"); g_debug(" return"); ( sm->p)--; { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} goto st260; tr336: -#line 1 "NONE" - { switch( ( sm->act) ) { - case 18: - {{( sm->p) = ((( sm->te)))-1;} - append_segment_html_escaped(sm, sm->ts, sm->te - 1); - } - break; - case 19: - {{( sm->p) = ((( sm->te)))-1;} - if (is_boundary_c((*( sm->p)))) { - sm->b = true; - sm->d = 2; +#line 597 "ext/dtext/dtext.rl" + {( sm->te) = ( sm->p);( sm->p)--;{ + g_debug("inline newline"); + + if (sm->header_mode) { + sm->header_mode = false; + dstack_rewind(sm); + { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else { - sm->b = false; - sm->d = 1; + append(sm, true, "<br>"); } - - append(sm, true, "<a rel=\"nofollow\" href=\"/users?name="); - append_segment_uri_escaped(sm, sm->a1, sm->a2 - sm->d); - append(sm, true, "\">"); - append_c(sm, '@'); - append_segment_html_escaped(sm, sm->a1, sm->a2 - sm->d); - append(sm, true, "</a>"); - - if (sm->b) { - append_c_html_escaped(sm, (*( sm->p))); - } - } - break; - case 42: - {{( sm->p) = ((( sm->te)))-1;} + }} + goto st260; +tr339: +#line 584 "ext/dtext/dtext.rl" + {( sm->te) = ( sm->p);( sm->p)--;{ g_debug("inline newline2"); g_debug(" return"); if (sm->list_mode) { - if (dstack_check(sm, BLOCK_LI)) { - dstack_rewind(sm); - } - + dstack_close_list(sm); sm->list_mode = false; } {( sm->p) = (( sm->ts))-1;} { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} - } - break; - case 43: - {{( sm->p) = ((( sm->te)))-1;} - g_debug("inline newline"); - - if (sm->list_mode && (*(sm->p+1) == '*') && dstack_check(sm, BLOCK_LI)) { - dstack_rewind(sm); - } else { - append(sm, true, "<br>"); - append_newline(sm); - } - } - break; - } - } + }} goto st260; -tr338: -#line 613 "ext/dtext/dtext.rl" +tr340: + sm->cs = 260; +#line 107 "ext/dtext/dtext.rl" + { + sm->b2 = sm->p; +} +#line 382 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ - g_debug("inline newline"); + g_debug("inline list"); - if (sm->list_mode && (*(sm->p+1) == '*') && dstack_check(sm, BLOCK_LI)) { + if (dstack_check(sm, BLOCK_LI)) { + g_debug(" rewind li"); dstack_rewind(sm); - } else { - append(sm, true, "<br>"); - append_newline(sm); + } else if (dstack_check(sm, BLOCK_P)) { + g_debug(" rewind p"); + dstack_rewind(sm); } + + g_debug(" next list"); + {( sm->p) = (( sm->ts + 1))-1;} + sm->cs = 301; }} + goto _again; +tr342: +#line 609 "ext/dtext/dtext.rl" + {( sm->te) = ( sm->p);( sm->p)--;{ + append_c(sm, ' '); + }} goto st260; -tr339: -#line 624 "ext/dtext/dtext.rl" +tr343: +#line 613 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ - g_debug("inline c: %c", (*( sm->p))); + g_debug("inline char: %c", (*( sm->p))); append_c_html_escaped(sm, (*( sm->p))); }} goto st260; -tr341: -#line 99 "ext/dtext/dtext.rl" +tr345: +#line 107 "ext/dtext/dtext.rl" { sm->b2 = sm->p; } -#line 300 "ext/dtext/dtext.rl" +#line 308 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ if (is_boundary_c((*( sm->p)))) { sm->d = 2; sm->b = true; } else { sm->d = 1; sm->b = false; } append(sm, true, "<a href=\""); - append_segment_uri_escaped(sm, sm->b1, sm->b2 - sm->d); + append_segment_html_escaped(sm, sm->b1, sm->b2 - sm->d); append(sm, true, "\">"); append_segment_html_escaped(sm, sm->a1, sm->a2 - 1); append(sm, true, "</a>"); if (sm->b) { append_c_html_escaped(sm, (*( sm->p))); } }} goto st260; -tr342: +tr347: #line 99 "ext/dtext/dtext.rl" { - sm->b2 = sm->p; -} -#line 374 "ext/dtext/dtext.rl" - {( sm->te) = ( sm->p);( sm->p)--;{ - g_debug("inline list"); - - if (dstack_check(sm, BLOCK_P)) { - g_debug(" rewind p"); - dstack_rewind(sm); - } - - g_debug(" call list"); - {( sm->p) = (( sm->ts))-1;} - { - size_t len = sm->stack->len; - - if (len > MAX_STACK_DEPTH) { - free_machine(sm); - rb_raise(rb_eSyntaxError, "too many nested elements"); - } - - if (sm->top >= len) { - sm->stack = g_array_set_size(sm->stack, len + 16); - } -{( ((int *)sm->stack->data))[( sm->top)++] = 260; goto st302;}} - }} - goto st260; -tr345: -#line 91 "ext/dtext/dtext.rl" - { sm->a2 = sm->p; } -#line 353 "ext/dtext/dtext.rl" +#line 361 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ if (is_boundary_c((*( sm->p)))) { sm->b = true; sm->d = 2; } else { @@ -2218,12 +2201,12 @@ if (sm->b) { append_c_html_escaped(sm, (*( sm->p))); } }} goto st260; -tr348: -#line 91 "ext/dtext/dtext.rl" +tr350: +#line 99 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } #line 1 "NONE" { switch( ( sm->act) ) { @@ -2258,14 +2241,11 @@ {{( sm->p) = ((( sm->te)))-1;} g_debug("inline newline2"); g_debug(" return"); if (sm->list_mode) { - if (dstack_check(sm, BLOCK_LI)) { - dstack_rewind(sm); - } - + dstack_close_list(sm); sm->list_mode = false; } {( sm->p) = (( sm->ts))-1;} { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} @@ -2273,153 +2253,103 @@ break; case 43: {{( sm->p) = ((( sm->te)))-1;} g_debug("inline newline"); - if (sm->list_mode && (*(sm->p+1) == '*') && dstack_check(sm, BLOCK_LI)) { + if (sm->header_mode) { + sm->header_mode = false; dstack_rewind(sm); + { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else { append(sm, true, "<br>"); - append_newline(sm); } } break; } } goto st260; -tr359: -#line 486 "ext/dtext/dtext.rl" - {( sm->te) = ( sm->p);( sm->p)--;{ - g_debug("inline [/quote]"); - - if (dstack_check(sm, BLOCK_P)) { - dstack_rewind(sm); - } - - if (dstack_check(sm, BLOCK_QUOTE)) { - dstack_rewind(sm); - { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} - } else { - append_block(sm, "[/quote]"); - } - }} - goto st260; -tr361: -#line 91 "ext/dtext/dtext.rl" +tr352: +#line 99 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 210 "ext/dtext/dtext.rl" +#line 218 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ append(sm, true, "<a href=\"/artists/"); append_segment(sm, true, sm->a1, sm->a2 - 1); append(sm, true, "\">"); append(sm, false, "artist #"); append_segment(sm, false, sm->a1, sm->a2 - 1); append(sm, true, "</a>"); }} goto st260; -tr364: -#line 91 "ext/dtext/dtext.rl" +tr355: +#line 99 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 183 "ext/dtext/dtext.rl" +#line 191 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ append(sm, true, "<a href=\"/comments/"); append_segment(sm, true, sm->a1, sm->a2 - 1); append(sm, true, "\">"); append(sm, false, "comment #"); append_segment(sm, false, sm->a1, sm->a2 - 1); append(sm, true, "</a>"); }} goto st260; -tr367: -#line 91 "ext/dtext/dtext.rl" +tr358: +#line 99 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 152 "ext/dtext/dtext.rl" +#line 160 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ append(sm, true, "<a href=\"/forum_posts/"); append_segment(sm, true, sm->a1, sm->a2 - 1); append(sm, true, "\">"); append(sm, false, "forum #"); append_segment(sm, false, sm->a1, sm->a2 - 1); append(sm, true, "</a>"); }} goto st260; -tr371: +tr361: #line 99 "ext/dtext/dtext.rl" { - sm->b2 = sm->p; -} -#line 464 "ext/dtext/dtext.rl" - {( sm->te) = ( sm->p);( sm->p)--;{ - dstack_rewind(sm); - {( sm->p) = (( sm->a1 - 1))-1;} - { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} - }} - goto st260; -tr373: -#line 328 "ext/dtext/dtext.rl" - {( sm->te) = ( sm->p);( sm->p)--;{ - if (is_boundary_c((*( sm->p)))) { - sm->b = true; - sm->d = 2; - } else { - sm->b = false; - sm->d = 1; - } - - append(sm, true, "<a href=\""); - append_segment_uri_escaped(sm, sm->ts, sm->te - sm->d); - append(sm, true, "\">"); - append_segment_html_escaped(sm, sm->ts, sm->te - sm->d); - append(sm, true, "</a>"); - - if (sm->b) { - append_c_html_escaped(sm, (*( sm->p))); - } - }} - goto st260; -tr375: -#line 91 "ext/dtext/dtext.rl" - { sm->a2 = sm->p; } -#line 219 "ext/dtext/dtext.rl" +#line 227 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ append(sm, true, "<a href=\"https://github.com/r888888888/danbooru/issues/"); append_segment(sm, true, sm->a1, sm->a2 - 1); append(sm, true, "\">"); append(sm, false, "issue #"); append_segment(sm, false, sm->a1, sm->a2 - 1); append(sm, true, "</a>"); }} goto st260; -tr379: -#line 91 "ext/dtext/dtext.rl" +tr365: +#line 99 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 228 "ext/dtext/dtext.rl" +#line 236 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ append(sm, true, "<a href=\"http://www.pixiv.net/member_illust.php?mode=medium&illust_id="); append_segment(sm, true, sm->a1, sm->a2 - 1); append(sm, true, "\">"); append(sm, false, "pixiv #"); append_segment(sm, false, sm->a1, sm->a2 - 1); append(sm, true, "</a>"); }} goto st260; -tr382: -#line 99 "ext/dtext/dtext.rl" +tr368: +#line 107 "ext/dtext/dtext.rl" { sm->b2 = sm->p; } -#line 237 "ext/dtext/dtext.rl" +#line 245 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ append(sm, true, "<a href=\"http://www.pixiv.net/member_illust.php?mode=manga_big&illust_id="); append_segment(sm, true, sm->a1, sm->a2 - 1); append(sm, true, "&page="); append_segment(sm, true, sm->b1, sm->b2 - 1); @@ -2429,61 +2359,61 @@ append(sm, false, "/p"); append_segment(sm, false, sm->b1, sm->b2 - 1); append(sm, true, "</a>"); }} goto st260; -tr384: -#line 91 "ext/dtext/dtext.rl" +tr370: +#line 99 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 192 "ext/dtext/dtext.rl" +#line 200 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ append(sm, true, "<a href=\"/pools/"); append_segment(sm, true, sm->a1, sm->a2 - 1); append(sm, true, "\">"); append(sm, false, "pool #"); append_segment(sm, false, sm->a1, sm->a2 - 1); append(sm, true, "</a>"); }} goto st260; -tr386: -#line 91 "ext/dtext/dtext.rl" +tr372: +#line 99 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 143 "ext/dtext/dtext.rl" +#line 151 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ append(sm, true, "<a href=\"/posts/"); append_segment(sm, true, sm->a1, sm->a2 - 1); append(sm, true, "\">"); append(sm, false, "post #"); append_segment(sm, false, sm->a1, sm->a2 - 1); append(sm, true, "</a>"); }} goto st260; -tr389: -#line 91 "ext/dtext/dtext.rl" +tr375: +#line 99 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 161 "ext/dtext/dtext.rl" +#line 169 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ append(sm, true, "<a href=\"/forum_topics/"); append_segment(sm, true, sm->a1, sm->a2 - 1); append(sm, true, "\">"); append(sm, false, "topic #"); append_segment(sm, false, sm->a1, sm->a2 - 1); append(sm, true, "</a>"); }} goto st260; -tr392: -#line 99 "ext/dtext/dtext.rl" +tr378: +#line 107 "ext/dtext/dtext.rl" { sm->b2 = sm->p; } -#line 170 "ext/dtext/dtext.rl" +#line 178 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ append(sm, true, "<a href=\"/forum_topics/"); append_segment(sm, true, sm->a1, sm->a2 - 1); append(sm, true, "?page="); append_segment(sm, true, sm->b1, sm->b2 - 1); @@ -2493,2103 +2423,2172 @@ append(sm, false, "/p"); append_segment(sm, false, sm->b1, sm->b2 - 1); append(sm, true, "</a>"); }} goto st260; -tr395: -#line 91 "ext/dtext/dtext.rl" +tr381: +#line 99 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } -#line 201 "ext/dtext/dtext.rl" +#line 209 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ append(sm, true, "<a href=\"/users/"); append_segment(sm, true, sm->a1, sm->a2 - 1); append(sm, true, "\">"); append(sm, false, "user #"); append_segment(sm, false, sm->a1, sm->a2 - 1); append(sm, true, "</a>"); }} goto st260; +tr393: +#line 488 "ext/dtext/dtext.rl" + {( sm->te) = ( sm->p);( sm->p)--;{ + g_debug("inline [/quote]"); + dstack_close_before_block(sm); + + if (dstack_check(sm, BLOCK_LI)) { + dstack_close_list(sm); + } + + if (dstack_check(sm, BLOCK_QUOTE)) { + dstack_rewind(sm); + { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} + } else { + append_block(sm, "[/quote]"); + } + }} + goto st260; +tr396: +#line 475 "ext/dtext/dtext.rl" + {( sm->te) = ( sm->p);( sm->p)--;{ + dstack_rewind(sm); + {( sm->p) = (( sm->a1 - 1))-1;} + { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} + }} + goto st260; +tr398: +#line 336 "ext/dtext/dtext.rl" + {( sm->te) = ( sm->p);( sm->p)--;{ + if (is_boundary_c((*( sm->p)))) { + sm->b = true; + sm->d = 2; + } else { + sm->b = false; + sm->d = 1; + } + + append(sm, true, "<a href=\""); + append_segment_html_escaped(sm, sm->ts, sm->te - sm->d); + append(sm, true, "\">"); + append_segment_html_escaped(sm, sm->ts, sm->te - sm->d); + append(sm, true, "</a>"); + + if (sm->b) { + append_c_html_escaped(sm, (*( sm->p))); + } + }} + goto st260; st260: #line 1 "NONE" {( sm->ts) = 0;} if ( ++( sm->p) == ( sm->pe) ) goto _test_eof260; case 260: #line 1 "NONE" {( sm->ts) = ( sm->p);} -#line 2522 "ext/dtext/dtext.c" +#line 2500 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr320; - case 10: goto tr321; - case 13: goto st262; - case 34: goto tr323; - case 42: goto tr324; + case 0: goto tr321; + case 10: goto tr322; + case 13: goto st265; + case 34: goto tr324; case 64: goto st268; - case 91: goto tr326; - case 97: goto tr327; - case 99: goto tr328; - case 102: goto tr329; - case 104: goto tr330; - case 105: goto tr331; - case 112: goto tr332; - case 116: goto tr333; - case 117: goto tr334; + case 65: goto tr326; + case 67: goto tr327; + case 70: goto tr328; + case 73: goto tr329; + case 80: goto tr330; + case 84: goto tr331; + case 85: goto tr332; + case 91: goto tr333; + case 97: goto tr326; + case 99: goto tr327; + case 102: goto tr328; + case 104: goto tr334; + case 105: goto tr329; + case 112: goto tr330; + case 116: goto tr331; + case 117: goto tr332; case 123: goto tr335; } - goto tr319; -tr321: + goto tr320; +tr322: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 613 "ext/dtext/dtext.rl" +#line 597 "ext/dtext/dtext.rl" {( sm->act) = 43;} goto st261; -tr337: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} -#line 597 "ext/dtext/dtext.rl" - {( sm->act) = 42;} - goto st261; st261: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof261; case 261: -#line 2558 "ext/dtext/dtext.c" +#line 2536 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 10: goto tr337; - case 13: goto tr337; + case 10: goto tr57; + case 13: goto st49; + case 42: goto tr338; } goto tr336; +tr57: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} +#line 584 "ext/dtext/dtext.rl" + {( sm->act) = 42;} + goto st262; st262: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof262; case 262: +#line 2553 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 10: goto tr337; - case 13: goto tr337; + case 10: goto tr57; + case 13: goto st49; } - goto tr338; -tr323: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st263; -st263: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof263; -case 263: -#line 2581 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 34 ) - goto tr339; - goto tr340; -tr340: -#line 87 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st49; + goto tr339; st49: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof49; case 49: -#line 2595 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 34 ) - goto tr58; - goto st49; -tr58: -#line 91 "ext/dtext/dtext.rl" + if ( (*( sm->p)) == 10 ) + goto tr57; + goto tr56; +tr338: +#line 95 "ext/dtext/dtext.rl" { - sm->a2 = sm->p; + sm->a1 = sm->p; } goto st50; st50: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof50; case 50: -#line 2609 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 58 ) - goto st51; - goto tr56; +#line 2576 "ext/dtext/dtext.c" + switch( (*( sm->p)) ) { + case 9: goto tr59; + case 32: goto tr59; + case 42: goto st50; + } + goto tr58; +tr59: +#line 99 "ext/dtext/dtext.rl" + { + sm->a2 = sm->p; +} + goto st51; st51: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof51; case 51: +#line 2593 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 47: goto tr60; - case 91: goto st53; - case 104: goto tr62; + case 0: goto tr58; + case 9: goto tr62; + case 10: goto tr58; + case 13: goto tr58; + case 32: goto tr62; } - goto tr56; -tr60: -#line 95 "ext/dtext/dtext.rl" + goto tr61; +tr61: +#line 103 "ext/dtext/dtext.rl" { sm->b1 = sm->p; } - goto st52; -st52: + goto st263; +st263: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof52; -case 52: -#line 2633 "ext/dtext/dtext.c" - if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto st264; - goto tr56; + goto _test_eof263; +case 263: +#line 2612 "ext/dtext/dtext.c" + switch( (*( sm->p)) ) { + case 0: goto tr340; + case 10: goto tr340; + case 13: goto tr340; + } + goto st263; +tr62: +#line 103 "ext/dtext/dtext.rl" + { + sm->b1 = sm->p; +} + goto st264; st264: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof264; case 264: - if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto st264; - goto tr341; -st53: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof53; -case 53: +#line 2629 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 47: goto tr64; - case 104: goto tr65; + case 0: goto tr340; + case 9: goto tr62; + case 10: goto tr340; + case 13: goto tr340; + case 32: goto tr62; } - goto tr56; -tr64: + goto tr61; +st265: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof265; +case 265: + if ( (*( sm->p)) == 10 ) + goto tr322; + goto tr342; +tr324: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st266; +st266: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof266; +case 266: +#line 2653 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 34 ) + goto tr343; + goto tr344; +tr344: #line 95 "ext/dtext/dtext.rl" { - sm->b1 = sm->p; + sm->a1 = sm->p; } - goto st54; + goto st52; +st52: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof52; +case 52: +#line 2667 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 34 ) + goto tr65; + goto st52; +tr65: +#line 99 "ext/dtext/dtext.rl" + { + sm->a2 = sm->p; +} + goto st53; +st53: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof53; +case 53: +#line 2681 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 58 ) + goto st54; + goto tr63; st54: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof54; case 54: -#line 2663 "ext/dtext/dtext.c" - if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto st55; - goto tr56; + switch( (*( sm->p)) ) { + case 47: goto tr67; + case 91: goto st56; + case 104: goto tr69; + } + goto tr63; +tr67: +#line 103 "ext/dtext/dtext.rl" + { + sm->b1 = sm->p; +} + goto st55; st55: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof55; case 55: - if ( (*( sm->p)) == 93 ) - goto tr67; +#line 2705 "ext/dtext/dtext.c" if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto st55; - goto tr56; -tr65: -#line 95 "ext/dtext/dtext.rl" - { - sm->b1 = sm->p; -} - goto st56; + goto st267; + goto tr63; +st267: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof267; +case 267: + if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) + goto st267; + goto tr345; st56: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof56; case 56: -#line 2686 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 116 ) - goto st57; - goto tr56; + switch( (*( sm->p)) ) { + case 47: goto tr71; + case 104: goto tr72; + } + goto tr63; +tr71: +#line 103 "ext/dtext/dtext.rl" + { + sm->b1 = sm->p; +} + goto st57; st57: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof57; case 57: - if ( (*( sm->p)) == 116 ) +#line 2735 "ext/dtext/dtext.c" + if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) goto st58; - goto tr56; + goto tr63; st58: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof58; case 58: - if ( (*( sm->p)) == 112 ) - goto st59; - goto tr56; + if ( (*( sm->p)) == 93 ) + goto tr74; + if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) + goto st58; + goto tr63; +tr72: +#line 103 "ext/dtext/dtext.rl" + { + sm->b1 = sm->p; +} + goto st59; st59: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof59; case 59: - switch( (*( sm->p)) ) { - case 58: goto st60; - case 115: goto st62; - } - goto tr56; +#line 2758 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 116 ) + goto st60; + goto tr63; st60: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof60; case 60: - if ( (*( sm->p)) == 47 ) + if ( (*( sm->p)) == 116 ) goto st61; - goto tr56; + goto tr63; st61: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof61; case 61: - if ( (*( sm->p)) == 47 ) - goto st54; - goto tr56; + if ( (*( sm->p)) == 112 ) + goto st62; + goto tr63; st62: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof62; case 62: - if ( (*( sm->p)) == 58 ) - goto st60; - goto tr56; -tr62: -#line 95 "ext/dtext/dtext.rl" - { - sm->b1 = sm->p; -} - goto st63; + switch( (*( sm->p)) ) { + case 58: goto st63; + case 115: goto st65; + } + goto tr63; st63: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof63; case 63: -#line 2744 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 47 ) goto st64; - goto tr56; + goto tr63; st64: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof64; case 64: - if ( (*( sm->p)) == 116 ) - goto st65; - goto tr56; + if ( (*( sm->p)) == 47 ) + goto st57; + goto tr63; st65: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof65; case 65: - if ( (*( sm->p)) == 112 ) - goto st66; - goto tr56; + if ( (*( sm->p)) == 58 ) + goto st63; + goto tr63; +tr69: +#line 103 "ext/dtext/dtext.rl" + { + sm->b1 = sm->p; +} + goto st66; st66: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof66; case 66: - switch( (*( sm->p)) ) { - case 58: goto st67; - case 115: goto st69; - } - goto tr56; +#line 2816 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 116 ) + goto st67; + goto tr63; st67: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof67; case 67: - if ( (*( sm->p)) == 47 ) + if ( (*( sm->p)) == 116 ) goto st68; - goto tr56; + goto tr63; st68: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof68; case 68: - if ( (*( sm->p)) == 47 ) - goto st52; - goto tr56; + if ( (*( sm->p)) == 112 ) + goto st69; + goto tr63; st69: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof69; case 69: - if ( (*( sm->p)) == 58 ) - goto st67; - goto tr56; -tr324: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} -#line 87 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st265; -st265: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof265; -case 265: -#line 2804 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 9: goto tr84; - case 32: goto tr84; - case 42: goto st71; + case 58: goto st70; + case 115: goto st72; } - goto tr339; -tr84: -#line 91 "ext/dtext/dtext.rl" - { - sm->a2 = sm->p; -} - goto st70; + goto tr63; st70: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof70; case 70: -#line 2821 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 0: goto tr56; - case 9: goto tr83; - case 10: goto tr56; - case 13: goto tr56; - case 32: goto tr83; - } - goto tr82; -tr82: -#line 95 "ext/dtext/dtext.rl" - { - sm->b1 = sm->p; -} - goto st266; -st266: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof266; -case 266: -#line 2840 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 0: goto tr342; - case 10: goto tr342; - case 13: goto tr342; - } - goto st266; -tr83: -#line 95 "ext/dtext/dtext.rl" - { - sm->b1 = sm->p; -} - goto st267; -st267: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof267; -case 267: -#line 2857 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 0: goto tr342; - case 9: goto tr83; - case 10: goto tr342; - case 13: goto tr342; - case 32: goto tr83; - } - goto tr82; + if ( (*( sm->p)) == 47 ) + goto st71; + goto tr63; st71: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof71; case 71: - switch( (*( sm->p)) ) { - case 9: goto tr84; - case 32: goto tr84; - case 42: goto st71; - } - goto tr56; + if ( (*( sm->p)) == 47 ) + goto st55; + goto tr63; +st72: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof72; +case 72: + if ( (*( sm->p)) == 58 ) + goto st70; + goto tr63; st268: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof268; case 268: if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto tr344; - goto tr339; -tr344: -#line 87 "ext/dtext/dtext.rl" + goto tr346; + goto tr343; +tr346: +#line 95 "ext/dtext/dtext.rl" { sm->a1 = sm->p; } goto st269; st269: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof269; case 269: -#line 2893 "ext/dtext/dtext.c" +#line 2881 "ext/dtext/dtext.c" if ( (*( sm->p)) == 64 ) - goto tr347; + goto tr349; if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto tr346; - goto tr345; -tr346: + goto tr348; + goto tr347; +tr348: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 353 "ext/dtext/dtext.rl" +#line 361 "ext/dtext/dtext.rl" {( sm->act) = 19;} goto st270; -tr347: +tr349: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 349 "ext/dtext/dtext.rl" +#line 357 "ext/dtext/dtext.rl" {( sm->act) = 18;} goto st270; st270: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof270; case 270: -#line 2915 "ext/dtext/dtext.c" +#line 2903 "ext/dtext/dtext.c" if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto tr346; - goto tr348; + goto tr348; + goto tr350; tr326: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} goto st271; st271: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof271; case 271: -#line 2927 "ext/dtext/dtext.c" +#line 2915 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 47: goto st72; - case 91: goto st98; - case 98: goto st104; - case 101: goto st105; - case 105: goto st111; - case 110: goto st112; - case 113: goto st119; - case 115: goto st124; - case 116: goto st131; - case 117: goto st133; + case 82: goto st73; + case 114: goto st73; } - goto tr339; -st72: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof72; -case 72: - switch( (*( sm->p)) ) { - case 98: goto st73; - case 101: goto st74; - case 105: goto st80; - case 113: goto st81; - case 115: goto st86; - case 116: goto st93; - case 117: goto st97; - } - goto tr56; + goto tr343; st73: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof73; case 73: - if ( (*( sm->p)) == 93 ) - goto tr93; - goto tr56; + switch( (*( sm->p)) ) { + case 84: goto st74; + case 116: goto st74; + } + goto tr63; st74: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof74; case 74: - if ( (*( sm->p)) == 120 ) - goto st75; - goto tr56; + switch( (*( sm->p)) ) { + case 73: goto st75; + case 105: goto st75; + } + goto tr63; st75: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof75; case 75: - if ( (*( sm->p)) == 112 ) - goto st76; - goto tr56; + switch( (*( sm->p)) ) { + case 83: goto st76; + case 115: goto st76; + } + goto tr63; st76: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof76; case 76: - if ( (*( sm->p)) == 97 ) - goto st77; - goto tr56; + switch( (*( sm->p)) ) { + case 84: goto st77; + case 116: goto st77; + } + goto tr63; st77: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof77; case 77: - if ( (*( sm->p)) == 110 ) + if ( (*( sm->p)) == 32 ) goto st78; - goto tr56; + goto tr63; st78: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof78; case 78: - if ( (*( sm->p)) == 100 ) + if ( (*( sm->p)) == 35 ) goto st79; - goto tr56; + goto tr63; st79: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof79; case 79: - if ( (*( sm->p)) == 93 ) - goto tr99; - goto tr56; + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr95; + goto tr63; +tr95: +#line 95 "ext/dtext/dtext.rl" + { + sm->a1 = sm->p; +} + goto st272; +st272: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof272; +case 272: +#line 2988 "ext/dtext/dtext.c" + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto st272; + goto tr352; +tr327: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st273; +st273: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof273; +case 273: +#line 3000 "ext/dtext/dtext.c" + switch( (*( sm->p)) ) { + case 79: goto st80; + case 111: goto st80; + } + goto tr343; st80: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof80; case 80: - if ( (*( sm->p)) == 93 ) - goto tr100; - goto tr56; + switch( (*( sm->p)) ) { + case 77: goto st81; + case 109: goto st81; + } + goto tr63; st81: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof81; case 81: - if ( (*( sm->p)) == 117 ) - goto st82; - goto tr56; + switch( (*( sm->p)) ) { + case 77: goto st82; + case 109: goto st82; + } + goto tr63; st82: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof82; case 82: - if ( (*( sm->p)) == 111 ) - goto st83; - goto tr56; + switch( (*( sm->p)) ) { + case 69: goto st83; + case 101: goto st83; + } + goto tr63; st83: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof83; case 83: - if ( (*( sm->p)) == 116 ) - goto st84; - goto tr56; + switch( (*( sm->p)) ) { + case 78: goto st84; + case 110: goto st84; + } + goto tr63; st84: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof84; case 84: - if ( (*( sm->p)) == 101 ) - goto st85; - goto tr56; + switch( (*( sm->p)) ) { + case 84: goto st85; + case 116: goto st85; + } + goto tr63; st85: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof85; case 85: - if ( (*( sm->p)) == 93 ) - goto st272; - goto tr56; -st272: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof272; -case 272: if ( (*( sm->p)) == 32 ) - goto st272; - if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) - goto st272; - goto tr359; + goto st86; + goto tr63; st86: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof86; case 86: - switch( (*( sm->p)) ) { - case 93: goto tr106; - case 112: goto st87; - } - goto tr56; + if ( (*( sm->p)) == 35 ) + goto st87; + goto tr63; st87: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof87; case 87: - if ( (*( sm->p)) == 111 ) - goto st88; - goto tr56; + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr103; + goto tr63; +tr103: +#line 95 "ext/dtext/dtext.rl" + { + sm->a1 = sm->p; +} + goto st274; +st274: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof274; +case 274: +#line 3082 "ext/dtext/dtext.c" + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto st274; + goto tr355; +tr328: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st275; +st275: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof275; +case 275: +#line 3094 "ext/dtext/dtext.c" + switch( (*( sm->p)) ) { + case 79: goto st88; + case 111: goto st88; + } + goto tr343; st88: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof88; case 88: - if ( (*( sm->p)) == 105 ) - goto st89; - goto tr56; + switch( (*( sm->p)) ) { + case 82: goto st89; + case 114: goto st89; + } + goto tr63; st89: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof89; case 89: - if ( (*( sm->p)) == 108 ) - goto st90; - goto tr56; + switch( (*( sm->p)) ) { + case 85: goto st90; + case 117: goto st90; + } + goto tr63; st90: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof90; case 90: - if ( (*( sm->p)) == 101 ) - goto st91; - goto tr56; + switch( (*( sm->p)) ) { + case 77: goto st91; + case 109: goto st91; + } + goto tr63; st91: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof91; case 91: - if ( (*( sm->p)) == 114 ) + if ( (*( sm->p)) == 32 ) goto st92; - goto tr56; + goto tr63; st92: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof92; case 92: - if ( (*( sm->p)) == 93 ) - goto tr113; - goto tr56; + if ( (*( sm->p)) == 35 ) + goto st93; + goto tr63; st93: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof93; case 93: + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr109; + goto tr63; +tr109: +#line 95 "ext/dtext/dtext.rl" + { + sm->a1 = sm->p; +} + goto st276; +st276: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof276; +case 276: +#line 3158 "ext/dtext/dtext.c" + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto st276; + goto tr358; +tr329: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st277; +st277: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof277; +case 277: +#line 3170 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 100: goto st94; - case 104: goto st95; - case 110: goto st96; + case 83: goto st94; + case 115: goto st94; } - goto tr56; + goto tr343; st94: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof94; case 94: - if ( (*( sm->p)) == 93 ) - goto tr117; - goto tr56; + switch( (*( sm->p)) ) { + case 83: goto st95; + case 115: goto st95; + } + goto tr63; st95: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof95; case 95: - if ( (*( sm->p)) == 93 ) - goto tr118; - goto tr56; + switch( (*( sm->p)) ) { + case 85: goto st96; + case 117: goto st96; + } + goto tr63; st96: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof96; case 96: - if ( (*( sm->p)) == 93 ) - goto tr119; - goto tr56; + switch( (*( sm->p)) ) { + case 69: goto st97; + case 101: goto st97; + } + goto tr63; st97: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof97; case 97: - if ( (*( sm->p)) == 93 ) - goto tr120; - goto tr56; + if ( (*( sm->p)) == 32 ) + goto st98; + goto tr63; st98: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof98; case 98: - switch( (*( sm->p)) ) { - case 93: goto tr56; - case 124: goto tr56; - } - goto tr121; -tr121: -#line 87 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st99; + if ( (*( sm->p)) == 35 ) + goto st99; + goto tr63; st99: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof99; case 99: -#line 3163 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 93: goto tr123; - case 124: goto tr124; - } - goto st99; -tr123: -#line 91 "ext/dtext/dtext.rl" + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr115; + goto tr63; +tr115: +#line 95 "ext/dtext/dtext.rl" { - sm->a2 = sm->p; + sm->a1 = sm->p; } - goto st100; + goto st278; +st278: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof278; +case 278: +#line 3234 "ext/dtext/dtext.c" + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto st278; + goto tr361; +tr330: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st279; +st279: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof279; +case 279: +#line 3246 "ext/dtext/dtext.c" + switch( (*( sm->p)) ) { + case 73: goto st100; + case 79: goto st108; + case 105: goto st100; + case 111: goto st108; + } + goto tr343; st100: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof100; case 100: -#line 3179 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 93 ) - goto tr125; - goto tr56; -tr124: -#line 91 "ext/dtext/dtext.rl" - { - sm->a2 = sm->p; -} - goto st101; + switch( (*( sm->p)) ) { + case 88: goto st101; + case 120: goto st101; + } + goto tr63; st101: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof101; case 101: -#line 3193 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 93 ) - goto tr56; - goto tr126; -tr126: -#line 95 "ext/dtext/dtext.rl" - { - sm->b1 = sm->p; -} - goto st102; + switch( (*( sm->p)) ) { + case 73: goto st102; + case 105: goto st102; + } + goto tr63; st102: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof102; case 102: -#line 3207 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 93 ) - goto tr128; - goto st102; -tr128: -#line 99 "ext/dtext/dtext.rl" - { - sm->b2 = sm->p; -} - goto st103; + switch( (*( sm->p)) ) { + case 86: goto st103; + case 118: goto st103; + } + goto tr63; st103: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof103; case 103: -#line 3221 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 93 ) - goto tr129; - goto tr56; + if ( (*( sm->p)) == 32 ) + goto st104; + goto tr63; st104: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof104; case 104: - if ( (*( sm->p)) == 93 ) - goto tr130; - goto tr56; + if ( (*( sm->p)) == 35 ) + goto st105; + goto tr63; st105: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof105; case 105: - if ( (*( sm->p)) == 120 ) - goto st106; - goto tr56; + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr121; + goto tr63; +tr121: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} +#line 95 "ext/dtext/dtext.rl" + { + sm->a1 = sm->p; +} + goto st280; +tr367: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st280; +st280: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof280; +case 280: +#line 3318 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 47 ) + goto tr366; + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr367; + goto tr365; +tr366: +#line 99 "ext/dtext/dtext.rl" + { + sm->a2 = sm->p; +} + goto st106; st106: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof106; case 106: +#line 3334 "ext/dtext/dtext.c" if ( (*( sm->p)) == 112 ) goto st107; - goto tr56; + goto tr122; st107: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof107; case 107: - if ( (*( sm->p)) == 97 ) - goto st108; - goto tr56; + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr124; + goto tr122; +tr124: +#line 103 "ext/dtext/dtext.rl" + { + sm->b1 = sm->p; +} + goto st281; +st281: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof281; +case 281: +#line 3355 "ext/dtext/dtext.c" + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto st281; + goto tr368; st108: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof108; case 108: - if ( (*( sm->p)) == 110 ) - goto st109; - goto tr56; + switch( (*( sm->p)) ) { + case 79: goto st109; + case 83: goto st113; + case 111: goto st109; + case 115: goto st113; + } + goto tr63; st109: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof109; case 109: - if ( (*( sm->p)) == 100 ) - goto st110; - goto tr56; + switch( (*( sm->p)) ) { + case 76: goto st110; + case 108: goto st110; + } + goto tr63; st110: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof110; case 110: - if ( (*( sm->p)) == 93 ) - goto tr136; - goto tr56; + if ( (*( sm->p)) == 32 ) + goto st111; + goto tr63; st111: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof111; case 111: - if ( (*( sm->p)) == 93 ) - goto tr137; - goto tr56; + if ( (*( sm->p)) == 35 ) + goto st112; + goto tr63; st112: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof112; case 112: - if ( (*( sm->p)) == 111 ) - goto st113; - goto tr56; + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr130; + goto tr63; +tr130: +#line 95 "ext/dtext/dtext.rl" + { + sm->a1 = sm->p; +} + goto st282; +st282: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof282; +case 282: +#line 3410 "ext/dtext/dtext.c" + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto st282; + goto tr370; st113: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof113; case 113: - if ( (*( sm->p)) == 100 ) - goto st114; - goto tr56; + switch( (*( sm->p)) ) { + case 84: goto st114; + case 116: goto st114; + } + goto tr63; st114: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof114; case 114: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 32 ) goto st115; - goto tr56; + goto tr63; st115: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof115; case 115: - if ( (*( sm->p)) == 101 ) + if ( (*( sm->p)) == 35 ) goto st116; - goto tr56; + goto tr63; st116: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof116; case 116: - if ( (*( sm->p)) == 120 ) - goto st117; - goto tr56; + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr134; + goto tr63; +tr134: +#line 95 "ext/dtext/dtext.rl" + { + sm->a1 = sm->p; +} + goto st283; +st283: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof283; +case 283: +#line 3454 "ext/dtext/dtext.c" + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto st283; + goto tr372; +tr331: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st284; +st284: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof284; +case 284: +#line 3466 "ext/dtext/dtext.c" + switch( (*( sm->p)) ) { + case 79: goto st117; + case 111: goto st117; + } + goto tr343; st117: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof117; case 117: - if ( (*( sm->p)) == 116 ) - goto st118; - goto tr56; + switch( (*( sm->p)) ) { + case 80: goto st118; + case 112: goto st118; + } + goto tr63; st118: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof118; case 118: - if ( (*( sm->p)) == 93 ) - goto tr144; - goto tr56; + switch( (*( sm->p)) ) { + case 73: goto st119; + case 105: goto st119; + } + goto tr63; st119: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof119; case 119: - if ( (*( sm->p)) == 117 ) - goto st120; - goto tr56; + switch( (*( sm->p)) ) { + case 67: goto st120; + case 99: goto st120; + } + goto tr63; st120: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof120; case 120: - if ( (*( sm->p)) == 111 ) + if ( (*( sm->p)) == 32 ) goto st121; - goto tr56; + goto tr63; st121: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof121; case 121: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 35 ) goto st122; - goto tr56; + goto tr63; st122: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof122; case 122: - if ( (*( sm->p)) == 101 ) - goto st123; - goto tr56; + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr140; + goto tr63; +tr140: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} +#line 95 "ext/dtext/dtext.rl" + { + sm->a1 = sm->p; +} + goto st285; +tr377: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st285; +st285: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof285; +case 285: +#line 3536 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 47 ) + goto tr376; + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr377; + goto tr375; +tr376: +#line 99 "ext/dtext/dtext.rl" + { + sm->a2 = sm->p; +} + goto st123; st123: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof123; case 123: - if ( (*( sm->p)) == 93 ) - goto tr149; - goto tr56; +#line 3552 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 112 ) + goto st124; + goto tr141; st124: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof124; case 124: + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr143; + goto tr141; +tr143: +#line 103 "ext/dtext/dtext.rl" + { + sm->b1 = sm->p; +} + goto st286; +st286: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof286; +case 286: +#line 3573 "ext/dtext/dtext.c" + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto st286; + goto tr378; +tr332: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st287; +st287: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof287; +case 287: +#line 3585 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 93: goto tr150; - case 112: goto st125; + case 83: goto st125; + case 115: goto st125; } - goto tr56; + goto tr343; st125: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof125; case 125: - if ( (*( sm->p)) == 111 ) - goto st126; - goto tr56; + switch( (*( sm->p)) ) { + case 69: goto st126; + case 101: goto st126; + } + goto tr63; st126: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof126; case 126: - if ( (*( sm->p)) == 105 ) - goto st127; - goto tr56; + switch( (*( sm->p)) ) { + case 82: goto st127; + case 114: goto st127; + } + goto tr63; st127: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof127; case 127: - if ( (*( sm->p)) == 108 ) + if ( (*( sm->p)) == 32 ) goto st128; - goto tr56; + goto tr63; st128: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof128; case 128: - if ( (*( sm->p)) == 101 ) + if ( (*( sm->p)) == 35 ) goto st129; - goto tr56; + goto tr63; st129: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof129; case 129: - if ( (*( sm->p)) == 114 ) - goto st130; - goto tr56; + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto tr148; + goto tr63; +tr148: +#line 95 "ext/dtext/dtext.rl" + { + sm->a1 = sm->p; +} + goto st288; +st288: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof288; +case 288: +#line 3640 "ext/dtext/dtext.c" + if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) + goto st288; + goto tr381; +tr333: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} + goto st289; +st289: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof289; +case 289: +#line 3652 "ext/dtext/dtext.c" + switch( (*( sm->p)) ) { + case 47: goto st130; + case 91: goto st156; + case 98: goto st162; + case 101: goto st163; + case 105: goto st169; + case 110: goto st170; + case 113: goto st177; + case 115: goto st182; + case 116: goto st189; + case 117: goto st191; + } + goto tr343; st130: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof130; case 130: - if ( (*( sm->p)) == 93 ) - goto tr157; - goto tr56; + switch( (*( sm->p)) ) { + case 98: goto st131; + case 101: goto st132; + case 105: goto st138; + case 113: goto st139; + case 115: goto st144; + case 116: goto st151; + case 117: goto st155; + } + goto tr63; st131: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof131; case 131: - if ( (*( sm->p)) == 110 ) - goto st132; - goto tr56; + if ( (*( sm->p)) == 93 ) + goto tr156; + goto tr63; st132: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof132; case 132: - if ( (*( sm->p)) == 93 ) - goto tr159; - goto tr56; + if ( (*( sm->p)) == 120 ) + goto st133; + goto tr63; st133: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof133; case 133: - if ( (*( sm->p)) == 93 ) - goto tr160; - goto tr56; -tr327: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st273; -st273: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof273; -case 273: -#line 3445 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 114 ) + if ( (*( sm->p)) == 112 ) goto st134; - goto tr339; + goto tr63; st134: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof134; case 134: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 97 ) goto st135; - goto tr56; + goto tr63; st135: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof135; case 135: - if ( (*( sm->p)) == 105 ) + if ( (*( sm->p)) == 110 ) goto st136; - goto tr56; + goto tr63; st136: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof136; case 136: - if ( (*( sm->p)) == 115 ) + if ( (*( sm->p)) == 100 ) goto st137; - goto tr56; + goto tr63; st137: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof137; case 137: - if ( (*( sm->p)) == 116 ) - goto st138; - goto tr56; + if ( (*( sm->p)) == 93 ) + goto tr162; + goto tr63; st138: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof138; case 138: - if ( (*( sm->p)) == 32 ) - goto st139; - goto tr56; + if ( (*( sm->p)) == 93 ) + goto tr163; + goto tr63; st139: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof139; case 139: - if ( (*( sm->p)) == 35 ) + if ( (*( sm->p)) == 117 ) goto st140; - goto tr56; + goto tr63; st140: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof140; case 140: - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr167; - goto tr56; -tr167: -#line 87 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st274; -st274: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof274; -case 274: -#line 3508 "ext/dtext/dtext.c" - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st274; - goto tr361; -tr328: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st275; -st275: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof275; -case 275: -#line 3520 "ext/dtext/dtext.c" if ( (*( sm->p)) == 111 ) goto st141; - goto tr339; + goto tr63; st141: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof141; case 141: - if ( (*( sm->p)) == 109 ) + if ( (*( sm->p)) == 116 ) goto st142; - goto tr56; + goto tr63; st142: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof142; case 142: - if ( (*( sm->p)) == 109 ) + if ( (*( sm->p)) == 101 ) goto st143; - goto tr56; + goto tr63; st143: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof143; case 143: - if ( (*( sm->p)) == 101 ) - goto st144; - goto tr56; + if ( (*( sm->p)) == 93 ) + goto st290; + goto tr63; +st290: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof290; +case 290: + if ( (*( sm->p)) == 32 ) + goto st290; + if ( 9 <= (*( sm->p)) && (*( sm->p)) <= 13 ) + goto st290; + goto tr393; st144: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof144; case 144: - if ( (*( sm->p)) == 110 ) - goto st145; - goto tr56; + switch( (*( sm->p)) ) { + case 93: goto tr169; + case 112: goto st145; + } + goto tr63; st145: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof145; case 145: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 111 ) goto st146; - goto tr56; + goto tr63; st146: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof146; case 146: - if ( (*( sm->p)) == 32 ) + if ( (*( sm->p)) == 105 ) goto st147; - goto tr56; + goto tr63; st147: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof147; case 147: - if ( (*( sm->p)) == 35 ) + if ( (*( sm->p)) == 108 ) goto st148; - goto tr56; + goto tr63; st148: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof148; case 148: - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr175; - goto tr56; -tr175: -#line 87 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st276; -st276: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof276; -case 276: -#line 3590 "ext/dtext/dtext.c" - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st276; - goto tr364; -tr329: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st277; -st277: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof277; -case 277: -#line 3602 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 111 ) + if ( (*( sm->p)) == 101 ) goto st149; - goto tr339; + goto tr63; st149: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof149; case 149: if ( (*( sm->p)) == 114 ) goto st150; - goto tr56; + goto tr63; st150: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof150; case 150: - if ( (*( sm->p)) == 117 ) - goto st151; - goto tr56; + if ( (*( sm->p)) == 93 ) + goto tr176; + goto tr63; st151: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof151; case 151: - if ( (*( sm->p)) == 109 ) - goto st152; - goto tr56; + switch( (*( sm->p)) ) { + case 100: goto st152; + case 104: goto st153; + case 110: goto st154; + } + goto tr63; st152: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof152; case 152: - if ( (*( sm->p)) == 32 ) - goto st153; - goto tr56; + if ( (*( sm->p)) == 93 ) + goto tr180; + goto tr63; st153: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof153; case 153: - if ( (*( sm->p)) == 35 ) - goto st154; - goto tr56; + if ( (*( sm->p)) == 93 ) + goto tr181; + goto tr63; st154: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof154; case 154: - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr181; - goto tr56; -tr181: -#line 87 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st278; -st278: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof278; -case 278: -#line 3658 "ext/dtext/dtext.c" - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st278; - goto tr367; -tr330: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st279; -st279: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof279; -case 279: -#line 3670 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 116 ) - goto st157; - if ( 49 <= (*( sm->p)) && (*( sm->p)) <= 54 ) - goto tr369; - goto tr339; -tr369: -#line 87 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st155; + if ( (*( sm->p)) == 93 ) + goto tr182; + goto tr63; st155: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof155; case 155: -#line 3686 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 46 ) - goto tr182; - goto tr56; -tr182: -#line 91 "ext/dtext/dtext.rl" - { - sm->a2 = sm->p; -} - goto st156; + if ( (*( sm->p)) == 93 ) + goto tr183; + goto tr63; st156: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof156; case 156: -#line 3700 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr56; - case 9: goto tr184; - case 10: goto tr56; - case 13: goto tr56; - case 32: goto tr184; + case 93: goto tr63; + case 124: goto tr63; } - goto tr183; -tr183: -#line 95 "ext/dtext/dtext.rl" - { - sm->b1 = sm->p; -} - goto st280; -st280: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof280; -case 280: -#line 3719 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 0: goto tr371; - case 10: goto tr371; - case 13: goto tr371; - } - goto st280; + goto tr184; tr184: #line 95 "ext/dtext/dtext.rl" { - sm->b1 = sm->p; + sm->a1 = sm->p; } - goto st281; -st281: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof281; -case 281: -#line 3736 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 0: goto tr371; - case 9: goto tr184; - case 10: goto tr371; - case 13: goto tr371; - case 32: goto tr184; - } - goto tr183; + goto st157; st157: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof157; case 157: - if ( (*( sm->p)) == 116 ) - goto st158; - goto tr56; +#line 3888 "ext/dtext/dtext.c" + switch( (*( sm->p)) ) { + case 93: goto tr186; + case 124: goto tr187; + } + goto st157; +tr186: +#line 99 "ext/dtext/dtext.rl" + { + sm->a2 = sm->p; +} + goto st158; st158: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof158; case 158: - if ( (*( sm->p)) == 112 ) - goto st159; - goto tr56; +#line 3904 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 93 ) + goto tr188; + goto tr63; +tr187: +#line 99 "ext/dtext/dtext.rl" + { + sm->a2 = sm->p; +} + goto st159; st159: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof159; case 159: - switch( (*( sm->p)) ) { - case 58: goto st160; - case 115: goto st163; - } - goto tr56; +#line 3918 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 93 ) + goto tr63; + goto tr189; +tr189: +#line 103 "ext/dtext/dtext.rl" + { + sm->b1 = sm->p; +} + goto st160; st160: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof160; case 160: - if ( (*( sm->p)) == 47 ) - goto st161; - goto tr56; +#line 3932 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 93 ) + goto tr191; + goto st160; +tr191: +#line 107 "ext/dtext/dtext.rl" + { + sm->b2 = sm->p; +} + goto st161; st161: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof161; case 161: - if ( (*( sm->p)) == 47 ) - goto st162; - goto tr56; +#line 3946 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 93 ) + goto tr192; + goto tr63; st162: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof162; case 162: - if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto st282; - goto tr56; -st282: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof282; -case 282: - if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) - goto st282; - goto tr373; + if ( (*( sm->p)) == 93 ) + goto tr193; + goto tr63; st163: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof163; case 163: - if ( (*( sm->p)) == 58 ) - goto st160; - goto tr56; -tr331: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st283; -st283: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof283; -case 283: -#line 3811 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 115 ) + if ( (*( sm->p)) == 120 ) goto st164; - goto tr339; + goto tr63; st164: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof164; case 164: - if ( (*( sm->p)) == 115 ) + if ( (*( sm->p)) == 112 ) goto st165; - goto tr56; + goto tr63; st165: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof165; case 165: - if ( (*( sm->p)) == 117 ) + if ( (*( sm->p)) == 97 ) goto st166; - goto tr56; + goto tr63; st166: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof166; case 166: - if ( (*( sm->p)) == 101 ) + if ( (*( sm->p)) == 110 ) goto st167; - goto tr56; + goto tr63; st167: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof167; case 167: - if ( (*( sm->p)) == 32 ) + if ( (*( sm->p)) == 100 ) goto st168; - goto tr56; + goto tr63; st168: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof168; case 168: - if ( (*( sm->p)) == 35 ) - goto st169; - goto tr56; + if ( (*( sm->p)) == 93 ) + goto tr199; + goto tr63; st169: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof169; case 169: - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr197; - goto tr56; -tr197: -#line 87 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st284; -st284: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof284; -case 284: -#line 3867 "ext/dtext/dtext.c" - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st284; - goto tr375; -tr332: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st285; -st285: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof285; -case 285: -#line 3879 "ext/dtext/dtext.c" - switch( (*( sm->p)) ) { - case 105: goto st170; - case 111: goto st178; - } - goto tr339; + if ( (*( sm->p)) == 93 ) + goto tr200; + goto tr63; st170: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof170; case 170: - if ( (*( sm->p)) == 120 ) + if ( (*( sm->p)) == 111 ) goto st171; - goto tr56; + goto tr63; st171: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof171; case 171: - if ( (*( sm->p)) == 105 ) + if ( (*( sm->p)) == 100 ) goto st172; - goto tr56; + goto tr63; st172: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof172; case 172: - if ( (*( sm->p)) == 118 ) + if ( (*( sm->p)) == 116 ) goto st173; - goto tr56; + goto tr63; st173: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof173; case 173: - if ( (*( sm->p)) == 32 ) + if ( (*( sm->p)) == 101 ) goto st174; - goto tr56; + goto tr63; st174: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof174; case 174: - if ( (*( sm->p)) == 35 ) + if ( (*( sm->p)) == 120 ) goto st175; - goto tr56; + goto tr63; st175: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof175; case 175: - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr203; - goto tr56; -tr203: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} -#line 87 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st286; -tr381: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st286; -st286: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof286; -case 286: -#line 3943 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 47 ) - goto tr380; - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr381; - goto tr379; -tr380: -#line 91 "ext/dtext/dtext.rl" - { - sm->a2 = sm->p; -} - goto st176; + if ( (*( sm->p)) == 116 ) + goto st176; + goto tr63; st176: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof176; case 176: -#line 3959 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 112 ) - goto st177; - goto tr204; + if ( (*( sm->p)) == 93 ) + goto tr207; + goto tr63; st177: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof177; case 177: - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr206; - goto tr204; -tr206: -#line 95 "ext/dtext/dtext.rl" - { - sm->b1 = sm->p; -} - goto st287; -st287: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof287; -case 287: -#line 3980 "ext/dtext/dtext.c" - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st287; - goto tr382; + if ( (*( sm->p)) == 117 ) + goto st178; + goto tr63; st178: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof178; case 178: - switch( (*( sm->p)) ) { - case 111: goto st179; - case 115: goto st183; - } - goto tr56; + if ( (*( sm->p)) == 111 ) + goto st179; + goto tr63; st179: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof179; case 179: - if ( (*( sm->p)) == 108 ) + if ( (*( sm->p)) == 116 ) goto st180; - goto tr56; + goto tr63; st180: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof180; case 180: - if ( (*( sm->p)) == 32 ) + if ( (*( sm->p)) == 101 ) goto st181; - goto tr56; + goto tr63; st181: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof181; case 181: - if ( (*( sm->p)) == 35 ) - goto st182; - goto tr56; + if ( (*( sm->p)) == 93 ) + goto tr212; + goto tr63; st182: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof182; case 182: - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr212; - goto tr56; -tr212: -#line 87 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st288; -st288: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof288; -case 288: -#line 4031 "ext/dtext/dtext.c" - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st288; - goto tr384; + switch( (*( sm->p)) ) { + case 93: goto tr213; + case 112: goto st183; + } + goto tr63; st183: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof183; case 183: - if ( (*( sm->p)) == 116 ) + if ( (*( sm->p)) == 111 ) goto st184; - goto tr56; + goto tr63; st184: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof184; case 184: - if ( (*( sm->p)) == 32 ) + if ( (*( sm->p)) == 105 ) goto st185; - goto tr56; + goto tr63; st185: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof185; case 185: - if ( (*( sm->p)) == 35 ) + if ( (*( sm->p)) == 108 ) goto st186; - goto tr56; + goto tr63; st186: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof186; case 186: - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr216; - goto tr56; -tr216: -#line 87 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} - goto st289; -st289: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof289; -case 289: -#line 4073 "ext/dtext/dtext.c" - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st289; - goto tr386; -tr333: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st290; -st290: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof290; -case 290: -#line 4085 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 111 ) + if ( (*( sm->p)) == 101 ) goto st187; - goto tr339; + goto tr63; st187: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof187; case 187: - if ( (*( sm->p)) == 112 ) + if ( (*( sm->p)) == 114 ) goto st188; - goto tr56; + goto tr63; st188: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof188; case 188: - if ( (*( sm->p)) == 105 ) - goto st189; - goto tr56; + if ( (*( sm->p)) == 93 ) + goto tr220; + goto tr63; st189: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof189; case 189: - if ( (*( sm->p)) == 99 ) + if ( (*( sm->p)) == 110 ) goto st190; - goto tr56; + goto tr63; st190: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof190; case 190: - if ( (*( sm->p)) == 32 ) - goto st191; - goto tr56; + if ( (*( sm->p)) == 93 ) + goto tr222; + goto tr63; st191: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof191; case 191: - if ( (*( sm->p)) == 35 ) - goto st192; - goto tr56; -st192: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof192; -case 192: - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr222; - goto tr56; -tr222: + if ( (*( sm->p)) == 93 ) + goto tr223; + goto tr63; +tr334: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 87 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} goto st291; -tr391: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st291; st291: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof291; case 291: -#line 4147 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 47 ) - goto tr390; - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr391; - goto tr389; -tr390: -#line 91 "ext/dtext/dtext.rl" +#line 4170 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 116 ) + goto st193; + if ( 49 <= (*( sm->p)) && (*( sm->p)) <= 54 ) + goto tr394; + goto tr343; +tr394: +#line 95 "ext/dtext/dtext.rl" { + sm->a1 = sm->p; +} + goto st192; +st192: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof192; +case 192: +#line 4186 "ext/dtext/dtext.c" + if ( (*( sm->p)) == 46 ) + goto tr224; + goto tr63; +tr224: +#line 99 "ext/dtext/dtext.rl" + { sm->a2 = sm->p; } - goto st193; + goto st292; +st292: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof292; +case 292: +#line 4200 "ext/dtext/dtext.c" + switch( (*( sm->p)) ) { + case 9: goto st292; + case 32: goto st292; + } + goto tr396; st193: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof193; case 193: -#line 4163 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 112 ) + if ( (*( sm->p)) == 116 ) goto st194; - goto tr223; + goto tr63; st194: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof194; case 194: - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr225; - goto tr223; -tr225: -#line 95 "ext/dtext/dtext.rl" - { - sm->b1 = sm->p; -} - goto st292; -st292: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof292; -case 292: -#line 4184 "ext/dtext/dtext.c" - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st292; - goto tr392; -tr334: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st293; -st293: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof293; -case 293: -#line 4196 "ext/dtext/dtext.c" - if ( (*( sm->p)) == 115 ) + if ( (*( sm->p)) == 112 ) goto st195; - goto tr339; + goto tr63; st195: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof195; case 195: - if ( (*( sm->p)) == 101 ) - goto st196; - goto tr56; + switch( (*( sm->p)) ) { + case 58: goto st196; + case 115: goto st199; + } + goto tr63; st196: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof196; case 196: - if ( (*( sm->p)) == 114 ) + if ( (*( sm->p)) == 47 ) goto st197; - goto tr56; + goto tr63; st197: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof197; case 197: - if ( (*( sm->p)) == 32 ) + if ( (*( sm->p)) == 47 ) goto st198; - goto tr56; + goto tr63; st198: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof198; case 198: - if ( (*( sm->p)) == 35 ) - goto st199; - goto tr56; + if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) + goto st293; + goto tr63; +st293: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof293; +case 293: + if ( 33 <= (*( sm->p)) && (*( sm->p)) <= 126 ) + goto st293; + goto tr398; st199: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof199; case 199: - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto tr230; - goto tr56; -tr230: -#line 87 "ext/dtext/dtext.rl" - { - sm->a1 = sm->p; -} + if ( (*( sm->p)) == 58 ) + goto st196; + goto tr63; +tr335: +#line 1 "NONE" + {( sm->te) = ( sm->p)+1;} goto st294; st294: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof294; case 294: -#line 4245 "ext/dtext/dtext.c" - if ( 48 <= (*( sm->p)) && (*( sm->p)) <= 57 ) - goto st294; - goto tr395; -tr335: -#line 1 "NONE" - {( sm->te) = ( sm->p)+1;} - goto st295; -st295: - if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof295; -case 295: -#line 4257 "ext/dtext/dtext.c" +#line 4272 "ext/dtext/dtext.c" if ( (*( sm->p)) == 123 ) goto st200; - goto tr339; + goto tr343; st200: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof200; case 200: if ( (*( sm->p)) == 125 ) - goto tr56; - goto tr231; -tr231: -#line 87 "ext/dtext/dtext.rl" + goto tr63; + goto tr232; +tr232: +#line 95 "ext/dtext/dtext.rl" { sm->a1 = sm->p; } goto st201; st201: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof201; case 201: -#line 4278 "ext/dtext/dtext.c" +#line 4293 "ext/dtext/dtext.c" if ( (*( sm->p)) == 125 ) - goto tr233; + goto tr234; goto st201; -tr233: -#line 91 "ext/dtext/dtext.rl" +tr234: +#line 99 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } goto st202; st202: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof202; case 202: -#line 4292 "ext/dtext/dtext.c" +#line 4307 "ext/dtext/dtext.c" if ( (*( sm->p)) == 125 ) - goto tr234; - goto tr56; -tr235: -#line 645 "ext/dtext/dtext.rl" + goto tr235; + goto tr63; +tr236: +#line 634 "ext/dtext/dtext.rl" {{( sm->p) = ((( sm->te)))-1;}{ append_c_html_escaped(sm, (*( sm->p))); }} - goto st296; -tr240: -#line 631 "ext/dtext/dtext.rl" + goto st295; +tr241: +#line 620 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_CODE)) { dstack_rewind(sm); } else { append(sm, true, "[/code]"); } { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st296; -tr398: -#line 645 "ext/dtext/dtext.rl" + goto st295; +tr400: +#line 634 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ append_c_html_escaped(sm, (*( sm->p))); }} - goto st296; -tr399: -#line 640 "ext/dtext/dtext.rl" + goto st295; +tr401: +#line 629 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ ( sm->p)--; { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st296; -tr401: -#line 645 "ext/dtext/dtext.rl" + goto st295; +tr403: +#line 634 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ append_c_html_escaped(sm, (*( sm->p))); }} - goto st296; -st296: + goto st295; +st295: #line 1 "NONE" {( sm->ts) = 0;} if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof296; -case 296: + goto _test_eof295; +case 295: #line 1 "NONE" {( sm->ts) = ( sm->p);} -#line 4340 "ext/dtext/dtext.c" +#line 4355 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr399; - case 91: goto tr400; + case 0: goto tr401; + case 91: goto tr402; } - goto tr398; -tr400: + goto tr400; +tr402: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} - goto st297; -st297: + goto st296; +st296: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof297; -case 297: -#line 4354 "ext/dtext/dtext.c" + goto _test_eof296; +case 296: +#line 4369 "ext/dtext/dtext.c" if ( (*( sm->p)) == 47 ) goto st203; - goto tr401; + goto tr403; st203: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof203; case 203: if ( (*( sm->p)) == 99 ) goto st204; - goto tr235; + goto tr236; st204: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof204; case 204: if ( (*( sm->p)) == 111 ) goto st205; - goto tr235; + goto tr236; st205: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof205; case 205: if ( (*( sm->p)) == 100 ) goto st206; - goto tr235; + goto tr236; st206: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof206; case 206: if ( (*( sm->p)) == 101 ) goto st207; - goto tr235; + goto tr236; st207: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof207; case 207: if ( (*( sm->p)) == 93 ) - goto tr240; - goto tr235; -tr241: -#line 672 "ext/dtext/dtext.rl" + goto tr241; + goto tr236; +tr242: +#line 658 "ext/dtext/dtext.rl" {{( sm->p) = ((( sm->te)))-1;}{ append_c_html_escaped(sm, (*( sm->p))); }} - goto st298; -tr249: -#line 651 "ext/dtext/dtext.rl" + goto st297; +tr250: +#line 640 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_NODTEXT)) { dstack_pop(sm); - append_newline(sm); - append_closing_p(sm); - append_newline(sm); - append_newline(sm); + append_block(sm, "</p>"); { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else if (dstack_check(sm, INLINE_NODTEXT)) { dstack_pop(sm); { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else { append(sm, true, "[/nodtext]"); } }} - goto st298; -tr403: -#line 672 "ext/dtext/dtext.rl" + goto st297; +tr405: +#line 658 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ append_c_html_escaped(sm, (*( sm->p))); }} - goto st298; -tr404: -#line 667 "ext/dtext/dtext.rl" + goto st297; +tr406: +#line 653 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ ( sm->p)--; { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st298; -tr406: -#line 672 "ext/dtext/dtext.rl" + goto st297; +tr408: +#line 658 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ append_c_html_escaped(sm, (*( sm->p))); }} - goto st298; -st298: + goto st297; +st297: #line 1 "NONE" {( sm->ts) = 0;} if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof298; -case 298: + goto _test_eof297; +case 297: #line 1 "NONE" {( sm->ts) = ( sm->p);} -#line 4444 "ext/dtext/dtext.c" +#line 4456 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr404; - case 91: goto tr405; + case 0: goto tr406; + case 91: goto tr407; } - goto tr403; -tr405: + goto tr405; +tr407: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} - goto st299; -st299: + goto st298; +st298: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof299; -case 299: -#line 4458 "ext/dtext/dtext.c" + goto _test_eof298; +case 298: +#line 4470 "ext/dtext/dtext.c" if ( (*( sm->p)) == 47 ) goto st208; - goto tr406; + goto tr408; st208: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof208; case 208: if ( (*( sm->p)) == 110 ) goto st209; - goto tr241; + goto tr242; st209: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof209; case 209: if ( (*( sm->p)) == 111 ) goto st210; - goto tr241; + goto tr242; st210: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof210; case 210: if ( (*( sm->p)) == 100 ) goto st211; - goto tr241; + goto tr242; st211: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof211; case 211: if ( (*( sm->p)) == 116 ) goto st212; - goto tr241; + goto tr242; st212: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof212; case 212: if ( (*( sm->p)) == 101 ) goto st213; - goto tr241; + goto tr242; st213: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof213; case 213: if ( (*( sm->p)) == 120 ) goto st214; - goto tr241; + goto tr242; st214: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof214; case 214: if ( (*( sm->p)) == 116 ) goto st215; - goto tr241; + goto tr242; st215: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof215; case 215: if ( (*( sm->p)) == 93 ) - goto tr249; - goto tr241; -tr250: -#line 766 "ext/dtext/dtext.rl" + goto tr250; + goto tr242; +tr251: +#line 733 "ext/dtext/dtext.rl" {{( sm->p) = ((( sm->te)))-1;}} - goto st300; -tr259: -#line 748 "ext/dtext/dtext.rl" + goto st299; +tr260: +#line 718 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_TABLE)) { dstack_pop(sm); - append_newline(sm); append_block(sm, "</table>"); - append_newline(sm); - append_newline(sm); { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} } else { append(sm, true, "[/table]"); } }} - goto st300; -tr263: -#line 703 "ext/dtext/dtext.rl" + goto st299; +tr264: +#line 683 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_TBODY)) { dstack_pop(sm); - append_newline(sm); append_block(sm, "</tbody>"); - append_newline(sm); } else { append(sm, true, "[/tbody]"); } }} - goto st300; -tr267: -#line 685 "ext/dtext/dtext.rl" + goto st299; +tr268: +#line 669 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_THEAD)) { dstack_pop(sm); - append_newline(sm); append_block(sm, "</thead>"); - append_newline(sm); } else { append(sm, true, "[/thead]"); } }} - goto st300; -tr268: -#line 729 "ext/dtext/dtext.rl" + goto st299; +tr269: +#line 703 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ if (dstack_check(sm, BLOCK_TR)) { dstack_pop(sm); - append_newline(sm); append_block(sm, "</tr>"); - append_newline(sm); } else { append(sm, true, "[/tr]"); } }} - goto st300; -tr276: -#line 696 "ext/dtext/dtext.rl" + goto st299; +tr277: +#line 678 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &BLOCK_TBODY); - append_newline(sm); append_block(sm, "<tbody>"); - append_newline(sm); }} - goto st300; -tr277: -#line 740 "ext/dtext/dtext.rl" + goto st299; +tr278: +#line 712 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &BLOCK_TD); - append_newline(sm); append_block(sm, "<td>"); - append_newline(sm); { size_t len = sm->stack->len; if (len > MAX_STACK_DEPTH) { free_machine(sm); @@ -4597,20 +4596,18 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 300; goto st260;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 299; goto st260;}} }} - goto st300; -tr278: -#line 714 "ext/dtext/dtext.rl" + goto st299; +tr279: +#line 692 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &BLOCK_TH); - append_newline(sm); append_block(sm, "<th>"); - append_newline(sm); { size_t len = sm->stack->len; if (len > MAX_STACK_DEPTH) { free_machine(sm); @@ -4618,350 +4615,340 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 300; goto st260;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 299; goto st260;}} }} - goto st300; -tr282: -#line 678 "ext/dtext/dtext.rl" + goto st299; +tr283: +#line 664 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &BLOCK_THEAD); - append_newline(sm); append_block(sm, "<thead>"); - append_newline(sm); }} - goto st300; -tr283: -#line 722 "ext/dtext/dtext.rl" + goto st299; +tr284: +#line 698 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_push(sm, &BLOCK_TR); - append_newline(sm); append_block(sm, "<tr>"); - append_newline(sm); }} - goto st300; -tr408: -#line 766 "ext/dtext/dtext.rl" + goto st299; +tr410: +#line 733 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;} - goto st300; -tr409: -#line 761 "ext/dtext/dtext.rl" + goto st299; +tr411: +#line 728 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ ( sm->p)--; { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st300; -tr411: -#line 766 "ext/dtext/dtext.rl" + goto st299; +tr413: +#line 733 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;} - goto st300; -st300: + goto st299; +st299: #line 1 "NONE" {( sm->ts) = 0;} if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof300; -case 300: + goto _test_eof299; +case 299: #line 1 "NONE" {( sm->ts) = ( sm->p);} -#line 4668 "ext/dtext/dtext.c" +#line 4661 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr409; - case 91: goto tr410; + case 0: goto tr411; + case 91: goto tr412; } - goto tr408; -tr410: + goto tr410; +tr412: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} - goto st301; -st301: + goto st300; +st300: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof301; -case 301: -#line 4682 "ext/dtext/dtext.c" + goto _test_eof300; +case 300: +#line 4675 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { case 47: goto st216; case 116: goto st231; } - goto tr411; + goto tr413; st216: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof216; case 216: if ( (*( sm->p)) == 116 ) goto st217; - goto tr250; + goto tr251; st217: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof217; case 217: switch( (*( sm->p)) ) { case 97: goto st218; case 98: goto st222; case 104: goto st226; case 114: goto st230; } - goto tr250; + goto tr251; st218: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof218; case 218: if ( (*( sm->p)) == 98 ) goto st219; - goto tr250; + goto tr251; st219: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof219; case 219: if ( (*( sm->p)) == 108 ) goto st220; - goto tr250; + goto tr251; st220: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof220; case 220: if ( (*( sm->p)) == 101 ) goto st221; - goto tr250; + goto tr251; st221: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof221; case 221: if ( (*( sm->p)) == 93 ) - goto tr259; - goto tr250; + goto tr260; + goto tr251; st222: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof222; case 222: if ( (*( sm->p)) == 111 ) goto st223; - goto tr250; + goto tr251; st223: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof223; case 223: if ( (*( sm->p)) == 100 ) goto st224; - goto tr250; + goto tr251; st224: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof224; case 224: if ( (*( sm->p)) == 121 ) goto st225; - goto tr250; + goto tr251; st225: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof225; case 225: if ( (*( sm->p)) == 93 ) - goto tr263; - goto tr250; + goto tr264; + goto tr251; st226: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof226; case 226: if ( (*( sm->p)) == 101 ) goto st227; - goto tr250; + goto tr251; st227: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof227; case 227: if ( (*( sm->p)) == 97 ) goto st228; - goto tr250; + goto tr251; st228: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof228; case 228: if ( (*( sm->p)) == 100 ) goto st229; - goto tr250; + goto tr251; st229: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof229; case 229: if ( (*( sm->p)) == 93 ) - goto tr267; - goto tr250; + goto tr268; + goto tr251; st230: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof230; case 230: if ( (*( sm->p)) == 93 ) - goto tr268; - goto tr250; + goto tr269; + goto tr251; st231: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof231; case 231: switch( (*( sm->p)) ) { case 98: goto st232; case 100: goto st236; case 104: goto st237; case 114: goto st241; } - goto tr250; + goto tr251; st232: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof232; case 232: if ( (*( sm->p)) == 111 ) goto st233; - goto tr250; + goto tr251; st233: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof233; case 233: if ( (*( sm->p)) == 100 ) goto st234; - goto tr250; + goto tr251; st234: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof234; case 234: if ( (*( sm->p)) == 121 ) goto st235; - goto tr250; + goto tr251; st235: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof235; case 235: if ( (*( sm->p)) == 93 ) - goto tr276; - goto tr250; + goto tr277; + goto tr251; st236: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof236; case 236: if ( (*( sm->p)) == 93 ) - goto tr277; - goto tr250; + goto tr278; + goto tr251; st237: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof237; case 237: switch( (*( sm->p)) ) { - case 93: goto tr278; + case 93: goto tr279; case 101: goto st238; } - goto tr250; + goto tr251; st238: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof238; case 238: if ( (*( sm->p)) == 97 ) goto st239; - goto tr250; + goto tr251; st239: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof239; case 239: if ( (*( sm->p)) == 100 ) goto st240; - goto tr250; + goto tr251; st240: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof240; case 240: if ( (*( sm->p)) == 93 ) - goto tr282; - goto tr250; + goto tr283; + goto tr251; st241: if ( ++( sm->p) == ( sm->pe) ) goto _test_eof241; case 241: if ( (*( sm->p)) == 93 ) - goto tr283; - goto tr250; -tr284: -#line 819 "ext/dtext/dtext.rl" + goto tr284; + goto tr251; +tr285: +#line 1 "NONE" + { switch( ( sm->act) ) { + case 64: + {{( sm->p) = ((( sm->te)))-1;} + dstack_close_list(sm); + {( sm->p) = (( sm->ts))-1;} + { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} + } + break; + default: + {{( sm->p) = ((( sm->te)))-1;}} + break; + } + } + goto st301; +tr287: +#line 784 "ext/dtext/dtext.rl" {{( sm->p) = ((( sm->te)))-1;}{ dstack_rewind(sm); ( sm->p)--; { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st302; -tr414: -#line 819 "ext/dtext/dtext.rl" + goto st301; +tr416: +#line 784 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ dstack_rewind(sm); ( sm->p)--; { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st302; -tr415: -#line 811 "ext/dtext/dtext.rl" + goto st301; +tr417: +#line 776 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p)+1;{ - dstack_rewind(sm); + dstack_close_list(sm); {( sm->p) = (( sm->ts))-1;} { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st302; -tr419: -#line 1 "NONE" - { switch( ( sm->act) ) { - case 63: - {{( sm->p) = ((( sm->te)))-1;} - dstack_rewind(sm); - {( sm->p) = (( sm->ts))-1;} - { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} - } - break; - default: - {{( sm->p) = ((( sm->te)))-1;}} - break; - } - } - goto st302; -tr421: -#line 817 "ext/dtext/dtext.rl" - {( sm->te) = ( sm->p);( sm->p)--;} - goto st302; + goto st301; tr422: -#line 819 "ext/dtext/dtext.rl" +#line 784 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ dstack_rewind(sm); ( sm->p)--; { sm->cs = ( ((int *)sm->stack->data))[--( sm->top)];goto _again;} }} - goto st302; + goto st301; tr423: -#line 99 "ext/dtext/dtext.rl" +#line 107 "ext/dtext/dtext.rl" { sm->b2 = sm->p; } -#line 770 "ext/dtext/dtext.rl" +#line 737 "ext/dtext/dtext.rl" {( sm->te) = ( sm->p);( sm->p)--;{ int prev_nest = sm->list_nest; + append_closing_p_if(sm); g_debug("list start"); - sm->list_mode = true; sm->list_nest = sm->a2 - sm->a1; {( sm->p) = (( sm->b1))-1;} if (sm->list_nest > prev_nest) { int i=0; for (i=prev_nest; i<sm->list_nest; ++i) { g_debug(" dstack push ul"); g_debug(" print <ul>"); append_block(sm, "<ul>"); - append_newline(sm); dstack_push(sm, &BLOCK_UL); } } else if (sm->list_nest < prev_nest) { int i=0; for (i=sm->list_nest; i<prev_nest; ++i) { if (dstack_check(sm, BLOCK_UL)) { g_debug(" dstack pop"); g_debug(" print </ul>"); dstack_pop(sm); append_block(sm, "</ul>"); - append_newline(sm); } } } append_block(sm, "<li>"); @@ -4980,155 +4967,160 @@ } if (sm->top >= len) { sm->stack = g_array_set_size(sm->stack, len + 16); } -{( ((int *)sm->stack->data))[( sm->top)++] = 302; goto st260;}} +{( ((int *)sm->stack->data))[( sm->top)++] = 301; goto st260;}} }} - goto st302; -st302: + goto st301; +st301: #line 1 "NONE" {( sm->ts) = 0;} if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof302; -case 302: + goto _test_eof301; +case 301: #line 1 "NONE" {( sm->ts) = ( sm->p);} -#line 4997 "ext/dtext/dtext.c" +#line 4984 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr415; - case 10: goto tr416; - case 13: goto st304; - case 42: goto tr418; + case 0: goto tr417; + case 10: goto tr418; + case 13: goto st303; + case 42: goto tr420; } - goto tr414; -tr416: + goto tr416; +tr286: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 817 "ext/dtext/dtext.rl" +#line 776 "ext/dtext/dtext.rl" {( sm->act) = 64;} - goto st303; -tr420: + goto st302; +tr418: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 811 "ext/dtext/dtext.rl" - {( sm->act) = 63;} - goto st303; -st303: +#line 782 "ext/dtext/dtext.rl" + {( sm->act) = 65;} + goto st302; +st302: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof303; -case 303: -#line 5021 "ext/dtext/dtext.c" + goto _test_eof302; +case 302: +#line 5008 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 10: goto tr420; - case 13: goto tr420; + case 10: goto tr286; + case 13: goto st242; } - goto tr419; -st304: + goto tr285; +st242: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof304; -case 304: - switch( (*( sm->p)) ) { - case 10: goto tr420; - case 13: goto tr420; - } - goto tr421; -tr418: + goto _test_eof242; +case 242: + if ( (*( sm->p)) == 10 ) + goto tr286; + goto tr285; +st303: + if ( ++( sm->p) == ( sm->pe) ) + goto _test_eof303; +case 303: + if ( (*( sm->p)) == 10 ) + goto tr418; + goto tr422; +tr420: #line 1 "NONE" {( sm->te) = ( sm->p)+1;} -#line 87 "ext/dtext/dtext.rl" +#line 95 "ext/dtext/dtext.rl" { sm->a1 = sm->p; } - goto st305; -st305: + goto st304; +st304: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof305; -case 305: -#line 5048 "ext/dtext/dtext.c" + goto _test_eof304; +case 304: +#line 5040 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 9: goto tr287; - case 32: goto tr287; - case 42: goto st243; + case 9: goto tr290; + case 32: goto tr290; + case 42: goto st244; } goto tr422; -tr287: -#line 91 "ext/dtext/dtext.rl" +tr290: +#line 99 "ext/dtext/dtext.rl" { sm->a2 = sm->p; } - goto st242; -st242: + goto st243; +st243: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof242; -case 242: -#line 5065 "ext/dtext/dtext.c" + goto _test_eof243; +case 243: +#line 5057 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { - case 0: goto tr284; - case 9: goto tr286; - case 10: goto tr284; - case 13: goto tr284; - case 32: goto tr286; + case 0: goto tr287; + case 9: goto tr289; + case 10: goto tr287; + case 13: goto tr287; + case 32: goto tr289; } - goto tr285; -tr285: -#line 95 "ext/dtext/dtext.rl" + goto tr288; +tr288: +#line 103 "ext/dtext/dtext.rl" { sm->b1 = sm->p; } - goto st306; -st306: + goto st305; +st305: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof306; -case 306: -#line 5084 "ext/dtext/dtext.c" + goto _test_eof305; +case 305: +#line 5076 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { case 0: goto tr423; case 10: goto tr423; case 13: goto tr423; } - goto st306; -tr286: -#line 95 "ext/dtext/dtext.rl" + goto st305; +tr289: +#line 103 "ext/dtext/dtext.rl" { sm->b1 = sm->p; } - goto st307; -st307: + goto st306; +st306: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof307; -case 307: -#line 5101 "ext/dtext/dtext.c" + goto _test_eof306; +case 306: +#line 5093 "ext/dtext/dtext.c" switch( (*( sm->p)) ) { case 0: goto tr423; - case 9: goto tr286; + case 9: goto tr289; case 10: goto tr423; case 13: goto tr423; - case 32: goto tr286; + case 32: goto tr289; } - goto tr285; -st243: + goto tr288; +st244: if ( ++( sm->p) == ( sm->pe) ) - goto _test_eof243; -case 243: + goto _test_eof244; +case 244: switch( (*( sm->p)) ) { - case 9: goto tr287; - case 32: goto tr287; - case 42: goto st243; + case 9: goto tr290; + case 32: goto tr290; + case 42: goto st244; } - goto tr284; + goto tr287; } - _test_eof244: sm->cs = 244; goto _test_eof; _test_eof245: sm->cs = 245; goto _test_eof; _test_eof246: sm->cs = 246; goto _test_eof; - _test_eof247: sm->cs = 247; goto _test_eof; _test_eof0: sm->cs = 0; goto _test_eof; + _test_eof247: sm->cs = 247; goto _test_eof; _test_eof248: sm->cs = 248; goto _test_eof; - _test_eof249: sm->cs = 249; goto _test_eof; _test_eof1: sm->cs = 1; goto _test_eof; + _test_eof249: sm->cs = 249; goto _test_eof; _test_eof250: sm->cs = 250; goto _test_eof; _test_eof2: sm->cs = 2; goto _test_eof; + _test_eof251: sm->cs = 251; goto _test_eof; _test_eof3: sm->cs = 3; goto _test_eof; _test_eof4: sm->cs = 4; goto _test_eof; _test_eof5: sm->cs = 5; goto _test_eof; _test_eof6: sm->cs = 6; goto _test_eof; _test_eof7: sm->cs = 7; goto _test_eof; @@ -5136,66 +5128,68 @@ _test_eof9: sm->cs = 9; goto _test_eof; _test_eof10: sm->cs = 10; goto _test_eof; _test_eof11: sm->cs = 11; goto _test_eof; _test_eof12: sm->cs = 12; goto _test_eof; _test_eof13: sm->cs = 13; goto _test_eof; - _test_eof251: sm->cs = 251; goto _test_eof; _test_eof14: sm->cs = 14; goto _test_eof; + _test_eof252: sm->cs = 252; goto _test_eof; _test_eof15: sm->cs = 15; goto _test_eof; _test_eof16: sm->cs = 16; goto _test_eof; _test_eof17: sm->cs = 17; goto _test_eof; _test_eof18: sm->cs = 18; goto _test_eof; _test_eof19: sm->cs = 19; goto _test_eof; _test_eof20: sm->cs = 20; goto _test_eof; _test_eof21: sm->cs = 21; goto _test_eof; - _test_eof252: sm->cs = 252; goto _test_eof; - _test_eof253: sm->cs = 253; goto _test_eof; _test_eof22: sm->cs = 22; goto _test_eof; + _test_eof253: sm->cs = 253; goto _test_eof; + _test_eof254: sm->cs = 254; goto _test_eof; _test_eof23: sm->cs = 23; goto _test_eof; _test_eof24: sm->cs = 24; goto _test_eof; _test_eof25: sm->cs = 25; goto _test_eof; _test_eof26: sm->cs = 26; goto _test_eof; _test_eof27: sm->cs = 27; goto _test_eof; _test_eof28: sm->cs = 28; goto _test_eof; - _test_eof254: sm->cs = 254; goto _test_eof; _test_eof29: sm->cs = 29; goto _test_eof; + _test_eof255: sm->cs = 255; goto _test_eof; _test_eof30: sm->cs = 30; goto _test_eof; _test_eof31: sm->cs = 31; goto _test_eof; _test_eof32: sm->cs = 32; goto _test_eof; _test_eof33: sm->cs = 33; goto _test_eof; - _test_eof255: sm->cs = 255; goto _test_eof; _test_eof34: sm->cs = 34; goto _test_eof; + _test_eof256: sm->cs = 256; goto _test_eof; _test_eof35: sm->cs = 35; goto _test_eof; _test_eof36: sm->cs = 36; goto _test_eof; _test_eof37: sm->cs = 37; goto _test_eof; _test_eof38: sm->cs = 38; goto _test_eof; _test_eof39: sm->cs = 39; goto _test_eof; _test_eof40: sm->cs = 40; goto _test_eof; - _test_eof256: sm->cs = 256; goto _test_eof; _test_eof41: sm->cs = 41; goto _test_eof; + _test_eof257: sm->cs = 257; goto _test_eof; _test_eof42: sm->cs = 42; goto _test_eof; _test_eof43: sm->cs = 43; goto _test_eof; _test_eof44: sm->cs = 44; goto _test_eof; _test_eof45: sm->cs = 45; goto _test_eof; _test_eof46: sm->cs = 46; goto _test_eof; - _test_eof257: sm->cs = 257; goto _test_eof; _test_eof47: sm->cs = 47; goto _test_eof; - _test_eof48: sm->cs = 48; goto _test_eof; _test_eof258: sm->cs = 258; goto _test_eof; + _test_eof48: sm->cs = 48; goto _test_eof; _test_eof259: sm->cs = 259; goto _test_eof; _test_eof260: sm->cs = 260; goto _test_eof; _test_eof261: sm->cs = 261; goto _test_eof; _test_eof262: sm->cs = 262; goto _test_eof; - _test_eof263: sm->cs = 263; goto _test_eof; _test_eof49: sm->cs = 49; goto _test_eof; _test_eof50: sm->cs = 50; goto _test_eof; _test_eof51: sm->cs = 51; goto _test_eof; - _test_eof52: sm->cs = 52; goto _test_eof; + _test_eof263: sm->cs = 263; goto _test_eof; _test_eof264: sm->cs = 264; goto _test_eof; + _test_eof265: sm->cs = 265; goto _test_eof; + _test_eof266: sm->cs = 266; goto _test_eof; + _test_eof52: sm->cs = 52; goto _test_eof; _test_eof53: sm->cs = 53; goto _test_eof; _test_eof54: sm->cs = 54; goto _test_eof; _test_eof55: sm->cs = 55; goto _test_eof; + _test_eof267: sm->cs = 267; goto _test_eof; _test_eof56: sm->cs = 56; goto _test_eof; _test_eof57: sm->cs = 57; goto _test_eof; _test_eof58: sm->cs = 58; goto _test_eof; _test_eof59: sm->cs = 59; goto _test_eof; _test_eof60: sm->cs = 60; goto _test_eof; @@ -5206,193 +5200,189 @@ _test_eof65: sm->cs = 65; goto _test_eof; _test_eof66: sm->cs = 66; goto _test_eof; _test_eof67: sm->cs = 67; goto _test_eof; _test_eof68: sm->cs = 68; goto _test_eof; _test_eof69: sm->cs = 69; goto _test_eof; - _test_eof265: sm->cs = 265; goto _test_eof; _test_eof70: sm->cs = 70; goto _test_eof; - _test_eof266: sm->cs = 266; goto _test_eof; - _test_eof267: sm->cs = 267; goto _test_eof; _test_eof71: sm->cs = 71; goto _test_eof; + _test_eof72: sm->cs = 72; goto _test_eof; _test_eof268: sm->cs = 268; goto _test_eof; _test_eof269: sm->cs = 269; goto _test_eof; _test_eof270: sm->cs = 270; goto _test_eof; _test_eof271: sm->cs = 271; goto _test_eof; - _test_eof72: sm->cs = 72; goto _test_eof; _test_eof73: sm->cs = 73; goto _test_eof; _test_eof74: sm->cs = 74; goto _test_eof; _test_eof75: sm->cs = 75; goto _test_eof; _test_eof76: sm->cs = 76; goto _test_eof; _test_eof77: sm->cs = 77; goto _test_eof; _test_eof78: sm->cs = 78; goto _test_eof; _test_eof79: sm->cs = 79; goto _test_eof; + _test_eof272: sm->cs = 272; goto _test_eof; + _test_eof273: sm->cs = 273; goto _test_eof; _test_eof80: sm->cs = 80; goto _test_eof; _test_eof81: sm->cs = 81; goto _test_eof; _test_eof82: sm->cs = 82; goto _test_eof; _test_eof83: sm->cs = 83; goto _test_eof; _test_eof84: sm->cs = 84; goto _test_eof; _test_eof85: sm->cs = 85; goto _test_eof; - _test_eof272: sm->cs = 272; goto _test_eof; _test_eof86: sm->cs = 86; goto _test_eof; _test_eof87: sm->cs = 87; goto _test_eof; + _test_eof274: sm->cs = 274; goto _test_eof; + _test_eof275: sm->cs = 275; goto _test_eof; _test_eof88: sm->cs = 88; goto _test_eof; _test_eof89: sm->cs = 89; goto _test_eof; _test_eof90: sm->cs = 90; goto _test_eof; _test_eof91: sm->cs = 91; goto _test_eof; _test_eof92: sm->cs = 92; goto _test_eof; _test_eof93: sm->cs = 93; goto _test_eof; + _test_eof276: sm->cs = 276; goto _test_eof; + _test_eof277: sm->cs = 277; goto _test_eof; _test_eof94: sm->cs = 94; goto _test_eof; _test_eof95: sm->cs = 95; goto _test_eof; _test_eof96: sm->cs = 96; goto _test_eof; _test_eof97: sm->cs = 97; goto _test_eof; _test_eof98: sm->cs = 98; goto _test_eof; _test_eof99: sm->cs = 99; goto _test_eof; + _test_eof278: sm->cs = 278; goto _test_eof; + _test_eof279: sm->cs = 279; goto _test_eof; _test_eof100: sm->cs = 100; goto _test_eof; _test_eof101: sm->cs = 101; goto _test_eof; _test_eof102: sm->cs = 102; goto _test_eof; _test_eof103: sm->cs = 103; goto _test_eof; _test_eof104: sm->cs = 104; goto _test_eof; _test_eof105: sm->cs = 105; goto _test_eof; + _test_eof280: sm->cs = 280; goto _test_eof; _test_eof106: sm->cs = 106; goto _test_eof; _test_eof107: sm->cs = 107; goto _test_eof; + _test_eof281: sm->cs = 281; goto _test_eof; _test_eof108: sm->cs = 108; goto _test_eof; _test_eof109: sm->cs = 109; goto _test_eof; _test_eof110: sm->cs = 110; goto _test_eof; _test_eof111: sm->cs = 111; goto _test_eof; _test_eof112: sm->cs = 112; goto _test_eof; + _test_eof282: sm->cs = 282; goto _test_eof; _test_eof113: sm->cs = 113; goto _test_eof; _test_eof114: sm->cs = 114; goto _test_eof; _test_eof115: sm->cs = 115; goto _test_eof; _test_eof116: sm->cs = 116; goto _test_eof; + _test_eof283: sm->cs = 283; goto _test_eof; + _test_eof284: sm->cs = 284; goto _test_eof; _test_eof117: sm->cs = 117; goto _test_eof; _test_eof118: sm->cs = 118; goto _test_eof; _test_eof119: sm->cs = 119; goto _test_eof; _test_eof120: sm->cs = 120; goto _test_eof; _test_eof121: sm->cs = 121; goto _test_eof; _test_eof122: sm->cs = 122; goto _test_eof; + _test_eof285: sm->cs = 285; goto _test_eof; _test_eof123: sm->cs = 123; goto _test_eof; _test_eof124: sm->cs = 124; goto _test_eof; + _test_eof286: sm->cs = 286; goto _test_eof; + _test_eof287: sm->cs = 287; goto _test_eof; _test_eof125: sm->cs = 125; goto _test_eof; _test_eof126: sm->cs = 126; goto _test_eof; _test_eof127: sm->cs = 127; goto _test_eof; _test_eof128: sm->cs = 128; goto _test_eof; _test_eof129: sm->cs = 129; goto _test_eof; + _test_eof288: sm->cs = 288; goto _test_eof; + _test_eof289: sm->cs = 289; goto _test_eof; _test_eof130: sm->cs = 130; goto _test_eof; _test_eof131: sm->cs = 131; goto _test_eof; _test_eof132: sm->cs = 132; goto _test_eof; _test_eof133: sm->cs = 133; goto _test_eof; - _test_eof273: sm->cs = 273; goto _test_eof; _test_eof134: sm->cs = 134; goto _test_eof; _test_eof135: sm->cs = 135; goto _test_eof; _test_eof136: sm->cs = 136; goto _test_eof; _test_eof137: sm->cs = 137; goto _test_eof; _test_eof138: sm->cs = 138; goto _test_eof; _test_eof139: sm->cs = 139; goto _test_eof; _test_eof140: sm->cs = 140; goto _test_eof; - _test_eof274: sm->cs = 274; goto _test_eof; - _test_eof275: sm->cs = 275; goto _test_eof; _test_eof141: sm->cs = 141; goto _test_eof; _test_eof142: sm->cs = 142; goto _test_eof; _test_eof143: sm->cs = 143; goto _test_eof; + _test_eof290: sm->cs = 290; goto _test_eof; _test_eof144: sm->cs = 144; goto _test_eof; _test_eof145: sm->cs = 145; goto _test_eof; _test_eof146: sm->cs = 146; goto _test_eof; _test_eof147: sm->cs = 147; goto _test_eof; _test_eof148: sm->cs = 148; goto _test_eof; - _test_eof276: sm->cs = 276; goto _test_eof; - _test_eof277: sm->cs = 277; goto _test_eof; _test_eof149: sm->cs = 149; goto _test_eof; _test_eof150: sm->cs = 150; goto _test_eof; _test_eof151: sm->cs = 151; goto _test_eof; _test_eof152: sm->cs = 152; goto _test_eof; _test_eof153: sm->cs = 153; goto _test_eof; _test_eof154: sm->cs = 154; goto _test_eof; - _test_eof278: sm->cs = 278; goto _test_eof; - _test_eof279: sm->cs = 279; goto _test_eof; _test_eof155: sm->cs = 155; goto _test_eof; _test_eof156: sm->cs = 156; goto _test_eof; - _test_eof280: sm->cs = 280; goto _test_eof; - _test_eof281: sm->cs = 281; goto _test_eof; _test_eof157: sm->cs = 157; goto _test_eof; _test_eof158: sm->cs = 158; goto _test_eof; _test_eof159: sm->cs = 159; goto _test_eof; _test_eof160: sm->cs = 160; goto _test_eof; _test_eof161: sm->cs = 161; goto _test_eof; _test_eof162: sm->cs = 162; goto _test_eof; - _test_eof282: sm->cs = 282; goto _test_eof; _test_eof163: sm->cs = 163; goto _test_eof; - _test_eof283: sm->cs = 283; goto _test_eof; _test_eof164: sm->cs = 164; goto _test_eof; _test_eof165: sm->cs = 165; goto _test_eof; _test_eof166: sm->cs = 166; goto _test_eof; _test_eof167: sm->cs = 167; goto _test_eof; _test_eof168: sm->cs = 168; goto _test_eof; _test_eof169: sm->cs = 169; goto _test_eof; - _test_eof284: sm->cs = 284; goto _test_eof; - _test_eof285: sm->cs = 285; goto _test_eof; _test_eof170: sm->cs = 170; goto _test_eof; _test_eof171: sm->cs = 171; goto _test_eof; _test_eof172: sm->cs = 172; goto _test_eof; _test_eof173: sm->cs = 173; goto _test_eof; _test_eof174: sm->cs = 174; goto _test_eof; _test_eof175: sm->cs = 175; goto _test_eof; - _test_eof286: sm->cs = 286; goto _test_eof; _test_eof176: sm->cs = 176; goto _test_eof; _test_eof177: sm->cs = 177; goto _test_eof; - _test_eof287: sm->cs = 287; goto _test_eof; _test_eof178: sm->cs = 178; goto _test_eof; _test_eof179: sm->cs = 179; goto _test_eof; _test_eof180: sm->cs = 180; goto _test_eof; _test_eof181: sm->cs = 181; goto _test_eof; _test_eof182: sm->cs = 182; goto _test_eof; - _test_eof288: sm->cs = 288; goto _test_eof; _test_eof183: sm->cs = 183; goto _test_eof; _test_eof184: sm->cs = 184; goto _test_eof; _test_eof185: sm->cs = 185; goto _test_eof; _test_eof186: sm->cs = 186; goto _test_eof; - _test_eof289: sm->cs = 289; goto _test_eof; - _test_eof290: sm->cs = 290; goto _test_eof; _test_eof187: sm->cs = 187; goto _test_eof; _test_eof188: sm->cs = 188; goto _test_eof; _test_eof189: sm->cs = 189; goto _test_eof; _test_eof190: sm->cs = 190; goto _test_eof; _test_eof191: sm->cs = 191; goto _test_eof; - _test_eof192: sm->cs = 192; goto _test_eof; _test_eof291: sm->cs = 291; goto _test_eof; + _test_eof192: sm->cs = 192; goto _test_eof; + _test_eof292: sm->cs = 292; goto _test_eof; _test_eof193: sm->cs = 193; goto _test_eof; _test_eof194: sm->cs = 194; goto _test_eof; - _test_eof292: sm->cs = 292; goto _test_eof; - _test_eof293: sm->cs = 293; goto _test_eof; _test_eof195: sm->cs = 195; goto _test_eof; _test_eof196: sm->cs = 196; goto _test_eof; _test_eof197: sm->cs = 197; goto _test_eof; _test_eof198: sm->cs = 198; goto _test_eof; + _test_eof293: sm->cs = 293; goto _test_eof; _test_eof199: sm->cs = 199; goto _test_eof; _test_eof294: sm->cs = 294; goto _test_eof; - _test_eof295: sm->cs = 295; goto _test_eof; _test_eof200: sm->cs = 200; goto _test_eof; _test_eof201: sm->cs = 201; goto _test_eof; _test_eof202: sm->cs = 202; goto _test_eof; + _test_eof295: sm->cs = 295; goto _test_eof; _test_eof296: sm->cs = 296; goto _test_eof; - _test_eof297: sm->cs = 297; goto _test_eof; _test_eof203: sm->cs = 203; goto _test_eof; _test_eof204: sm->cs = 204; goto _test_eof; _test_eof205: sm->cs = 205; goto _test_eof; _test_eof206: sm->cs = 206; goto _test_eof; _test_eof207: sm->cs = 207; goto _test_eof; + _test_eof297: sm->cs = 297; goto _test_eof; _test_eof298: sm->cs = 298; goto _test_eof; - _test_eof299: sm->cs = 299; goto _test_eof; _test_eof208: sm->cs = 208; goto _test_eof; _test_eof209: sm->cs = 209; goto _test_eof; _test_eof210: sm->cs = 210; goto _test_eof; _test_eof211: sm->cs = 211; goto _test_eof; _test_eof212: sm->cs = 212; goto _test_eof; _test_eof213: sm->cs = 213; goto _test_eof; _test_eof214: sm->cs = 214; goto _test_eof; _test_eof215: sm->cs = 215; goto _test_eof; + _test_eof299: sm->cs = 299; goto _test_eof; _test_eof300: sm->cs = 300; goto _test_eof; - _test_eof301: sm->cs = 301; goto _test_eof; _test_eof216: sm->cs = 216; goto _test_eof; _test_eof217: sm->cs = 217; goto _test_eof; _test_eof218: sm->cs = 218; goto _test_eof; _test_eof219: sm->cs = 219; goto _test_eof; _test_eof220: sm->cs = 220; goto _test_eof; @@ -5415,330 +5405,330 @@ _test_eof237: sm->cs = 237; goto _test_eof; _test_eof238: sm->cs = 238; goto _test_eof; _test_eof239: sm->cs = 239; goto _test_eof; _test_eof240: sm->cs = 240; goto _test_eof; _test_eof241: sm->cs = 241; goto _test_eof; + _test_eof301: sm->cs = 301; goto _test_eof; _test_eof302: sm->cs = 302; goto _test_eof; + _test_eof242: sm->cs = 242; goto _test_eof; _test_eof303: sm->cs = 303; goto _test_eof; _test_eof304: sm->cs = 304; goto _test_eof; + _test_eof243: sm->cs = 243; goto _test_eof; _test_eof305: sm->cs = 305; goto _test_eof; - _test_eof242: sm->cs = 242; goto _test_eof; _test_eof306: sm->cs = 306; goto _test_eof; - _test_eof307: sm->cs = 307; goto _test_eof; - _test_eof243: sm->cs = 243; goto _test_eof; + _test_eof244: sm->cs = 244; goto _test_eof; _test_eof: {} if ( ( sm->p) == ( sm->eof) ) { switch ( sm->cs ) { - case 245: goto tr296; - case 246: goto tr298; - case 247: goto tr299; + case 246: goto tr0; case 0: goto tr0; + case 247: goto tr300; case 248: goto tr300; - case 249: goto tr300; - case 1: goto tr0; - case 250: goto tr299; - case 2: goto tr0; - case 3: goto tr0; - case 4: goto tr0; - case 5: goto tr0; - case 6: goto tr0; - case 7: goto tr0; - case 8: goto tr0; - case 9: goto tr0; - case 10: goto tr0; - case 11: goto tr0; - case 12: goto tr0; - case 13: goto tr0; - case 251: goto tr309; - case 14: goto tr0; - case 15: goto tr0; - case 16: goto tr0; - case 17: goto tr0; - case 18: goto tr0; - case 19: goto tr0; - case 20: goto tr0; - case 21: goto tr0; + case 1: goto tr2; + case 249: goto tr301; + case 250: goto tr301; + case 2: goto tr2; + case 251: goto tr300; + case 3: goto tr2; + case 4: goto tr2; + case 5: goto tr2; + case 6: goto tr2; + case 7: goto tr2; + case 8: goto tr2; + case 9: goto tr2; + case 10: goto tr2; + case 11: goto tr2; + case 12: goto tr2; + case 13: goto tr2; + case 14: goto tr2; case 252: goto tr310; - case 253: goto tr312; - case 22: goto tr0; - case 23: goto tr0; - case 24: goto tr0; - case 25: goto tr0; - case 26: goto tr0; - case 27: goto tr0; - case 28: goto tr0; + case 15: goto tr2; + case 16: goto tr2; + case 17: goto tr2; + case 18: goto tr2; + case 19: goto tr2; + case 20: goto tr2; + case 21: goto tr2; + case 22: goto tr2; + case 253: goto tr311; case 254: goto tr313; - case 29: goto tr0; - case 30: goto tr0; - case 31: goto tr0; - case 32: goto tr0; - case 33: goto tr0; + case 23: goto tr2; + case 24: goto tr2; + case 25: goto tr2; + case 26: goto tr2; + case 27: goto tr2; + case 28: goto tr2; + case 29: goto tr2; case 255: goto tr314; - case 34: goto tr0; - case 35: goto tr0; - case 36: goto tr0; - case 37: goto tr0; - case 38: goto tr0; - case 39: goto tr0; - case 40: goto tr0; + case 30: goto tr2; + case 31: goto tr2; + case 32: goto tr2; + case 33: goto tr2; + case 34: goto tr2; case 256: goto tr315; - case 41: goto tr0; - case 42: goto tr0; - case 43: goto tr0; - case 44: goto tr0; - case 45: goto tr0; - case 46: goto tr0; - case 257: goto tr299; - case 47: goto tr0; - case 48: goto tr0; - case 258: goto tr317; - case 259: goto tr317; + case 35: goto tr2; + case 36: goto tr2; + case 37: goto tr2; + case 38: goto tr2; + case 39: goto tr2; + case 40: goto tr2; + case 41: goto tr2; + case 257: goto tr316; + case 42: goto tr2; + case 43: goto tr2; + case 44: goto tr2; + case 45: goto tr2; + case 46: goto tr2; + case 47: goto tr2; + case 258: goto tr300; + case 48: goto tr2; + case 259: goto tr318; case 261: goto tr336; - case 262: goto tr338; - case 263: goto tr339; + case 262: goto tr339; case 49: goto tr56; - case 50: goto tr56; - case 51: goto tr56; - case 52: goto tr56; - case 264: goto tr341; - case 53: goto tr56; - case 54: goto tr56; - case 55: goto tr56; - case 56: goto tr56; - case 57: goto tr56; - case 58: goto tr56; - case 59: goto tr56; - case 60: goto tr56; - case 61: goto tr56; - case 62: goto tr56; - case 63: goto tr56; - case 64: goto tr56; - case 65: goto tr56; - case 66: goto tr56; - case 67: goto tr56; - case 68: goto tr56; - case 69: goto tr56; - case 265: goto tr339; - case 70: goto tr56; - case 266: goto tr342; - case 267: goto tr342; - case 71: goto tr56; - case 268: goto tr339; - case 269: goto tr345; - case 270: goto tr348; - case 271: goto tr339; - case 72: goto tr56; - case 73: goto tr56; - case 74: goto tr56; - case 75: goto tr56; - case 76: goto tr56; - case 77: goto tr56; - case 78: goto tr56; - case 79: goto tr56; - case 80: goto tr56; - case 81: goto tr56; - case 82: goto tr56; - case 83: goto tr56; - case 84: goto tr56; - case 85: goto tr56; - case 272: goto tr359; - case 86: goto tr56; - case 87: goto tr56; - case 88: goto tr56; - case 89: goto tr56; - case 90: goto tr56; - case 91: goto tr56; - case 92: goto tr56; - case 93: goto tr56; - case 94: goto tr56; - case 95: goto tr56; - case 96: goto tr56; - case 97: goto tr56; - case 98: goto tr56; - case 99: goto tr56; - case 100: goto tr56; - case 101: goto tr56; - case 102: goto tr56; - case 103: goto tr56; - case 104: goto tr56; - case 105: goto tr56; - case 106: goto tr56; - case 107: goto tr56; - case 108: goto tr56; - case 109: goto tr56; - case 110: goto tr56; - case 111: goto tr56; - case 112: goto tr56; - case 113: goto tr56; - case 114: goto tr56; - case 115: goto tr56; - case 116: goto tr56; - case 117: goto tr56; - case 118: goto tr56; - case 119: goto tr56; - case 120: goto tr56; - case 121: goto tr56; - case 122: goto tr56; - case 123: goto tr56; - case 124: goto tr56; - case 125: goto tr56; - case 126: goto tr56; - case 127: goto tr56; - case 128: goto tr56; - case 129: goto tr56; - case 130: goto tr56; - case 131: goto tr56; - case 132: goto tr56; - case 133: goto tr56; - case 273: goto tr339; - case 134: goto tr56; - case 135: goto tr56; - case 136: goto tr56; - case 137: goto tr56; - case 138: goto tr56; - case 139: goto tr56; - case 140: goto tr56; - case 274: goto tr361; - case 275: goto tr339; - case 141: goto tr56; - case 142: goto tr56; - case 143: goto tr56; - case 144: goto tr56; - case 145: goto tr56; - case 146: goto tr56; - case 147: goto tr56; - case 148: goto tr56; - case 276: goto tr364; - case 277: goto tr339; - case 149: goto tr56; - case 150: goto tr56; - case 151: goto tr56; - case 152: goto tr56; - case 153: goto tr56; - case 154: goto tr56; - case 278: goto tr367; - case 279: goto tr339; - case 155: goto tr56; - case 156: goto tr56; - case 280: goto tr371; - case 281: goto tr371; - case 157: goto tr56; - case 158: goto tr56; - case 159: goto tr56; - case 160: goto tr56; - case 161: goto tr56; - case 162: goto tr56; - case 282: goto tr373; - case 163: goto tr56; - case 283: goto tr339; - case 164: goto tr56; - case 165: goto tr56; - case 166: goto tr56; - case 167: goto tr56; - case 168: goto tr56; - case 169: goto tr56; - case 284: goto tr375; - case 285: goto tr339; - case 170: goto tr56; - case 171: goto tr56; - case 172: goto tr56; - case 173: goto tr56; - case 174: goto tr56; - case 175: goto tr56; - case 286: goto tr379; - case 176: goto tr204; - case 177: goto tr204; - case 287: goto tr382; - case 178: goto tr56; - case 179: goto tr56; - case 180: goto tr56; - case 181: goto tr56; - case 182: goto tr56; - case 288: goto tr384; - case 183: goto tr56; - case 184: goto tr56; - case 185: goto tr56; - case 186: goto tr56; - case 289: goto tr386; - case 290: goto tr339; - case 187: goto tr56; - case 188: goto tr56; - case 189: goto tr56; - case 190: goto tr56; - case 191: goto tr56; - case 192: goto tr56; - case 291: goto tr389; - case 193: goto tr223; - case 194: goto tr223; - case 292: goto tr392; - case 293: goto tr339; - case 195: goto tr56; - case 196: goto tr56; - case 197: goto tr56; - case 198: goto tr56; - case 199: goto tr56; - case 294: goto tr395; - case 295: goto tr339; - case 200: goto tr56; - case 201: goto tr56; - case 202: goto tr56; - case 297: goto tr401; - case 203: goto tr235; - case 204: goto tr235; - case 205: goto tr235; - case 206: goto tr235; - case 207: goto tr235; - case 299: goto tr406; - case 208: goto tr241; - case 209: goto tr241; - case 210: goto tr241; - case 211: goto tr241; - case 212: goto tr241; - case 213: goto tr241; - case 214: goto tr241; - case 215: goto tr241; - case 301: goto tr411; - case 216: goto tr250; - case 217: goto tr250; - case 218: goto tr250; - case 219: goto tr250; - case 220: goto tr250; - case 221: goto tr250; - case 222: goto tr250; - case 223: goto tr250; - case 224: goto tr250; - case 225: goto tr250; - case 226: goto tr250; - case 227: goto tr250; - case 228: goto tr250; - case 229: goto tr250; - case 230: goto tr250; - case 231: goto tr250; - case 232: goto tr250; - case 233: goto tr250; - case 234: goto tr250; - case 235: goto tr250; - case 236: goto tr250; - case 237: goto tr250; - case 238: goto tr250; - case 239: goto tr250; - case 240: goto tr250; - case 241: goto tr250; - case 303: goto tr419; - case 304: goto tr421; - case 305: goto tr422; - case 242: goto tr284; + case 50: goto tr58; + case 51: goto tr58; + case 263: goto tr340; + case 264: goto tr340; + case 265: goto tr342; + case 266: goto tr343; + case 52: goto tr63; + case 53: goto tr63; + case 54: goto tr63; + case 55: goto tr63; + case 267: goto tr345; + case 56: goto tr63; + case 57: goto tr63; + case 58: goto tr63; + case 59: goto tr63; + case 60: goto tr63; + case 61: goto tr63; + case 62: goto tr63; + case 63: goto tr63; + case 64: goto tr63; + case 65: goto tr63; + case 66: goto tr63; + case 67: goto tr63; + case 68: goto tr63; + case 69: goto tr63; + case 70: goto tr63; + case 71: goto tr63; + case 72: goto tr63; + case 268: goto tr343; + case 269: goto tr347; + case 270: goto tr350; + case 271: goto tr343; + case 73: goto tr63; + case 74: goto tr63; + case 75: goto tr63; + case 76: goto tr63; + case 77: goto tr63; + case 78: goto tr63; + case 79: goto tr63; + case 272: goto tr352; + case 273: goto tr343; + case 80: goto tr63; + case 81: goto tr63; + case 82: goto tr63; + case 83: goto tr63; + case 84: goto tr63; + case 85: goto tr63; + case 86: goto tr63; + case 87: goto tr63; + case 274: goto tr355; + case 275: goto tr343; + case 88: goto tr63; + case 89: goto tr63; + case 90: goto tr63; + case 91: goto tr63; + case 92: goto tr63; + case 93: goto tr63; + case 276: goto tr358; + case 277: goto tr343; + case 94: goto tr63; + case 95: goto tr63; + case 96: goto tr63; + case 97: goto tr63; + case 98: goto tr63; + case 99: goto tr63; + case 278: goto tr361; + case 279: goto tr343; + case 100: goto tr63; + case 101: goto tr63; + case 102: goto tr63; + case 103: goto tr63; + case 104: goto tr63; + case 105: goto tr63; + case 280: goto tr365; + case 106: goto tr122; + case 107: goto tr122; + case 281: goto tr368; + case 108: goto tr63; + case 109: goto tr63; + case 110: goto tr63; + case 111: goto tr63; + case 112: goto tr63; + case 282: goto tr370; + case 113: goto tr63; + case 114: goto tr63; + case 115: goto tr63; + case 116: goto tr63; + case 283: goto tr372; + case 284: goto tr343; + case 117: goto tr63; + case 118: goto tr63; + case 119: goto tr63; + case 120: goto tr63; + case 121: goto tr63; + case 122: goto tr63; + case 285: goto tr375; + case 123: goto tr141; + case 124: goto tr141; + case 286: goto tr378; + case 287: goto tr343; + case 125: goto tr63; + case 126: goto tr63; + case 127: goto tr63; + case 128: goto tr63; + case 129: goto tr63; + case 288: goto tr381; + case 289: goto tr343; + case 130: goto tr63; + case 131: goto tr63; + case 132: goto tr63; + case 133: goto tr63; + case 134: goto tr63; + case 135: goto tr63; + case 136: goto tr63; + case 137: goto tr63; + case 138: goto tr63; + case 139: goto tr63; + case 140: goto tr63; + case 141: goto tr63; + case 142: goto tr63; + case 143: goto tr63; + case 290: goto tr393; + case 144: goto tr63; + case 145: goto tr63; + case 146: goto tr63; + case 147: goto tr63; + case 148: goto tr63; + case 149: goto tr63; + case 150: goto tr63; + case 151: goto tr63; + case 152: goto tr63; + case 153: goto tr63; + case 154: goto tr63; + case 155: goto tr63; + case 156: goto tr63; + case 157: goto tr63; + case 158: goto tr63; + case 159: goto tr63; + case 160: goto tr63; + case 161: goto tr63; + case 162: goto tr63; + case 163: goto tr63; + case 164: goto tr63; + case 165: goto tr63; + case 166: goto tr63; + case 167: goto tr63; + case 168: goto tr63; + case 169: goto tr63; + case 170: goto tr63; + case 171: goto tr63; + case 172: goto tr63; + case 173: goto tr63; + case 174: goto tr63; + case 175: goto tr63; + case 176: goto tr63; + case 177: goto tr63; + case 178: goto tr63; + case 179: goto tr63; + case 180: goto tr63; + case 181: goto tr63; + case 182: goto tr63; + case 183: goto tr63; + case 184: goto tr63; + case 185: goto tr63; + case 186: goto tr63; + case 187: goto tr63; + case 188: goto tr63; + case 189: goto tr63; + case 190: goto tr63; + case 191: goto tr63; + case 291: goto tr343; + case 192: goto tr63; + case 292: goto tr396; + case 193: goto tr63; + case 194: goto tr63; + case 195: goto tr63; + case 196: goto tr63; + case 197: goto tr63; + case 198: goto tr63; + case 293: goto tr398; + case 199: goto tr63; + case 294: goto tr343; + case 200: goto tr63; + case 201: goto tr63; + case 202: goto tr63; + case 296: goto tr403; + case 203: goto tr236; + case 204: goto tr236; + case 205: goto tr236; + case 206: goto tr236; + case 207: goto tr236; + case 298: goto tr408; + case 208: goto tr242; + case 209: goto tr242; + case 210: goto tr242; + case 211: goto tr242; + case 212: goto tr242; + case 213: goto tr242; + case 214: goto tr242; + case 215: goto tr242; + case 300: goto tr413; + case 216: goto tr251; + case 217: goto tr251; + case 218: goto tr251; + case 219: goto tr251; + case 220: goto tr251; + case 221: goto tr251; + case 222: goto tr251; + case 223: goto tr251; + case 224: goto tr251; + case 225: goto tr251; + case 226: goto tr251; + case 227: goto tr251; + case 228: goto tr251; + case 229: goto tr251; + case 230: goto tr251; + case 231: goto tr251; + case 232: goto tr251; + case 233: goto tr251; + case 234: goto tr251; + case 235: goto tr251; + case 236: goto tr251; + case 237: goto tr251; + case 238: goto tr251; + case 239: goto tr251; + case 240: goto tr251; + case 241: goto tr251; + case 302: goto tr285; + case 242: goto tr285; + case 303: goto tr422; + case 304: goto tr422; + case 243: goto tr287; + case 305: goto tr423; case 306: goto tr423; - case 307: goto tr423; - case 243: goto tr284; + case 244: goto tr287; } } } -#line 1297 "ext/dtext/dtext.rl" +#line 1315 "ext/dtext/dtext.rl" dstack_close(sm); ret = rb_str_new(sm->output->str, sm->output->len);