|
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: