60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# File 'lib/ytl/macro.rb', line 60
def to_ruby(context)
context.ret_code.last << "{ "
context.ret_code.push ""
context = @body.to_ruby(context)
args = context.ret_code.pop
if args != "" then
context.ret_code.last << "| #{args} | \n"
end
pre = context.work_prefix.join('_')
context.ret_code.last << "#{pre}state = 0\n"
context.ret_code.last << "#{pre}value = nil\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\n"
context.ret_code.last << "}\n"
context
end
|