TFPExprNode class
Class for representing nodes in expression trees
Declaration
TFPExprNode = class(TObject)Inheritance
- TFPExprNode
- TObject
Descends from it: TCaseOperation TFPBinaryOperation TFPConstExpression TFPExprIdentifierNode TFPUnaryOperator
Description
This is the abstract base class for all nodes in the expression tree.
Every element of a parsed expression (literals, variables, operators, functions) is represented by a class derived from TFPExprNode.
The class defines the common interface that all expression nodes must implement, including evaluation, type checking, and aggregate processing. It provides the foundation for building complex expression trees through composition of different node types.
Derived classes implement specific functionality for different types of expression elements such as arithmetic operations, function calls, variable references, and literal values.
Methods
CheckNodeType | protected | |
GetNodeValue | protected | |
Check | public | Validate the expression node for correctness |
InitAggregate | public | Initialize aggregate processing for the node |
UpdateAggregate | public | Update aggregate calculations for the node |
IsAggregate | public | Check if this node represents an aggregate operation |
HasAggregate | public | Check if node tree contains any aggregate operations |
NodeType | public | Get the result type of this expression node |
NodeValue | public | Get the evaluated value of this expression node |
AsString | public | Get string representation of the expression node |
Inherited
From TObject (42)
AfterConstruction BeforeDestruction CheckDisposed ClassInfo ClassName ClassNameIs ClassParent ClassType CleanupInstance Create DefaultHandler DefaultHandlerStr Destroy Dispatch DispatchStr Disposed DisposeOf Equals FieldAddress Free FreeInstance GetDisposed GetHashCode GetInterface GetInterfaceByStr GetInterfaceEntry GetInterfaceEntryByStr GetInterfaceTable GetInterfaceWeak GetLastCastErrorInfo InheritsFrom InitInstance InstanceSize MethodAddress MethodName newinstance QualifiedClassName SafeCallException StringMessageTable SystemHasExtendedRTTI ToString UnitName
An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
