34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/ytl/macro.rb', line 34
def to_ruby(context)
context.ret_code.last << "{ "
context.ret_code.push ""
context = @body.to_ruby(context)
args = context.ret_code.pop
pre = context.work_prefix.join('_')
if args != "" then
context.ret_code.last << "|#{args}|"
end
context.ret_code.last << "#{pre}state = 0\n"
context.ret_code.last << "#{pre}value = nil\n"
context.ret_code.last << "evalstr = []\n"
context.ret_code.last << "[while true\n"
context.ret_code.last << "case #{pre}state\n"
context.ret_code.last << "when 0\n"
context = @body.body.to_ruby(context)
context.ret_code.last << "end\n"
context.ret_code.last << "end, evalstr]\n"
context.ret_code.last << "}\n"
context
end
|