code: func ParseFunction(parameterList, body string) (*ast.FunctionLiteral, error) {
  
  	src := "(function(" + parameterList + ") {\n" + body + "\n})"
  
  	parser := _newParser("", src, 1, nil)
  	program, err := parser.parse()
  	if err != nil {
  		return nil, err
  	}
  
  	return program.Body[0].(*ast.ExpressionStatement).Expression.(*ast.FunctionLiteral), nil
  }
docs: // ParseFunction parses a given parameter list and body as a function and returns the
  // corresponding ast.FunctionLiteral node.
  //
  // The parameter list, if any, should be a comma-separated list of identifiers.
  //