| Description | Uses | Classes, Interfaces, Objects and Records | Functions and Procedures | Types | Constants | Variables | 
The RbwParser unit declares TRbwParser along with associated classes and types.
| Name | Description | 
|---|---|
| record TFunctionRecord | A TFunctionRecordis used to define a function that can be used in a TRbwParser. To use the function, you must first assign the fields of the TFunctionRecord and then call TRbwParser.Functions.Add. | 
| record TVariables | TVariablesare used in the protected section of TExpression. | 
| Class ERbwParserError | ERbwParserErroris raised if by TRbwParser to report user errors and some programmer errors. | 
| Class TFunctionClass | TFunctionClassdefines a function that can be called by TRbwParser. | 
| Class TFunctionStringList | TFunctionStringListmaintains a sorted list of TFunctionClasses. | 
| Class TConstant | TConstantdefines storage for a constant value such as "Abc", 1, 2.5, orTrue. | 
| Class TCustomValue | TCustomValueis the abstract ancestor of TCustomVariable and TExpression. It adds Name and Classification properties to TConstant. | 
| Class TCustomVariable | TCustomVariableis the abstract ancestor of TRealVariable, TIntegerVariable, TBooleanVariable and TStringVariable. | 
| Class TRealVariable | TRealVariablestores a double that may change from one execution of a TExpression to the next. | 
| Class TIntegerVariable | TIntegerVariablestores a integer that may change from one execution of a TExpression to the next. | 
| Class TBooleanVariable | TBooleanVariablestores a boolean that may change from one execution of a TExpression to the next. | 
| Class TStringVariable | TStringVariablestores a string that may change from one execution of a TExpression to the next. | 
| Class TNotifierComponent | |
| Class TExpression | TExpressionis the compiled version of an Expression generated by the TRbwParser.Compile method. | 
| Class TSpecialImplementor | TSpecialImplementoris used in conjunction with TRbwParser.SpecialImplementorList to create a descendant of TExpression in TExpression.New. | 
| Class TSpecialImplementorList | TSpecialImplementorListis the type of TRbwParser.SpecialImplementorList. It is used together with TSpecialImplementor to create a descendant of TExpression in TExpression.New. | 
| Class TOperator | TOperatoris used to define operators that are between two arguments or are before a single argument. | 
| Class TOperatorArgumentDefinition | TOperatorArgumentDefinitionis used to define valid argument types for an operator. | 
| Class TArgumentList | Name is used to restrict ensure that in TOperatorDefinition only TOperatorArgumentDefinitions are added to ArgumentDefinitions. | 
| Class TOperatorDefinition | TOperatorDefinitiondefines an operator. | 
| Class TRbwParser | TRbwParsercompiles expression in strings via the Compile method into TExpression objects that it owns. | 
| Class TSelectExpression | TSelectExpressionis used for "if" and "case" statements. It allows Evaluate to be faster and safer by only evaluating the arguments that will be used. | 
| procedure Register; | 
| function DataTypeToString(const DataType: TRbwDataType): string; | 
| function GenerateVariableName(const root: string): string; | 
| function IdenticalFormulas(const Formula1, Formula2: string): boolean; | 
| TRbwRealFunction = function(Values: array of pointer): double; | 
| TRbwIntegerFunction = function(Values: array of pointer): Integer; | 
| TRbwBooleanFunction = function(Values: array of pointer): Boolean; | 
| TRbwStringFunction = function(Values: array of pointer): string; | 
| TRbwDataType = (...); | 
| TRbwDataTypes = set of TRbwDataType; | 
| PFunctionRecord = ˆTFunctionRecord; | 
| PBoolean = ˆBoolean; | 
| TRealVariableClass = class of TRealVariable; | 
| TIntegerVariableClass = class of TIntegerVariable; | 
| TBooleanVariableClass = class of TBooleanVariable; | 
| TStringVariableClass = class of TStringVariable; | 
| TDecompileType = (...); | 
| TExpressionClass = class of TExpression; | 
| TArgumentCount = (...); | 
| TCreationMethod = (...); | 
| TOperatorClass = class of TOperator; | 
| TPrecedence = (...); | 
| OverloadedFunctionList: TObjectList; | 
| procedure Register; | 
| 
 | 
| function DataTypeToString(const DataType: TRbwDataType): string; | 
| 
 | 
| function GenerateVariableName(const root: string): string; | 
| 
 | 
| function IdenticalFormulas(const Formula1, Formula2: string): boolean; | 
| TRbwRealFunction = function(Values: array of pointer): double; | 
| 
 | 
| TRbwDataTypes = set of TRbwDataType; | 
| 
 | 
| PFunctionRecord = ˆTFunctionRecord; | 
| 
 | 
| PBoolean = ˆBoolean; | 
| 
 | 
| TRealVariableClass = class of TRealVariable; | 
| TIntegerVariableClass = class of TIntegerVariable; | 
| TBooleanVariableClass = class of TBooleanVariable; | 
| TStringVariableClass = class of TStringVariable; | 
| TDecompileType = (...); | 
| Values
 | 
| TExpressionClass = class of TExpression; | 
| 
 | 
| TArgumentCount = (...); | 
| 
 Values
 | 
| TCreationMethod = (...); | 
| 
 Values
 | 
| TOperatorClass = class of TOperator; | 
| 
 | 
| TPrecedence = (...); | 
| 
 Values
 | 
| OverloadedFunctionList: TObjectList; | 
| 
 
 The following functions are included by default. 
 |