diff -r 000000000000 -r 598d09faf89c aeslua/buffer.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/aeslua/buffer.lua Wed Feb 16 20:29:33 2011 +0000 @@ -0,0 +1,27 @@ +local public = {}; + +local aeslua = require("aeslua"); +aeslua.buffer = public; + +function public.new () + return {}; +end + +function public.addString (stack, s) + table.insert(stack, s) + for i = #stack - 1, 1, -1 do + if #stack[i] > #stack[i+1] then + break; + end + stack[i] = stack[i] .. table.remove(stack); + end +end + +function public.toString (stack) + for i = #stack - 1, 1, -1 do + stack[i] = stack[i] .. table.remove(stack); + end + return stack[1]; +end + +return public;