code: func parseArgument(parser *Parser) (interface{}, error) {
  	var (
  		err   error
  		name  *ast.Name
  		value ast.Value
  	)
  	start := parser.Token.Start
  	if name, err = parseName(parser); err != nil {
  		return nil, err
  	}
  	if _, err = expect(parser, lexer.COLON); err != nil {
  		return nil, err
  	}
  	if value, err = parseValueLiteral(parser, false); err != nil {
  		return nil, err
  	}
  	return ast.NewArgument(&ast.Argument{
  		Name:  name,
  		Value: value,
  		Loc:   loc(parser, start),
  	}), nil
  }
docs: /**
   * Argument : Name : Value
   */