219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
|
# File 'lib/ytl/macro.rb', line 219
def to_ruby(context)
nf = false
if context.jmp_tab[@jmp_to_node] == nil then
context.jmp_tab[@jmp_to_node] = context.jmp_tab.size + 1
nf = true
end
pre = context.work_prefix.join('_')
nestat = context.jmp_tab[@jmp_to_node]
context.ret_code.last << "#{pre}state = #{nestat}\n"
valnode = @jmp_to_node.come_from[self]
if valnode then
context.ret_code.push ""
context = valnode.to_ruby(context)
val = context.ret_code.pop
context.ret_code.last << "#{pre}value = #{val}\n"
end
if nf then
@jmp_to_node.to_ruby(context)
else
context
end
end
|