diff options
Diffstat (limited to 'org')
| -rw-r--r-- | org/ao_abstract_doc_source.org | 112 | ||||
| -rw-r--r-- | org/ao_assertions.org | 10 | ||||
| -rw-r--r-- | org/ao_defaults.org | 14 | ||||
| -rw-r--r-- | org/ao_emitters_and_interfaces.org | 50 | ||||
| -rw-r--r-- | org/ao_object_setter.org | 16 | ||||
| -rw-r--r-- | org/ao_output_debugs.org | 24 | ||||
| -rw-r--r-- | org/ao_read_markup_source.org | 14 | ||||
| -rw-r--r-- | org/ao_rgx.org | 42 | ||||
| -rw-r--r-- | org/ao_scan_inserts.org | 18 | ||||
| -rw-r--r-- | org/ao_utils.org | 12 | ||||
| -rw-r--r-- | org/sdp.org | 26 | 
11 files changed, 169 insertions, 169 deletions
| diff --git a/org/ao_abstract_doc_source.org b/org/ao_abstract_doc_source.org index 6694fa0..0a53bf7 100644 --- a/org/ao_abstract_doc_source.org +++ b/org/ao_abstract_doc_source.org @@ -3,10 +3,10 @@  #+EMAIL: ralph.amissah@gmail.com  #+STARTUP: indent  #+LANGUAGE: en -#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t  #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc  #+OPTIONS: author:nil email:nil creator:nil timestamp:nil -#+OPTIONS: ^:nil _:nil +#+PROPERTY: header-args :padline no :exports none :noweb yes  #+EXPORT_SELECT_TAGS: export  #+EXPORT_EXCLUDE_TAGS: noexport  #+FILETAGS: :sdp:rel:ao: @@ -17,7 +17,7 @@  Process markup document, create document abstraction.  ** initialize  #+name: abs_init -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /+ initialize +/  mixin ObjectSetters;  mixin AssertionsOnMarkupDocumentStructure; @@ -152,7 +152,7 @@ auto dochead_metadata = parseJSON(header_metadata_jsonstr).object;  ** loop: process document body [+7]  *** scope                                                             :scope:  #+name: abs_loop_body_00 -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* scope */  scope(exit) {  } @@ -177,7 +177,7 @@ debug(srclines) {  #+END_SRC  *** check whether ocn is on or turned off                               :ocn:  #+name: abs_loop_body_00 -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  if ((!line.empty) && (ft["ocn_status_multi_obj"] == 0)) {  /* not multi-line object, check whether ocn is on or turned off */    if (match(line, rgx.ocn_block_marks)) { @@ -221,7 +221,7 @@ if ((!line.empty) && (ft["ocn_status_multi_obj"] == 0)) {  *** separate regular markup text from code blocks [+6]  **** code blocks                                                 :block:code:  #+name: abs_loop_body_00 -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  if (ft["code"] == 1) {  /* block object: code */    if (ft["curly_code"] == 1) { @@ -256,14 +256,14 @@ if (ft["code"] == 1) {  #+END_SRC  **** non code objects (other blocks or regular text) [+5]          :non_code:  #+name: abs_loop_body_00 -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (!match(line, rgx.regular_parse_skip)) {  /* object other than code block object (includes regular text paragraph) */  #+END_SRC  ***** within block group [+1]                                  :block:active:  ****** within block group: biblio                                    :biblio:  #+name: abs_loop_body_non_code_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  if (((match(line, rgx.heading_biblio)  || (ft["heading_biblio"] == 1)))  && (!match(line, rgx.heading)) @@ -351,7 +351,7 @@ if (((match(line, rgx.heading_biblio)  #+END_SRC  ****** within block group: poem                                        :poem:  #+name: abs_loop_body_non_code_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (ft["poem"] == 1) {  /* within block object: poem */    if (ft["curly_poem"] == 1) { @@ -552,7 +552,7 @@ if (((match(line, rgx.heading_biblio)  #+END_SRC  ****** within block group: group                                      :group:  #+name: abs_loop_body_non_code_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* within block object: group */  } else if (ft["group"] == 1) {    if (ft["curly_group"] == 1) { @@ -587,7 +587,7 @@ if (((match(line, rgx.heading_biblio)  #+END_SRC  ****** within block group: block                                      :block:  #+name: abs_loop_body_non_code_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (ft["block"] == 1) {  /* within block object: block */    if (ft["curly_block"] == 1) { @@ -622,7 +622,7 @@ if (((match(line, rgx.heading_biblio)  #+END_SRC  ****** within block group: quote                                      :quote:  #+name: abs_loop_body_non_code_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (ft["quote"] == 1) {  /* within block object: quote */    if (ft["curly_quote"] == 1) { @@ -657,7 +657,7 @@ if (((match(line, rgx.heading_biblio)  #+END_SRC  ****** within block group: table                                      :table:  #+name: abs_loop_body_non_code_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (ft["table"] == 1) {  /* within block object: table */    if (ft["curly_table"] == 1) { @@ -692,13 +692,13 @@ if (((match(line, rgx.heading_biblio)  #+END_SRC  ***** not identified as being within block group [+4]  #+name: abs_loop_body_non_code_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else {  /* not within a block group */  #+END_SRC  ****** assert  #+name: abs_loop_body_open_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  assert(    (ft["blocks"] == 0)    || (ft["blocks"] == 2), @@ -709,7 +709,7 @@ assertions_flag_types_block_status_none_or_closed(ft);  ****** open curly block group [+1]                         :block:curly:open:  ******* open block group: code                                         :code:  #+name: abs_loop_body_open_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  if (auto m = match(line, rgx.block_curly_code_open)) {  /* curly code open */    debug(code) {                              // code (curly) open @@ -726,7 +726,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******* open block group: poem                                         :poem:  #+name: abs_loop_body_open_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (auto m = match(line, rgx.block_curly_poem_open)) {  /* curly poem open */    object.remove("obj"); @@ -751,7 +751,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******* open block group: group                                       :group:  #+name: abs_loop_body_open_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (auto m = match(line, rgx.block_curly_group_open)) {  /* curly group open */    debug(group) {                             // group (curly) open @@ -768,7 +768,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******* open block group: block                                       :block:  #+name: abs_loop_body_open_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (auto m = match(line, rgx.block_curly_block_open)) {  /* curly block open */    debug(block) {                             // block (curly) open @@ -785,7 +785,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******* open block group: quote                                       :quote:  #+name: abs_loop_body_open_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (auto m = match(line, rgx.block_curly_quote_open)) {  /* curly quote open */    debug(quote) {                             // quote (curly) open @@ -802,7 +802,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******* open block group: table                                       :table:  #+name: abs_loop_body_open_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (auto m = match(line, rgx.block_curly_table_open)) {  /* curly table open */    debug(table) {                             // table (curly) open @@ -820,7 +820,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  ****** open tic block group [+1]                             :block:tic:open:  ******* open block group: code                                         :code:  #+name: abs_loop_body_open_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (auto m = match(line, rgx.block_tic_code_open)) {  /* tic code open */    debug(code) {                              // code (tic) open @@ -837,7 +837,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******* open block group: poem                                         :poem:  #+name: abs_loop_body_open_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (auto m = match(line, rgx.block_tic_poem_open)) {  /* tic poem open */    object.remove("obj"); @@ -862,7 +862,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******* open block group: group                                       :group:  #+name: abs_loop_body_open_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (auto m = match(line, rgx.block_tic_group_open)) {  /* tic group open */    debug(group) {                             // group (tic) open @@ -879,7 +879,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******* open block group: block                                       :block:  #+name: abs_loop_body_open_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (auto m = match(line, rgx.block_tic_block_open)) {  /* tic block open */    debug(block) {                             // block (tic) open @@ -896,7 +896,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******* open block group: quote                                       :quote:  #+name: abs_loop_body_open_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (auto m = match(line, rgx.block_tic_quote_open)) {  /* tic quote open */    debug(quote) {                             // quote (tic) open @@ -913,7 +913,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******* open block group: table                                       :table:  #+name: abs_loop_body_open_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (auto m = match(line, rgx.block_tic_table_open)) {  /* tic table open */    debug(table) {                             // table (tic) open @@ -930,14 +930,14 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ****** line not empty [+3]  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (!line.empty) {  /* line not empty */  /* non blocks (headers, paragraphs) & closed blocks */  #+END_SRC  ******* asserts                                                      :assert:  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d    assert(      !line.empty,      "line tested, line not empty surely" @@ -962,7 +962,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******* book index                                                :bookindex:  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d    if (auto m = match(line, rgx.book_index)) {    /* match book_index */      debug(bookindexmatch) {                       // book index @@ -1005,13 +1005,13 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******* not book index [+2]  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d    } else {    /* not book_index */  #+END_SRC  ******** matched: comment                                     :comment:match:  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d      if (auto m = match(line, rgx.comment)) {      /* matched comment */        debug(comment) { @@ -1039,7 +1039,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******** matched: header make                             :header:make:match:  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d      } else if (auto m = match(line, rgx.header_make)) {      /* matched header_make */        debug(header1) {                          // header @@ -1055,7 +1055,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******** matched: header metadata                     :header:metadata:match:  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d      } else if (auto m = match(line, rgx.header_metadata)) {      /* matched header_metadata */        debug(header1) {                          // header @@ -1071,7 +1071,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******** flag set: header make                             :header:make:flag:  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d      } else if (ft["header_make"] == 1      && (line_occur["header_make"] > 0)) {      /* header_make flag set */ @@ -1086,7 +1086,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******** flag set: header metadata                     :header:metadata:flag:  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d      } else if (ft["header_metadata"] == 1      && (line_occur["header_metadata"] > 0)) {      /* header_metadata flag set */ @@ -1101,7 +1101,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******** flag not set & line not exist: heading or para [+1]  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d      } else if (((line_occur["para"] == 0)      && (line_occur["heading"] == 0))      && ((ft["para"] == 0) @@ -1110,7 +1110,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ********* headings found                                            :heading:  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d        if ((to!string(dochead_make["make"]["headings"]).length > 2)        && (ft["make_headings"] == 0)) {        /* headings found */ @@ -1180,7 +1180,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ********* headings make set                                         :heading:  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d        if ((ft["make_headings"] == 1)        && ((line_occur["para"] == 0)        && (line_occur["heading"] == 0)) @@ -1233,7 +1233,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ********* headings match                                            :heading:  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d        if (auto m = match(line, rgx.heading)) {        /* heading match */          ft["heading"] = 1; @@ -1360,7 +1360,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ********* para matches                                                 :para:  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d        } else if (line_occur["para"] == 0) {        /* para matches */          if (auto m = match(line, rgx.para_indent)) { @@ -1411,7 +1411,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******** line exist: header make                                :header:make:  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d      } else if (line_occur["header_make"] > 0) {      /* header_make */      // should be caught by sub-header @@ -1423,7 +1423,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******** line exist: header metadata                        :header:metadata:  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d      } else if (line_occur["header_metadata"] > 0) {      /* header_metadata */      // should be caught by sub-header @@ -1435,7 +1435,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******** line exist: heading                                        :heading:  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d      } else if (line_occur["heading"] > 0) {      /* heading */        debug(heading) {                         // heading @@ -1446,7 +1446,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ******** line exist: para                                              :para:  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d      } else if (line_occur["para"] > 0) {      /* paragraph */        debug(para) { @@ -1459,7 +1459,7 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ****** line empty, with block flag  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if (ft["blocks"] == 2) {  /* line empty, with blocks flag */    assert( @@ -1674,13 +1674,13 @@ if (auto m = match(line, rgx.block_curly_code_open)) {  #+END_SRC  ****** line empty [+1]  #+name: abs_loop_body_not_block_obj -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else {  /* line empty */  #+END_SRC  ******* assert line empty                                            :assert:  #+name: abs_loop_body_not_block_obj_line_empty -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* line.empty, post contents, empty variables: */  assert(    line.empty, @@ -1693,7 +1693,7 @@ assert(  #+END_SRC  ******* header_make instructions                   :header:make:instructions:  #+name: abs_loop_body_not_block_obj_line_empty -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  if ((ft["header_make"] == 1)  && (line_occur["header_make"] > 0)) {  /* header_make instructions (current line empty) */ @@ -1718,7 +1718,7 @@ if ((ft["header_make"] == 1)  #+END_SRC  ******* header_metadata                                     :header:metadata:  #+name: abs_loop_body_not_block_obj_line_empty -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if ((ft["header_metadata"] == 1)  && (line_occur["header_metadata"] > 0)) {  /* header_metadata (current line empty) */ @@ -1745,7 +1745,7 @@ if ((ft["header_make"] == 1)  #+END_SRC  ******* heading object                                       :heading:object:  #+name: abs_loop_body_not_block_obj_line_empty -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if ((ft["heading"] == 1)  && (line_occur["heading"] > 0)) {  /* heading object (current line empty) */ @@ -1803,7 +1803,7 @@ if ((ft["header_make"] == 1)  #+END_SRC  ******* paragraph object                                   :paragraph:object:  #+name: abs_loop_body_not_block_obj_line_empty -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  } else if ((ft["para"] == 1) && (line_occur["para"] > 0)) {  /* paragraph object (current line empty) */    ocn = ocn_emit(ft["ocn_status"]); @@ -1863,14 +1863,14 @@ if ((ft["header_make"] == 1)  #+END_SRC  *** close non code objects (regular text)  #+name: abs_loop_body_00_closed -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d      } // close else for line empty    } // close else for not the above  } // close after non code, other blocks or regular text  #+END_SRC  *** regular text objects  #+name: abs_loop_body_01 -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  if (((contents_arbitrary_max_length_set[counter-1]["is"] == "para")  || (contents_arbitrary_max_length_set[counter-1]["is"] == "heading"))  && (counter-1 > previous_count)) { @@ -1887,7 +1887,7 @@ if (((contents_arbitrary_max_length_set[counter-1]["is"] == "para")  ** post loop processing  #+name: abs_post -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  debug(objectrelated2) { // check      tell_l("blue", line);  } @@ -1989,7 +1989,7 @@ return t;  * tangles                                                            :tangle:  ** code structure:                                :ao_abstract_doc_source.d:  #+name: tangle_ao_abstract_doc_source -#+BEGIN_SRC d :tangle ../lib/sdp/ao_abstract_doc_source.d :padline no :exports none :noweb yes +#+BEGIN_SRC d :tangle ../lib/sdp/ao_abstract_doc_source.d  /*    document abstraction    ao_abstract_doc_source.d diff --git a/org/ao_assertions.org b/org/ao_assertions.org index b041541..0257f37 100644 --- a/org/ao_assertions.org +++ b/org/ao_assertions.org @@ -3,10 +3,10 @@  #+EMAIL: ralph.amissah@gmail.com  #+STARTUP: indent  #+LANGUAGE: en -#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t  #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc  #+OPTIONS: author:nil email:nil creator:nil timestamp:nil -#+OPTIONS: ^:nil _:nil +#+PROPERTY: header-args :padline no :exports none :noweb yes  #+EXPORT_SELECT_TAGS: export  #+EXPORT_EXCLUDE_TAGS: noexport  #+FILETAGS: :sdp:rel:ao: @@ -16,7 +16,7 @@  [[./sdp.org][sdp]] [[./][org/]]  ** mixin template: assertions on markup document structure    :doc_structure:  #+name: ao_assertions -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  mixin template AssertionsOnMarkupDocumentStructure() {    auto assertions_doc_structure(string[string] object, uint[string] lv) {      if (lv["h3"] > 0) { @@ -218,7 +218,7 @@ mixin template AssertionsOnMarkupDocumentStructure() {  #+END_SRC  ** mixin template: assertions on blocks                              :blocks:  #+name: ao_assertions -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  mixin template AssertionsOnBlocks() {    auto assertions_flag_types_block_status_none_or_closed(int[string] flag_type) {      assert( @@ -243,7 +243,7 @@ mixin template AssertionsOnBlocks() {  * tangle                                                             :tangle:  ** code structure:                                           :ao_assertions.d:  #+name: tangle_ao_assertions -#+BEGIN_SRC d :tangle ../lib/sdp/ao_assertions.d :padline no :exports none :noweb yes +#+BEGIN_SRC d :tangle ../lib/sdp/ao_assertions.d  /*    assertions    ao_assertions.d diff --git a/org/ao_defaults.org b/org/ao_defaults.org index 27039c7..6be3da3 100644 --- a/org/ao_defaults.org +++ b/org/ao_defaults.org @@ -3,10 +3,10 @@  #+EMAIL: ralph.amissah@gmail.com  #+STARTUP: indent  #+LANGUAGE: en -#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t  #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc  #+OPTIONS: author:nil email:nil creator:nil timestamp:nil -#+OPTIONS: ^:nil _:nil +#+PROPERTY: header-args :padline no :exports none :noweb yes  #+EXPORT_SELECT_TAGS: export  #+EXPORT_EXCLUDE_TAGS: noexport  #+FILETAGS: :sdp:rel:ao: @@ -16,7 +16,7 @@  [[./sdp.org][sdp]] [[./][org/]]  ** template: header                                                  :header:  #+name: ao_defaults_templates -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  template SiSUheader() {    auto header_make_jsonstr = `{      "make": { @@ -183,7 +183,7 @@ template SiSUheader() {  #+END_SRC  ** template: flags regex initialize                             :regex_flags:  #+name: ao_defaults_templates -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* regex flags */  template SiSUrgxInitFlags() {    int[string] flag_type = [ @@ -221,7 +221,7 @@ template SiSUrgxInitFlags() {  #+END_SRC  ** template: bibliography                                            :biblio:  #+name: ao_defaults_templates -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  template SiSUbiblio() {    auto biblio_entry_tags_jsonstr =  `{      "is"                   : "", @@ -272,7 +272,7 @@ template SiSUbiblio() {  #+END_SRC  ** template: internal markup                                         :markup:  #+name: ao_defaults_templates -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  template InternalMarkup() {    class InternalMarkup {      auto en_a_o = "【"; auto en_a_c = "】"; @@ -284,7 +284,7 @@ template InternalMarkup() {  * tangles                                                            :tangle:  ** code structure:                                               :ao_defaults.d:  #+name: tangle_ao_defaults -#+BEGIN_SRC d :tangle ../lib/sdp/ao_defaults.d :padline no :exports none :noweb yes +#+BEGIN_SRC d :tangle ../lib/sdp/ao_defaults.d  /*    defaults    ao_defaults.d diff --git a/org/ao_emitters_and_interfaces.org b/org/ao_emitters_and_interfaces.org index 0f80bc9..f19907f 100644 --- a/org/ao_emitters_and_interfaces.org +++ b/org/ao_emitters_and_interfaces.org @@ -3,10 +3,10 @@  #+EMAIL: ralph.amissah@gmail.com  #+STARTUP: indent  #+LANGUAGE: en -#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t  #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc  #+OPTIONS: author:nil email:nil creator:nil timestamp:nil -#+OPTIONS: ^:nil _:nil +#+PROPERTY: header-args :padline no :exports none :noweb yes  #+EXPORT_SELECT_TAGS: export  #+EXPORT_EXCLUDE_TAGS: noexport  #+FILETAGS: :sdp:rel:ao: @@ -20,7 +20,7 @@ various emitters and their interfaces (where available)  ** e:   command line interface/instructions  *** emitter                                                         :emitter:  #+name: ao_emitter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  class CLI {    string[string] extract_actions(string cmdlnins, string[string] actions)    in { } @@ -39,7 +39,7 @@ class CLI {  ** e&i: ocn  *** emitter                                                         :emitter:  #+name: ao_emitter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  class OCNemitter : AssertOCN {    int ocn, ocn_;    int ocn_emitter(int ocn_status_flag) @@ -58,7 +58,7 @@ class OCNemitter : AssertOCN {  #+END_SRC  *** interface assert                                       :interface:assert:  #+name: ao_interface -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  interface AssertOCN {    int ocn_emitter(int ocn_status_flag)      in { assert(ocn_status_flag <= 2); } @@ -68,7 +68,7 @@ interface AssertOCN {  ** e:   object attributes  *** emitter                                                         :emitter:  #+name: ao_emitter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  class ObjAttributes {    string[string] obj_txt;    string para_and_blocks(string obj_txt_in) @@ -225,7 +225,7 @@ class ObjAttributes {  ** e:   object inline markup munge  *** emitter                                                         :emitter:  #+name: ao_emitter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  class ObjInlineMarkupMunge {    string[string] obj_txt;    int n_foot, n_foot_reg, n_foot_sp_asterisk, n_foot_sp_plus; @@ -409,7 +409,7 @@ class ObjInlineMarkupMunge {  ** e&i: object inline markup  *** emitter                                                         :emitter:  #+name: ao_emitter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  class ObjInlineMarkup : AssertObjInlineMarkup {    auto munge = new ObjInlineMarkupMunge();    string[string] obj_txt; @@ -468,7 +468,7 @@ class ObjInlineMarkup : AssertObjInlineMarkup {  #+END_SRC  *** interface assert                                       :interface:assert:  #+name: ao_interface -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  interface AssertObjInlineMarkup {    string obj_inline_markup(string obj_raw, string obj_type_)      in { @@ -480,7 +480,7 @@ interface AssertObjInlineMarkup {  ** e&i: object attrib  *** emitter                                                         :emitter:  #+name: ao_emitter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  class ObjAttrib : AssertObjAttrib {    auto attrib = new ObjAttributes();    string[string] obj_attrib; @@ -570,7 +570,7 @@ class ObjAttrib : AssertObjAttrib {  #+END_SRC  *** interface assert                                       :interface:assert:  #+name: ao_interface -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  interface AssertObjAttrib {    string obj_attributes(string obj_raw, string node, string obj_type_)      in { @@ -582,7 +582,7 @@ interface AssertObjAttrib {  ** e:   header document metadata in json  *** emitter                                                         :emitter:  #+name: ao_emitter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  class HeaderDocMetadataMakeJson {    auto rgx = new Rgx();    string hm, hs; @@ -777,7 +777,7 @@ class HeaderDocMetadataMakeJson {  ** e:   header document metadata as hash  *** emitter                                                         :emitter:  #+name: ao_emitter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  class HeaderMetadataMakeHash {    auto rgx = new Rgx();    string header_main; @@ -830,7 +830,7 @@ class HeaderMetadataMakeHash {  ** e&i: book index nugget hash  *** emitter                                                         :emitter:  #+name: ao_emitter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  class BookIndexNuggetHash : AssertBookIndexNuggetHash {    string main_term, sub_term, sub_term_bits;    uint ocn_offset, ocn_endpoint; @@ -895,7 +895,7 @@ class BookIndexNuggetHash : AssertBookIndexNuggetHash {  #+END_SRC  *** interface assert                                       :interface:assert:  #+name: ao_interface -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  interface AssertBookIndexNuggetHash {    string[][string][string] bookindex_nugget_hash(string bookindex, int ocn)      in { @@ -916,7 +916,7 @@ interface AssertBookIndexNuggetHash {  ** e&i: book index report  *** emitter                                                         :emitter:  #+name: ao_emitter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  class BookIndexReport {    int mkn, skn;    auto bookindex_report_sorted( @@ -944,7 +944,7 @@ class BookIndexReport {  #+END_SRC  *** interface assert                                       :interface:assert:  #+name: ao_interface -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  interface AssertBookIndexReport {    string[][string][][string][] bookindex_nugget_hash(string[][string][string] bookindex_unordered_hashes)      in { @@ -954,7 +954,7 @@ interface AssertBookIndexReport {  ** e:   book index report indented  *** emitter                                                         :emitter:  #+name: ao_emitter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  class BookIndexReportIndent {    int mkn, skn;    auto bookindex_report_indented( @@ -985,7 +985,7 @@ class BookIndexReportIndent {  ** e:   book index report section  *** emitter                                                         :emitter:  #+name: ao_emitter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  class BookIndexReportSection {    mixin ObjectSetters;    int mkn, skn; @@ -1151,7 +1151,7 @@ class BookIndexReportSection {  ** e:   (end)notes section  *** emitter                                                         :emitter:  #+name: ao_emitter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  class NotesSection {    mixin ObjectSetters;    string object_notes; @@ -1276,7 +1276,7 @@ class NotesSection {  ** e:   bibliography  *** emitter                                                         :emitter:  #+name: ao_emitter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  class Bibliography {    public JSONValue[] bibliography(string[] biblio_unsorted_incomplete)    in { } @@ -1348,7 +1348,7 @@ class Bibliography {  ** e&i: node structure metadata  *** emitter                                                         :emitter:  #+name: ao_emitter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  class NodeStructureMetadata : AssertNodeJSON {    int lv, lv0, lv1, lv2, lv3, lv4, lv5, lv6, lv7;    uint ocn; @@ -1475,7 +1475,7 @@ class NodeStructureMetadata : AssertNodeJSON {  *** interface assert                                       :interface:assert:  #+name: ao_interface -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  interface AssertNodeJSON {    string node_emitter(      string lvn, @@ -1578,7 +1578,7 @@ interface AssertNodeJSON {  * tangles                                                            :tangle:  ** code structure:                                                :ao_emitter.d:  #+name: tangle_ao_emitter -#+BEGIN_SRC d :tangle ../lib/sdp/ao_emitter.d :padline no :exports none :noweb yes +#+BEGIN_SRC d :tangle ../lib/sdp/ao_emitter.d  /*    emitters    ao_emitters.d @@ -1590,7 +1590,7 @@ mixin template Emitters() {  #+END_SRC  ** code structure:                                             :ao_interface.d:  #+name: tangle_ao_interface -#+BEGIN_SRC d :tangle ../lib/sdp/ao_interface.d :padline no :exports none :noweb yes +#+BEGIN_SRC d :tangle ../lib/sdp/ao_interface.d  /*    interface    ao_interface.d diff --git a/org/ao_object_setter.org b/org/ao_object_setter.org index f6b9322..f5c2bbd 100644 --- a/org/ao_object_setter.org +++ b/org/ao_object_setter.org @@ -3,10 +3,10 @@  #+EMAIL: ralph.amissah@gmail.com  #+STARTUP: indent  #+LANGUAGE: en -#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t  #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc  #+OPTIONS: author:nil email:nil creator:nil timestamp:nil -#+OPTIONS: ^:nil _:nil +#+PROPERTY: header-args :padline no :exports none :noweb yes  #+EXPORT_SELECT_TAGS: export  #+EXPORT_EXCLUDE_TAGS: noexport  #+FILETAGS: :sdp:rel:ao: @@ -16,7 +16,7 @@  [[./sdp.org][sdp]]  [[./][org/]]  ** struct                                                            :struct:  #+name: ao_object_setter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  string[string] contents_comment(in string object) {    string[string] object_set;    object_set["use"]           = "comment"; @@ -28,7 +28,7 @@ string[string] contents_comment(in string object) {  #+END_SRC  ** heading                                                          :heading:  #+name: ao_object_setter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  string[string] contents_heading(    in int type,    in string object, @@ -54,7 +54,7 @@ string[string] contents_heading(  #+END_SRC  ** para                                                                :para:  #+name: ao_object_setter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  string[string] contents_para(    in string type,    in string object, @@ -79,7 +79,7 @@ string[string] contents_para(  #+END_SRC  ** block                                                              :block:  #+name: ao_object_setter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  string[string] contents_block(    in string type,    in string object, @@ -98,7 +98,7 @@ string[string] contents_block(  #+END_SRC  ** block ocn string                                                   :block:  #+name: ao_object_setter -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  string[string] contents_block_ocn_string(    in string type,    in string object, @@ -119,7 +119,7 @@ string[string] contents_block_ocn_string(  * tangles                                                            :tangle:  ** code structure:                                          :ao_object_setter.d:  #+name: tangle_ao_object_setter -#+BEGIN_SRC d :tangle ../lib/sdp/ao_object_setter.d :padline no :exports none :noweb yes +#+BEGIN_SRC d :tangle ../lib/sdp/ao_object_setter.d  /*    object setter    ao_object_setter.d diff --git a/org/ao_output_debugs.org b/org/ao_output_debugs.org index 4891df9..f10c474 100644 --- a/org/ao_output_debugs.org +++ b/org/ao_output_debugs.org @@ -3,10 +3,10 @@  #+EMAIL: ralph.amissah@gmail.com  #+STARTUP: indent  #+LANGUAGE: en -#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t  #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc  #+OPTIONS: author:nil email:nil creator:nil timestamp:nil -#+OPTIONS: ^:nil _:nil +#+PROPERTY: header-args :padline no :exports none :noweb yes  #+EXPORT_SELECT_TAGS: export  #+EXPORT_EXCLUDE_TAGS: noexport  #+FILETAGS: :sdp:rel:ao: @@ -16,7 +16,7 @@  [[./sdp.org][sdp]]  [[./][org/]]  ** (parent)                                                          :parent:  #+name: ao_output_debugs -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  debug(parent) {    writeln(__FILE__, ":", __LINE__);    foreach (obj; contents) { @@ -36,7 +36,7 @@ debug(parent) {  #+END_SRC  ** (objects)                                                        :objects:  #+name: ao_output_debugs -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  debug(objects) {    writeln("-------------------------------");    writeln(__FILE__, ":", __LINE__); @@ -55,7 +55,7 @@ debug(objects) {  #+END_SRC  ** (headermakejson)                                             :json:header:  #+name: ao_output_debugs -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  debug(headermakejson) {    writeln("document header, metadata & make instructions:");    writeln(dochead); @@ -81,7 +81,7 @@ debug(headermakejson) {  #+END_SRC  ** (headermetadatajson)                                         :json:header:  #+name: ao_output_debugs -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  debug(headermetadatajson) {    writeln("document header, metadata & make instructions:");    writeln(dochead); @@ -186,7 +186,7 @@ debug(headermetadatajson) {  #+END_SRC  ** (bookindex)                                                    :bookindex:  #+name: ao_output_debugs -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  debug(bookindex) {    writeln("-------------------------------");    writeln(__FILE__, ":", __LINE__); @@ -196,7 +196,7 @@ debug(bookindex) {  #+END_SRC  ** (summary) [+1]                                                   :summary:  #+name: ao_output_debugs -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  debug(summary) {    string[string] check = [      "last_ocn" : "NA [debug \"checkdoc\" not run]", @@ -204,7 +204,7 @@ debug(summary) {  #+END_SRC  *** (checkdoc)                                                     :checkdoc:  #+name: ao_output_debugs_summary -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  debug(checkdoc) {    foreach (obj; contents) {      if (obj["use"] == "content") { @@ -217,7 +217,7 @@ debug(checkdoc) {  #+END_SRC  *** (headings)                                                     :headings:  #+name: ao_output_debugs_summary -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  debug(headings) {    writeln("-------------------------------");    writeln(__FILE__, ":", __LINE__); @@ -245,7 +245,7 @@ writeln(  #+END_SRC  *** compare number of ocn for known sisu markup output (checkdoc)  #+name: ao_output_debugs_summary -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  debug(checkdoc) {    if (auto mfn=match(fn_src, rgx.src_fn)) {      if (actions["assert"] == "yes") { @@ -376,7 +376,7 @@ debug(checkdoc) {  * tangles                                                            :tangle:  ** code structure:                                          :ao_output_debugs.d:  #+name: tangle_ao_output_debugs -#+BEGIN_SRC d :tangle ../lib/sdp/ao_output_debugs.d :padline no :exports none :noweb yes +#+BEGIN_SRC d :tangle ../lib/sdp/ao_output_debugs.d  /*    output debugs    ao_output_debugs.d diff --git a/org/ao_read_markup_source.org b/org/ao_read_markup_source.org index d6cb0dc..d0aa4f9 100644 --- a/org/ao_read_markup_source.org +++ b/org/ao_read_markup_source.org @@ -3,10 +3,10 @@  #+EMAIL: ralph.amissah@gmail.com  #+STARTUP: indent  #+LANGUAGE: en -#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t  #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc  #+OPTIONS: author:nil email:nil creator:nil timestamp:nil -#+OPTIONS: ^:nil _:nil +#+PROPERTY: header-args :padline no :exports none :noweb yes  #+EXPORT_SELECT_TAGS: export  #+EXPORT_EXCLUDE_TAGS: noexport  #+FILETAGS: :sdp:rel:ao: @@ -17,7 +17,7 @@  ** source string                                                     :string:  #+name: ao_read_markup_source -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  final private string markupSourceString(in char[] fn_src) {    enforce(      exists(fn_src)!=0, @@ -45,7 +45,7 @@ final private string markupSourceString(in char[] fn_src) {  ** source line array                                                  :array:  #+name: ao_read_markup_source -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  final private char[][] markupSourceLineArray(in string src_text) {    char[][] source_line_arr =      split(cast(char[]) src_text, rgx.line_delimiter); @@ -55,7 +55,7 @@ final private char[][] markupSourceLineArray(in string src_text) {  ** insert source content raw line array                               :array:  #+name: ao_read_markup_source -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  final char[][] markupInsertSourceContentRawLineArray(in char[] fn_src) {    enforce(      match(fn_src, rgx.src_fn_find_inserts), @@ -69,7 +69,7 @@ final char[][] markupInsertSourceContentRawLineArray(in char[] fn_src) {  ** source content raw line array                                      :array:  #+name: ao_read_markup_source -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  final char[][] markupSourceContentRawLineArray(in char[] fn_src) {    enforce(      match(fn_src, rgx.src_pth), @@ -84,7 +84,7 @@ final char[][] markupSourceContentRawLineArray(in char[] fn_src) {  * tangles                                                            :tangle:  ** code structure:                                   :ao_read_markup_source.d:  #+name: tangle_ao_read_markup_source -#+BEGIN_SRC d :tangle ../lib/sdp/ao_read_markup_source.d :padline no :exports none :noweb yes +#+BEGIN_SRC d :tangle ../lib/sdp/ao_read_markup_source.d  /*    read markup source    ao_read_markup_source.d diff --git a/org/ao_rgx.org b/org/ao_rgx.org index 39767eb..b9d44d0 100644 --- a/org/ao_rgx.org +++ b/org/ao_rgx.org @@ -3,10 +3,10 @@  #+EMAIL: ralph.amissah@gmail.com  #+STARTUP: indent  #+LANGUAGE: en -#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t  #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc  #+OPTIONS: author:nil email:nil creator:nil timestamp:nil -#+OPTIONS: ^:nil _:nil +#+PROPERTY: header-args :padline no :exports none :noweb yes  #+EXPORT_SELECT_TAGS: export  #+EXPORT_EXCLUDE_TAGS: noexport  #+FILETAGS: :sdp:rel:ao: @@ -16,7 +16,7 @@  [[./sdp.org][sdp]]  [[./][org/]]  ** misc                                                                :misc:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* misc */  static flag_action               = ctRegex!(`^(--[a-z][a-z0-9-]+)$`);  static flag_action_str           = ctRegex!(` (--[a-z][a-z0-9-]+)`); @@ -41,20 +41,20 @@ static levels_numbered_headings  = ctRegex!(`^[0-7]$`);  #+END_SRC  ** markup insert file                                           :insert:file:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* insert markup file */  static insert_src_fn_ssi_or_sst  = ctRegex!(`^<<\s*(?P<path>[a-zA-Z0-9._-]+/)*(?P<filename>[a-zA-Z0-9._-]+[.]ss[ti])$`);  // static insert_ssi_or_sst_fn      = ctRegex!(`^<<\s*[a-zA-Z0-9._-]+[.]ss[ti]`);  #+END_SRC  ** comments                                                         :comment:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* comments */  static comment                   = ctRegex!(`^%+ `);  #+END_SRC  ** header                                                            :header:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* header */  static header                    = ctRegex!(`^@([a-z_]+):(?:\s|$)`);  static header_make               = ctRegex!(`^@(make):(?:\s|$)`); @@ -65,7 +65,7 @@ static head_sub                  = ctRegex!(`^[ ]*:([a-z_]+):\s+(.+)`, "m");  #+END_SRC  ** header & paragraph operators                          :paragraph:operator:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* heading & paragraph operators */  static heading            = ctRegex!(`^:?([A-D1-4])[~]([a-z0-9_.-]*[?]?) `);  static heading_marker     = ctRegex!(`^:?([A-D1-4])[~]`); @@ -81,7 +81,7 @@ static para_attribs       = ctRegex!(`^_(([0-9])(_([0-9]))?|_([1-9])?[*]) `);  #+END_SRC  ** blocked markup tics                                            :block:tic:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* blocked markup tics */  static block_tic_code_open       = ctRegex!("^`{3} (code)");  static block_tic_poem_open       = ctRegex!("^`{3} (poem)"); @@ -93,7 +93,7 @@ static block_tic_close           = ctRegex!("^(`{3})$","m");  #+END_SRC  ** blocked markup curly                                         :block:curly:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* blocked markup curly */  static block_curly_code_open     = ctRegex!(`^(code[{].*?$)`);  static block_curly_code_close    = ctRegex!(`^([}]code)`); @@ -110,7 +110,7 @@ static block_curly_table_close   = ctRegex!(`^([}]table)`);  #+END_SRC  ** inline markup font face mod                             :inline:font:face:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* inline markup font face mod */  static inline_emphasis           = ctRegex!(`\*\{(?P<text>.+?)\}\*`);  static inline_bold               = ctRegex!(`!\{(?P<text>.+?)\}!`); @@ -123,7 +123,7 @@ static inline_mono               = ctRegex!(`#\{(?P<text>.+?)\}#`);  #+END_SRC  ** inline markup footnotes                                  :inline:footnote:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* inline markup footnotes */  static true_dollar                           = ctRegex!(`\$`, "gm");  static inline_notes_al                       = ctRegex!(`【(?:[*+]\s+|\s*)(.+?)】`, "mg"); @@ -154,7 +154,7 @@ static inline_note_square_delimiters         = ctRegex!(`(~\[\s*)(.+?)(\]~)`, "m  #+END_SRC  ** inline markup book index                                :inline:bookindex:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* inline markup book index */  static book_index                = ctRegex!(`^=\{\s*(.+?)\}$`, "m");  static book_index_open           = ctRegex!(`^=\{\s*([^}]+?)$`); @@ -162,7 +162,7 @@ static book_index_close          = ctRegex!(`^(.*?)\}$`, "m"); // strip  #+END_SRC  ** no ocn object                                              :ocn:off:object:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* no ocn object */  static ocn_off                   = ctRegex!(`~#$`, "m");  static ocn_off_dh                = ctRegex!(`-#$`, "m"); @@ -170,7 +170,7 @@ static ocn_off_all               = ctRegex!(`[~-]#$`, "m");  #+END_SRC  ** no ocn block                                               :ocn:off:block:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* no ocn block */  static ocn_off_block             = ctRegex!(`^--~#$`);  static ocn_off_block_dh          = ctRegex!(`^---#$`); @@ -180,13 +180,13 @@ static ocn_block_marks           = ctRegex!(`^--[+~-]#$`);  #+END_SRC  ** ignore outside code blocks                                    :block:code:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* ignore outside code blocks */  static regular_parse_skip        = ctRegex!(`^(--[+~-]#|-[\\]{2}-|=[.\\]{2}=)$`); // not structural info  #+END_SRC  ** line & page breaks                                                 :break:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* line & page breaks */  static break_line_within_object  = ctRegex!(`[\\]{2}( |$)`);  // static break_line_break_within_object  = ctRegex!(`( |^)[\\]{2}( |$)`); @@ -199,13 +199,13 @@ static parent                    = ctRegex!(`([0-7]):([0-9]+)`);  #+END_SRC  ** json                                                                :json:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* json */  static tailing_comma             = ctRegex!(`,$`, "m");  #+END_SRC  ** head                                                              :header:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* head */  static main_headers              = ctRegex!(`^(?:creator|title|rights|date|original|classify|identifier|notes|publisher|make|links)$`, "m");  static subhead_creator           = ctRegex!(`^(?:author|translator|illustrator)$`, "m"); @@ -221,14 +221,14 @@ static subhead_make              = ctRegex!(`^(?:cover_image|home_button_image|h  #+END_SRC  ** biblio tags                                                  :biblio:tags:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* biblio tags */  static biblio_tags               = ctRegex!(`^(is|au|author_raw|author|author_arr|editor_raw|ed|editor_arr|ti|title|subtitle|fulltitle|lng|language|trans|src|jo|journal|in|vol|volume|edn|edition|yr|year|pl|place|pb|pub|publisher|url|pg|pages|note|short_name|id):\s+(.+)`);  static biblio_abbreviations      = ctRegex!(`^(au|ed|ti|lng|jo|vol|edn|yr|pl|pb|pub|pg|pgs|sn)$`);  #+END_SRC  ** bookindex split                                          :bookindex:split:  #+name: ao_rgx -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* bookindex split */  static bi_main_terms_split       = ctRegex!(`\s*;\s*`);  static bi_main_term_plus_rest_split = ctRegex!(`\s*:\s*`); @@ -238,7 +238,7 @@ static bi_term_and_ocns_match    = ctRegex!(`^(.+?)\+(\d+)`);  * tangles                                                            :tangle:  ** code structure:                                                   :ao_rgx.d:  #+name: tangle_ao_rgx -#+BEGIN_SRC d :tangle ../lib/sdp/ao_rgx.d :padline no :exports none :noweb yes +#+BEGIN_SRC d :tangle ../lib/sdp/ao_rgx.d  /*    regex    ao_rgx.d diff --git a/org/ao_scan_inserts.org b/org/ao_scan_inserts.org index 5da6b0a..87e56c0 100644 --- a/org/ao_scan_inserts.org +++ b/org/ao_scan_inserts.org @@ -3,10 +3,10 @@  #+EMAIL: ralph.amissah@gmail.com  #+STARTUP: indent  #+LANGUAGE: en -#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t  #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc  #+OPTIONS: author:nil email:nil creator:nil timestamp:nil -#+OPTIONS: ^:nil _:nil +#+PROPERTY: header-args :padline no :exports none :noweb yes  #+EXPORT_SELECT_TAGS: export  #+EXPORT_EXCLUDE_TAGS: noexport  #+FILETAGS: :sdp:rel:ao: @@ -18,7 +18,7 @@  ** scan inserts (sub-document) source                       :scan_insert_src:  *** scan subdoc source  #+name: ao_inserts_scan -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  char[][100000] cont_arbitrary_max_length_set_;  auto ft0 = flag_type.dup;  auto ft1 = flag_type.dup; @@ -38,7 +38,7 @@ auto markup_src_file_path = fn_pth_full.captures[1];  #+END_SRC  *** loop insert (sub-document)  #+name: ao_inserts_scan_loop -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  if (ft1["curly_code"] == 1) {    ft1["header_make"] = 0;    ft1["header_metadata"] = 0; @@ -121,7 +121,7 @@ if (ft1["curly_code"] == 1) {  #+END_SRC  *** post loop  #+name: ao_inserts_scan_post -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  auto contents_ = cont_arbitrary_max_length_set_[0 .. counter["add"]].dup;  auto t = tuple(contents_, add);  return t; @@ -130,7 +130,7 @@ return t;  ** scan document source                                            :scan_src:  *** scan doc source  #+name: ao_doc_scan -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  char[][100000] cont_arbitrary_max_length_set; // 2000 pg * 50 lines  string[string] processing;  uint[string] line_occur; @@ -149,7 +149,7 @@ auto markup_src_file_path = fn_pth_full.captures[1];  #+END_SRC  *** loop insert (document)  #+name: ao_doc_scan_loop -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  if (ft["curly_code"] == 1) {    ft["header_make"] = 0;    ft["header_metadata"] = 0; @@ -244,7 +244,7 @@ if (ft["curly_code"] == 1) {  #+END_SRC  *** post loop  #+name: ao_doc_scan_post -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  auto contents = cont_arbitrary_max_length_set[0..add].dup;  debug(insert) {                              // insert file    writeln(__LINE__); @@ -257,7 +257,7 @@ return contents;  * tangles                                                            :tangle:  ** code structure:                                                 :ao_inserts.d:  #+name: tangle_ao_inserts -#+BEGIN_SRC d :tangle ../lib/sdp/ao_scan_inserts.d :padline no :exports none :noweb yes +#+BEGIN_SRC d :tangle ../lib/sdp/ao_scan_inserts.d  /+    inserts    ao_inserts.d diff --git a/org/ao_utils.org b/org/ao_utils.org index 9f3bdb5..c4ead3f 100644 --- a/org/ao_utils.org +++ b/org/ao_utils.org @@ -3,10 +3,10 @@  #+EMAIL: ralph.amissah@gmail.com  #+STARTUP: indent  #+LANGUAGE: en -#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t  #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc  #+OPTIONS: author:nil email:nil creator:nil timestamp:nil -#+OPTIONS: ^:nil _:nil#+OPTIONS: ^:nil _:nil +#+PROPERTY: header-args :padline no :exports none :noweb yes  #+EXPORT_SELECT_TAGS: export  #+EXPORT_EXCLUDE_TAGS: noexport  #+FILETAGS: :sdp:rel:ao: @@ -16,7 +16,7 @@  [[./sdp.org][sdp]]  [[./][org/]]  ** set colors for terminal                                  :colors:terminal:  #+name: ao_utils -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  string[string] scr_txt_color = [    "off"           : "\033[0m",    "white"         : "\033[37m", @@ -89,21 +89,21 @@ string[string] scr_txt_marker = [  * code snippets, use as needed                           :code:snippet:debug:  ** called from -#+BEGIN_SRC d  :tangle no                                      :exports none +#+BEGIN_SRC d  :tangle no  string functionName = __FUNCTION__,  string file = __FILE__,  size_t line = __LINE__) {  writefln("Called from function %s at file %s, line %s",    functionName, file, line);  #+END_SRC      :tangle no -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  writefln("Inside function %s at file %s, line %s",    __FUNCTION__, __FILE__, __LINE__);  #+END_SRC  * tangles                                                            :tangle:  ** code structure:                                                   :ao_util.d:  #+name: tangle_ao_utils -#+BEGIN_SRC d :tangle ../lib/sdp/ao_utils.d :padline no :exports none :noweb yes +#+BEGIN_SRC d :tangle ../lib/sdp/ao_utils.d  /*    utils    ao_util.d diff --git a/org/sdp.org b/org/sdp.org index d93825f..0130f39 100644 --- a/org/sdp.org +++ b/org/sdp.org @@ -3,10 +3,10 @@  #+EMAIL: ralph.amissah@gmail.com  #+STARTUP: indent  #+LANGUAGE: en -#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t  #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc  #+OPTIONS: author:nil email:nil creator:nil timestamp:nil -#+OPTIONS: ^:nil _:nil +#+PROPERTY: header-args :padline no :exports none :noweb yes  #+EXPORT_SELECT_TAGS: export  #+EXPORT_EXCLUDE_TAGS: noexport  #+FILETAGS: :sdp:rel:hub: @@ -31,7 +31,7 @@ Take command line instructions and process files as instructed.  [[./ao_utils.org][ao_utils]]  #+name: sdp_imports -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /+ sdp  sisu document parser +/  import    std.algorithm, @@ -68,7 +68,7 @@ import std.conv : to;  ** argv [+3]                                                           :argv:  *** argv mixins & init  #+name: sdp_argv -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  mixin SiSUheader;  mixin SiSUbiblio;  mixin SiSUrgxInitFlags; @@ -121,7 +121,7 @@ scope(failure) {  *** argv loop  #+name: sdp_argv -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  foreach(cmdlnins; argv) {    if (match(cmdlnins, rgx.flag_action)) {      flag_action ~= " " ~ cmdlnins; @@ -137,7 +137,7 @@ foreach(cmdlnins; argv) {  **** filename provided [+1]  ***** scope                                                           :scope:  #+name: sdp_each_file_do -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  scope(success) {    debug(checkdoc) {      writeln( @@ -170,7 +170,7 @@ enforce(  [[./ao_read_markup_source.org][ao_read_markup_source]]  #+name: sdp_each_file_do -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  auto markup_sourcefile_content =    raw.markupSourceContentRawLineArray(fn_src); // alternative call    // raw.markupSourceLineArray(raw.markupSourceString(fn_src)); // alternative calls (milliseconds faster?) @@ -190,7 +190,7 @@ debug(insert) {  [[./ao_scan_inserts.org][ao_scan_inserts]]  #+name: sdp_each_file_do -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  if (match(fn_src, rgx.src_fn_master)) {  /+ if master file scan document source for document imports (inserted sub-documents) +/    auto ins = new Inserts(); @@ -211,7 +211,7 @@ debug(raw) {  ***** send for processing                                        :processing:  #+name: sdp_each_file_do -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /+ process document ao_abstract_doc_source SiSUdocAbstraction::Abstraction return abstraction as tuple +/  auto t =    abs.abstract_doc_source(msc); @@ -227,7 +227,7 @@ auto biblio = t[4];  ***** debug document parts (checkdoc)  #+name: sdp_each_file_do -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  // DocumentParts  debug(checkdoc) {    dbg.abstract_doc_source_debugs( @@ -246,7 +246,7 @@ debug(checkdoc) {  ***** on exit  #+name: sdp_each_file_do -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  scope(exit) {    destroy(msc);    destroy(t); @@ -261,7 +261,7 @@ scope(exit) {  **** no filename provided  #+name: sdp_no_filename_provided -#+BEGIN_SRC d                                                  :exports none +#+BEGIN_SRC d  /* no recognized filename provided */  writeln("no recognized filename");  break; @@ -271,7 +271,7 @@ break;  * tangles                                                            :tangle:  ** code structure                                                    :sdp.d:  #+name: tangle_sdp -#+begin_src d  :tangle ../lib/sdp.d :shebang #!/usr/bin/env rdmd  :exports none :noweb yes +#+BEGIN_SRC d  :tangle ../lib/sdp.d :shebang #!/usr/bin/env rdmd  /*    sdp    sdp.d | 
