souffle  2.0.2-371-g6315b36
Expression.h
Go to the documentation of this file.
1 /*
2  * Souffle - A Datalog Compiler
3  * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved
4  * Licensed under the Universal Permissive License v 1.0 as shown at:
5  * - https://opensource.org/licenses/UPL
6  * - <souffle root>/licenses/SOUFFLE-UPL.txt
7  */
8 
9 /************************************************************************
10  *
11  * @file Expression.h
12  *
13  * Defines a class for evaluating values in the Relational Algebra Machine
14  *
15  ************************************************************************/
16 
17 #pragma once
18 
19 #include "ram/Node.h"
20 
21 namespace souffle::ram {
22 
23 /**
24  * @class Expression
25  * @brief Abstract class for describing scalar values in RAM
26  */
27 class Expression : public Node {
28 public:
29  Expression* clone() const override = 0;
30 };
31 
32 } // namespace souffle::ram
souffle::ram
Definition: AstToRamTranslator.h:54
souffle::ram::Expression::clone
Expression * clone() const override=0
Create a clone (i.e.
Node.h