aeslua/buffer.lua

1
local public = {};
2
 
3
local aeslua = require("aeslua");
4
aeslua.buffer = public;
5
 
6
function public.new ()
7
  return {};
8
end
9
 
10
function public.addString (stack, s)
11
  table.insert(stack, s)
12
  for i = #stack - 1, 1, -1 do
13
    if #stack[i] > #stack[i+1] then 
14
        break;
15
    end
16
    stack[i] = stack[i] .. table.remove(stack);
17
  end
18
end
19
 
20
function public.toString (stack)
21
  for i = #stack - 1, 1, -1 do
22
    stack[i] = stack[i] .. table.remove(stack);
23
  end
24
  return stack[1];
25
end
26
 
27
return public;