Tail call optimization
This commit is contained in:
@@ -13,6 +13,7 @@ type
|
||||
TAstToTextVisitor = class(TInterfacedObject, IAstVisitor)
|
||||
public
|
||||
{ IAstVisitor }
|
||||
function Execute(const RootNode: IAstNode): TDataValue;
|
||||
function VisitConstant(const Node: IConstantNode): TDataValue;
|
||||
function VisitIdentifier(const Node: IIdentifierNode): TDataValue;
|
||||
function VisitBinaryExpression(const Node: IBinaryExpressionNode): TDataValue;
|
||||
@@ -33,6 +34,11 @@ type
|
||||
|
||||
implementation
|
||||
|
||||
function TAstToTextVisitor.Execute(const RootNode: IAstNode): TDataValue;
|
||||
begin
|
||||
Result := RootNode.Accept(Self);
|
||||
end;
|
||||
|
||||
{ TAstToTextVisitor }
|
||||
|
||||
function TAstToTextVisitor.VisitAddSeriesItem(const Node: IAddSeriesItemNode): TDataValue;
|
||||
|
||||
Reference in New Issue
Block a user