Changeset 237
- Timestamp:
- 02/14/2008 10:50:18 (9 months ago)
- Location:
- branches/superredcloth/ext/superredcloth_scan
- Files:
-
- 2 modified
-
superredcloth.h (modified) (1 diff)
-
superredcloth_scan.rl (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/superredcloth/ext/superredcloth_scan/superredcloth.h
r228 r237 26 26 #define PASS2(H, A, T) rb_str_append(H, red_pass2(rb_formatter, regs, ID2SYM(rb_intern(#A)), ID2SYM(rb_intern(#T)))) 27 27 #define ADD_BLOCK() rb_str_append(html, red_block(rb_formatter, regs, block)); CLEAR(block); regs = rb_hash_new() 28 #define ADD_EXTENDED_BLOCK() rb_str_append(html, red_block(rb_formatter, regs, block)); CLEAR(block); 28 29 #define ADD_BLOCKCODE() rb_str_append(html, red_blockcode(rb_formatter, regs, block)); CLEAR(block); regs = rb_hash_new() 29 30 #define ASET(T, V) rb_hash_aset(regs, ID2SYM(rb_intern(#T)), rb_str_new2(#V)); -
branches/superredcloth/ext/superredcloth_scan/superredcloth_scan.rl
r233 r237 20 20 21 21 action notextile { rb_str_append(html, rb_funcall(rb_formatter, rb_intern("ignore"), 1, regs)); } 22 action extend { plain_block = rb_hash_aref(regs, ID2SYM(rb_intern("type"))); } 23 action no_extend { plain_block = rb_str_new2("p"); } 22 action extend { extend = 1; } 23 action no_extend { extend = 0; } 24 action add_unless_extended { if (extend == 0) { ADD_BLOCK(); fgoto main; } else { ADD_EXTENDED_BLOCK(); } } 24 25 25 26 # blocks … … 33 34 block_start = ( btype A C :> "." ( "." %extend | "" %no_extend ) " "+ ) ; 34 35 block_end = ( CRLF{2} | EOF ); 36 extended_block_end = block_end . block_start >A @{ p = reg - 1; }; 35 37 ftype = ( "fn" >A %{ STORE(type) } digit+ >A %{ STORE(id) } ) ; 36 38 footnote_start = ( ftype A C :> dotspace ) ; … … 80 82 81 83 block := |* 82 block_end { ADD_BLOCK(); fgoto main; }; 84 block_end => add_unless_extended; 85 extended_block_end { ADD_BLOCK(); fgoto main; }; 83 86 default => cat; 84 87 *|; … … 136 139 int list_continue = 0; 137 140 VALUE plain_block = rb_str_new2("p"); 141 int extend = 0; 138 142 char listm[10] = ""; 139 143