Warning: this is an htmlized version!
The original is across this link,
and the conversion rules are here.
-- (find-miniforth "crim/crim.lua")
-- (find-miniforth "crim/")

--% «_ERRORMESSAGE»
--% (find-es "lua" "_ERRORMESSAGE")
_ERRORMESSAGE = function( msg )
    printf("Error: <%s>\n", msg)
    printf("Rest: <%s>\n", strsub(program.string, program.pos))
    exit(1)
  end


--% «bytecode_colon»
dict["%"] = function() fwordclass:declare(getword()) end
dict[":"] = function() fwordclass:declare(getword()); dict["H_COL"]() end
dict["g%"] = function() fwordclass:gdeclare(getword()) end
dict["g:"] = function() fwordclass:gdeclare(getword()); dict["H_COL"]() end
dict[":RSR"] = function() fwordclass:declare(getword()); dict["H_RSR"]() end


--% «e,p,comment»
dict["e"] = function() eval(getword()) end
dict["p"] = function() px(eval(getword())) end
dict["#"] = getline


--% «asm_and_C_files»
saveasmandC = function( asmfname, Cfname )
    defineLASTs()
    unskeletize("crim/skel.bytecode.asm", asmfname)
    unskeletize("crim/skel.engine.c",     Cfname)
  end
dict["asm/C-files:"] = function( ) saveasmandC(getword(), getword()) end


--% «luaword»
--% «nasm»
re(res, ")", "[ \t]\\)[ \t\n]")
getuntilpar = function( ) return getuntilre(")") end
luaword = function( name )
    dict[name.."("] = function( )
        eval(format("%s(%s)", %name, getuntilpar()))
      end
  end
dict["luaword"] = function( ) luaword(getword()) end
dict["nasm("] = function( ) eval(format("nasm(%s)", getuntilpar())) end
-- or  luaword("nasm")  from Lua,
-- or  luaword nasm     from miniforth.


--% «dbstuff»
-- (find-angg "flua/flua-comp.lua" "dbstuff")
function dbstuff(...)
  local dbs, len = {}, 0
  local i, obj, rest, _, str, c
  for i = 1, getn(arg) do
    obj = arg[i]
    if type(obj) == "string" then
      rest = obj
      while rest ~= "" do
        _, _, str, c, rest = strfind(rest, "^([ -&(-~]*)(.?)(.*)")
        if str ~= "" then
          tinsert(dbs, "'" .. str .. "'")
          len = len + strlen(str)
        end
        if c ~= "" then
          tinsert(dbs, strbyte(c))
          len = len + 1
        end
      end
    elseif type(obj) == "number" then
      tinsert(dbs, obj)
      len = len + 1
    else
      error("weird type for db!")
    end
  end
  nasm(len, format("\tdb %s\n", join(dbs, ",")))
end
luaword("dbstuff")