Warning: this is an htmlized version! The original is across this link, and the conversion rules are here.
```Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> dofile "luarects.lua"
> bigstr = [[
>> A = 1/ a \;  B = 2/abcd\;
>>      |b c|        \efgh/   C = 1/o o \
>>      | d |                      | o o|
>>      \  e/                      \o o /
>> ]]
> lwr = LuaWithRects.new(bigstr)
> = lwr
A = 1/ a \;  B = 2/abcd\;
|b c|        \efgh/   C = 1/o o \
| d |                      | o o|
\  e/                      \o o /
> = lwr:extractasciirects()
local aR0 = AsciiRect.new(1, {" a ", "b c", " d ", "  e"})
local aR1 = AsciiRect.new(2, {"abcd", "efgh"})
local aR2 = AsciiRect.new(1, {"o o ", " o o", "o o "})
A = aR0   ;  B = aR1    ;
C = aR2

> = lwr:body()
A = aR0   ;  B = aR1    ;
C = aR2

> = lwr.defs
local aR0 = AsciiRect.new(1, {" a ", "b c", " d ", "  e"})
local aR1 = AsciiRect.new(2, {"abcd", "efgh"})
local aR2 = AsciiRect.new(1, {"o o ", " o o", "o o "})

> = mytabletostring(lwr.ars)
{ 1={1="aR0", 2={"lines"={1=" a ", 2="b c", 3=" d ", 4="  e"}, "w"=1, "x0"=0}},
2={1="aR1", 2={"lines"={1="abcd", 2="efgh"}, "w"=2, "x0"=0}},
3={1="aR2", 2={"lines"={1="o o ", 2=" o o", 3="o o "}, "w"=1, "x0"=0}}
}
> = lwr.ars[1][2]
w=1 x0=0
a
b c
d
e
>
> ```