|
Warning: this is an htmlized version!
The original is here, 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: