Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
-- This file:
--   http://anggtwu.net/blogme3/maxima.lua.html
--   http://anggtwu.net/blogme3/maxima.lua
--           (find-angg "blogme3/maxima.lua")
-- Author: Eduardo Ochs <eduardoochs@gmail.com>
--
-- (defun e () (interactive) (find-angg "blogme3/maxima.lua"))
-- (find-es "maxima" "tag-table")

MaximaHtml = Class {
  type    = "MaximaHtml",
  __index = {
    getbody = function (mh)
        local bigstr = ee_readfile(mh.fname)
        local bigstr2 = bigstr:gsub('#A%(%(%d+%)%s+base%-char%s+%.%s+"(.-)"%)', '"%1"')
        local bigstr3 = bigstr2:match("'%b()")
        local bigstr4 = bigstr3:sub(4, -2)
        mh.body = bigstr4
        return mh
      end,
    parsebody = function (mh)
        return mh.body:gmatch('%("(.-)"%s+"(.-)"%s+"(.-)"%)')
      end,
    addentriesto = function (mh, set)
        for a,b,c in mh:parsebody() do
          set:add(a, b.."#"..c)
        end
        return set
      end,
    getset = function (mh)
        mh.s = Set.new()
        mh:addentriesto(mh.s)
        return mh
      end,
    geturl = function (mh, key)
        if not mh.s:has(key) then return nil end
        return (mh.base or "")..mh.s:has(key)
      end,
    --
    -- High level:
    get = function (mh, key)
        if not mh.body then mh:getbody() end
        if not mh.s then mh:getset() end
        return mh:geturl(key)
      end,
  },
}


--[[
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
dofile "maxima.lua"
mh = MaximaHtml {
  fname = "/usr/local/share/info/maxima-index-html.lisp",
  base  = "file:///usr/local/share/maxima/branch_5_46_base_250_gbd5ffb328/doc/html/"
}
mh:getbody()
mh:getbody():getset()
= mh.s
= mh.s:ksc("\n")
= mh:geturl("funmake")
= mh:get("funmake")

--]]





-- Local Variables:
-- coding:  utf-8-unix
-- End: