code: func parseSelectionSet(parser *Parser) (*ast.SelectionSet, error) {
  	start := parser.Token.Start
  	selections := []ast.Selection{}
  	if iSelections, err := reverse(parser,
  		lexer.BRACE_L, parseSelection, lexer.BRACE_R,
  		true,
  	); err != nil {
  		return nil, err
  	} else {
  		for _, iSelection := range iSelections {
  			selections = append(selections, iSelection.(ast.Selection))
  		}
  	}
  
  	return ast.NewSelectionSet(&ast.SelectionSet{
  		Selections: selections,
  		Loc:        loc(parser, start),
  	}), nil
  }
docs: /**
   * SelectionSet : { Selection+ }
   */