Warning: this is an htmlized version!
The original is across this link,
and the conversion rules are here.
#!/usr/bin/env lua5.1
-- This file:
-- http://angg.twu.net/dednat5/dednat6.lua
-- http://angg.twu.net/dednat5/dednat6.lua.html
--  (find-angg        "dednat5/dednat6.lua")
-- By Eduardo Ochs <eduardoochs@gmail.com>
-- Version: 2015jun15

-- «.package.path»		(to "package.path")
-- «.luatex-require»		(to "luatex-require")
-- «.requires»			(to "requires")
-- «.utf8»			(to "utf8")
-- «.dooptions»			(to "dooptions")
-- «.run-tests-in-test-dir»	(to "run-tests-in-test-dir")



-- «package.path» (to ".package.path")
-- Add this path to package.path
-- (find-dn4 "dednat4.lua" "dednat4dir")
fnamedirectory    = function (fname) return fname:match"^(.*/)[^/]*$"  end
fnamenondirectory = function (fname) return fname:match     "([^/]*)$" end
dednat6dir        = dednat6dir or (arg and fnamedirectory(arg[0])) or ""
if dednat6dir ~= "" then package.path = dednat6dir.."?.lua;"..package.path end


-- «luatex-require» (to ".luatex-require")
-- If we're in Lua(La)TeX then make sure that require behaves luaish-ly enough
if tex then
  local require = function (stem)
      local fname = dednat6dir..stem..".lua"
      package.loaded[stem] = package.loaded[stem] or dofile(fname) or fname
    end
  --
  require "lualoader"  -- (find-dn5 "lualoader.lua")
  require "binloader"  -- (find-dn5 "binloader.lua")
end


-- «requires» (to ".requires")
-- (find-dn5file "build.lua" "stems = {")
if true then require "edrxlib" end

-- The four lowest-level modules (all independent):
require "common"       -- (find-dn5 "common.lua")
require "eoo"          -- (find-dn5 "eoo.lua")
require "prefixes"     -- (find-dn5 "prefixes.lua")
require "parse"        -- (find-dn5 "parse.lua")

-- General functions to read and process ".tex" files
-- and write out a ".dnt" file:
require "preamble6"    -- (find-dn5 "preamble6.lua")
require "process"      -- (find-dn5 "process.lua")

-- Code for generating derivation trees from "%:" lines:
require "treetex"      -- (find-dn5 "treetex.lua")
require "treesegs"     -- (find-dn5 "treesegs.lua")
require "treehead"     -- (find-dn5 "treehead.lua")

-- Code for generating diagxy diagrams from "%D" lines:
require "diagstacks"   -- (find-dn5 "diagstacks.lua")
require "diagtex"      -- (find-dn5 "diagtex.lua")
require "diagforth"    -- (find-dn5 "diagforth.lua")
require   "errors"     -- (find-dn5 "errors.lua")
require "diagmiddle"   -- (find-dn5 "diagmiddle.lua")

-- New things (may 2015):
require "wrap"         -- (find-dn5 "wrap.lua")
require "picture"      -- (find-dn5 "picture.lua")
require "zrect"        -- (find-dn5 "zrect.lua")
require "zha"          -- (find-dn5 "zha.lua")
require   "heads6"     -- (find-dn5 "heads6.lua")
require "texfile"      -- (find-dn5 "texfile.lua")
-- require "rect"      -- (find-dn5 "rect.lua")
require "stacks"       -- (find-dn5 "stacks.lua")
-- New (jul 2015). Note that this overrides the ZHA class!
require "newrect"      -- (find-dn5 "newrect.lua")

-- The Begriffsschrift extension (experimental):
-- require "begriff"   -- (find-dn5 "begriff.lua")
-- The REPL, for interaction (experimental):
-- require "repl"      -- (find-dn5 "repl.lua")

-- Interpret command-line options and run everything:
require "options6"     -- (find-dn5 "options6.lua")

