From 3e81eda3abd27ab6beadb3f183bcbf413ecd52b8 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Thu, 17 Mar 2016 22:38:32 -0400 Subject: org file headers updated --- maker.org | 43 +++++++------- org/ao_abstract_doc_source.org | 112 ++++++++++++++++++------------------- org/ao_assertions.org | 10 ++-- org/ao_defaults.org | 14 ++--- org/ao_emitters_and_interfaces.org | 50 ++++++++--------- org/ao_object_setter.org | 16 +++--- org/ao_output_debugs.org | 24 ++++---- org/ao_read_markup_source.org | 14 ++--- org/ao_rgx.org | 42 +++++++------- org/ao_scan_inserts.org | 18 +++--- org/ao_utils.org | 12 ++-- org/sdp.org | 26 ++++----- readme.org | 4 +- sdp.org | 15 ++++- 14 files changed, 207 insertions(+), 193 deletions(-) diff --git a/maker.org b/maker.org index 144e04a..9c29b91 100644 --- a/maker.org +++ b/maker.org @@ -6,6 +6,7 @@ #+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 +#+PROPERTY: header-args :padline no :exports none :noweb yes #+EXPORT_SELECT_TAGS: export #+EXPORT_EXCLUDE_TAGS: noexport #+FILETAGS: :sdp:rel:makefile: @@ -17,25 +18,25 @@ *** alternative D compilers [+1] :compiler: **** dmd :dmd: -#+BEGIN_SRC makefile :padline no :tangle makefile +#+BEGIN_SRC makefile :tangle makefile DMD=dmd -DMD_FLAGS=-de -w +DMD_FLAGS=-de -w -Jlib DMD_FLAGS_RELEASE=-release DMD_FLAG_BINOF=-of #+END_SRC **** ldc2 :ldc: -#+BEGIN_SRC makefile :tangle makefile +#+BEGIN_SRC makefile :tangle makefile LDC=ldc2 -LDC_FLAGS=-w +LDC_FLAGS=-w -J=lib LDC_FLAGS_RELEASE=-release LDC_FLAG_BINOF=-of= #+END_SRC **** gdc :gdc: -#+BEGIN_SRC makefile :tangle makefile +#+BEGIN_SRC makefile :tangle makefile GDC=gdc #GDC=gdc-5 GDC_FLAGS= @@ -43,16 +44,16 @@ GDC_FLAGS_RELEASE=-frelease GDC_FLAG_BINOF=-o #+END_SRC -*** TODO set/select: ~D compiler~ & ~debug flags~ [+1] [2/2] :select: +*** TODO set/select: ~D compiler~ & ~debug flags~ [+1] [2/2] :select: - [X] Set D_COMPILER (one of DMD LDC or GDC) - [X] Set debug flags (using DMD standard flag -debug=) **** SET compiler: "SET_D_COMPILER=": :compiler:select: [[http://wiki.dlang.org/Compilers][D Compilers wiki]] [[http://dlang.org/download.html][D Compilers download]] -Set D_COMPILER one of DMD LDC or GDC e.g.: SET_D_COMPILER=DMD +Set D_COMPILER one of DMD, LDC or GDC e.g.: SET_D_COMPILER=DMD -#+BEGIN_SRC makefile :tangle makefile +#+BEGIN_SRC makefile :tangle makefile # SET_D_COMPILER=(one of: DMD LDC or GDC): SET_D_COMPILER=LDC #+END_SRC @@ -61,14 +62,14 @@ SET_D_COMPILER=LDC Set debug flags using DMD standard flag -debug= e.g.: SET_DC_FLAGS_DEBUG_EXTRA=-debug=headings -debug=bookindex -#+BEGIN_SRC makefile :tangle makefile +#+BEGIN_SRC makefile :tangle makefile SET_DC_FLAGS_DEBUG_EXTRA=-debug=headings -debug=footnotes -debug=endnotes #+END_SRC *** D compiler settings [+1] :settings:compiler: **** compiler settings -#+BEGIN_SRC makefile :tangle makefile +#+BEGIN_SRC makefile :tangle makefile DC=$($(SET_D_COMPILER)) DC_FLAGS=$($(shell echo $(SET_D_COMPILER)_FLAGS)) DC_FLAGS_RELEASE=$($(shell echo $(SET_D_COMPILER)_FLAGS_RELEASE)) @@ -80,7 +81,7 @@ DC_FLAGS_DEBUG_SET=\ **** compiler conditional settings (depending on selected D compiler) -#+BEGIN_SRC makefile :tangle makefile +#+BEGIN_SRC makefile :tangle makefile ifeq ($(DC), $(DMD)) DC_FLAGS_DEBUG :=$(shell echo $(DC_FLAGS_DEBUG_SET)) endif @@ -94,7 +95,7 @@ endif *** Project Details :project:sdp: -#+BEGIN_SRC makefile :tangle makefile +#+BEGIN_SRC makefile :tangle makefile PRG_NAME=sdp PRG_SRC=$(PRG_NAME).d PRG_SRCDIR=./lib @@ -104,7 +105,7 @@ PRG_BINDIR=bin *** Emacs Org settings :settings:emacs:org:tangle: -#+BEGIN_SRC makefile :tangle makefile +#+BEGIN_SRC makefile :tangle makefile # ORG EMACSLISP=/usr/share/emacs/site-lisp EMACSLISP_ORG=~/.emacs.d/elpa/org-20151005 @@ -133,7 +134,7 @@ ORGDIR=$(shell echo `pwd`) *** build commands [+1] :build:compile: **** build rebuild -#+BEGIN_SRC makefile :tangle makefile +#+BEGIN_SRC makefile :tangle makefile all: build build: $(PRG_SRCDIR)/$(PRG_SRC) @@ -146,7 +147,7 @@ rebuild: $(PRG_SRCDIR)/$(PRG_SRC) $(PRG_BINDIR)/$(PRG_BIN).o clean build **** debug -#+BEGIN_SRC makefile :tangle makefile +#+BEGIN_SRC makefile :tangle makefile debug: $(PRG_SRCDIR)/$(PRG_SRC) $(DC) $(DC_FLAGS) $(DC_FLAGS_DEBUG) \ $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \ @@ -170,7 +171,7 @@ debug_gdc: $(PRG_SRCDIR)/$(PRG_SRC) **** release -#+BEGIN_SRC makefile :tangle makefile +#+BEGIN_SRC makefile :tangle makefile release: distclean_and_init tangle $(PRG_SRCDIR)/$(PRG_SRC) $(DC) $(DC_FLAGS) $(DC_FLAGS_RELEASE) \ $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \ @@ -179,7 +180,7 @@ release: distclean_and_init tangle $(PRG_SRCDIR)/$(PRG_SRC) *** init clean distclean etc. :clean: -#+BEGIN_SRC makefile :tangle makefile +#+BEGIN_SRC makefile :tangle makefile init: mkdir -p $(PRG_SRCDIR); \ mkdir -p $(PRG_BINDIR); @@ -200,7 +201,7 @@ distclean_and_init: init $(PRG_BINDIR) expunge *** Org Babel Tangle batch process command :tangle: -#+BEGIN_SRC makefile :tangle makefile +#+BEGIN_SRC makefile :tangle makefile tangle: for f in $(ORGFILELIST); do \ ORGFILES="$$ORGFILES \"$$f\""; \ @@ -223,14 +224,14 @@ tangle: *** Git snapshot -#+BEGIN_SRC makefile :tangle makefile +#+BEGIN_SRC makefile :tangle makefile gitsnapshot: distclean_and_init tangle git commit -a #+END_SRC ** phony -#+BEGIN_SRC makefile :tangle makefile +#+BEGIN_SRC makefile :tangle makefile .PHONY : all build rebuild debug release \ clean distclean init \ tangle @@ -243,7 +244,7 @@ babel tangle) org files in ./org/ to create .d source files in ./lib/sdp/ (similar functionality is contained within the "makefile" created by this "maker.org" file make tangle) -#+BEGIN_SRC sh :tangle tangle :padline no :tangle-mode (identity #o755) :shebang #!/bin/sh +#+BEGIN_SRC sh :tangle tangle :tangle-mode (identity #o755) :shebang #!/bin/sh # -*- mode: shell-script -*- # tangle files with org-mode DIR=`pwd` 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[a-zA-Z0-9._-]+/)*(?P[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.+?)\}\*`); static inline_bold = ctRegex!(`!\{(?P.+?)\}!`); @@ -123,7 +123,7 @@ static inline_mono = ctRegex!(`#\{(?P.+?)\}#`); #+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 diff --git a/readme.org b/readme.org index 12b5d18..695365c 100644 --- a/readme.org +++ b/readme.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 #+PRIORITIES: A F E diff --git a/sdp.org b/sdp.org index 600adc8..4c2afcc 100644 --- a/sdp.org +++ b/sdp.org @@ -1,5 +1,18 @@ -#+OPTIONS: ^:nil _:nil#+OPTIONS: ^:nil _:nil +#+TITLE: sdp (project) discussion +#+AUTHOR: Ralph Amissah +#+EMAIL: ralph.amissah@gmail.com +#+STARTUP: indent +#+LANGUAGE: en +#+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 +#+PROPERTY: header-args :padline no :exports none :noweb yes +#+EXPORT_SELECT_TAGS: export +#+EXPORT_EXCLUDE_TAGS: noexport #+PRIORITIES: A F E +#+FILETAGS: :sdp:rel:makefile: +#+TAGS: assert(a) class(c) debug(d) mixin(m) sdp(s) tangle(T) template(t) WEB(W) noexport(n) + * sdp :sdp: ** debug :debug: objects -- cgit v1.2.3