Nop-Node
This commit is contained in:
@@ -37,6 +37,7 @@ type
|
||||
IAddSeriesItemNode = interface;
|
||||
ISeriesLengthNode = interface;
|
||||
IRecurNode = interface;
|
||||
INopNode = interface; // Added Nop
|
||||
|
||||
// Defines the concrete kinds of AST nodes
|
||||
TAstNodeKind = (
|
||||
@@ -63,7 +64,8 @@ type
|
||||
akCreateSeries,
|
||||
akAddSeriesItem,
|
||||
akSeriesLength,
|
||||
akRecur
|
||||
akRecur,
|
||||
akNop // Added Nop
|
||||
);
|
||||
|
||||
// --- Concrete Type Definitions ---
|
||||
@@ -113,6 +115,7 @@ type
|
||||
function VisitAddSeriesItem(const Node: IAddSeriesItemNode): TDataValue;
|
||||
function VisitSeriesLength(const Node: ISeriesLengthNode): TDataValue;
|
||||
function VisitRecurNode(const Node: IRecurNode): TDataValue;
|
||||
function VisitNop(const Node: INopNode): TDataValue; // Added Nop
|
||||
end;
|
||||
|
||||
IAstNode = interface(IInterface)
|
||||
@@ -145,10 +148,16 @@ type
|
||||
function AsAddSeriesItem: IAddSeriesItemNode;
|
||||
function AsSeriesLength: ISeriesLengthNode;
|
||||
function AsRecur: IRecurNode;
|
||||
function AsNop: INopNode; // Added Nop
|
||||
|
||||
property Kind: TAstNodeKind read GetKind;
|
||||
end;
|
||||
|
||||
INopNode = interface(IAstNode)
|
||||
// A placeholder node for the UI (e.g., drag target).
|
||||
// This node is illegal during compilation.
|
||||
end;
|
||||
|
||||
IConstantNode = interface(IAstNode)
|
||||
// Represents a constant value in the AST (Scalar, Text, or Void).
|
||||
{$region 'private'}
|
||||
|
||||
Reference in New Issue
Block a user