code: def translate(self):
          
          varnames = set()
          ident = self.ident
          funcnames = set([ident])
  
          arg_exprs = []
          for arg in self.args:
              subexprs, subvars, subfuncs = arg.translate()
              varnames.update(subvars)
              funcnames.update(subfuncs)
  
              # Create a subexpression that joins the result components of
              # the arguments.
              arg_exprs.append(ex_call(
                  ast.Attribute(ex_literal(u''), 'join', ast.Load()),
                  [ex_call(
                      'map',
                      [
                          ex_rvalue(str.__name__),
                          ast.List(subexprs, ast.Load()),
                      ]
                  )],
              ))
  
          subexpr_call = ex_call(
              FUNCTION_PREFIX + ident,
              arg_exprs
          )
          return [subexpr_call], varnames, funcnames
docs: Compile the function call.