17CallNode::CallNode(std::string function_name, std::vector<UniqueNode> arguments) : function_name(std::move(function_name)), arguments(std::move(arguments)) {}
std::unique_ptr< Node > UniqueNode
AdditionNode(UniqueNode lhs, UniqueNode rhs)
BinaryNode(UniqueNode lhs, UniqueNode rhs)
CallNode(std::string function_name, std::vector< UniqueNode > arguments)
DivisionNode(UniqueNode lhs, UniqueNode rhs)
~FunctionDefinitionNode()
FunctionDefinitionNode(std::string name, std::vector< std::string > arguments, UniqueNode body)
MultiplicationNode(UniqueNode lhs, UniqueNode rhs)
NumericLiteralNode(double value)
PlotCommandNode(std::string function_name)
PotentiationNode(UniqueNode lhs, UniqueNode rhs)
ProgramEntryNode(UniqueNode body)
ScopedBlockNode(std::vector< UniqueNode > statements)
StringLiteralNode(std::string value)
SubtractionNode(UniqueNode lhs, UniqueNode rhs)
VariableNode(std::string identifier)