|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
-- This file:
-- http://anggtwu.net/LUA/ELpeg2.lua.html
-- http://anggtwu.net/LUA/ELpeg2.lua
-- (find-angg "LUA/ELpeg2.lua")
-- Author: Eduardo Ochs <eduardoochs@gmail.com>
--
-- This is just a test for ELPeg1.lua (the name is bad).
--
-- (defun e1 () (interactive) (find-angg "LUA/ELpeg1.lua"))
-- (defun e2 () (interactive) (find-angg "LUA/ELpeg2.lua"))
-- (code-etv "~/LATEX/")
-- (find-code-etv "~/LATEX/")
require "ELpeg1" -- (find-angg "LUA/ELpeg1.lua")
gr,V,VA,VE,PE = Gram.new()
_ = S(" ")^0
mkast = function (op, ...) return AST.ify {[0]=op, ...} end
plus = function (...) return mkast("+", ...) end
word = function (s) return mkast("word", s) end
und = function (o,s) return mkast("und", o, word(s)) end
E[ "T_3" ] = word("T_3")
E[ "T_3.5" ] = und(E"T_3", 5)
E[ "T_2" ] = word("T_2")
E[ "T_2.5" ] = und(E"T_2", 5)
E[ "T_2.5 + T_3.5" ] = plus(E"T_2.5", E"T_3.5")
E[ "{T_2.5 + T_3.5}.10" ] = und(E"T_2.5 + T_3.5", 10)
E[ "T_1" ] = word("T_1")
E[ "T_1.4" ] = und(E"T_1", 4)
E[ "T_1.4 + {T_2.5 + T_3.5}.10" ] = plus(E"T_1.4", E"{T_2.5 + T_3.5}.10")
E["{T_1.4 + {T_2.5 + T_3.5}.10}.14"] = und(E"T_1.4 + {T_2.5 + T_3.5}.10", 14)
VA.word = Cs(R("AZ","az","09","__")^1)
V.opadd = Cs"+"
V.opund = P"." * Cc"und"
V.exprbasic = "{"*_*V.expr*_*"}" + V.word
V.exprund = assocl(V.exprbasic, V.opund)
V.expradd = assocl(V.exprund, V.opadd)
V.expr = V.expradd
fmts = VTable {}
fmts.word = "<1>"
fmts.und = "\\underbrace{<1>}_{<2>}"
fmts["+"] = "<1> + <2>"
--[[
** (find-code-show2 "~/LATEX/Show2.tex")
* (code-show2 "~/LATEX/Show2.tex")
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
-- loadshow2()
dofile "ELpeg2.lua"
AST.alttags = {add="*"}
-- (find-angg "LUA/ELpeg1.lua" "E-tests")
= grcm("expr", "{T_1.4 + {T_2.5 + T_3.5}.10}.14")
= E["{T_1.4 + {T_2.5 + T_3.5}.10}.14"]
= E["{T_1.4 + {T_2.5 + T_3.5}.10}.14"]:totex()
= E["{T_1.4 + {T_2.5 + T_3.5}.10}.14"]:totex():show()
E["{T_1.4 + {T_2.5 + T_3.5}.10}.14"]:show()
= E["{T_1.4 + {T_2.5 + T_3.5}.10}.14"]:show(2)
* (etv)
--]]
-- Local Variables:
-- coding: utf-8-unix
-- End: