aeslua/buffer.lua

changeset 0
598d09faf89c
--- /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;

mercurial