def _translate_print_args(expr_node, code='')
case expr_node.token
when :string
_translate_expr(expr_node, code, false)
when :string, :number, :true, :false, :null
_translate_expr(expr_node, code)
when ','
_translate_print_args(expr_node.left, code)
code << encode(',')
_translate_print_args(expr_node.right, code)
else
case flag_escape = @toppings[:escape]
when true, false
else
flag_escape = false
end
if expr_node.token == :function then
funcname = expr_node.left
case funcname
when 'X'
flag_escape = false
expr_node = expr_node.right
when 'E'
flag_escape = true
expr_node = expr_node.right
end
end
if flag_escape then
keys = encode('E')
code << keys[0]
_translate_expr(expr_node, code, true)
code << keys[1]
else
_translate_expr(expr_node, code)
end
end
return code
end