Sign in Join
FPDoc Onlineexperiment

TExprArgumentArray type

In unit fpExprPars

Array type for expression arguments

Declaration

pascal
TExprArgumentArray = Array of TFPExprNode = class(TObject)
protected
 procedure CheckNodeType(Anode: TFPExprNode; Allowed: TResultTypes);
 procedure GetNodeValue(var Result: TFPExpressionResult); virtual
 ; abstract;
public
 procedure Check; virtual; abstract;
 procedure InitAggregate; virtual;
 procedure UpdateAggregate; virtual;
 class function IsAggregate: Boolean; virtual;
 function HasAggregate: Boolean; virtual;
 function NodeType: TResultType; virtual; abstract;
 function NodeValue: TFPExpressionResult;
 function AsString: AnsiString; virtual; abstract;
end

Description

The TExprArgumentArray array type holds the argument nodes passed to functions and operations that accept multiple parameters. Each element is a TFPExprNode representing one argument expression.

The array is dynamically sized to accommodate functions with varying numbers of arguments. Functions and operations use this array to access their argument nodes and evaluate them during expression processing.

Unlike TExprParameterArray which holds evaluated results, this array holds the actual expression nodes that produce the argument values.

This class is used internally by the TFPExpressionParser class to construct an AST (Abstract Syntax Tree). There is normally no need for you to use or instantiate this class directly.

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.