diff options
| -rw-r--r-- | org/ao_abstract_doc_source.org | 195 | 
1 files changed, 119 insertions, 76 deletions
| diff --git a/org/ao_abstract_doc_source.org b/org/ao_abstract_doc_source.org index e1af062..9061f35 100644 --- a/org/ao_abstract_doc_source.org +++ b/org/ao_abstract_doc_source.org @@ -805,7 +805,7 @@ functions used in document abstraction  ** set & resets                                                       :reset:  *** object reset: remove (clean)                              :object:remove: -#+name: abs_functions +#+name: abs_functions_object_reset  #+BEGIN_SRC d  auto object_reset(ref string[string] an_object) {    an_object.remove("obj"); @@ -818,7 +818,7 @@ auto object_reset(ref string[string] an_object) {  *** set, initialize or re-initialize                                    :set: -#+name: abs_functions +#+name: abs_functions_header_set_common  #+BEGIN_SRC d  auto _header_set_common_(    ref int[string] line_occur, @@ -836,7 +836,7 @@ auto _header_set_common_(  ** check obj_cite_number status in document                             :ocn: -#+name: abs_functions +#+name: abs_functions_ocn_status  #+BEGIN_SRC d  void _check_obj_cite_number_status_(    char[] line, @@ -889,7 +889,7 @@ void _check_obj_cite_number_status_(  *** block start (open) block                                          :start:  **** function open for block starts -#+name: abs_functions +#+name: abs_functions_block  #+BEGIN_SRC d  void _start_block_(    char[] line, @@ -900,7 +900,7 @@ void _start_block_(  **** block (various) curly open                                       :curly: -#+name: abs_functions +#+name: abs_functions_block  #+BEGIN_SRC d    if (matchFirst(line, rgx.block_curly_code_open)) {      /+ curly code open +/ @@ -975,7 +975,7 @@ void _start_block_(  **** block (various) tic open                                           :tic: -#+name: abs_functions +#+name: abs_functions_block  #+BEGIN_SRC d    } else if (matchFirst(line, rgx.block_tic_code_open)) {      /+ tic code open +/ @@ -1050,7 +1050,7 @@ void _start_block_(  **** function close for block starts -#+name: abs_functions +#+name: abs_functions_block  #+BEGIN_SRC d  }  #+END_SRC @@ -1058,7 +1058,7 @@ void _start_block_(  *** block continue (an open block)                                 :continue:  **** code block (special status, deal with first)                      :code: -#+name: abs_functions +#+name: abs_functions_block_code  #+BEGIN_SRC d  void _code_block_(    char[] line, @@ -1101,7 +1101,7 @@ void _code_block_(  ***** biblio tag map -#+name: abs_functions +#+name: abs_functions_block_biblio  #+BEGIN_SRC d  final string biblio_tag_map(string abr) {    auto btm = [ @@ -1183,7 +1183,7 @@ final string biblio_tag_map_(string abr) {  ***** biblio block -#+name: abs_functions +#+name: abs_functions_block_biblio  #+BEGIN_SRC d  void _biblio_block_(    char[] line, @@ -1311,7 +1311,7 @@ void _biblio_block_(  **** TODO poem block, verse objects                              :poem:verse:  why extra object stuff only in poem/verse? -#+name: abs_functions +#+name: abs_functions_block_poem  #+BEGIN_SRC d  void _poem_block_(    char[] line, @@ -1514,7 +1514,7 @@ void _poem_block_(  **** group block                                                      :group: -#+name: abs_functions +#+name: abs_functions_block_group  #+BEGIN_SRC d  void _group_block_(    char[] line, @@ -1555,7 +1555,7 @@ void _group_block_(  **** block block                                                      :block: -#+name: abs_functions +#+name: abs_functions_block_block  #+BEGIN_SRC d  void _block_block_(    char[] line, @@ -1596,7 +1596,7 @@ void _block_block_(  **** quote block                                                      :quote: -#+name: abs_functions +#+name: abs_functions_block_quote  #+BEGIN_SRC d  void _quote_block_(    char[] line, @@ -1637,7 +1637,7 @@ void _quote_block_(  **** table block                                                      :table: -#+name: abs_functions +#+name: abs_functions_block_table  #+BEGIN_SRC d  void _table_block_(    char[] line, @@ -1678,7 +1678,7 @@ void _table_block_(  *** block end (close an open block): line empty, block flag           :close: -#+name: abs_functions +#+name: abs_functions_block_line_status_empty  #+BEGIN_SRC d  void _block_flag_line_empty_(    char[] line, @@ -1905,7 +1905,7 @@ void _block_flag_line_empty_(  ** book index                                                     :bookindex: -#+name: abs_functions +#+name: abs_functions_book_index  #+BEGIN_SRC d  auto _book_index_(    char[] line, @@ -1957,7 +1957,7 @@ auto _book_index_(  ** heading or paragraph                                   :heading:paragraph:  *** heading found                                                   :heading: -#+name: abs_functions +#+name: abs_functions_heading  #+BEGIN_SRC d  auto _heading_found_(    char[] line, @@ -2047,7 +2047,7 @@ auto _heading_found_(  *** TODO heading make set                                           :heading: -#+name: abs_functions +#+name: abs_functions_heading  #+BEGIN_SRC d  auto _heading_make_set_(    ref char[] line, @@ -2109,7 +2109,7 @@ auto _heading_make_set_(  *** heading match                                                   :heading: -#+name: abs_functions +#+name: abs_functions_heading  #+BEGIN_SRC d  auto _heading_matched_(    char[] line, @@ -2254,7 +2254,7 @@ auto _heading_matched_(  *** para match                                                         :para: -#+name: abs_functions +#+name: abs_functions_para  #+BEGIN_SRC d  auto _para_match_(    char[] line, @@ -2321,7 +2321,7 @@ auto _para_match_(  *** object                                                           :object:  **** ocn                                                                :ocn: -#+name: ao_emitters +#+name: ao_emitters_ocn  #+BEGIN_SRC d  struct OCNemitter {    int obj_cite_number, obj_cite_number_; @@ -2341,7 +2341,7 @@ struct OCNemitter {  **** object inline markup munge                               :markup:inline: -#+name: ao_emitters +#+name: ao_emitters_obj_inline_markup_munge  #+BEGIN_SRC d  struct ObjInlineMarkupMunge {  // struct ObjInlineMarkupMunge : AssertObjInlineMarkup { @@ -2534,7 +2534,7 @@ struct ObjInlineMarkupMunge {  **** object inline markup                                     :markup:inline:  ***** open -#+name: ao_emitters +#+name: ao_emitters_obj_inline_markup  #+BEGIN_SRC d  struct ObjInlineMarkup {    auto munge = ObjInlineMarkupMunge(); @@ -2543,7 +2543,7 @@ struct ObjInlineMarkup {  ***** object inline markup and anchor tags                    :markup:inline: -#+name: ao_emitters +#+name: ao_emitters_obj_inline_markup_and_anchor_tags  #+BEGIN_SRC d    auto obj_inline_markup_and_anchor_tags(string[string] obj_, string[string][string] dochead_make_aa)    in { } @@ -2609,14 +2609,14 @@ struct ObjInlineMarkup {  #+END_SRC  ***** private: -#+name: ao_emitters +#+name: ao_emitters_obj_inline_markup_private  #+BEGIN_SRC d  private:  #+END_SRC  ****** make heading number and segment anchor tags if instructed :markup:inline:segment:anchor:tags: -#+name: ao_emitters +#+name: ao_emitters_obj_inline_markup_heading_numbering_segment_anchor_tags  #+BEGIN_SRC d    static string _configured_auto_heading_numbering_and_segment_anchor_tags(string munge_, string[string] obj_, string[string][string] dochead_make_aa) {      if (dochead_make_aa["make"]["num_top"].length > 0) { @@ -2735,13 +2735,13 @@ private:  ******* unittests -#+name: ao_emitters +#+name: ao_emitters_obj_inline_markup_heading_numbering_segment_anchor_tags  #+BEGIN_SRC d  #+END_SRC  ****** make segment anchor tags if not provided :markup:inline:segment:anchor:tags: -#+name: ao_emitters +#+name: ao_emitters_obj_inline_markup_heading_numbering_segment_anchor_tags  #+BEGIN_SRC d    static string _make_segment_anchor_tags_if_none_provided(string munge_, string lev_) { @@ -2767,7 +2767,7 @@ private:  ******* unittests -#+name: ao_emitters +#+name: ao_emitters_obj_inline_markup_heading_numbering_segment_anchor_tags  #+BEGIN_SRC d    unittest {      string txt_lev="1"; @@ -2818,17 +2818,22 @@ private:  ***** close -#+name: ao_emitters +#+name: ao_emitters_obj_inline_markup_close  #+BEGIN_SRC d  }  #+END_SRC  **** object attrib                                               :attributes:  ***** attributes structure open, public -#+name: ao_emitters +#+name: ao_emitters_obj_attributes  #+BEGIN_SRC d  struct ObjAttributes {    string[string] _obj_attrib; +#+END_SRC + +***** attributes structure open, public +#+name: ao_emitters_obj_attributes_public +#+BEGIN_SRC d    string obj_attributes(string obj_is_, string obj_raw, string node)    in { }    body { @@ -2894,7 +2899,7 @@ struct ObjAttributes {  #+END_SRC  ***** private -#+name: ao_emitters +#+name: ao_emitters_obj_attributes_private  #+BEGIN_SRC d    private:    string _obj_attributes; @@ -2902,7 +2907,7 @@ struct ObjAttributes {  ****** attrubutes  ******* para and block -#+name: ao_emitters +#+name: ao_emitters_obj_attributes_private_an_attribute  #+BEGIN_SRC d    string _para_and_blocks(string obj_txt_in)    in { } @@ -2934,7 +2939,7 @@ struct ObjAttributes {  #+END_SRC  ******* para -#+name: ao_emitters +#+name: ao_emitters_obj_attributes_private_an_attribute  #+BEGIN_SRC d    string _para(string obj_txt_in)    in { } @@ -2949,7 +2954,7 @@ struct ObjAttributes {  #+END_SRC  ******* heading -#+name: ao_emitters +#+name: ao_emitters_obj_attributes_private_an_attribute  #+BEGIN_SRC d    string _heading(string obj_txt_in)    in { } @@ -2964,7 +2969,7 @@ struct ObjAttributes {  #+END_SRC  ******* code -#+name: ao_emitters +#+name: ao_emitters_obj_attributes_private_an_attribute  #+BEGIN_SRC d    string _code(string obj_txt_in)    in { } @@ -2979,7 +2984,7 @@ struct ObjAttributes {  #+END_SRC  ******* group -#+name: ao_emitters +#+name: ao_emitters_obj_attributes_private_an_attribute  #+BEGIN_SRC d    string _group(string obj_txt_in)    in { } @@ -2994,7 +2999,7 @@ struct ObjAttributes {  #+END_SRC  ******* block -#+name: ao_emitters +#+name: ao_emitters_obj_attributes_private_an_attribute  #+BEGIN_SRC d    string _block(string obj_txt_in)    in { } @@ -3009,7 +3014,7 @@ struct ObjAttributes {  #+END_SRC  ******* verse -#+name: ao_emitters +#+name: ao_emitters_obj_attributes_private_an_attribute  #+BEGIN_SRC d    string _verse(string obj_txt_in)    in { } @@ -3024,7 +3029,7 @@ struct ObjAttributes {  #+END_SRC  ******* quote -#+name: ao_emitters +#+name: ao_emitters_obj_attributes_private_an_attribute  #+BEGIN_SRC d    string _quote(string obj_txt_in)    in { } @@ -3039,7 +3044,7 @@ struct ObjAttributes {  #+END_SRC  ******* table -#+name: ao_emitters +#+name: ao_emitters_obj_attributes_private_an_attribute  #+BEGIN_SRC d    string _table(string obj_txt_in)    in { } @@ -3054,7 +3059,7 @@ struct ObjAttributes {  #+END_SRC  ******* comment -#+name: ao_emitters +#+name: ao_emitters_obj_attributes_private_an_attribute  #+BEGIN_SRC d    string _comment(string obj_txt_in)    in { } @@ -3070,7 +3075,7 @@ struct ObjAttributes {  ****** set additional attribute values, parse as json -#+name: ao_emitters +#+name: ao_emitters_obj_attributes_private_json  #+BEGIN_SRC d    string _set_additional_values_parse_as_json(string _obj_attrib, string obj_is_, string node) {      JSONValue oa_j = parseJSON(_obj_attrib); @@ -3096,7 +3101,7 @@ struct ObjAttributes {  #+END_SRC  ***** close -#+name: ao_emitters +#+name: ao_emitters_obj_attributes_private_close  #+BEGIN_SRC d  }  #+END_SRC @@ -3104,7 +3109,7 @@ struct ObjAttributes {  *** book index                                                   :book:index:  **** book index nugget hash                                     :hash:nugget: -#+name: ao_emitters +#+name: ao_emitters_book_index_nugget  #+BEGIN_SRC d  struct BookIndexNuggetHash {    string main_term, sub_term, sub_term_bits; @@ -3181,7 +3186,7 @@ struct BookIndexNuggetHash {  **** book index (sort &) report indented                    :report:indented: -#+name: ao_emitters +#+name: ao_emitters_book_index_report_indented  #+BEGIN_SRC d  struct BookIndexReportIndent {    int mkn, skn; @@ -3215,7 +3220,7 @@ struct BookIndexReportIndent {  **** book index (sort &) report section                      :report:section:  ***** book index struct open -#+name: ao_emitters +#+name: ao_emitters_book_index_report_section  #+BEGIN_SRC d  struct BookIndexReportSection {    int mkn, skn; @@ -3223,7 +3228,7 @@ struct BookIndexReportSection {  #+END_SRC  ***** bookindex write section -#+name: ao_emitters +#+name: ao_emitters_book_index_report_section  #+BEGIN_SRC d    auto bookindex_write_section(      string[][string][string] bookindex_unordered_hashes @@ -3254,7 +3259,7 @@ struct BookIndexReportSection {  #+END_SRC  ***** book index (sort &) build section                      :report:section: -#+name: ao_emitters +#+name: ao_emitters_book_index_report_section  #+BEGIN_SRC d    auto bookindex_build_section(      string[][string][string] bookindex_unordered_hashes, @@ -3355,14 +3360,14 @@ struct BookIndexReportSection {  #+END_SRC  ***** book index struct close -#+name: ao_emitters +#+name: ao_emitters_book_index_report_section  #+BEGIN_SRC d  }  #+END_SRC  *** (end)notes section                                     :endnotes:section: -#+name: ao_emitters +#+name: ao_emitters_endnotes  #+BEGIN_SRC d  struct NotesSection {    string object_notes; @@ -3372,7 +3377,7 @@ struct NotesSection {  #+END_SRC  **** gather notes for endnote section struct open -#+name: ao_emitters +#+name: ao_emitters_endnotes  #+BEGIN_SRC d    private auto gather_notes_for_endnote_section(      ObjComposite[] contents_am, @@ -3410,7 +3415,7 @@ struct NotesSection {  #+END_SRC  **** gathered notes -#+name: ao_emitters +#+name: ao_emitters_endnotes  #+BEGIN_SRC d    private auto gathered_notes()    in { @@ -3425,7 +3430,7 @@ struct NotesSection {  #+END_SRC  **** endnote objects -#+name: ao_emitters +#+name: ao_emitters_endnotes  #+BEGIN_SRC d    private auto endnote_objects(int obj_cite_number)    in { @@ -3494,7 +3499,7 @@ struct NotesSection {  #+END_SRC  **** gather notes for endnote section struct close -#+name: ao_emitters +#+name: ao_emitters_endnotes  #+BEGIN_SRC d  }  #+END_SRC @@ -3502,13 +3507,13 @@ struct NotesSection {  *** bibliography                                               :bibliography:  **** biblio struct open -#+name: ao_emitters +#+name: ao_emitters_bibliography  #+BEGIN_SRC d  struct Bibliography {  #+END_SRC  **** biblio -#+name: ao_emitters +#+name: ao_emitters_bibliography  #+BEGIN_SRC d    public JSONValue[] _bibliography_(      ref string[] biblio_unsorted_incomplete, @@ -3539,7 +3544,7 @@ struct Bibliography {  #+END_SRC  **** biblio unsorted complete -#+name: ao_emitters +#+name: ao_emitters_bibliography  #+BEGIN_SRC d    final private JSONValue[] _biblio_unsorted_complete_(      string[] biblio_unordered, @@ -3573,7 +3578,7 @@ struct Bibliography {  #+END_SRC  **** biblio sort -#+name: ao_emitters +#+name: ao_emitters_bibliography  #+BEGIN_SRC d    final private JSONValue[] biblio_sort(JSONValue[] biblio_unordered) {      JSONValue[] biblio_sorted_; @@ -3594,7 +3599,7 @@ struct Bibliography {  #+END_SRC  **** biblio debug -#+name: ao_emitters +#+name: ao_emitters_bibliography  #+BEGIN_SRC d    void biblio_debug(JSONValue[] biblio_sorted) {      debug(biblio0) { @@ -3608,7 +3613,7 @@ struct Bibliography {  #+END_SRC  **** biblio struct close -#+name: ao_emitters +#+name: ao_emitters_bibliography  #+BEGIN_SRC d  }  #+END_SRC @@ -3616,7 +3621,7 @@ struct Bibliography {  *** node structure metadata                         :structure:metadata:node:  **** metadata node struct open -#+name: ao_emitters +#+name: ao_emitters_metadata  #+BEGIN_SRC d  struct NodeStructureMetadata {    int lv, lv0, lv1, lv2, lv3, lv4, lv5, lv6, lv7; @@ -3626,7 +3631,7 @@ struct NodeStructureMetadata {  #+END_SRC  **** metadata node emitter -#+name: ao_emitters +#+name: ao_emitters_metadata  #+BEGIN_SRC d    string node_emitter(      string lev_markup_number, @@ -3691,7 +3696,7 @@ struct NodeStructureMetadata {  **** metadata emitter heading -#+name: ao_emitters +#+name: ao_emitters_metadata  #+BEGIN_SRC d    string node_emitter_heading(      string lev_markup_number, @@ -3880,7 +3885,7 @@ struct NodeStructureMetadata {  #+END_SRC  **** metadata node struct close -#+name: ao_emitters +#+name: ao_emitters_metadata  #+BEGIN_SRC d  }  #+END_SRC @@ -4173,7 +4178,7 @@ struct ObjCompositeArr {  ** object setter                                                        :set:  *** comment                                                         :comment: -#+name: ao_object_setter +#+name: ao_object_setter_comment  #+BEGIN_SRC d  auto contents_comment(in string object) {    ObjComposite object_set; @@ -4187,7 +4192,7 @@ auto contents_comment(in string object) {  *** heading                                                         :heading: -#+name: ao_object_setter +#+name: ao_object_setter_heading  #+BEGIN_SRC d  auto contents_heading(    in string object, @@ -4215,7 +4220,7 @@ auto contents_heading(  *** para                                                               :para: -#+name: ao_object_setter +#+name: ao_object_setter_para  #+BEGIN_SRC d  auto contents_para(    in string is_a, @@ -4241,7 +4246,7 @@ auto contents_para(  *** para_endnote                                                       :para: -#+name: ao_object_setter +#+name: ao_object_setter_endnote  #+BEGIN_SRC d  auto contents_endnote(    in string object, @@ -4264,7 +4269,7 @@ auto contents_endnote(  *** block                                                             :block: -#+name: ao_object_setter +#+name: ao_object_setter_block  #+BEGIN_SRC d  auto contents_block(    in string type, @@ -4285,7 +4290,7 @@ auto contents_block(  *** block code                                                   :block:code: -#+name: ao_object_setter +#+name: ao_object_setter_block_code  #+BEGIN_SRC d  auto contents_block_code(    in string type, @@ -4307,7 +4312,7 @@ auto contents_block_code(  *** block obj_cite_number string                                      :block: -#+name: ao_object_setter +#+name: ao_object_setter_block_obj_cite_number_string  #+BEGIN_SRC d  auto contents_block_obj_cite_number_string(    in string type, @@ -4372,10 +4377,42 @@ template SiSUdocAbstraction() {        /+ post loop markup document/text ↑ +/      } /+ ← closed: abstract doc source +/      /+ ↓ abstraction functions +/ -    <<abs_functions>> +    <<abs_functions_object_reset>> +    <<abs_functions_header_set_common>> +    <<abs_functions_ocn_status>> +    <<abs_functions_block>> +    <<abs_functions_block_code>> +    <<abs_functions_block_biblio>> +    <<abs_functions_block_poem>> +    <<abs_functions_block_group>> +    <<abs_functions_block_block>> +    <<abs_functions_block_quote>> +    <<abs_functions_block_table>> +    <<abs_functions_block_line_status_empty>> +    <<abs_functions_book_index>> +    <<abs_functions_heading>> +    <<abs_functions_para>>      /+ abstraction functions ↑ +/      /+ ↓ abstraction function emitters +/ -    <<ao_emitters>> +    <<ao_emitters_ocn>> +    <<ao_emitters_obj_inline_markup_munge>> +    <<ao_emitters_obj_inline_markup>> +    <<ao_emitters_obj_inline_markup_and_anchor_tags>> +    <<ao_emitters_obj_inline_markup_private>> +    <<ao_emitters_obj_inline_markup_heading_numbering_segment_anchor_tags>> +    <<ao_emitters_obj_inline_markup_close>> +    <<ao_emitters_obj_attributes>> +    <<ao_emitters_obj_attributes_public>> +    <<ao_emitters_obj_attributes_private>> +    <<ao_emitters_obj_attributes_private_an_attribute>> +    <<ao_emitters_obj_attributes_private_json>> +    <<ao_emitters_obj_attributes_private_close>> +    <<ao_emitters_book_index_nugget>> +    <<ao_emitters_book_index_report_indented>> +    <<ao_emitters_book_index_report_section>> +    <<ao_emitters_endnotes>> +    <<ao_emitters_bibliography>> +    <<ao_emitters_metadata>>      /+ abstraction functions emitters ↑ +/      /+ ↓ abstraction functions assertions +/      <<abs_functions_assertions>> @@ -4398,7 +4435,13 @@ template ObjectSetter() {    /+ structs setter +/    struct ObjectAbstractSet {      import std.conv : to; -    <<ao_object_setter>> +    <<ao_object_setter_comment>> +    <<ao_object_setter_heading>> +    <<ao_object_setter_para>> +    <<ao_object_setter_endnote>> +    <<ao_object_setter_block>> +    <<ao_object_setter_block_code>> +    <<ao_object_setter_block_obj_cite_number_string>>    }  }  #+END_SRC | 