-- «utf8» (to ".utf8")
-- (find-es "lua5" "utf8")
-- (find-angg "LUA/lua50init.lua" "strlen8")
-- (find-dn5 "parse.lua" "getword =")
-- Usage: getword = getword_utf8
getword_utf8 = function ()
    local spaces, word_, newpos = subj:match("( *)([^ ]+)()", pos)
    if spaces then
      startcol = endcol + #spaces
      endcol   = endcol + #spaces + word_:len8()   -- UTF-8
      word     = word_
      pos      = newpos
      return word
    end
  end

-- «dooptions» (to ".dooptions")
PP("options:", {...})
-- PP("package.path:", package.path:sub(1, 50).." ...")
dooptions(...)




--[[
** «run-tests-in-test-dir» (to ".run-tests-in-test-dir")
** Copy the essential files from dednat6 to a test dir (/tmp/d6/)
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/dednat5/
cat dednat6.lua | grep ^require | tr -d '"()'
cat dednat6.lua | grep ^require | tr -d '"()' | awk '{print $5}'
cat dednat6.lua | grep ^require | tr -d '"()' | awk '{print $5}' | tee /tmp/o
cat dednat6.lua | grep "^ *require" | tr -d '"()' | awk '{print $5}' | tee /tmp/o
rm -Rv /tmp/d6/
mkdir  /tmp/d6/
mkdir  /tmp/d6/tests/
cp -v $(cat /tmp/o) dednat6.lua /tmp/d6/
cp -v tests/*.tex tests/*.lua   /tmp/d6/tests/

** Run dednat6 in the test dir
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd    /tmp/d6/tests/
../dednat6.lua
../dednat6.lua -t test1.tex
../dednat6.lua -t test2.tex
../dednat6.lua -t test3.tex
../dednat6.lua -t testbegr.tex
# (find-dn5 "tests/Makefile" "test1")
# (find-dn5 "tests/Makefile" "test2")
# (find-dn5 "tests/Makefile" "test3")
# (find-fline "/tmp/d6/tests/")
# mkdir /tmp/d6/tests/tests2/

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/dednat5/
cat dednat6.lua | grep "^ *require" | tr -d '"()' | awk '{print $5}' | tee /tmp/o
rm -Rv   /tmp/d6/
mkdir -p /tmp/d6/dednat6/
cp -v $(cat /tmp/o) dednat6.lua /tmp/d6/dednat6/
cp -v ~/LUA/lua50init.lua       /tmp/d6/dednat6/edrxlib.lua

cd ~/LATEX/
cp -v \
  istanbul-july.tex istanbulall.lua istanbuldefs.tex \
  2015logicandcats.lua \
  edrx15.sty edrx15chars.tex edrx15defs.tex edrxdnt.tex \
  proof.sty diagxy.tex \
   /tmp/d6/
cd /tmp/d6/
(TZ=GMT date; date) | tee VERSION
rm -v     /tmp/dednat6-test*
tar -cvzf /tmp/dednat6-test.tgz *
zip -r    /tmp/dednat6-test.zip *

lualatex istanbul-july.tex
export LUA_INIT=
lualatex istanbul-july.tex

cd /tmp/
Scp-np -v dednat6-test.tgz dednat6-test.zip edrx@angg.twu.net:/home/edrx/slow_html/dednat5/
Scp-np -v dednat6-test.tgz dednat6-test.zip edrx@angg.twu.net:/home/edrx/public_html/dednat5/

# (find-fline "/tmp/" "dednat6-test")
# (find-fline "/tmp/dednat6-test.tgz")
# (find-fline "/tmp/dednat6-test.zip")

--]]


--[[
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
dofile "dednat6.lua"

-- (find-dn5 "options.lua")
-- (find-dn5 "dednat5.lua")
-- (find-dn5grep "grep -nH -e '_O = _O or {}' *")

--]]


-- Local Variables:
-- coding: raw-text-unix
-- End: