From 642932c1d557e0bc7b189f808fc7ada1e8c65f0f Mon Sep 17 00:00:00 2001 From: leaf corcoran Date: Sun, 30 Jun 2013 21:20:01 -0700 Subject: [PATCH] kill some more anon funcs for while,for,foreach --- moonscript/transform.lua | 2 +- moonscript/transform.moon | 2 +- spec/outputs/bubbling.lua | 28 +++++++++++++----------- spec/outputs/loops.lua | 45 +++++++++++++++++++++------------------ 4 files changed, 42 insertions(+), 35 deletions(-) diff --git a/moonscript/transform.lua b/moonscript/transform.lua index aec4296..471132f 100644 --- a/moonscript/transform.lua +++ b/moonscript/transform.lua @@ -369,7 +369,7 @@ Statement = Transformer({ block_body } }) - elseif "comprehension" == _exp_0 or "tblcomprehension" == _exp_0 then + elseif "comprehension" == _exp_0 or "tblcomprehension" == _exp_0 or "foreach" == _exp_0 or "for" == _exp_0 or "while" == _exp_0 then return build.assign_one(first_name, Value.transformers[first_value[1]](self, first_value)) end end diff --git a/moonscript/transform.moon b/moonscript/transform.moon index 53d6287..a3b3f6e 100644 --- a/moonscript/transform.moon +++ b/moonscript/transform.moon @@ -190,7 +190,7 @@ Statement = Transformer { {"do", block_body} } - when "comprehension", "tblcomprehension" + when "comprehension", "tblcomprehension", "foreach", "for", "while" return build.assign_one first_name, Value.transformers[first_value[1]] @, first_value diff --git a/spec/outputs/bubbling.lua b/spec/outputs/bubbling.lua index db7ce94..c0bc5fe 100644 --- a/spec/outputs/bubbling.lua +++ b/spec/outputs/bubbling.lua @@ -30,7 +30,8 @@ do end k = _accum_0 end -local j = (function() +local j +do local _accum_0 = { } local _len_0 = 1 for i = 1, 10 do @@ -39,8 +40,8 @@ local j = (function() end _len_0 = _len_0 + 1 end - return _accum_0 -end)() + j = _accum_0 +end local m m = function(...) return (function(...) @@ -59,7 +60,8 @@ m = function(...) return _accum_0 end)(...) end -local x = (function(...) +local x +do local _accum_0 = { } local _len_0 = 1 local _list_0 = { @@ -70,8 +72,8 @@ local x = (function(...) _accum_0[_len_0] = i _len_0 = _len_0 + 1 end - return _accum_0 -end)(...) + x = _accum_0 +end local y do local _accum_0 = { } @@ -98,16 +100,18 @@ do end z = _accum_0 end -local a = (function(...) +local a +do local _accum_0 = { } local _len_0 = 1 for i = 1, 10 do _accum_0[_len_0] = ... _len_0 = _len_0 + 1 end - return _accum_0 -end)(...) -local b = (function() + a = _accum_0 +end +local b +do local _accum_0 = { } local _len_0 = 1 for i = 1, 10 do @@ -116,5 +120,5 @@ local b = (function() end _len_0 = _len_0 + 1 end - return _accum_0 -end)() \ No newline at end of file + b = _accum_0 +end \ No newline at end of file diff --git a/spec/outputs/loops.lua b/spec/outputs/loops.lua index 47df0d7..dcba0bc 100644 --- a/spec/outputs/loops.lua +++ b/spec/outputs/loops.lua @@ -48,7 +48,7 @@ local hello = { 4, 5 } -x = (function() +do local _accum_0 = { } local _len_0 = 1 for _index_0 = 1, #hello do @@ -58,25 +58,27 @@ x = (function() end _len_0 = _len_0 + 1 end - return _accum_0 -end)() + x = _accum_0 +end x = function() for _index_0 = 1, #hello do x = hello[_index_0] local _ = y end end -local t = (function() +local t +do local _accum_0 = { } local _len_0 = 1 for i = 10, 20 do _accum_0[_len_0] = i * 2 _len_0 = _len_0 + 1 end - return _accum_0 -end)() + t = _accum_0 +end local hmm = 0 -local y = (function() +local y +do local _accum_0 = { } local _len_0 = 1 for j = 3, 30, 8 do @@ -85,8 +87,8 @@ local y = (function() _accum_0[_len_0] = _value_0 _len_0 = _len_0 + 1 end - return _accum_0 -end)() + y = _accum_0 +end local _ _ = function() for k = 10, 40 do @@ -116,7 +118,7 @@ while also do _ = "okay" end local i = 0 -x = (function() +do local _accum_0 = { } local _len_0 = 1 while i < 10 do @@ -125,9 +127,9 @@ x = (function() _accum_0[_len_0] = _value_0 _len_0 = _len_0 + 1 end - return _accum_0 -end)() -x = (function() + x = _accum_0 +end +do local _accum_0 = { } local _len_0 = 1 local _list_1 = 3 @@ -138,9 +140,9 @@ x = (function() _accum_0[_len_0] = _value_0 _len_0 = _len_0 + 1 end - return _accum_0 -end)() -x = (function() + x = _accum_0 +end +do local _accum_0 = { } local _len_0 = 1 for x = 1, 2 do @@ -149,8 +151,8 @@ x = (function() _accum_0[_len_0] = _value_0 _len_0 = _len_0 + 1 end - return _accum_0 -end)() + x = _accum_0 +end while true do local _continue_0 = false repeat @@ -183,7 +185,8 @@ for x = 1, 10 do break end end -local list = (function() +local list +do local _accum_0 = { } local _len_0 = 1 for x = 1, 10 do @@ -202,8 +205,8 @@ local list = (function() break end end - return _accum_0 -end)() + list = _accum_0 +end local _list_1 = { 1, 2,