aboutsummaryrefslogtreecommitdiffstats
path: root/eval/src/vespa/eval/eval/delete_node.h
blob: 7a3d63f5a825d3c71a3ef21b59d0f14a3b2a0a4e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.

#pragma once

#include "basic_nodes.h"

namespace vespalib::eval {

/**
 * Function used to delete an AST with arbitrary depth without
 * overflowing the stack. This is needed because the AST is not
 * compacted in any way and large expressions will produce very deep
 * ASTs.
 **/
void delete_node(nodes::Node_UP node);

}