Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
-- This file:
--   http://anggtwu.net/LUA/Lisp4.lua.html
--   http://anggtwu.net/LUA/Lisp4.lua
--          (find-angg "LUA/Lisp4.lua")
-- Author: Eduardo Ochs <eduardoochs@gmail.com>
--
-- (defun l4 () (interactive) (find-angg "LUA/Lisp4.lua"))
-- (defun l3 () (interactive) (find-angg "LUA/Lisp3.lua"))
-- (defun l2 () (interactive) (find-angg "LUA/Lisp2.lua"))
-- (defun l1 () (interactive) (find-angg "LUA/Lisp1.lua"))
-- (defun bm () (interactive) (find-blogme3 "maxima.lua"))
-- (find-es "maxima" "build-html-index")
-- (find-es "maxima" "tag-table")
--
-- Used by: (find-blogme3 "maxima-index-html.lua")

require "ELpeg1"    -- (find-angg "LUA/ELpeg1.lua")

local B,C,P,R,S,V = lpeg.B,lpeg.C,lpeg.P,lpeg.R,lpeg.S,lpeg.V
local Cb,Cc,Cf,Cg = lpeg.Cb,lpeg.Cc,lpeg.Cf,lpeg.Cg
local Cp,Cs,Ct    = lpeg.Cp,lpeg.Cs,lpeg.Ct
local Carg,Cmt    = lpeg.Carg,lpeg.Cmt

local gr,V,VA,VE,PE = Gram.new()
V.top         = V.skip * V.Elements
V.skip        = V.hspace * (V.hcomment^-1 * V.linebreak * V.hspace)^0
V.hspace      = (S" \t")^0
V.hcomment    = P";" * (1-P"\n")^0
V.linebreak   = P"\n"
V.Element     = V.Quoted + V.Number + V.Symbol + V.String + V.List
V.Elements    = V.skip * (V.Element * V.skip)^0
VA.List       = P'(' * V.Elements * P')'
VA.Number     = (R"09")^1
VA.Symbol     = (V.symbolchar^1):C():Cg"s"
V.symbolchar  = R"!~" - S [[()'"\]]
VA.String     = '"' * (V.strchar^0):C():Cg"s" * '"'
V.strchar     = (P"\\"*P(1)) + (1-P'"')
VA.Quoted     = P"'" * V.skip * V.Element

lisp4_pat    = gr:compile("top")
lisp4_parse  = function (bigstr) return lisp4_pat:match(bigstr) end

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

bigstr = [=[
;;; Do not edit; automatically generated via build-html-index.lisp
(in-package :cl-info)
(let ((html-index
       '(("Quote-quote operator" "Evaluation.html"
          "index-Quote_002dquote-operator")
         ("!!" "Elementary-Functions.html" "index-_0021_0021")
         ("!" "Elementary-Functions.html" "index-_0021"))))
  (load-html-index html-index))
]=]

= gr:cm("top", bigstr)
a,b = gr:cm0("top", bigstr)
a,b = lisp4_parse  (bigstr)
= a,b
= b
= b[2]
= b[2][1]
= b[2][1][2]
= b[2][1][2][1]

--]==]






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