code: func (obj *Global) GetBaseBNFRaw(ctx context.Context, bnfType string) (json.RawMessage, string, error) {
  	result := &struct {
  		BnfDefs json.RawMessage	`json:"qBnfDefs"`
  		BnfHash string	`json:"qBnfHash"`
  	} {}
  	err := obj.rpc(ctx, "GetBaseBNF", result, ensureEncodable(bnfType))
  	return result.BnfDefs, result.BnfHash, err 
  }
docs: // Gets the current Backus-Naur Form (BNF) grammar of the Qlik engine scripting language, as well as a string hash calculated from that grammar. The BNF rules define the syntax for the script statements and the script or chart functions. If the hash changes between subsequent calls to this method, this indicates that the BNF has changed.
  // In the Qlik engine grammars, a token is a string of one or more characters that is significant as a group. For example, a token could be a function name, a number, a letter, a parenthesis, and so on.
  //
  // Parameters:
  //
  // ◾ bnfType   -   The type of grammar to return:
  // 
  // • The script statements and the script functions if qBnfType is set to S.
  // 
  // • The chart functions if qBnfType is set to E.
  // 
  // One of:
  // 
  // • S or SCRIPT_TEXT_SCRIPT
  // 
  // • E or SCRIPT_TEXT_EXPRESSION
  //