diff options
Diffstat (limited to 'org/meta_abstraction.org')
-rw-r--r-- | org/meta_abstraction.org | 599 |
1 files changed, 298 insertions, 301 deletions
diff --git a/org/meta_abstraction.org b/org/meta_abstraction.org index cf86961..d017407 100644 --- a/org/meta_abstraction.org +++ b/org/meta_abstraction.org @@ -56,7 +56,7 @@ template SiSUdocAbstraction() { foreach (line; markup_sourcefile_content) { /+ ↓ markup document/text line by line +/ <<abs_in_loop_body_00>> - if (type["code"] == TriState.on) { + if (obj_type_status["code"] == TriState.on) { <<abs_in_loop_body_00_code_block>> } else if (!matchFirst(line, rgx.skip_from_regular_parse)) { /+ object other than "code block" object @@ -72,7 +72,7 @@ template SiSUdocAbstraction() { /+ line not empty +/ /+ non blocks (headings, paragraphs) & closed blocks +/ <<abs_in_loop_body_not_block_obj>> - } else if (type["blocks"] == TriState.closing) { + } else if (obj_type_status["blocks"] == TriState.closing) { /+ line empty, with blocks flag +/ <<abs_in_loop_body_not_block_obj_line_empty_blocks_flags>> } else { @@ -438,7 +438,7 @@ line_occur = [ "glossary" : 0, "blurb" : 0, ]; -auto type = flags_type_init; +auto obj_type_status = flags_type_init; string[string] obj_cite_number_poem = [ "start" : "", "end" : "" @@ -560,7 +560,7 @@ debug(srclines) { #+name: abs_in_loop_body_00 #+BEGIN_SRC d if (!line.empty) { - type = _check_ocn_status_(line, type); + obj_type_status = _check_ocn_status_(line, obj_type_status); } #+END_SRC @@ -570,7 +570,7 @@ if (!line.empty) { #+name: abs_in_loop_body_00_code_block #+BEGIN_SRC d /+ block object: code +/ -_code_block_(line, an_object, type); +_code_block_(line, an_object, obj_type_status); continue; #+END_SRC @@ -581,16 +581,16 @@ continue; #+name: abs_in_loop_body_non_code_obj #+BEGIN_SRC d if (line.matchFirst(rgx.heading_biblio) -|| (type["biblio_section"] == State.on +|| (obj_type_status["biblio_section"] == State.on && (!(line.matchFirst(rgx.heading_blurb_glossary))) && (!(line.matchFirst(rgx.heading))) && (!(line.matchFirst(rgx.comment))))) { /+ within section (block object): biblio +/ - type["glossary_section"] = State.off; - type["biblio_section"] = State.on; - type["blurb_section"] = State.off; + obj_type_status["glossary_section"] = State.off; + obj_type_status["biblio_section"] = State.on; + obj_type_status["blurb_section"] = State.off; if (opt_action["backmatter"] && opt_action["section_biblio"]) { - _biblio_block_(line, type, bib_entry, biblio_entry_str_json, biblio_arr_json); + _biblio_block_(line, obj_type_status, bib_entry, biblio_entry_str_json, biblio_arr_json); debug(bibliobuild) { writeln("- ", biblio_entry_str_json); writeln("-> ", biblio_arr_json.length); @@ -611,7 +611,7 @@ if there is a glossary section you need to: #+name: abs_in_loop_body_non_code_obj #+BEGIN_SRC d } else if (line.matchFirst(rgx.heading_glossary) -|| (type["glossary_section"] == State.on +|| (obj_type_status["glossary_section"] == State.on && (!(line.matchFirst(rgx.heading_biblio_blurb))) && (!(line.matchFirst(rgx.heading))) && (!(line.matchFirst(rgx.comment))))) { @@ -620,16 +620,16 @@ if there is a glossary section you need to: writeln(__LINE__); writeln(line); } - type["glossary_section"] = State.on; - type["biblio_section"] = State.off; - type["blurb_section"] = State.off; + obj_type_status["glossary_section"] = State.on; + obj_type_status["biblio_section"] = State.off; + obj_type_status["blurb_section"] = State.off; if (opt_action["backmatter"] && opt_action["section_glossary"]) { indent=[ "hang_position" : 0, "base_position" : 0, ]; bullet = false; - type["para"] = State.on; + obj_type_status["para"] = State.on; line_occur["para"] = State.off; an_object_key="glossary_nugget"; // if (line.matchFirst(rgx.heading_glossary)) { @@ -667,7 +667,7 @@ if there is a glossary section you need to: comp_obj_heading_.anchor_tags = ["glossary"]; the_glossary_section ~= comp_obj_heading_; } else { - _para_match_(line, an_object, an_object_key, indent, bullet, type, line_occur); + _para_match_(line, an_object, an_object_key, indent, bullet, obj_type_status, line_occur); comp_obj_para = comp_obj_para.init; comp_obj_para.use = "backmatter"; comp_obj_para.is_of = "para"; @@ -680,7 +680,7 @@ if there is a glossary section you need to: comp_obj_para.bullet = bullet; the_glossary_section ~= comp_obj_para; } - type["ocn_status"] = TriState.off; + obj_type_status["ocn_status"] = TriState.off; } continue; #+END_SRC @@ -697,7 +697,7 @@ if there is a blurb section you need to: #+name: abs_in_loop_body_non_code_obj #+BEGIN_SRC d } else if (line.matchFirst(rgx.heading_blurb) -|| (type["blurb_section"] == State.on +|| (obj_type_status["blurb_section"] == State.on && (!(line.matchFirst(rgx.heading_biblio_glossary))) && (!(line.matchFirst(rgx.heading))) && (!(line.matchFirst(rgx.comment))))) { @@ -706,16 +706,16 @@ if there is a blurb section you need to: writeln(__LINE__); writeln(line); } - type["glossary_section"] = State.off; - type["biblio_section"] = State.off; - type["blurb_section"] = State.on; + obj_type_status["glossary_section"] = State.off; + obj_type_status["biblio_section"] = State.off; + obj_type_status["blurb_section"] = State.on; if (opt_action["backmatter"] && opt_action["section_blurb"]) { indent=[ "hang_position" : 0, "base_position" : 0, ]; bullet = false; - type["para"] = State.on; + obj_type_status["para"] = State.on; line_occur["para"] = State.off; an_object_key="blurb_nugget"; if (line.matchFirst(rgx.heading_blurb)) { @@ -769,7 +769,7 @@ if there is a blurb section you need to: comp_obj_heading_.parent_lev_markup = 0; the_blurb_section ~= comp_obj_heading_; } else { - _para_match_(line, an_object, an_object_key, indent, bullet, type, line_occur); + _para_match_(line, an_object, an_object_key, indent, bullet, obj_type_status, line_occur); comp_obj_para = comp_obj_para.init; comp_obj_para.use = "backmatter"; comp_obj_para.is_of = "para"; @@ -782,7 +782,7 @@ if there is a blurb section you need to: comp_obj_para.bullet = bullet; the_blurb_section ~= comp_obj_para; } - type["ocn_status"] = TriState.off; + obj_type_status["ocn_status"] = TriState.off; } continue; #+END_SRC @@ -792,9 +792,9 @@ if there is a blurb section you need to: #+name: abs_in_loop_body_non_code_obj #+BEGIN_SRC d -} else if (type["quote"] == TriState.on) { +} else if (obj_type_status["quote"] == TriState.on) { /+ within block object: quote +/ - _quote_block_(line, an_object, type); + _quote_block_(line, an_object, obj_type_status); continue; #+END_SRC @@ -803,11 +803,11 @@ if there is a blurb section you need to: #+name: abs_in_loop_body_non_code_obj #+BEGIN_SRC d /+ within block object: group +/ -} else if (type["group"] == TriState.on) { +} else if (obj_type_status["group"] == TriState.on) { /+ within block object: group +/ line = (line) .replaceAll(rgx.para_delimiter, mkup.br_paragraph ~ "$1"); - _group_block_(line, an_object, type); + _group_block_(line, an_object, obj_type_status); continue; #+END_SRC @@ -815,7 +815,7 @@ if there is a blurb section you need to: #+name: abs_in_loop_body_non_code_obj #+BEGIN_SRC d -} else if (type["block"] == TriState.on) { +} else if (obj_type_status["block"] == TriState.on) { /+ within block object: block +/ if (auto m = line.match(rgx.spaces_line_start)) { line = (line) @@ -825,7 +825,7 @@ if there is a blurb section you need to: line = (line) .replaceAll(rgx.spaces_multiple, (m.captures[1]).translate([ ' ' : mkup.nbsp ])); } - _block_block_(line, an_object, type); + _block_block_(line, an_object, obj_type_status); continue; #+END_SRC @@ -833,9 +833,9 @@ if there is a blurb section you need to: #+name: abs_in_loop_body_non_code_obj #+BEGIN_SRC d -} else if (type["poem"] == TriState.on) { +} else if (obj_type_status["poem"] == TriState.on) { /+ within block object: poem +/ - _poem_block_(line, an_object, type, cntr, obj_cite_number_poem, dochead_make_aa); + _poem_block_(line, an_object, obj_type_status, cntr, obj_cite_number_poem, dochead_make_aa); continue; #+END_SRC @@ -843,9 +843,9 @@ if there is a blurb section you need to: #+name: abs_in_loop_body_non_code_obj #+BEGIN_SRC d -} else if (type["table"] == TriState.on) { +} else if (obj_type_status["table"] == TriState.on) { /+ within block object: table +/ - _table_block_(line, an_object, type, dochead_make_aa); + _table_block_(line, an_object, obj_type_status, dochead_make_aa); continue; #+END_SRC @@ -855,11 +855,11 @@ if there is a blurb section you need to: #+name: abs_in_loop_body_open_block_obj_assert #+BEGIN_SRC d assert( - (type["blocks"] == TriState.off) - || (type["blocks"] == TriState.closing), + (obj_type_status["blocks"] == TriState.off) + || (obj_type_status["blocks"] == TriState.closing), "block status: none or closed" ); -assertions_flag_types_block_status_none_or_closed(type); +assertions_flag_types_block_status_none_or_closed(obj_type_status); #+END_SRC ****** catch misc +block open+ @@ -872,7 +872,7 @@ if (line.matchFirst(rgx.block_poem_open)) { processing.remove("verse"); obj_cite_number_poem["start"] = obj_cite_number.to!string; } -_start_block_(line, type, obj_cite_number_poem); +_start_block_(line, obj_type_status, obj_cite_number_poem); continue; #+END_SRC @@ -886,11 +886,11 @@ assert( "line tested, line not empty surely:\n \"" ~ line ~ "\"" ); assert( - (type["blocks"] == TriState.off) - || (type["blocks"] == TriState.closing), + (obj_type_status["blocks"] == TriState.off) + || (obj_type_status["blocks"] == TriState.closing), "code block status: none or closed" ); -if (type["blocks"] == TriState.closing) { +if (obj_type_status["blocks"] == TriState.closing) { debug(check) { // block writeln(__LINE__); writeln(line); @@ -898,7 +898,7 @@ if (type["blocks"] == TriState.closing) { assert( line.matchFirst(rgx.book_index) || line.matchFirst(rgx.book_index_open) - || type["book_index"] == State.on, + || obj_type_status["book_index"] == State.on, "\nblocks closed, unless followed by book index, non-matching line:\n \"" ~ line ~ "\"" ); @@ -911,9 +911,9 @@ if (type["blocks"] == TriState.closing) { #+BEGIN_SRC d if (line.matchFirst(rgx.book_index) || line.matchFirst(rgx.book_index_open) -|| type["book_index"] == State.on ) { +|| obj_type_status["book_index"] == State.on ) { /+ book_index +/ - _book_index_(line, book_idx_tmp, an_object, type, opt_action); + _book_index_(line, book_idx_tmp, an_object, obj_type_status, opt_action); #+END_SRC ******* not book index [+1] @@ -941,7 +941,7 @@ if (line.matchFirst(rgx.book_index) comp_obj_comment.is_a = "comment"; comp_obj_comment.text = an_object[an_object_key].strip; the_document_body_section ~= comp_obj_comment; - _common_reset_(line_occur, an_object, type); + _common_reset_(line_occur, an_object, obj_type_status); processing.remove("verse"); ++cntr; #+END_SRC @@ -952,21 +952,21 @@ if (line.matchFirst(rgx.book_index) #+BEGIN_SRC d } else if (((line_occur["para"] == State.off) && (line_occur["heading"] == State.off)) - && ((type["para"] == State.off) - && (type["heading"] == State.off))) { + && ((obj_type_status["para"] == State.off) + && (obj_type_status["heading"] == State.off))) { /+ heading or para but neither flag nor line exists +/ if ((dochead_make_aa["make"]["headings"].length > 2) - && (type["make_headings"] == State.off)) { + && (obj_type_status["make_headings"] == State.off)) { /+ heading found +/ - _heading_found_(line, dochead_make_aa["make"]["headings"], heading_match_str, heading_match_rgx, type); + _heading_found_(line, dochead_make_aa["make"]["headings"], heading_match_str, heading_match_rgx, obj_type_status); } - if ((type["make_headings"] == State.on) + if ((obj_type_status["make_headings"] == State.on) && ((line_occur["para"] == State.off) && (line_occur["heading"] == State.off)) - && ((type["para"] == State.off) - && (type["heading"] == State.off))) { + && ((obj_type_status["para"] == State.off) + && (obj_type_status["heading"] == State.off))) { /+ heading make set +/ - line = _heading_make_set_(line, line_occur, heading_match_rgx, type); + line = _heading_make_set_(line, line_occur, heading_match_rgx, obj_type_status); } /+ TODO node info: all headings identified at this point, - extract node info here?? @@ -976,11 +976,11 @@ if (line.matchFirst(rgx.book_index) +/ if (line.matchFirst(rgx.heading)) { /+ heading match +/ - _heading_matched_(line, line_occur, an_object, an_object_key, lv, collapsed_lev, type, dochead_meta_aa); + _heading_matched_(line, line_occur, an_object, an_object_key, lv, collapsed_lev, obj_type_status, dochead_meta_aa); } else if (line_occur["para"] == State.off) { /+ para match +/ an_object_key="body_nugget"; - _para_match_(line, an_object, an_object_key, indent, bullet, type, line_occur); + _para_match_(line, an_object, an_object_key, indent, bullet, obj_type_status, line_occur); } #+END_SRC @@ -1025,7 +1025,7 @@ _block_flag_line_empty_( obj_cite_number, comp_obj_heading, cntr, - type, + obj_type_status, obj_cite_number_poem, dochead_make_aa ); @@ -1042,7 +1042,7 @@ assert( ~ line ~ "\"" ); assert( - (type["blocks"] == State.off), + (obj_type_status["blocks"] == State.off), "code block status: none" ); #+END_SRC @@ -1051,12 +1051,12 @@ assert( #+name: abs_in_loop_body_not_block_obj_line_empty #+BEGIN_SRC d -if ((type["heading"] == State.on) +if ((obj_type_status["heading"] == State.on) && (line_occur["heading"] > State.off)) { /+ heading object (current line empty) +/ obj_cite_number = (an_object["lev_markup_number"].to!int == 0) ? (ocn_emit(3)) - : (obj_cite_number = ocn_emit(type["ocn_status"])); + : (obj_cite_number = ocn_emit(obj_type_status["ocn_status"])); an_object["is"] = "heading"; an_object_key="body_nugget"; auto substantive_object_and_anchor_tags_tuple = @@ -1139,7 +1139,7 @@ if ((type["heading"] == State.on) debug(objectrelated1) { // check writeln(line); } - _common_reset_(line_occur, an_object, type); + _common_reset_(line_occur, an_object, obj_type_status); an_object.remove("lev"); an_object.remove("lev_markup_number"); processing.remove("verse"); @@ -1150,10 +1150,10 @@ if ((type["heading"] == State.on) #+name: abs_in_loop_body_not_block_obj_line_empty #+BEGIN_SRC d -} else if ((type["para"] == State.on) +} else if ((obj_type_status["para"] == State.on) && (line_occur["para"] > State.off)) { /+ paragraph object (current line empty) +/ - obj_cite_number = ocn_emit(type["ocn_status"]); + obj_cite_number = ocn_emit(obj_type_status["ocn_status"]); an_object["bookindex_nugget"] = ("bookindex_nugget" in an_object) ? an_object["bookindex_nugget"] : ""; bookindex_unordered_hashes = @@ -1187,7 +1187,7 @@ if ((type["heading"] == State.on) comp_obj_para.inline_notes_star = substantive_obj_misc_tuple[sObj.notes_star]; comp_obj_para.inline_links = substantive_obj_misc_tuple[sObj.links]; the_document_body_section ~= comp_obj_para; - _common_reset_(line_occur, an_object, type); + _common_reset_(line_occur, an_object, obj_type_status); indent=[ "hang_position" : 0, "base_position" : 0, @@ -1218,9 +1218,9 @@ if (the_document_body_section.length > 0) { && (the_document_body_section.length > previous_length)) { if ((the_document_body_section[$-1].is_a == "heading") && (the_document_body_section[$-1].heading_lev_markup < 5)) { - type["biblio_section"] = State.off; - type["glossary_section"] = State.off; - type["blurb_section"] = State.off; + obj_type_status["biblio_section"] = State.off; + obj_type_status["glossary_section"] = State.off; + obj_type_status["blurb_section"] = State.off; } if (the_document_body_section[$-1].is_a == "verse") { /+ scan for endnotes for whole poem (each verse in poem) +/ @@ -2174,9 +2174,6 @@ comp_obj_heading_.parent_ocn = 0; comp_obj_heading_.parent_lev_markup = 0; comp_obj_heading_.dom_markedup = dom_markedup.dup; comp_obj_heading_.dom_collapsed = dom_collapsed.dup; -obj_dom_set_markup_tags(comp_obj_heading_, dom_markedup, 0); -obj_dom_set_collapsed_tags(comp_obj_heading_, dom_collapsed, 0); -obj_heading_ancestors(comp_obj_heading_, lv_ancestors_txt); comp_obj_heading_ = obj_dom_set_markup_tags(comp_obj_heading_, dom_markedup, 0); comp_obj_heading_ = obj_dom_set_collapsed_tags(comp_obj_heading_, dom_collapsed, 0); comp_obj_heading_ = obj_heading_ancestors(comp_obj_heading_, lv_ancestors_txt); @@ -2327,17 +2324,17 @@ static auto object_reset(O)(O an_object) { auto _common_reset_(L,O,T)( return ref L line_occur, return ref O an_object, - return ref T type + return ref T obj_type_status ) { debug(asserts) { - static assert(is(typeof(line_occur) == int[string])); - static assert(is(typeof(an_object) == string[string])); - static assert(is(typeof(type) == int[string])); - } - line_occur["heading"] = State.off; - line_occur["para"] = State.off; - type["heading"] = State.off; - type["para"] = State.off; + static assert(is(typeof(line_occur) == int[string])); + static assert(is(typeof(an_object) == string[string])); + static assert(is(typeof(obj_type_status) == int[string])); + } + line_occur["heading"] = State.off; + line_occur["para"] = State.off; + obj_type_status["heading"] = State.off; + obj_type_status["para"] = State.off; an_object = object_reset(an_object); } #+END_SRC @@ -2348,53 +2345,53 @@ auto _common_reset_(L,O,T)( #+BEGIN_SRC d static auto _check_ocn_status_(L,T)( L line, - T type + T obj_type_status ) { debug(asserts) { static assert(is(typeof(line) == char[])); - static assert(is(typeof(type) == int[string])); + static assert(is(typeof(obj_type_status) == int[string])); } static auto rgx = Rgx(); - if ((!line.empty) && (type["ocn_status_multi_obj"] == TriState.off)) { + if ((!line.empty) && (obj_type_status["ocn_status_off_for_multiple_objects"] == TriState.off)) { /+ not multi-line object, check whether obj_cite_number is on or turned off +/ if (line.matchFirst(rgx.obj_cite_number_block_marks)) { /+ switch off obj_cite_number +/ if (line.matchFirst(rgx.obj_cite_number_off_block)) { - type["ocn_status_multi_obj"] = TriState.on; + obj_type_status["ocn_status_off_for_multiple_objects"] = TriState.on; debug(ocnoff) { writeln(line); } } if (line.matchFirst(rgx.obj_cite_number_off_block_dh)) { - type["ocn_status_multi_obj"] = TriState.closing; + obj_type_status["ocn_status_off_for_multiple_objects"] = TriState.closing; debug(ocnoff) { writeln(line); } } } else { - if (type["ocn_status_multi_obj"] == TriState.off) { + if (obj_type_status["ocn_status_off_for_multiple_objects"] == TriState.off) { if (line.matchFirst(rgx.obj_cite_number_off)) { - type["ocn_status"] = TriState.on; + obj_type_status["ocn_status"] = TriState.on; } else if (line.matchFirst(rgx.obj_cite_number_off_dh)) { - type["ocn_status"] = TriState.closing; + obj_type_status["ocn_status"] = TriState.closing; } else { - type["ocn_status"] = TriState.off; + obj_type_status["ocn_status"] = TriState.off; } } else { - type["ocn_status"] = - type["ocn_status_multi_obj"]; + obj_type_status["ocn_status"] = + obj_type_status["ocn_status_off_for_multiple_objects"]; } } - } else if ((!line.empty) && (type["ocn_status_multi_obj"] > TriState.off)) { + } else if ((!line.empty) && (obj_type_status["ocn_status_off_for_multiple_objects"] > TriState.off)) { if (line.matchFirst(rgx.obj_cite_number_off_block_close)) { - type["ocn_status_multi_obj"] = TriState.off; - type["ocn_status"] = TriState.off; + obj_type_status["ocn_status_off_for_multiple_objects"] = TriState.off; + obj_type_status["ocn_status"] = TriState.off; debug(ocnoff) { writeln(line); } } } - return type; + return obj_type_status; } #+END_SRC @@ -2406,12 +2403,12 @@ static auto _check_ocn_status_(L,T)( #+BEGIN_SRC d void _start_block_(L,T,N)( L line, - return ref T type, + return ref T obj_type_status, return ref N obj_cite_number_poem ) { debug(asserts) { static assert(is(typeof(line) == char[])); - static assert(is(typeof(type) == int[string])); + static assert(is(typeof(obj_type_status) == int[string])); static assert(is(typeof(obj_cite_number_poem) == string[string])); } #+END_SRC @@ -2433,9 +2430,9 @@ void _start_block_(L,T,N)( line ); } - type["blocks"] = TriState.on; - type["code"] = TriState.on; - type["curly_code"] = TriState.on; + obj_type_status["blocks"] = TriState.on; + obj_type_status["code"] = TriState.on; + obj_type_status["curly_code"] = TriState.on; } else if (line.matchFirst(rgx.block_curly_poem_open)) { /+ curly poem open +/ debug(poem) { // poem (curly) open @@ -2446,10 +2443,10 @@ void _start_block_(L,T,N)( } obj_cite_number_poem["start"] = obj_cite_number.to!string; - type["blocks"] = TriState.on; - type["verse_new"] = State.on; - type["poem"] = TriState.on; - type["curly_poem"] = TriState.on; + obj_type_status["blocks"] = TriState.on; + obj_type_status["verse_new"] = State.on; + obj_type_status["poem"] = TriState.on; + obj_type_status["curly_poem"] = TriState.on; } else if (line.matchFirst(rgx.block_curly_group_open)) { /+ curly group open +/ debug(group) { // group (curly) open @@ -2458,9 +2455,9 @@ void _start_block_(L,T,N)( line ); } - type["blocks"] = TriState.on; - type["group"] = TriState.on; - type["curly_group"] = TriState.on; + obj_type_status["blocks"] = TriState.on; + obj_type_status["group"] = TriState.on; + obj_type_status["curly_group"] = TriState.on; } else if (line.matchFirst(rgx.block_curly_block_open)) { /+ curly block open +/ debug(block) { // block (curly) open @@ -2469,9 +2466,9 @@ void _start_block_(L,T,N)( line ); } - type["blocks"] = TriState.on; - type["block"] = TriState.on; - type["curly_block"] = TriState.on; + obj_type_status["blocks"] = TriState.on; + obj_type_status["block"] = TriState.on; + obj_type_status["curly_block"] = TriState.on; } else if (line.matchFirst(rgx.block_curly_quote_open)) { /+ curly quote open +/ debug(quote) { // quote (curly) open @@ -2480,9 +2477,9 @@ void _start_block_(L,T,N)( line ); } - type["blocks"] = TriState.on; - type["quote"] = TriState.on; - type["curly_quote"] = TriState.on; + obj_type_status["blocks"] = TriState.on; + obj_type_status["quote"] = TriState.on; + obj_type_status["curly_quote"] = TriState.on; } else if (auto m = line.matchFirst(rgx.block_curly_table_open)) { /+ curly table open +/ debug(table) { // table (curly) open @@ -2491,18 +2488,18 @@ void _start_block_(L,T,N)( line ); } - an_object["table_head"] = m.captures[1].to!string; - an_object["block_type"] = "curly"; - type["blocks"] = TriState.on; - type["table"] = TriState.on; - type["curly_table"] = TriState.on; + an_object["table_head"] = m.captures[1].to!string; + an_object["block_type"] = "curly"; + obj_type_status["blocks"] = TriState.on; + obj_type_status["table"] = TriState.on; + obj_type_status["curly_table"] = TriState.on; } else if (auto m = line.matchFirst(rgx.block_curly_table_special_markup)) { /+ table: special table block markup syntax! +/ - an_object["table_head"] = m.captures[1].to!string; - an_object["block_type"] = "special"; - type["blocks"] = TriState.on; - type["table"] = TriState.on; - type["curly_table_special_markup"] = TriState.on; + an_object["table_head"] = m.captures[1].to!string; + an_object["block_type"] = "special"; + obj_type_status["blocks"] = TriState.on; + obj_type_status["table"] = TriState.on; + obj_type_status["curly_table_special_markup"] = TriState.on; #+END_SRC ***** block (various) tic open :tic: @@ -2519,9 +2516,9 @@ void _start_block_(L,T,N)( line ); } - type["blocks"] = TriState.on; - type["code"] = TriState.on; - type["tic_code"] = TriState.on; + obj_type_status["blocks"] = TriState.on; + obj_type_status["code"] = TriState.on; + obj_type_status["tic_code"] = TriState.on; } else if (line.matchFirst(rgx.block_tic_poem_open)) { /+ tic poem open +/ debug(poem) { // poem (tic) open @@ -2531,10 +2528,10 @@ void _start_block_(L,T,N)( ); } obj_cite_number_poem["start"] = obj_cite_number.to!string; - type["blocks"] = TriState.on; - type["verse_new"] = State.on; - type["poem"] = TriState.on; - type["tic_poem"] = TriState.on; + obj_type_status["blocks"] = TriState.on; + obj_type_status["verse_new"] = State.on; + obj_type_status["poem"] = TriState.on; + obj_type_status["tic_poem"] = TriState.on; } else if (line.matchFirst(rgx.block_tic_group_open)) { /+ tic group open +/ debug(group) { // group (tic) open @@ -2543,9 +2540,9 @@ void _start_block_(L,T,N)( line ); } - type["blocks"] = TriState.on; - type["group"] = TriState.on; - type["tic_group"] = TriState.on; + obj_type_status["blocks"] = TriState.on; + obj_type_status["group"] = TriState.on; + obj_type_status["tic_group"] = TriState.on; } else if (line.matchFirst(rgx.block_tic_block_open)) { /+ tic block open +/ debug(block) { // block (tic) open @@ -2554,9 +2551,9 @@ void _start_block_(L,T,N)( line ); } - type["blocks"] = TriState.on; - type["block"] = TriState.on; - type["tic_block"] = TriState.on; + obj_type_status["blocks"] = TriState.on; + obj_type_status["block"] = TriState.on; + obj_type_status["tic_block"] = TriState.on; } else if (line.matchFirst(rgx.block_tic_quote_open)) { /+ tic quote open +/ debug(quote) { // quote (tic) open @@ -2565,9 +2562,9 @@ void _start_block_(L,T,N)( line ); } - type["blocks"] = TriState.on; - type["quote"] = TriState.on; - type["tic_quote"] = TriState.on; + obj_type_status["blocks"] = TriState.on; + obj_type_status["quote"] = TriState.on; + obj_type_status["tic_quote"] = TriState.on; } else if (auto m = line.matchFirst(rgx.block_tic_table_open)) { /+ tic table open +/ debug(table) { // table (tic) open @@ -2576,11 +2573,11 @@ void _start_block_(L,T,N)( line ); } - an_object["table_head"] = m.captures[1].to!string; - an_object["block_type"] = "tic"; - type["blocks"] = TriState.on; - type["table"] = TriState.on; - type["tic_table"] = TriState.on; + an_object["table_head"] = m.captures[1].to!string; + an_object["block_type"] = "tic"; + obj_type_status["blocks"] = TriState.on; + obj_type_status["table"] = TriState.on; + obj_type_status["tic_table"] = TriState.on; } #+END_SRC @@ -2599,15 +2596,15 @@ void _start_block_(L,T,N)( void _code_block_(L,O,T)( L line, return ref O an_object, - return ref T type + return ref T obj_type_status ) { debug(asserts) { - static assert(is(typeof(line) == char[])); - static assert(is(typeof(an_object) == string[string])); - static assert(is(typeof(type) == int[string])); + static assert(is(typeof(line) == char[])); + static assert(is(typeof(an_object) == string[string])); + static assert(is(typeof(obj_type_status) == int[string])); } static auto rgx = Rgx(); - if (type["curly_code"] == TriState.on) { + if (obj_type_status["curly_code"] == TriState.on) { if (line.matchFirst(rgx.block_curly_code_close)) { debug(code) { // code (curly) close writeln(line); @@ -2615,16 +2612,16 @@ void _code_block_(L,O,T)( an_object[an_object_key] = an_object[an_object_key] .replaceFirst(rgx.newline_eol_delimiter_only, "") .stripRight; - type["blocks"] = TriState.closing; - type["code"] = TriState.closing; - type["curly_code"] = TriState.off; + obj_type_status["blocks"] = TriState.closing; + obj_type_status["code"] = TriState.closing; + obj_type_status["curly_code"] = TriState.off; } else { debug(code) { // code (curly) line writeln(line); } an_object[an_object_key] ~= line ~= "\n"; // code (curly) line } - } else if (type["tic_code"] == TriState.on) { + } else if (obj_type_status["tic_code"] == TriState.on) { if (line.matchFirst(rgx.block_tic_close)) { debug(code) { // code (tic) close writeln(line); @@ -2632,9 +2629,9 @@ void _code_block_(L,O,T)( an_object[an_object_key] = an_object[an_object_key] .replaceFirst(rgx.newline_eol_delimiter_only, "") .stripRight; - type["blocks"] = TriState.closing; - type["code"] = TriState.closing; - type["tic_code"] = TriState.off; + obj_type_status["blocks"] = TriState.closing; + obj_type_status["code"] = TriState.closing; + obj_type_status["tic_code"] = TriState.off; } else { debug(code) { // code (tic) line writeln(line); @@ -2740,7 +2737,7 @@ final string biblio_tag_map_(A)(A abr) { #+BEGIN_SRC d void _biblio_block_( char[] line, - return ref int[string] type, + return ref int[string] obj_type_status, return ref int bib_entry, return ref string biblio_entry_str_json, return ref string[] biblio_arr_json @@ -2749,9 +2746,9 @@ void _biblio_block_( auto jsn = BibJsnStr(); static auto rgx = Rgx(); if (line.matchFirst(rgx.heading_biblio)) { - type["biblio_section"] = TriState.on; - type["blurb_section"] = State.off; - type["glossary_section"] = State.off; + obj_type_status["biblio_section"] = TriState.on; + obj_type_status["blurb_section"] = State.off; + obj_type_status["glossary_section"] = State.off; } if (line.empty) { debug { @@ -2869,38 +2866,38 @@ void _biblio_block_( void _quote_block_(L,O,T)( L line, return ref O an_object, - return ref T type + return ref T obj_type_status ) { debug(asserts) { - static assert(is(typeof(line) == char[])); - static assert(is(typeof(an_object) == string[string])); - static assert(is(typeof(type) == int[string])); + static assert(is(typeof(line) == char[])); + static assert(is(typeof(an_object) == string[string])); + static assert(is(typeof(obj_type_status) == int[string])); } static auto rgx = Rgx(); - if (type["curly_quote"] == TriState.on) { + if (obj_type_status["curly_quote"] == TriState.on) { if (line.matchFirst(rgx.block_curly_quote_close)) { debug(quote) { // quote (curly) close writeln(line); } an_object[an_object_key] = an_object[an_object_key].stripRight; - type["blocks"] = TriState.closing; - type["quote"] = TriState.closing; - type["curly_quote"] = TriState.off; + obj_type_status["blocks"] = TriState.closing; + obj_type_status["quote"] = TriState.closing; + obj_type_status["curly_quote"] = TriState.off; } else { debug(quote) { writeln(line); } an_object[an_object_key] ~= line ~= "\n"; // build quote array (or string) } - } else if (type["tic_quote"] == TriState.on) { + } else if (obj_type_status["tic_quote"] == TriState.on) { if (line.matchFirst(rgx.block_tic_close)) { debug(quote) { // quote (tic) close writeln(line); } an_object[an_object_key] = an_object[an_object_key].stripRight; - type["blocks"] = TriState.closing; - type["quote"] = TriState.closing; - type["tic_quote"] = TriState.off; + obj_type_status["blocks"] = TriState.closing; + obj_type_status["quote"] = TriState.closing; + obj_type_status["tic_quote"] = TriState.off; } else { debug(quote) { writeln(line); @@ -2921,38 +2918,38 @@ void _quote_block_(L,O,T)( void _group_block_(L,O,T)( L line, return ref O an_object, - return ref T type + return ref T obj_type_status ) { debug(asserts) { - static assert(is(typeof(line) == char[])); - static assert(is(typeof(an_object) == string[string])); - static assert(is(typeof(type) == int[string])); + static assert(is(typeof(line) == char[])); + static assert(is(typeof(an_object) == string[string])); + static assert(is(typeof(obj_type_status) == int[string])); } static auto rgx = Rgx(); - if (type["curly_group"] == State.on) { + if (obj_type_status["curly_group"] == State.on) { if (line.matchFirst(rgx.block_curly_group_close)) { debug(group) { writeln(line); } an_object[an_object_key] = an_object[an_object_key].stripRight; - type["blocks"] = TriState.closing; - type["group"] = TriState.closing; - type["curly_group"] = TriState.off; + obj_type_status["blocks"] = TriState.closing; + obj_type_status["group"] = TriState.closing; + obj_type_status["curly_group"] = TriState.off; } else { debug(group) { writeln(line); } an_object[an_object_key] ~= line ~= "\n"; // build group array (or string) } - } else if (type["tic_group"] == TriState.on) { + } else if (obj_type_status["tic_group"] == TriState.on) { if (line.matchFirst(rgx.block_tic_close)) { debug(group) { writeln(line); } an_object[an_object_key] = an_object[an_object_key].stripRight; - type["blocks"] = TriState.closing; - type["group"] = TriState.closing; - type["tic_group"] = TriState.off; + obj_type_status["blocks"] = TriState.closing; + obj_type_status["group"] = TriState.closing; + obj_type_status["tic_group"] = TriState.off; } else { debug(group) { // group writeln(line); @@ -2974,38 +2971,38 @@ void _group_block_(L,O,T)( void _block_block_(L,O,T)( L line, return ref O an_object, - return ref T type + return ref T obj_type_status ) { debug(asserts) { - static assert(is(typeof(line) == char[])); - static assert(is(typeof(an_object) == string[string])); - static assert(is(typeof(type) == int[string])); + static assert(is(typeof(line) == char[])); + static assert(is(typeof(an_object) == string[string])); + static assert(is(typeof(obj_type_status) == int[string])); } static auto rgx = Rgx(); - if (type["curly_block"] == TriState.on) { + if (obj_type_status["curly_block"] == TriState.on) { if (line.matchFirst(rgx.block_curly_block_close)) { debug(block) { // block (curly) close writeln(line); } an_object[an_object_key] = an_object[an_object_key].stripRight; - type["blocks"] = TriState.closing; - type["block"] = TriState.closing; - type["curly_block"] = TriState.off; + obj_type_status["blocks"] = TriState.closing; + obj_type_status["block"] = TriState.closing; + obj_type_status["curly_block"] = TriState.off; } else { debug(block) { writeln(line); } an_object[an_object_key] ~= line ~= "\n"; // build block array (or string) } - } else if (type["tic_block"] == TriState.on) { + } else if (obj_type_status["tic_block"] == TriState.on) { if (line.matchFirst(rgx.block_tic_close)) { debug(block) { writeln(line); } an_object[an_object_key] = an_object[an_object_key].stripRight; - type["blocks"] = TriState.closing; - type["block"] = TriState.closing; - type["tic_block"] = TriState.off; + obj_type_status["blocks"] = TriState.closing; + obj_type_status["block"] = TriState.closing; + obj_type_status["tic_block"] = TriState.off; } else { debug(block) { writeln(line); @@ -3025,7 +3022,7 @@ why extra object stuff only in poem/verse? void _poem_block_(L,O,T,C,N,Ma)( L line, return ref O an_object, - return ref T type, + return ref T obj_type_status, return ref C cntr, N obj_cite_number_poem, Ma dochead_make_aa, @@ -3033,13 +3030,13 @@ void _poem_block_(L,O,T,C,N,Ma)( debug(asserts) { static assert(is(typeof(line) == char[])); static assert(is(typeof(an_object) == string[string])); - static assert(is(typeof(type) == int[string])); + static assert(is(typeof(obj_type_status) == int[string])); static assert(is(typeof(cntr) == int)); static assert(is(typeof(obj_cite_number_poem) == string[string])); static assert(is(typeof(dochead_make_aa) == string[string][string])); } static auto rgx = Rgx(); - if (type["curly_poem"] == TriState.on) { + if (obj_type_status["curly_poem"] == TriState.on) { if (line.matchFirst(rgx.block_curly_poem_close)) { if (an_object_key in an_object || processing.length > 0) { @@ -3091,21 +3088,21 @@ void _poem_block_(L,O,T,C,N,Ma)( } obj_cite_number_poem["end"] = obj_cite_number.to!string; - type["blocks"] = TriState.closing; - type["poem"] = TriState.closing; - type["curly_poem"] = TriState.off; + obj_type_status["blocks"] = TriState.closing; + obj_type_status["poem"] = TriState.closing; + obj_type_status["curly_poem"] = TriState.off; } else { processing["verse"] ~= line ~= "\n"; - if (type["verse_new"] == State.on) { + if (obj_type_status["verse_new"] == State.on) { obj_cite_number = - ocn_emit(type["ocn_status"]); - type["verse_new"] = State.off; + ocn_emit(obj_type_status["ocn_status"]); + obj_type_status["verse_new"] = State.off; } else if (line.matchFirst(rgx.newline_eol_delimiter_only)) { processing["verse"] = processing["verse"].stripRight; verse_line = TriState.off; - type["verse_new"] = State.on; + obj_type_status["verse_new"] = State.on; } - if (type["verse_new"] == State.on) { + if (obj_type_status["verse_new"] == State.on) { verse_line=1; an_object[an_object_key] = processing["verse"]; debug(poem) { // poem verse @@ -3145,7 +3142,7 @@ void _poem_block_(L,O,T,C,N,Ma)( ++cntr; } } - } else if (type["tic_poem"] == TriState.on) { + } else if (obj_type_status["tic_poem"] == TriState.on) { if (auto m = line.matchFirst(rgx.block_tic_close)) { // tic_poem_close an_object[an_object_key]="verse"; debug(poem) { // poem (curly) close @@ -3184,21 +3181,21 @@ void _poem_block_(L,O,T,C,N,Ma)( processing.remove("verse"); ++cntr; } - type["blocks"] = TriState.closing; - type["poem"] = TriState.closing; - type["tic_poem"] = TriState.off; + obj_type_status["blocks"] = TriState.closing; + obj_type_status["poem"] = TriState.closing; + obj_type_status["tic_poem"] = TriState.off; } else { processing["verse"] ~= line ~= "\n"; - if (type["verse_new"] == State.on) { + if (obj_type_status["verse_new"] == State.on) { obj_cite_number = - ocn_emit(type["ocn_status"]); - type["verse_new"] = State.off; + ocn_emit(obj_type_status["ocn_status"]); + obj_type_status["verse_new"] = State.off; } else if (line.matchFirst(rgx.newline_eol_delimiter_only)) { processing["verse"] = processing["verse"].stripRight; - type["verse_new"] = State.on; + obj_type_status["verse_new"] = State.on; verse_line = TriState.off; } - if (type["verse_new"] == State.on) { + if (obj_type_status["verse_new"] == State.on) { verse_line=1; an_object[an_object_key] = processing["verse"]; debug(poem) { // poem (tic) close @@ -3266,34 +3263,34 @@ you need: void _table_block_(L,O,T,Ma)( L line, return ref O an_object, - return ref T type, + return ref T obj_type_status, return ref Ma dochead_make_aa ) { debug(asserts) { - static assert(is(typeof(line) == char[])); - static assert(is(typeof(an_object) == string[string])); - static assert(is(typeof(type) == int[string])); + static assert(is(typeof(line) == char[])); + static assert(is(typeof(an_object) == string[string])); + static assert(is(typeof(obj_type_status) == int[string])); } static auto rgx = Rgx(); - if (type["curly_table"] == TriState.on) { + if (obj_type_status["curly_table"] == TriState.on) { if (line.matchFirst(rgx.block_curly_table_close)) { debug(table) { // table (curly) close writeln(line); } - type["blocks"] = TriState.closing; - type["table"] = TriState.closing; - type["curly_table"] = TriState.off; + obj_type_status["blocks"] = TriState.closing; + obj_type_status["table"] = TriState.closing; + obj_type_status["curly_table"] = TriState.off; } else { debug(table) { // table writeln(line); } an_object[an_object_key] ~= line ~= "\n"; // build table array (or string) } - } else if (type["curly_table_special_markup"] == TriState.on) { + } else if (obj_type_status["curly_table_special_markup"] == TriState.on) { if (line.empty) { - type["blocks"] = TriState.off; - type["table"] = TriState.off; - type["curly_table_special_markup"] = TriState.off; + obj_type_status["blocks"] = TriState.off; + obj_type_status["table"] = TriState.off; + obj_type_status["curly_table_special_markup"] = TriState.off; _table_closed_make_special_notation_table_( line, an_object, @@ -3301,7 +3298,7 @@ void _table_block_(L,O,T,Ma)( obj_cite_number, comp_obj_heading, cntr, - type, + obj_type_status, dochead_make_aa ); } else { @@ -3310,14 +3307,14 @@ void _table_block_(L,O,T,Ma)( } an_object[an_object_key] ~= line ~= "\n"; } - } else if (type["tic_table"] == TriState.on) { + } else if (obj_type_status["tic_table"] == TriState.on) { if (line.matchFirst(rgx.block_tic_close)) { debug(table) { // table (tic) close writeln(line); } - type["blocks"] = TriState.closing; - type["table"] = TriState.closing; - type["tic_table"] = TriState.off; + obj_type_status["blocks"] = TriState.closing; + obj_type_status["table"] = TriState.closing; + obj_type_status["tic_table"] = TriState.off; } else { debug(table) { // table writeln(line); @@ -3345,12 +3342,12 @@ void _table_closed_make_special_notation_table_( return ref int obj_cite_number, return ref ObjGenericComposite _comp_obj_heading, return ref int cntr, - return ref int[string] type, + return ref int[string] obj_type_status, string[string][string] dochead_make_aa, ) { comp_obj_block = comp_obj_block.init; obj_cite_number = - ocn_emit(type["ocn_status"]); + ocn_emit(obj_type_status["ocn_status"]); auto comp_obj_location = node_construct.node_location_emitter( content_non_header, @@ -3390,7 +3387,7 @@ void _block_flag_line_empty_(B)( return ref int obj_cite_number, return ref ObjGenericComposite _comp_obj_heading, return ref int cntr, - return ref int[string] type, + return ref int[string] obj_type_status, string[string] obj_cite_number_poem, string[string][string] dochead_make_aa, ) { @@ -3400,19 +3397,19 @@ void _block_flag_line_empty_(B)( ~ line ~ "\"" ); assert( - (type["blocks"] == TriState.closing), + (obj_type_status["blocks"] == TriState.closing), "code block status: closed" ); - assertions_flag_types_block_status_none_or_closed(type); + assertions_flag_types_block_status_none_or_closed(obj_type_status); #+END_SRC ***** make: quote block #+name: abs_functions_block_line_status_empty #+BEGIN_SRC d - if (type["quote"] == TriState.closing) { + if (obj_type_status["quote"] == TriState.closing) { obj_cite_number = - ocn_emit(type["ocn_status"]); + ocn_emit(obj_type_status["ocn_status"]); an_object["bookindex_nugget"] = ("bookindex_nugget" in an_object) ? an_object["bookindex_nugget"] : ""; bookindex_unordered_hashes = @@ -3446,8 +3443,8 @@ void _block_flag_line_empty_(B)( comp_obj_block.inline_notes_star = substantive_obj_misc_tuple[sObj.notes_star]; comp_obj_block.inline_links = substantive_obj_misc_tuple[sObj.links]; the_document_body_section ~= comp_obj_block; - type["blocks"] = TriState.off; - type["quote"] = TriState.off; + obj_type_status["blocks"] = TriState.off; + obj_type_status["quote"] = TriState.off; object_reset(an_object); processing.remove("verse"); ++cntr; @@ -3457,9 +3454,9 @@ void _block_flag_line_empty_(B)( #+name: abs_functions_block_line_status_empty #+BEGIN_SRC d - } else if (type["group"] == TriState.closing) { + } else if (obj_type_status["group"] == TriState.closing) { obj_cite_number = - ocn_emit(type["ocn_status"]); + ocn_emit(obj_type_status["ocn_status"]); an_object["bookindex_nugget"] = ("bookindex_nugget" in an_object) ? an_object["bookindex_nugget"] : ""; bookindex_unordered_hashes = @@ -3493,8 +3490,8 @@ void _block_flag_line_empty_(B)( comp_obj_block.inline_notes_star = substantive_obj_misc_tuple[sObj.notes_star]; comp_obj_block.inline_links = substantive_obj_misc_tuple[sObj.links]; the_document_body_section ~= comp_obj_block; - type["blocks"] = TriState.off; - type["group"] = TriState.off; + obj_type_status["blocks"] = TriState.off; + obj_type_status["group"] = TriState.off; object_reset(an_object); processing.remove("verse"); ++cntr; @@ -3504,8 +3501,8 @@ void _block_flag_line_empty_(B)( #+name: abs_functions_block_line_status_empty #+BEGIN_SRC d - } else if (type["block"] == TriState.closing) { - obj_cite_number = ocn_emit(type["ocn_status"]); + } else if (obj_type_status["block"] == TriState.closing) { + obj_cite_number = ocn_emit(obj_type_status["ocn_status"]); an_object["bookindex_nugget"] = ("bookindex_nugget" in an_object) ? an_object["bookindex_nugget"] : ""; bookindex_unordered_hashes = @@ -3538,8 +3535,8 @@ void _block_flag_line_empty_(B)( comp_obj_block.inline_notes_star = substantive_obj_misc_tuple[sObj.notes_star]; comp_obj_block.inline_links = substantive_obj_misc_tuple[sObj.links]; the_document_body_section ~= comp_obj_block; - type["blocks"] = TriState.off; - type["block"] = TriState.off; + obj_type_status["blocks"] = TriState.off; + obj_type_status["block"] = TriState.off; object_reset(an_object); processing.remove("verse"); ++cntr; @@ -3549,7 +3546,7 @@ void _block_flag_line_empty_(B)( #+name: abs_functions_block_line_status_empty #+BEGIN_SRC d - } else if (type["poem"] == TriState.closing) { + } else if (obj_type_status["poem"] == TriState.closing) { an_object["bookindex_nugget"] = ("bookindex_nugget" in an_object) ? an_object["bookindex_nugget"] : ""; bookindex_unordered_hashes = @@ -3576,8 +3573,8 @@ void _block_flag_line_empty_(B)( comp_obj_poem_ocn.obj_cite_number = (obj_cite_number_poem["start"], obj_cite_number_poem["end"]); comp_obj_poem_ocn.text = ""; the_document_body_section ~= comp_obj_poem_ocn; - type["blocks"] = TriState.off; - type["poem"] = TriState.off; + obj_type_status["blocks"] = TriState.off; + obj_type_status["poem"] = TriState.off; object_reset(an_object); processing.remove("verse"); #+END_SRC @@ -3586,9 +3583,9 @@ void _block_flag_line_empty_(B)( #+name: abs_functions_block_line_status_empty #+BEGIN_SRC d - } else if (type["code"] == TriState.closing) { + } else if (obj_type_status["code"] == TriState.closing) { obj_cite_number = - ocn_emit(type["ocn_status"]); + ocn_emit(obj_type_status["ocn_status"]); an_object["bookindex_nugget"] = ("bookindex_nugget" in an_object) ? an_object["bookindex_nugget"] : ""; bookindex_unordered_hashes = @@ -3622,8 +3619,8 @@ void _block_flag_line_empty_(B)( comp_obj_code.inline_notes_star = substantive_obj_misc_tuple[sObj.notes_star]; comp_obj_code.inline_links = substantive_obj_misc_tuple[sObj.links]; the_document_body_section ~= comp_obj_code; - type["blocks"] = TriState.off; - type["code"] = TriState.off; + obj_type_status["blocks"] = TriState.off; + obj_type_status["code"] = TriState.off; object_reset(an_object); processing.remove("verse"); ++cntr; @@ -3633,10 +3630,10 @@ void _block_flag_line_empty_(B)( #+name: abs_functions_block_line_status_empty #+BEGIN_SRC d - } else if (type["table"] == TriState.closing) { + } else if (obj_type_status["table"] == TriState.closing) { comp_obj_block = comp_obj_block.init; obj_cite_number = - ocn_emit(type["ocn_status"]); + ocn_emit(obj_type_status["ocn_status"]); an_object["bookindex_nugget"] = ("bookindex_nugget" in an_object) ? an_object["bookindex_nugget"] : ""; bookindex_unordered_hashes = @@ -3664,8 +3661,8 @@ void _block_flag_line_empty_(B)( comp_obj_block = table_instructions(comp_obj_block, an_object["table_head"]); comp_obj_block = table_substantive_munge(comp_obj_block, an_object["substantive"]); the_document_body_section ~= comp_obj_block; - type["blocks"] = TriState.off; - type["table"] = TriState.off; + obj_type_status["blocks"] = TriState.off; + obj_type_status["table"] = TriState.off; object_reset(an_object); processing.remove("verse"); ++cntr; @@ -3687,14 +3684,14 @@ auto _book_index_(L,I,O,T,B)( L line, return ref I book_idx_tmp, return ref O an_object, - return ref T type, + return ref T obj_type_status, B opt_action, ) { debug(asserts) { static assert(is(typeof(line) == char[])); static assert(is(typeof(book_idx_tmp) == string)); static assert(is(typeof(an_object) == string[string])); - static assert(is(typeof(type) == int[string])); + static assert(is(typeof(obj_type_status) == int[string])); static assert(is(typeof(opt_action) == bool[string])); } static auto rgx = Rgx(); @@ -3709,7 +3706,7 @@ auto _book_index_(L,I,O,T,B)( an_object["bookindex_nugget"] = m.captures[1].to!string; } else if (auto m = line.match(rgx.book_index_open)) { /+ match open book_index +/ - type["book_index"] = State.on; + obj_type_status["book_index"] = State.on; if (opt_action["backmatter"] && opt_action["section_bookindex"]) { book_idx_tmp = m.captures[1].to!string; debug(bookindexmatch) { // book index @@ -3719,10 +3716,10 @@ auto _book_index_(L,I,O,T,B)( ); } } - } else if (type["book_index"] == State.on ) { + } else if (obj_type_status["book_index"] == State.on ) { /+ book_index flag set +/ if (auto m = line.match(rgx.book_index_close)) { - type["book_index"] = State.off; + obj_type_status["book_index"] = State.off; if (opt_action["backmatter"] && opt_action["section_bookindex"]) { an_object["bookindex_nugget"] = book_idx_tmp ~ m.captures[1].to!string; @@ -3754,18 +3751,18 @@ auto _heading_found_(L,X,H,R,T)( X dochead_make_identify_unmarked_headings, return ref H heading_match_str, return ref R heading_match_rgx, - return ref T type + return ref T obj_type_status ) { debug(asserts) { static assert(is(typeof(line) == char[])); static assert(is(typeof(dochead_make_identify_unmarked_headings) == string)); static assert(is(typeof(heading_match_str) == string[string])); static assert(is(typeof(heading_match_rgx) == Regex!(char)[string])); - static assert(is(typeof(type) == int[string])); + static assert(is(typeof(obj_type_status) == int[string])); } static auto rgx = Rgx(); if ((dochead_make_identify_unmarked_headings.length > 2) - && (type["make_headings"] == State.off)) { + && (obj_type_status["make_headings"] == State.off)) { /+ headings found +/ debug(headingsfound) { writeln(dochead_make_identify_unmarked_headings); @@ -3837,7 +3834,7 @@ auto _heading_found_(L,X,H,R,T)( default: break; } - type["make_headings"] = State.on; + obj_type_status["make_headings"] = State.on; } } #+END_SRC @@ -3850,19 +3847,19 @@ auto _heading_make_set_(L,C,R,T)( L line, C line_occur, return ref R heading_match_rgx, - return ref T type + return ref T obj_type_status ) { debug(asserts) { static assert(is(typeof(line) == char[])); static assert(is(typeof(line_occur) == int[string])); static assert(is(typeof(heading_match_rgx) == Regex!(char)[string])); - static assert(is(typeof(type) == int[string])); + static assert(is(typeof(obj_type_status) == int[string])); } - if ((type["make_headings"] == State.on) + if ((obj_type_status["make_headings"] == State.on) && ((line_occur["para"] == State.off) && (line_occur["heading"] == State.off)) - && ((type["para"] == State.off) - && (type["heading"] == State.off))) { + && ((obj_type_status["para"] == State.off) + && (obj_type_status["heading"] == State.off))) { /+ heading make set +/ if (line.matchFirst(heading_match_rgx["h_B"])) { line = "B~ " ~ line; @@ -3922,7 +3919,7 @@ auto _heading_matched_(L,C,O,K,Lv,Lc,T,Me)( return ref K an_object_key, return ref Lv lv, return ref Lc collapsed_lev, - return ref T type, + return ref T obj_type_status, return ref Me dochead_meta_aa, ) { debug(asserts) { @@ -3932,19 +3929,19 @@ auto _heading_matched_(L,C,O,K,Lv,Lc,T,Me)( static assert(is(typeof(an_object_key) == string)); static assert(is(typeof(lv) == int[string])); static assert(is(typeof(collapsed_lev) == int[string])); - static assert(is(typeof(type) == int[string])); + static assert(is(typeof(obj_type_status) == int[string])); static assert(is(typeof(dochead_meta_aa) == string[string][string])); } static auto rgx = Rgx(); if (auto m = line.match(rgx.heading)) { /+ heading match +/ - type["heading"] = State.on; + obj_type_status["heading"] = State.on; if (line.match(rgx.heading_seg_and_above)) { - type["biblio_section"] = State.off; - type["glossary_section"] = State.off; - type["blurb_section"] = State.off; + obj_type_status["biblio_section"] = State.off; + obj_type_status["glossary_section"] = State.off; + obj_type_status["blurb_section"] = State.off; } - type["para"] = State.off; + obj_type_status["para"] = State.off; ++line_occur["heading"]; an_object[an_object_key] ~= line ~= "\n"; an_object["lev"] ~= m.captures[1]; @@ -4082,23 +4079,23 @@ void _para_match_(L,O,K,I,B,T,C)( return ref K an_object_key, return ref I indent, return ref B bullet, - return ref T type, + return ref T obj_type_status, return ref C line_occur, ) { debug(asserts) { - static assert(is(typeof(line) == char[])); - static assert(is(typeof(an_object) == string[string])); - static assert(is(typeof(an_object_key) == string)); - static assert(is(typeof(indent) == int[string])); - static assert(is(typeof(bullet) == bool)); - static assert(is(typeof(type) == int[string])); - static assert(is(typeof(line_occur) == int[string])); + static assert(is(typeof(line) == char[])); + static assert(is(typeof(an_object) == string[string])); + static assert(is(typeof(an_object_key) == string)); + static assert(is(typeof(indent) == int[string])); + static assert(is(typeof(bullet) == bool)); + static assert(is(typeof(obj_type_status) == int[string])); + static assert(is(typeof(line_occur) == int[string])); } static auto rgx = Rgx(); if (line_occur["para"] == State.off) { line = font_faces_line(line); /+ para matches +/ - type["para"] = State.on; + obj_type_status["para"] = State.on; an_object[an_object_key] ~= line; // body_nugget indent=[ "hang_position" : 0, @@ -6855,29 +6852,29 @@ pure void assertions_doc_structure(O,Lv)( #+name: abs_functions_assertions #+BEGIN_SRC d -pure void assertions_flag_types_block_status_none_or_closed(T)(T type) { +pure void assertions_flag_types_block_status_none_or_closed(T)(T obj_type_status) { debug(asserts) { - static assert(is(typeof(type) == int[string])); + static assert(is(typeof(obj_type_status) == int[string])); } assert( - (type["code"] == TriState.off) - || (type["code"] == TriState.closing), + (obj_type_status["code"] == TriState.off) + || (obj_type_status["code"] == TriState.closing), "code block status: off or closing"); assert( - (type["poem"] == TriState.off) - || (type["poem"] == TriState.closing), + (obj_type_status["poem"] == TriState.off) + || (obj_type_status["poem"] == TriState.closing), "poem status: off or closing"); assert( - (type["table"] == TriState.off) - || (type["table"] == TriState.closing), + (obj_type_status["table"] == TriState.off) + || (obj_type_status["table"] == TriState.closing), "table status: off or closing"); assert( - (type["group"] == TriState.off) - || (type["group"] == TriState.closing), + (obj_type_status["group"] == TriState.off) + || (obj_type_status["group"] == TriState.closing), "group block status: off or closing"); assert( - (type["block"] == TriState.off) - || (type["block"] == TriState.closing), + (obj_type_status["block"] == TriState.off) + || (obj_type_status["block"] == TriState.closing), "block status: off or closing"); } #+END_SRC |