aboutsummaryrefslogtreecommitdiffhomepage
path: root/org/ao_abstract_doc_source.org
diff options
context:
space:
mode:
Diffstat (limited to 'org/ao_abstract_doc_source.org')
-rw-r--r--org/ao_abstract_doc_source.org40
1 files changed, 15 insertions, 25 deletions
diff --git a/org/ao_abstract_doc_source.org b/org/ao_abstract_doc_source.org
index 1942b5e..75c581d 100644
--- a/org/ao_abstract_doc_source.org
+++ b/org/ao_abstract_doc_source.org
@@ -47,14 +47,11 @@ mixin InternalMarkup;
#+name: abs_init_struct
#+BEGIN_SRC d
/+ initialize +/
-
auto rgx = Rgx();
ObjComposite[] contents_the_objects;
-
string[string] an_object, processing;
auto set_abstract_object = ObjectAbstractSet();
auto note_section = NotesSection();
-
/+ enum +/
enum State { off, on }
enum TriState { off, on, closing } // make aware, possibility of third state
@@ -71,33 +68,27 @@ enum DocStructMarkupHeading {
content_non_header
} // header section A-D; header text 1-4
enum DocStructCollapsedHeading { lv0, lv1, lv2, lv3, lv4, lv5, lv6, lv7 } // not yet used
-
/+ biblio variables +/
string biblio_tag_name, biblio_tag_entry, st;
string[] biblio_arr_json;
JSONValue[] bib_arr_json;
int bib_entry;
-
/+ counters +/
long counter, previous_count;
int[string] line_occur;
int verse_line, heading_pointer;
-
/+ paragraph attributes +/
string[string] indent;
bool bullet = true;
string content_non_header = "8";
-
auto obj_im = ObjInlineMarkup();
auto obj_att = ObjAttrib();
-
/+ ocn +/
int obj_cite_number, obj_cite_number_;
auto object_citation_number = OCNemitter();
int obj_cite_number_emit(int obj_cite_number_status_flag) {
return object_citation_number.obj_cite_number_emitter(obj_cite_number_status_flag);
}
-
/+ book index variables +/
string book_idx_tmp;
string[][string][string] bookindex_unordered_hashes;
@@ -105,7 +96,6 @@ auto bookindex_extract_hash = BookIndexNuggetHash();
string[][string][string] bkidx_hash(string bookindex_section, int obj_cite_number) {
return bookindex_extract_hash.bookindex_nugget_hash(bookindex_section, obj_cite_number);
}
-
/+ node +/
string node;
auto node_construct = NodeStructureMetadata();
@@ -400,6 +390,7 @@ if (matchFirst(line, rgx.block_open)) {
#+END_SRC
******* asserts :assert:
+
#+name: abs_in_loop_body_not_block_obj
#+BEGIN_SRC d
assert(
@@ -424,7 +415,9 @@ if (matchFirst(line, rgx.block_open)) {
);
}
#+END_SRC
+
******* book index :bookindex:
+
#+name: abs_in_loop_body_not_block_obj
#+BEGIN_SRC d
if ((matchFirst(line, rgx.book_index))
@@ -435,12 +428,15 @@ if (matchFirst(line, rgx.block_open)) {
#+END_SRC
******* not book index [+1]
+
#+name: abs_in_loop_body_not_block_obj
#+BEGIN_SRC d
} else {
/+ not book_index +/
#+END_SRC
+
******** matched: comment :comment:match:
+
#+name: abs_in_loop_body_not_block_obj
#+BEGIN_SRC d
if (auto m = matchFirst(line, rgx.comment)) {
@@ -455,7 +451,9 @@ if (matchFirst(line, rgx.block_open)) {
processing.remove("verse");
++counter;
#+END_SRC
+
******** flag not set & line not exist: heading or para :heading:paragraph:
+
#+name: abs_in_loop_body_not_block_obj
#+BEGIN_SRC d
} else if (((line_occur["para"] == State.off)
@@ -488,6 +486,7 @@ if (matchFirst(line, rgx.block_open)) {
#+END_SRC
******** line exist: heading :heading:
+
#+name: abs_in_loop_body_not_block_obj
#+BEGIN_SRC d
} else if (line_occur["heading"] > State.off) {
@@ -498,7 +497,9 @@ if (matchFirst(line, rgx.block_open)) {
an_object["obj"] ~= line ~= "\n";
++line_occur["heading"];
#+END_SRC
+
******** line exist: para :para:
+
#+name: abs_in_loop_body_not_block_obj
#+BEGIN_SRC d
} else if (line_occur["para"] > State.off) {
@@ -511,6 +512,7 @@ if (matchFirst(line, rgx.block_open)) {
}
}
#+END_SRC
+
****** line empty, with block flag
#+name: abs_in_loop_body_not_block_obj
@@ -1996,7 +1998,6 @@ auto book_index(
}
#+END_SRC
-
** heading or paragraph :heading:paragraph:
*** heading found :heading:
@@ -3467,6 +3468,7 @@ struct NodeStructureMetadata {
#+END_SRC
**** metadata (check)
+
#+name: ao_emitters
#+BEGIN_SRC d
string node_emitter_heading(
@@ -3867,6 +3869,7 @@ auto assertions_flag_types_block_status_none_or_closed(int[string] type) {
set abstracted objects for downstream processing
** structs :struct:
+
#+name: ao_structs
#+BEGIN_SRC d
struct HeadingAttrib {
@@ -4026,16 +4029,12 @@ auto contents_block_obj_cite_number_string(
template SiSUdocAbstraction() {
private:
struct Abstraction {
-
/+ ↓ abstraction imports +/
<<abs_imports>>
-
/+ ↓ abstraction mixins +/
<<abs_mixins>>
-
/+ ↓ abstraction struct init +/
<<abs_init_struct>>
-
/+ ↓ abstract marked up document +/
auto abstract_doc_source(
char[][] markup_sourcefile_content,
@@ -4045,11 +4044,9 @@ template SiSUdocAbstraction() {
/+ ↓ abstraction init +/
<<abs_init_rest>>
/+ abstraction init ↑ +/
-
/+ ↓ loop markup document/text line by line +/
srcDocLoop:
foreach (line; markup_sourcefile_content) {
-
/+ ↓ markup document/text line by line +/
<<abs_in_loop_body_00>>
<<abs_in_loop_body_non_code_obj>>
@@ -4059,29 +4056,23 @@ template SiSUdocAbstraction() {
<<abs_in_loop_body_00_closed>>
<<abs_in_loop_body_01>>
} /+ ← closed: loop markup document/text line by line +/
-
/+ ↓ post loop markup document/text +/
<<abs_post>>
/+ post loop markup document/text ↑ +/
-
} /+ ← closed: abstract doc source +/
-
/+ ↓ abstraction functions +/
<<abs_functions>>
/+ abstraction functions ↑ +/
-
/+ ↓ abstraction function emitters +/
<<ao_emitters>>
/+ abstraction functions emitters ↑ +/
-
/+ ↓ abstraction functions assertions +/
<<abs_functions_assertions>>
/+ abstraction functions assertions ↑ +/
-
} /+ ← closed: struct Abstraction +/
-
} /+ ← closed: template SiSUdocAbstraction +/
#+END_SRC
+
** ao_object_setter: :ao_object_setter.d:
#+BEGIN_SRC d :tangle ../src/sdp/ao_object_setter.d
@@ -4092,7 +4083,6 @@ template SiSUdocAbstraction() {
template ObjectSetter() {
/+ structs +/
<<ao_structs>>
-
/+ structs setter +/
struct ObjectAbstractSet {
import std.conv : to;