# BNFDef Class

Namespace: [Qlik.Engine](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.htm)  
Assembly: Qlik.Engine.dll

## Inheritance

* System.Object
  * BNFDef

## Syntax

```
[ValueClass]
public class BNFDef : IBNFDef
```

## Constructors

| Name | Description |
| --- | --- |
| [BNFDef()](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.-ctor.htm#Qlik_Engine_BNFDef__ctor) |  |

## Properties

| Name | Description |
| --- | --- |
| [AggrFunc](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.AggrFunc.htm#Qlik_Engine_BNFDef_AggrFunc) | If set to true, the definition is related to an aggregation function.<br><br>This parameter is optional. The default value is false.<br><br>JSON property name: qAggrFunc |
| [Bnf](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.Bnf.htm#Qlik_Engine_BNFDef_Bnf) | Array of token references that all together build up the definition of the current token.<br><br>Generally, if the array is not empty, the definition is a BNF rule (`qIsBnfRule` is set to true). However, some BNF rules do have an empty array (`qIsBnfRule` is set to true, but `qBnf` is empty).<br><br>JSON property name: qBnf |
| [BnfLiteral](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.BnfLiteral.htm#Qlik_Engine_BNFDef_BnfLiteral) | If set to true, the definition specifies a literal token.<br><br>This parameter is optional. The default value is false.<br><br>JSON property name: qBnfLiteral |
| [ControlStatement](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.ControlStatement.htm#Qlik_Engine_BNFDef_ControlStatement) | If set to true, the definition specifies a control statement.<br><br>This parameter is optional. The default value is false.<br><br>JSON property name: qControlStatement |
| [Depr](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.Depr.htm#Qlik_Engine_BNFDef_Depr) | Indicates whether a script statement, a chart or a script function is deprecated (not recommended for use).<br><br>If set to true, the script statement or the function is not recommended for use in Qlik Sense.<br><br>This parameter is optional. The default value is false.<br><br>JSON property name: qDepr |
| [FG](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.FG.htm#Qlik_Engine_BNFDef_FG) | Group of the function.<br><br>JSON property name: qFG |
| [FGList](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.FGList.htm#Qlik_Engine_BNFDef_FGList) | List of groups the function belongs to.<br><br>JSON property name: qFGList |
| [FieldFlag](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.FieldFlag.htm#Qlik_Engine_BNFDef_FieldFlag) | If set to true, the definition is related to a field.<br><br>This parameter is optional. The default value is false.<br><br>JSON property name: qFieldFlag |
| [HelpId](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.HelpId.htm#Qlik_Engine_BNFDef_HelpId) | Reference identifier to a function described in the documentation. The identifier is stored in the definition of the token containing the function name.<br><br>Is not used in Qlik Sense.<br><br>JSON property name: qHelpId |
| [IsBnfRule](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.IsBnfRule.htm#Qlik_Engine_BNFDef_IsBnfRule) | If set to true, a list of related rule tokens is assigned to `qBnf` .<br><br>This parameter is optional. The default value is false.<br><br>JSON property name: qIsBnfRule |
| [MT](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.MT.htm#Qlik_Engine_BNFDef_MT) | Type of the data.<br><br>JSON property name: qMT |
| [Name](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.Name.htm#Qlik_Engine_BNFDef_Name) | Token name.<br><br>One of:<br><br>\* A rule name<br><br>\* An identifier<br><br>\* A literal value<br><br>JSON property name: qName |
| [Nbr](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.Nbr.htm#Qlik_Engine_BNFDef_Nbr) | Number of the current token definition.<br><br>JSON property name: qNbr |
| [PNbr](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.PNbr.htm#Qlik_Engine_BNFDef_PNbr) | Number of the parent rule definition.<br><br>JSON property name: qPNbr |
| [QvFunc](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.QvFunc.htm#Qlik_Engine_BNFDef_QvFunc) | If set to true, the definition is related to a Qlik Sense function. It cannot be an aggregation function.<br><br>This parameter is optional. The default value is false.<br><br>JSON property name: qQvFunc |
| [ScriptStatement](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.ScriptStatement.htm#Qlik_Engine_BNFDef_ScriptStatement) | If set to true, the definition specifies a script statement.<br><br>This parameter is optional. The default value is false.<br><br>JSON property name: qScriptStatement |
| [Str](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.BNFDef.Str.htm#Qlik_Engine_BNFDef_Str) | Literal string of the token.<br><br>Examples: 'Round' and '('.<br><br>JSON property name: qStr |