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